diff --git a/.github/workflows/build-openjpeg.yml b/.github/workflows/build-openjpeg.yml new file mode 100644 index 0000000..e9fe18b --- /dev/null +++ b/.github/workflows/build-openjpeg.yml @@ -0,0 +1,115 @@ +name: Build OpenJPEG WASM + +on: + push: + branches: [main] + paths: + - 'packages/openjpeg/src/**' + - 'packages/openjpeg/CMakeLists.txt' + - 'packages/openjpeg/build.sh' + - 'packages/openjpeg/extern/**' + - '.github/workflows/build-openjpeg.yml' + workflow_dispatch: + +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + +jobs: + build-wasm: + name: Build WASM with Emscripten + runs-on: ubuntu-latest + + permissions: + contents: write + + steps: + - name: Checkout repo (with submodules) + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Init git submodules + working-directory: packages/openjpeg + run: git submodule update --init --recursive + + - name: Set up Emscripten SDK + uses: mymindstorm/setup-emsdk@v14 + with: + version: 3.1.44 + actions-cache-folder: '.emsdk-cache' + + - name: Verify emcc + run: emcc --version + + - name: Build openjpeg WASM + working-directory: packages/openjpeg + run: | + set -e + rm -rf build + mkdir -p build + mkdir -p dist + + echo "~~~ CONFIGURE #1 (first run may fail - expected) ~~~" + (cd build && emcmake cmake .. || true) + + echo "~~~ CONFIGURE #2 ~~~" + (cd build && emcmake cmake ..) + + echo "~~~ MAKE ~~~" + (cd build && emmake make VERBOSE=1 -j4) + + echo "~~~ BUILD tree ~~~" + ls -lh build/extern/openjpeg/bin/ || echo "WARNING: build/extern/openjpeg/bin/ not found" + + echo "~~~ COPY artifacts from build/extern/openjpeg/bin/ ~~~" + cp ./build/extern/openjpeg/bin/openjpegjs.js ./dist/ + cp ./build/extern/openjpeg/bin/openjpegjs.js.mem ./dist/ 2>/dev/null || true + cp ./build/extern/openjpeg/bin/openjpegwasm.js ./dist/ + cp ./build/extern/openjpeg/bin/openjpegwasm.wasm ./dist/ + cp ./build/extern/openjpeg/bin/openjpegjs_decode.js ./dist/ + cp ./build/extern/openjpeg/bin/openjpegjs_decode.js.mem ./dist/ 2>/dev/null || true + cp ./build/extern/openjpeg/bin/openjpegwasm_decode.js ./dist/ + cp ./build/extern/openjpeg/bin/openjpegwasm_decode.wasm ./dist/ + + echo "~~~ DIST contents ~~~" + ls -lh dist/ + + test -f dist/openjpegwasm_decode.js || (echo "FATAL: openjpegwasm_decode.js missing" && exit 1) + test -f dist/openjpegwasm_decode.wasm || (echo "FATAL: openjpegwasm_decode.wasm missing" && exit 1) + + - name: Upload dist as artifact + uses: actions/upload-artifact@v4 + with: + name: openjpeg-wasm-dist + path: packages/openjpeg/dist/ + if-no-files-found: error + retention-days: 30 + + - name: Commit dist artifacts back to repo + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + # Ensure push uses the authenticated GITHUB_TOKEN URL + git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} + git add -f packages/openjpeg/dist/ + if git diff --cached --quiet; then + echo "No changes to dist - skipping commit." + else + git commit -m "ci: update openjpeg WASM dist artifacts [skip ci]" + git push origin main + fi + + - name: Trigger cornerstoneWADOImageLoader migration + if: success() + uses: peter-evans/repository-dispatch@v3 + with: + token: ${{ secrets.CROSS_REPO_PAT }} + repository: ahmedezzat85/cornerstoneWADOImageLoader + event-type: openjpeg-wasm-updated + client-payload: | + { + "codecs_sha": "${{ github.sha }}", + "run_id": "${{ github.run_id }}" + } diff --git a/packages/openjpeg/.gitignore b/packages/openjpeg/.gitignore index 8c32ff8..2c69734 100644 --- a/packages/openjpeg/.gitignore +++ b/packages/openjpeg/.gitignore @@ -1,12 +1,3 @@ -build/* -build-native/* -dist/* -!build/.gitpreserve -!build-native/.gitpreserve -!dist/.gitpreserve - -# TEST -test/fixtures/MG1.JLS -test/fixtures/artificial* -OpenJPH -node_modules/* \ No newline at end of file +build/ +node_modules/ +# dist/ is intentionally NOT ignored — CI commits build artifacts here diff --git a/packages/openjpeg/dist/.gitkeep b/packages/openjpeg/dist/.gitkeep new file mode 100644 index 0000000..c73317e --- /dev/null +++ b/packages/openjpeg/dist/.gitkeep @@ -0,0 +1,2 @@ +# This file ensures the dist/ directory is tracked by git. +# Actual build artifacts (*.js, *.wasm) are committed here by CI. diff --git a/packages/openjpeg/dist/openjpegjs.js b/packages/openjpeg/dist/openjpegjs.js new file mode 100644 index 0000000..1a6c0e5 --- /dev/null +++ b/packages/openjpeg/dist/openjpegjs.js @@ -0,0 +1,35 @@ + +var OpenJPEGJS = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(moduleArg = {}) { + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});["getExceptionMessage","___get_exception_message","_free","___indirect_function_table","__embind_initialize_bindings","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var nodeVersion=process.versions.node;var numericVersion=nodeVersion.split(".").slice(0,3);numericVersion=numericVersion[0]*1e4+numericVersion[1]*100+numericVersion[2].split("-")[0]*1;if(numericVersion<16e4){throw new Error("This emscripten-generated code requires node v16.0.0 (detected v"+nodeVersion+")")}var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=read}readBinary=f=>{if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}let data=read(f,"binary");assert(typeof data=="object");return data};readAsync=(f,onload,onerror)=>{setTimeout(()=>onload(readBinary(f)))};if(typeof clearTimeout=="undefined"){globalThis.clearTimeout=id=>{}}if(typeof setTimeout=="undefined"){globalThis.setTimeout=f=>typeof f=="function"?f():abort()}if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{setTimeout(()=>{if(!(toThrow instanceof ExitStatus)){let toLog=toThrow;if(toThrow&&typeof toThrow=="object"&&toThrow.stack){toLog=[toThrow,toThrow.stack]}err(`exiting due to exception: ${toLog}`)}quit(status)});throw toThrow}}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(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(Va){function e(f){f.grow=function(b){var a=this.length;this.length=this.length+b;return a};f.set=function(c,d){this[c]=d};f.get=function(c){return this[c]};return f}var g;var h=new ArrayBuffer(16);var i=new Int32Array(h);var j=new Float32Array(h);var k=new Float64Array(h);function l(m){return i[m]}function n(m,o){i[m]=o}function p(){return k[0]}function q(o){k[0]=o}function r(){throw new Error("abort")}function s(o){j[2]=o}function t(){return j[2]}function Ta(Ua){var u=Ua.env;var v=u.memory;var w=v.buffer;v.grow=Ra;var x=new Int8Array(w);var y=new Int16Array(w);var z=new Int32Array(w);var A=new Uint8Array(w);var B=new Uint16Array(w);var C=new Uint32Array(w);var D=new Float32Array(w);var E=new Float64Array(w);var F=Math.imul;var G=Math.fround;var H=Math.abs;var I=Math.clz32;var J=Math.min;var K=Math.max;var L=Math.floor;var M=Math.ceil;var N=Math.trunc;var O=Math.sqrt;var P=u._emval_decref;var Q=u._embind_register_function;var R=u.__cxa_throw;var S=u._embind_register_value_object;var T=u._embind_register_value_object_field;var U=u._embind_finalize_value_object;var V=u._embind_register_class;var W=u._embind_register_class_constructor;var X=u._embind_register_class_function;var Y=u._emval_take_value;var Z=u._emval_get_global;var _=u._emval_new;var $=u._emval_incref;var aa=u._embind_register_void;var ba=u._embind_register_bool;var ca=u._embind_register_integer;var da=u._embind_register_float;var ea=u._embind_register_std_string;var fa=u._embind_register_std_wstring;var ga=u._embind_register_emval;var ha=u._embind_register_memory_view;var ia=u.emscripten_memcpy_big;var ja=Ua.wasi_snapshot_preview1;var ka=ja.fd_write;var la=ja.fd_close;var ma=ja.environ_sizes_get;var na=ja.environ_get;var oa=u.emscripten_get_heap_max;var pa=u.emscripten_resize_heap;var qa=u.invoke_ii;var ra=u.__cxa_find_matching_catch_3;var sa=u.__cxa_begin_catch;var ta=u.invoke_v;var ua=u.invoke_iii;var va=u.invoke_vi;var wa=u.__cxa_find_matching_catch_2;var xa=u.__resumeException;var ya=u.abort;var za=u.__assert_fail;var Aa=u.invoke_viiii;var Ba=u.invoke_vii;var Ca=u.invoke_viii;var Da=u._embind_register_bigint;var Ea=ja.fd_seek;var Fa=130944;var Ga=0;var Ha=0;var Ia=0;var Ja=0;var Ka=0; +// EMSCRIPTEN_START_FUNCS +function kl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,E,H,J,K,L,M,N,O,P){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;E=E|0;H=H|0;J=J|0;K=K|0;L=L|0;M=M|0;N=N|0;O=O|0;P=P|0;var Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=G(0),ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;j=0;k=0;d=0;r=0;m=0;o=0;O=0;w=0;K=0;P=Fa-96|0;Fa=P;t=a;L=z[a+8>>2];a:{b:{c:{if(!z[a>>2]){b=F(z[L+16>>2]-z[L+8>>2]|0,z[L+20>>2]-z[L+12>>2]|0)<<2;a=vd(b);z[L+60>>2]=a;if(!a){sb(z[t+32>>2],1,21201,0);e=t+28|0;break b}Id(a,0,b);break c}a=z[L+60>>2];if(!a){break c}le(a);z[L+60>>2]=0}if(!z[z[t+28>>2]>>2]){break a}ca=z[t+16>>2];a=(F(z[ca+24>>2],152)+z[ca+28>>2]|0)-152|0;ra=z[a>>2];sa=z[a+8>>2];da=z[t+20>>2];ea=z[t+12>>2];la=z[t+4>>2];e=t+28|0;d:{H=yb(c);if(H){break d}H=ud(1,156);if(!H){sb(z[t+32>>2],1,13557,0);break b}z[H+140>>2]=0;if(zb(c,H)){break d}sb(z[t+32>>2],1,21889,0);a=z[H+116>>2];if(a){le(a);z[H+116>>2]=0}a=z[H+120>>2];if(a){le(a);z[H+120>>2]=0}le(z[H+148>>2]);le(H);break b}z[H+144>>2]=z[t+24>>2];Z=z[t+40>>2];W=z[t+36>>2];N=z[t+32>>2];a=z[da+808>>2];b=z[ea+16>>2];e:{E=z[da+16>>2];f:{if(E&64){J=Fa-304|0;Fa=J;g:{if(a){if(W){sb(N,1,8904,0);break g}sb(N,1,8904,0);break g}d=z[H+116>>2];b=z[L+20>>2]-z[L+12>>2]|0;c=z[L+16>>2]-z[L+8>>2]|0;a=F(b,c);h:{i:{if(a>>>0>C[H+132>>2]){le(d);l=a<<2;d=vd(l);z[H+116>>2]=d;if(!d){break g}z[H+132>>2]=a;break i}if(!d){break h}l=a<<2}Id(d,0,l)}d=z[H+120>>2];j:{if(C[H+136>>2]>2639){break j}le(d);d=vd(10560);z[H+120>>2]=d;if(d){break j}break g}z[H+136>>2]=2640;Id(d,0,10560);z[H+128>>2]=b;z[H+124>>2]=c;f=z[L+24>>2];if(!f){j=1;break g}g=z[L+28>>2];k:{l:{m:{n:{o:{M=z[L+52>>2];if(M){a=z[L+4>>2];l=0;d=0;if(M>>>0>=4){c=M&-4;while(1){b=j<<3;d=z[(a+(b|24)|0)+4>>2]+(z[(a+(b|16)|0)+4>>2]+(z[(a+(b|8)|0)+4>>2]+(z[(a+b|0)+4>>2]+d|0)|0)|0)|0;j=j+4|0;o=o+4|0;if((c|0)!=(o|0)){continue}break}}b=M&3;if(b){while(1){d=z[(a+(j<<3)|0)+4>>2]+d|0;j=j+1|0;l=l+1|0;if((b|0)!=(l|0)){continue}break}}if(!z[H+144>>2]&M>>>0<=1){break n}if(C[H+152>>2]>>0){break o}break m}if(z[H+144>>2]){break m}j=1;break g}l=xd(z[H+148>>2],d);if(!l){j=0;break g}z[H+152>>2]=d;z[H+148>>2]=l;M=z[L+52>>2];break l}j=1;if((M|0)!=1){break g}l=z[z[L+4>>2]>>2];break k}l=z[H+148>>2]}if(!M){d=0;break k}c=z[L+4>>2];d=0;j=0;while(1){a=j<<3;b=a+c|0;Gd(d+l|0,z[b>>2],z[b+4>>2]);c=z[L+4>>2];d=z[(a+c|0)+4>>2]+d|0;j=j+1|0;if(j>>>0>2]){continue}break}}j=0;c=0;a=z[L+40>>2];h=0;p:{if(!a){break p}b=z[L>>2];c=z[b+8>>2];h=0;if((a|0)==1){break p}h=z[b+32>>2]}a=h;b=f-g|0;c=a+c|0;q:{if(!c){break q}j=1;a=z[L>>2];m=z[a>>2];if((c|0)==1){j=0;break q}k=z[a+24>>2]}s=b+1|0;v=z[H+116>>2];u=z[H+120>>2];S=z[L+12>>2];V=z[L+20>>2];ia=z[L+8>>2];ja=z[L+16>>2];r:{s:{t:{u:{v:{w:{x:{y:{if(!(k|!j)){if(!W){break y}sb(N,2,24722,0);c=1;break x}if(c>>>0<4){break x}if(W){z[J+112>>2]=c;sb(N,1,23357,J+112|0);break r}z[J+96>>2]=c;sb(N,1,23357,J+96|0);j=0;break g}sb(N,2,24722,0);j=z[L+24>>2];if(j>>>0>30){break w}n=1;if(j>>>0>=s>>>0){break u}break s}j=z[L+24>>2];if(j>>>0<=30){break v}if(!W){break w}z[J+32>>2]=z[L+24>>2];sb(N,1,26940,J+32|0);break r}z[J>>2]=j;sb(N,1,26940,J);j=0;break g}if(j>>>0>>0){break t}if(c>>>0<2){n=c;break u}if((j|0)!=(s|0)){n=c;break u}n=1;if(A[62440]){break u}if(!W){x[62440]=1;z[J+64>>2]=c;sb(N,2,24184,J- -64|0);break u}if(!A[62440]){x[62440]=1;z[J+80>>2]=c;sb(N,2,24184,J+80|0)}}if(!(!(m>>>0<2|d>>>0>>0)&k+m>>>0<=d>>>0)){if(W){j=0;sb(N,1,22905,0);break g}j=0;sb(N,1,22905,0);break g}U=l+m|0;f=A[U-1|0]<<4|A[U-2|0]&15;if(!(!(f>>>0<2|(f|0)>(m|0))&f>>>0<4080)){if(W){j=0;sb(N,1,30583,0);break g}j=0;sb(N,1,30583,0);break g}Y=z[L+28>>2];z[J+272>>2]=0;z[J+280>>2]=0;z[J+264>>2]=0;z[J+268>>2]=0;z[J+296>>2]=0;z[J+300>>2]=0;z[J+284>>2]=0;z[J+288>>2]=0;d=f-1|0;z[J+276>>2]=d;b=(l+m|0)-f|0;z[J+256>>2]=b;c=f>>>0<2?255:A[b|0];a=8;z[J+272>>2]=8;g=f-2|0;z[J+276>>2]=g;h=0;i=(d|0)==1?c|15:c;z[J+264>>2]=i;z[J+268>>2]=0;c=b+(f>>>0>1)|0;z[J+256>>2]=c;z[J+280>>2]=(i|0)==255;j=b&3;z:{A:{if((j|0)==3){break A}if((i|0)==255){q=0;if(A[c|0]>143){break z}}b=f>>>0<3?255:A[c|0];p=f-3|0;z[J+276>>2]=p;h=(i|0)==255;a=h?15:16;z[J+272>>2]=a;d=c+(f>>>0>2)|0;z[J+256>>2]=d;b=(g|0)==1?b|15:b;z[J+280>>2]=(b|0)==255;g=h?7:8;c=g&31;if((g&63)>>>0>=32){o=i<>>32-c;c=i<>2]=i;h=o;z[J+268>>2]=h;if((j|0)==2){break A}if((b|0)==255){q=0;if(A[d|0]>143){break z}}c=f>>>0<4?255:A[d|0];o=f-4|0;z[J+276>>2]=o;d=d+(f>>>0>3)|0;z[J+256>>2]=d;c=(p|0)==1?c|15:c;z[J+280>>2]=(c|0)==255;g=(b|0)==255;a=(g?7:8)+a|0;z[J+272>>2]=a;b=c;g=g?7:8;c=g&31;if((g&63)>>>0>=32){g=i<>>32-c|h<>2]=i;z[J+268>>2]=g;if((j|0)==1){break A}if((b|0)==255){q=0;if(A[d|0]>143){break z}}c=f>>>0<5?255:A[d|0];z[J+276>>2]=f-5;z[J+256>>2]=d+(f>>>0>4);c=(o|0)==1?c|15:c;z[J+280>>2]=(c|0)==255;b=(b|0)==255;a=(b?7:8)+a|0;z[J+272>>2]=a;d=b?7:8;b=d&31;if((d&63)>>>0>=32){g=i<>>32-b|h<>2]=i;z[J+268>>2]=g}b=64-a|0;a=b&31;if((b&63)>>>0>=32){g=i<>>32-a|h<>2]=a;z[J+268>>2]=g;q=1}if(!q){if(W){j=0;sb(N,1,25332,0);break g}j=0;sb(N,1,25332,0);break g}K=ja-ia|0;M=f-2|0;z[J+244>>2]=M;d=l+m|0;a=d-3|0;z[J+224>>2]=a;p=A[d-2|0];q=p>>>0>143;z[J+248>>2]=q;h=0;i=p>>>4|0;z[J+232>>2]=i;z[J+236>>2]=0;b=(i&7)==7?3:4;z[J+240>>2]=b;c=(a&3)+1|0;j=(c|0)<(M|0)?c:M;B:{C:{if(f>>>0<=2){c=M-j|0;z[J+244>>2]=c;break C}c=d-4|0;z[J+224>>2]=c;o=A[a|0];q=o>>>0>143;z[J+248>>2]=q;a=b&31;if((b&63)>>>0>=32){g=o<>>32-a;a=o<>2]=i;h=g;z[J+236>>2]=g;b=(p>>>0<=143?8:(o&127)==127?7:8)+b|0;z[J+240>>2]=b;D:{if((j|0)<2){a=c;break D}a=d-5|0;z[J+224>>2]=a;p=A[c|0];q=p>>>0>143;z[J+248>>2]=q;c=b&31;if((b&63)>>>0>=32){g=p<>>32-c;c=p<>2]=i;h=g|h;z[J+236>>2]=h;b=(o>>>0<=143?8:(p&127)==127?7:8)+b|0;z[J+240>>2]=b;o=(j|0)<=1?1:j;if((o|0)==2){break D}c=d-6|0;z[J+224>>2]=c;w=A[a|0];q=w>>>0>143;z[J+248>>2]=q;a=b&31;if((b&63)>>>0>=32){g=w<>>32-a;a=w<>2]=i;z[J+236>>2]=a;b=(p>>>0<=143?8:(w&127)==127?7:8)+b|0;z[J+240>>2]=b;if((o|0)==3){a=c;break D}a=d-7|0;z[J+224>>2]=a;c=A[c|0];q=c>>>0>143;z[J+248>>2]=q;d=b&31;if((b&63)>>>0>=32){o=c<>>32-d;d=c<>2]=i;h=h|o;z[J+236>>2]=h;b=(w>>>0<=143?8:(c&127)==127?7:8)+b|0;z[J+240>>2]=b}c=M-j|0;z[J+244>>2]=c;if(b>>>0>32){break B}}E:{if((c|0)>=4){d=z[a-3>>2];z[J+244>>2]=c-4;z[J+224>>2]=a-4;break E}if((c|0)<=0){d=0;break E}g=c&1;F:{if((c|0)==1){j=24;d=0;break F}o=c&-2;j=24;d=0;M=0;while(1){p=a-1|0;z[J+224>>2]=p;w=A[a|0];a=a-2|0;z[J+224>>2]=a;z[J+244>>2]=c-1;p=A[p|0];c=c-2|0;z[J+244>>2]=c;d=w<>2]=a-1;a=A[a|0];z[J+244>>2]=c-1;d=a<>2]=a>>>0>143;c=q?(d&2130706432)==2130706432?7:8:8;g=c+(d>>>0<=2415919103?8:(d&8323072)==8323072?7:8)|0;j=d>>>16&255;o=g+(j>>>0<=143?8:(d&32512)==32512?7:8)|0;p=d>>>8&255;z[J+240>>2]=o+((p>>>0<=143?8:(d&127)==127?7:8)+b|0);c=j<>>24|p<>>0>=32){g=c<>>32-a;a=c<>2]=a|i;z[J+236>>2]=g|h}Jc(J+192|0,l,m-f|0,255);X=0;G:{if(n>>>0<2){break G}Jc(J+160|0,U,k,0);X=0;if((n|0)==2){break G}i=0;h=0;j=0;z[J+152>>2]=1;z[J+144>>2]=0;z[J+136>>2]=0;z[J+140>>2]=0;f=k;d=f-1|0;z[J+148>>2]=d;a=(l+m|0)+f|0;b=a-1|0;z[J+128>>2]=b;w=b&3;H:{if((f|0)<=0){a=b;break H}a=a-2|0;z[J+128>>2]=a;i=A[b|0]}z[J+136>>2]=i;z[J+140>>2]=0;q=i>>>0>143;z[J+152>>2]=q;l=(i&127)==127?7:8;z[J+144>>2]=l;I:{if(!w){break I}k=f-2|0;z[J+148>>2]=k;J:{if((f|0)<2){b=a;break J}b=a-1|0;z[J+128>>2]=b;j=A[a|0]}q=j>>>0>143;z[J+152>>2]=q;a=l&31;if((l&63)>>>0>=32){g=j<>>32-a;a=j<>2]=p;z[J+140>>2]=g;l=(i>>>0<=143?8:(j&127)==127?7:8)+l|0;z[J+144>>2]=l;if((w|0)==1){a=b;i=p;f=d;d=k;break I}m=f-3|0;z[J+148>>2]=m;K:{if((f|0)<3){c=b;break K}c=b-1|0;z[J+128>>2]=c;r=A[b|0]}q=r>>>0>143;z[J+152>>2]=q;a=l&31;if((l&63)>>>0>=32){o=r<>>32-a;a=r<>2]=i;z[J+140>>2]=a;l=(j>>>0<=143?8:(r&127)==127?7:8)+l|0;z[J+144>>2]=l;if((w|0)==2){a=c;f=k;d=m;break I}d=f-4|0;z[J+148>>2]=d;j=0;L:{if((f|0)<4){a=c;break L}a=c-1|0;z[J+128>>2]=a;j=A[c|0]}q=j>>>0>143;z[J+152>>2]=q;b=l&31;if((l&63)>>>0>=32){g=j<>>32-b;b=j<>2]=i;z[J+140>>2]=b;l=(r>>>0<=143?8:(j&127)==127?7:8)+l|0;z[J+144>>2]=l;f=m}if(l>>>0<=32){M:{if((f|0)>=5){b=z[a-3>>2];z[J+148>>2]=f-5;z[J+128>>2]=a-4;break M}b=0;if((f|0)<2){break M}f=24;while(1){c=a-1|0;z[J+128>>2]=c;a=A[a|0];g=d-1|0;z[J+148>>2]=g;b=a<>>0>1;a=c;f=f-8|0;d=g;if(j){continue}break}}a=b&255;z[J+152>>2]=a>>>0>143;c=q?(b&2130706432)==2130706432?7:8:8;d=c+(b>>>0<=2415919103?8:(b&8323072)==8323072?7:8)|0;f=b>>>16&255;g=d+(f>>>0<=143?8:(b&32512)==32512?7:8)|0;j=b>>>8&255;z[J+144>>2]=g+((j>>>0<=143?8:(b&127)==127?7:8)+l|0);b=f<>>24|j<>>0>=32){g=b<>>32-a;a=b<>2]=a|i;z[J+140>>2]=g|h}X=1}U=V-S|0;Z=s+1|0;x[u+2112|0]=0;p=u+2112|0;b=Kc(J+256|0);if((K|0)>0){q=Y-1|0;k=u;f=p;l=0;c=v;o=0;while(1){m=o;j=B[(l<<8|(Lc(J+224|0)&127)<<1)+34320>>1];N:{if(l){break N}a=b-2|0;j=(a|0)==-1?j:0;if((b|0)>1){b=a;break N}b=Kc(J+256|0)}g=z[J+232>>2];d=z[J+236>>2];a=z[J+240>>2];w=j>>>4|0;r=z[k>>2]|(w&3|j>>>2&48)<>2]=r;S=j&16;l=j>>>5&7|S>>>4;h=a;a=j&7;o=h-a|0;h=d>>>a|0;i=((1<>>a;a=i;d=0;if((K|0)>(m|2)){d=B[(l<<8|(a&127)<<1)+34320>>1];O:{if(l){break O}a=b-2|0;d=(a|0)==-1?d:0;if((b|0)>1){b=a;break O}b=Kc(J+256|0)}l=d>>>4&1|d>>>5&7;a=d&7;o=o-a|0;i=((1<>>a;h=h>>>a|0;a=i}z[k>>2]=r|(d<<2&768|d&48)<>>2&2|j>>>3&1;P:{if((M|0)!=3){break P}g=b-2|0;M=(g|0)==-1?4:3;if((b|0)>1){b=g;break P}b=Kc(J+256|0)}Q:{if(!M){z[J+120>>2]=1;z[J+124>>2]=1;g=0;break Q}if(M>>>0<=2){g=A[(a&7)+38468|0];r=g>>>2&7;s=a;a=g&3;g=(((-1<>>a)+(g>>>5|0)|0)+1|0;s=(M|0)==1;z[J+124>>2]=s?1:g;z[J+120>>2]=s?g:1;g=a+r|0;break Q}g=A[(a&7)+38468|0];r=g&3;a=a>>>r|0;if((M|0)==3){s=(g>>>5|0)+1|0;if((r|0)==3){z[J+124>>2]=a&1|2;g=g>>>2&7;z[J+120>>2]=s+((-1<>>1);g=g+4|0;break Q}Q=a;a=A[(a&7)+38468|0];M=a&3;V=Q>>>M|0;g=g>>>2&7;z[J+120>>2]=s+(V&(-1<>>2&7;z[J+124>>2]=(((-1<>>g)+(a>>>5|0)|0)+1;g=s+(M+(g+r|0)|0)|0;break Q}s=a;a=A[(a&7)+38468|0];M=a&3;V=s>>>M|0;s=g>>>2&7;z[J+120>>2]=((V&(-1<>>5|0)|0)+3;g=a>>>2&7;z[J+124>>2]=(((-1<>>s)+(a>>>5|0)|0)+3;g=g+(s+(r+M|0)|0)|0}R:{r=z[J+120>>2];if(r>>>0<=Z>>>0){s=z[J+124>>2];if(s>>>0<=Z>>>0){break R}}if(W){j=0;sb(N,1,31389,0);break g}j=0;sb(N,1,31389,0);break g}z[J+240>>2]=o-g;a=g&31;if((g&63)>>>0>=32){g=0;a=h>>>a|0}else{g=h>>>a|0;a=((1<>>a}z[J+232>>2]=a;z[J+236>>2]=g;o=m+4|0;a=(o|0)<=(K|0)?255:255>>>(o-K<<1)|0;h=(U|0)>1?a:a&85;if((d&240|w&15)&(h^-1)){if(W){j=0;sb(N,1,26614,0);break g}j=0;sb(N,1,26614,0);break g}S:{T:{if(S){M=Mc(J+192|0);i=r+(j<<19>>31)|0;z[J+208>>2]=z[J+208>>2]-i;w=z[J+204>>2];S=z[J+200>>2];a=i&31;if((i&63)>>>0>=32){g=0;a=w>>>a|0}else{g=w>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;a=(M&(-1<>>8&1)<>2]=a}U:{if(j&32){M=Mc(J+192|0);i=r+(j<<18>>31)|0;z[J+208>>2]=z[J+208>>2]-i;w=z[J+204>>2];S=z[J+200>>2];a=i&31;if((i&63)>>>0>=32){g=0;a=w>>>a|0}else{g=w>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;a=M&(-1<>>9&1)<>2]=a+2<>>0>g>>>0?a:g)|128;break U}if(!(h&2)){break U}z[(K<<2)+c>>2]=0}w=c+4|0;V:{W:{if(j&64){S=Mc(J+192|0);i=r+(j<<17>>31)|0;z[J+208>>2]=z[J+208>>2]-i;M=z[J+204>>2];V=z[J+200>>2];a=i&31;if((i&63)>>>0>=32){g=0;a=M>>>a|0}else{g=M>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;M=(S&(-1<>>10&1)<>2]=M}x[f+1|0]=0;X:{if(j&128){M=Mc(J+192|0);i=r+(j<<16>>31)|0;z[J+208>>2]=z[J+208>>2]-i;r=z[J+204>>2];S=z[J+200>>2];a=i&31;if((i&63)>>>0>=32){g=0;a=r>>>a|0}else{g=r>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;a=M&(-1<>>11&1)<>2]=a+2<>2]=0}j=c+8|0;Y:{Z:{if(d&16){w=Mc(J+192|0);i=s+(d<<19>>31)|0;z[J+208>>2]=z[J+208>>2]-i;r=z[J+204>>2];M=z[J+200>>2];a=i&31;if((i&63)>>>0>=32){g=0;a=r>>>a|0}else{g=r>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;M=(w&(-1<>>8&1)<>2]=M}_:{if(d&32){w=Mc(J+192|0);i=s+(d<<18>>31)|0;z[J+208>>2]=z[J+208>>2]-i;r=z[J+204>>2];M=z[J+200>>2];a=i&31;if((i&63)>>>0>=32){g=0;a=r>>>a|0}else{g=r>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;a=w&(-1<>>9&1)<>2]=a+2<>>0>g>>>0?a:g)|128;break _}if(!(h&32)){break _}z[j+(K<<2)>>2]=0}j=c+12|0;$:{aa:{if(d&64){w=Mc(J+192|0);i=s+(d<<17>>31)|0;z[J+208>>2]=z[J+208>>2]-i;r=z[J+204>>2];M=z[J+200>>2];a=i&31;if((i&63)>>>0>=32){g=0;a=r>>>a|0}else{g=r>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;M=(w&(-1<>>10&1)<>2]=M}f=f+2|0;x[f|0]=0;ba:{if(d&128){r=Mc(J+192|0);h=s+(d<<16>>31)|0;z[J+208>>2]=z[J+208>>2]-h;i=z[J+204>>2];s=z[J+200>>2];a=h&31;if((h&63)>>>0>=32){g=0;a=i>>>a|0}else{g=i>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;a=r&(-1<>>11&1)<>2]=a+2<>>0<128){break ba}z[j+(K<<2)>>2]=0}O=O^16;k=(m&4)+k|0;c=c+16|0;if((o|0)<(K|0)){continue}break}}ma=E&8;_=u+1584|0;T=u+1056|0;V=u+528|0;if((U|0)>=3){na=F(K,3);oa=K<<1;S=Y-1|0;a=Y-2|0;fa=3<>>1&2147483644)+4|0;s=2;while(1){w=s;o=A[p|0];x[p|0]=0;O=O&-17^2;ca:{if((K|0)<=0){s=w+2|0;break ca}l=w&4?V:u;s=w+2|0;f=v+(F(w,K)<<2)|0;r=0;c=p;m=0;while(1){q=m;E=o;a=A[c+1|0]>>>5&4|(o>>>7|r);d=B[(a<<8|(Lc(J+224|0)&127)<<1)+36368>>1];da:{if(a){break da}a=b-2|0;d=(a|0)==-1?d:0;if((b|0)>1){b=a;break da}b=Kc(J+256|0)}i=z[J+232>>2];g=z[J+236>>2];a=z[J+240>>2];k=z[l>>2]|(d>>>4&3|d>>>2&48)<>2]=k;$=d&64;ka=d&128;r=$>>>5|ka>>>6;h=a;a=d&7;M=h-a|0;h=g>>>a|0;i=((1<>>a;m=i;o=0;ea:{if((K|0)<=(q|2)){j=0;break ea}a=A[c+2|0]>>>5&4|A[c+1|0]>>>7|r;j=B[(a<<8|(m&127)<<1)+36368>>1];fa:{if(a){break fa}a=b-2|0;j=(a|0)==-1?j:0;if((b|0)>1){b=a;break fa}b=Kc(J+256|0)}r=(j>>>5|j>>>6)&2;a=j&7;M=M-a|0;i=((1<>>a;h=h>>>a|0;m=i}z[l>>2]=k|(j<<2&768|j&48)<>>2&2|d>>>3&1;ga:{if(!R){break ga}g=m;a=A[(m&7)+38468|0];m=a&3;g=g>>>m|0;if((R|0)!=3){o=a>>>2&7;g=((g&(-1<>>5|0)|0)+1|0;k=(R|0)==1;a=k?1:g;k=k?g:1;o=m+o|0;break ga}R=A[(g&7)+38468|0];k=R&3;o=m;m=a>>>2&7;ba=R>>>2&7;o=(k+(o+m|0)|0)+ba|0;g=g>>>k|0;k=((g&(-1<>>5|0)|0)+1|0;a=(((-1<>>m)+(R>>>5|0)|0)+1|0}z[J+240>>2]=M-o;m=o&31;if((o&63)>>>0>=32){g=0;h=h>>>m|0}else{g=h>>>m|0;h=((1<>>m}z[J+232>>2]=h;z[J+236>>2]=g;g=d&240;if(g-1&g){h=E&127;i=A[c+1|0]&127;h=h>>>0>i>>>0?h:i;i=h-2|0;k=(h>>>0>=i>>>0?i:0)+k|0}h=j&240;if(h-1&h){i=A[c+1|0]&127;m=A[c+2|0]&127;i=i>>>0>m>>>0?i:m;a=a+(i>>>0>2?i-2|0:0)|0}if(!(k>>>0<=Z>>>0&a>>>0<=Z>>>0)){if(W){j=0;sb(N,1,31489,0);break g}j=0;sb(N,1,31489,0);break g}o=A[c+2|0];x[c+1|0]=0;x[c+2|0]=0;i=h|g>>>4;m=q+4|0;g=(m|0)<=(K|0)?255:255>>>(m-K<<1)|0;h=(s|0)>(U|0)?g&85:g;if(i&(h^-1)){if(W){j=0;sb(N,1,26614,0);break g}j=0;sb(N,1,26614,0);break g}ha:{ia:{if(d&16){R=Mc(J+192|0);E=(d<<19>>31)+k|0;z[J+208>>2]=z[J+208>>2]-E;M=z[J+204>>2];ba=z[J+200>>2];i=E&31;if((E&63)>>>0>=32){g=0;i=M>>>i|0}else{g=M>>>i|0;i=((1<>>i}z[J+200>>2]=i;z[J+204>>2]=g;M=(R&(-1<>>8&1)<>2]=M}ja:{if(d&32){R=Mc(J+192|0);E=(d<<18>>31)+k|0;z[J+208>>2]=z[J+208>>2]-E;M=z[J+204>>2];ba=z[J+200>>2];i=E&31;if((E&63)>>>0>=32){g=0;i=M>>>i|0}else{g=M>>>i|0;i=((1<>>i}z[J+200>>2]=i;z[J+204>>2]=g;g=R&(-1<>>9&1)<>2]=g+2<>>0>i>>>0?g:i)|128;break ja}if(!(h&2)){break ja}z[(K<<2)+f>>2]=0}M=f+4|0;ka:{la:{if($){$=Mc(J+192|0);E=(d<<17>>31)+k|0;z[J+208>>2]=z[J+208>>2]-E;R=z[J+204>>2];ba=z[J+200>>2];i=E&31;if((E&63)>>>0>=32){g=0;i=R>>>i|0}else{g=R>>>i|0;i=((1<>>i}z[J+200>>2]=i;z[J+204>>2]=g;E=($&(-1<>>10&1)<>2]=E}ma:{if(ka){R=Mc(J+192|0);k=(d<<16>>31)+k|0;z[J+208>>2]=z[J+208>>2]-k;E=z[J+204>>2];$=z[J+200>>2];i=k&31;if((k&63)>>>0>=32){g=0;i=E>>>i|0}else{g=E>>>i|0;i=((1<>>i}z[J+200>>2]=i;z[J+204>>2]=g;d=R&(-1<>>11&1)<>2]=d+2<>2]=0}E=f+8|0;na:{oa:{if(j&16){M=Mc(J+192|0);i=(j<<19>>31)+a|0;z[J+208>>2]=z[J+208>>2]-i;k=z[J+204>>2];R=z[J+200>>2];d=i&31;if((i&63)>>>0>=32){g=0;d=k>>>d|0}else{g=k>>>d|0;d=((1<>>d}z[J+200>>2]=d;z[J+204>>2]=g;k=(M&(-1<>>8&1)<>2]=k}pa:{if(j&32){M=Mc(J+192|0);i=(j<<18>>31)+a|0;z[J+208>>2]=z[J+208>>2]-i;k=z[J+204>>2];R=z[J+200>>2];d=i&31;if((i&63)>>>0>=32){g=0;d=k>>>d|0}else{g=k>>>d|0;d=((1<>>d}z[J+200>>2]=d;z[J+204>>2]=g;d=M&(-1<>>9&1)<>2]=d+2<>>0>g>>>0?d:g)|128;break pa}if(!(h&32)){break pa}z[E+(K<<2)>>2]=0}E=f+12|0;qa:{ra:{if(j&64){M=Mc(J+192|0);i=(j<<17>>31)+a|0;z[J+208>>2]=z[J+208>>2]-i;k=z[J+204>>2];R=z[J+200>>2];d=i&31;if((i&63)>>>0>=32){g=0;d=k>>>d|0}else{g=k>>>d|0;d=((1<>>d}z[J+200>>2]=d;z[J+204>>2]=g;k=(M&(-1<>>10&1)<>2]=k}c=c+2|0;sa:{if(j&128){i=Mc(J+192|0);d=(j<<16>>31)+a|0;z[J+208>>2]=z[J+208>>2]-d;h=z[J+204>>2];k=z[J+200>>2];a=d&31;if((d&63)>>>0>=32){g=0;a=h>>>a|0}else{g=h>>>a|0;a=((1<>>a}z[J+200>>2]=a;z[J+204>>2]=g;a=i&(-1<>>11&1)<>2]=a+2<>>0<128){break sa}z[E+(K<<2)>>2]=0}O=O^16;l=(q&4)+l|0;f=f+16|0;if((m|0)<(K|0)){continue}break}}ta:{if(s&2|n>>>0<2){break ta}f=s&4;ua:{va:{if(X){q=f?u:V;o=0;if((K|0)<=0){break va}i=v+(F(K,w-2|0)<<2)|0;while(1){d=Lc(J+128|0);j=0;g=z[q>>2];if(g){j=i+(o<<2)|0;a=0;c=15;while(1){wa:{if(!(c&g)){break wa}h=c&286331153;if(h&g){z[j>>2]=ga|z[j>>2]^((d^-1)&1)<>>1|0}if(g&h<<1){k=(K<<2)+j|0;z[k>>2]=ga|z[k>>2]^((d^-1)&1)<>>1|0}if(g&h<<2){k=(oa<<2)+j|0;z[k>>2]=ga|z[k>>2]^((d^-1)&1)<>>1|0}if(!(g&h<<3)){break wa}h=(na<<2)+j|0;z[h>>2]=ga|z[h>>2]^((d^-1)&1)<>>1|0}j=j+4|0;c=c<<4;a=a+1|0;if((a|0)!=8){continue}break}j=uo(g)}q=q+4|0;z[J+144>>2]=z[J+144>>2]-j;c=z[J+140>>2];d=z[J+136>>2];a=j&31;if((j&63)>>>0>=32){g=0;a=c>>>a|0}else{g=c>>>a|0;a=((1<>>a}z[J+136>>2]=a;z[J+140>>2]=g;o=o+8|0;if((K|0)>(o|0)){continue}break}}o=!f;k=0;d=0;E=f?T:_;j=E;q=f?u:V;c=q;if((K|0)<=0){break ua}while(1){a=d>>>28|0;d=z[c>>2];a=d|(a|d<<4|d>>>4);z[j>>2]=a;a=a|z[c+4>>2]<<28;z[j>>2]=(a>>>1&2004318071|a<<1&-286331154|a)&(d^-1);j=j+4|0;c=c+4|0;k=k+8|0;if((K|0)>(k|0)){continue}break}break ua}o=!f;E=f?T:_}if(w>>>0<6){break ta}a=0;l=0;j=q;R=o?T:_;d=R;i=o?u:V;c=i;k=(K|0)<=0;xa:{if(k){break xa}while(1){g=j+4|0;h=z[d>>2];f=z[j>>2];z[d>>2]=(z[c>>2]^-1)&(ma?h:h|(f|(f<<4|l>>>28|f>>>4|z[g>>2]<<28))<<3&-2004318072);c=c+4|0;d=d+4|0;l=f;j=g;a=a+8|0;if((K|0)>(a|0)){continue}break}if(k){break xa}ka=v+(F(K,w-6|0)<<2)|0;M=0;l=i;while(1){k=0;j=z[R>>2];if(j){ba=K-M|0;d=0;r=0;while(1){h=d;d=Mc(J+160|0);a=r+4|0;$=(K|0)>(a+M|0)?a:ba;pa=($|0)<=(r|0);ya:{if(pa){c=0;break ya}g=z[l>>2]^-1;o=((r|M)<<2)+ka|0;c=0;a=r;qa=a<<2;m=15<>>1|0;c=c+1|0}ha=w<<1;if(ha&j){if(d&1){k=k|ha;j=g&116<<(a<<2)|j}d=d>>>1|0;c=c+1|0}ha=w<<2;if(ha&j){if(d&1){k=k|ha;j=g&232<<(a<<2)|j}d=d>>>1|0;c=c+1|0}w=w<<3;if(!(w&j)){break za}if(d&1){k=k|w;j=g&192<<(a<<2)|j}c=c+1|0;d=d>>>1|0}f=f<<4;a=a+1|0;if(($|0)>(a|0)){continue}break}if(pa|!(k>>>qa&65535)){break ya}while(1){Aa:{if(!(k&m)){break Aa}a=m&286331153;if(a&k){z[o>>2]=fa|(z[o>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(a<<1&k){f=(K<<2)+o|0;z[f>>2]=fa|(z[f>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(a<<2&k){f=(oa<<2)+o|0;z[f>>2]=fa|(z[f>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(!(a<<3&k)){break Aa}a=(na<<2)+o|0;z[a>>2]=fa|(z[a>>2]|d<<31);c=c+1|0;d=d>>>1|0}m=m<<4;o=o+4|0;r=r+1|0;if(($|0)>(r|0)){continue}break}}z[J+176>>2]=z[J+176>>2]-c;d=z[J+172>>2];f=z[J+168>>2];a=c&31;if((c&63)>>>0>=32){g=0;a=d>>>a|0}else{g=d>>>a|0;a=((1<>>a}z[J+168>>2]=a;z[J+172>>2]=g;d=1;r=4;if(!(h&1)){continue}break}z[R+4>>2]=z[R+4>>2]|(k>>>27&14|k>>>29|k>>>28)&(z[l+4>>2]^-1)}c=z[l>>2]|k;a=c>>>3&286331153;d=a>>>4|a<<4|a;if(M){f=E-4|0;z[f>>2]=z[f>>2]|(z[q-4>>2]^-1)&a<<28}z[E>>2]=z[E>>2]|d&(z[q>>2]^-1);z[E+4>>2]=z[E+4>>2]|(z[q+4>>2]^-1)&c>>>31;R=R+4|0;l=l+4|0;E=E+4|0;q=q+4|0;M=M+8|0;if((K|0)>(M|0)){continue}break}}Id(i,0,Q)}if((s|0)<(U|0)){continue}break}}Ba:{if(n>>>0<2){break Ba}i=(U&3)-1|0;Ca:{if(X&i>>>0<2){if((K|0)<=0){break Ca}f=1<>2];if(b){j=k+(r<<2)|0;c=15;a=0;while(1){Da:{if(!(b&c)){break Da}g=c&286331153;if(g&b){z[j>>2]=f|z[j>>2]^((d^-1)&1)<>>1|0}if(b&g<<1){n=(K<<2)+j|0;z[n>>2]=f|z[n>>2]^((d^-1)&1)<>>1|0}if(b&g<<2){n=j+m|0;z[n>>2]=f|z[n>>2]^((d^-1)&1)<>>1|0}if(!(b&g<<3)){break Da}g=j+l|0;z[g>>2]=f|z[g>>2]^((d^-1)&1)<>>1|0}j=j+4|0;c=c<<4;a=a+1|0;if((a|0)!=8){continue}break}j=uo(b)}w=w+4|0;z[J+144>>2]=z[J+144>>2]-j;b=z[J+140>>2];c=z[J+136>>2];a=j&31;if((j&63)>>>0>=32){g=0;a=b>>>a|0}else{g=b>>>a|0;a=((1<>>a}z[J+136>>2]=a;z[J+140>>2]=g;r=r+8|0;if((K|0)>(r|0)){continue}break}}if((K|0)<=0|i>>>0>1){break Ca}a=U&4;j=a?V:u;c=a?_:T;k=0;d=0;while(1){a=d>>>28|0;d=z[j>>2];a=d|(a|d<<4|d>>>4);z[c>>2]=a;a=a|z[j+4>>2]<<28;z[c>>2]=(a>>>1&2004318071|a<<1&-286331154|a)&(d^-1);c=c+4|0;j=j+4|0;k=k+8|0;if((K|0)>(k|0)){continue}break}}n=(U|0)>6?(U-(U+1&3)|0)-3|0:0;if((U|0)<=(n|0)){break Ba}i=3<>>0>=3){M=-1;if((a|0)<5){break Fa}if((K|0)<=0){break Ea}a=n&4;j=a?V:u;d=a?_:T;c=0;if(!ma){c=a?u:V;k=0;f=0;while(1){a=f>>>28|0;f=z[c>>2];z[d>>2]=(z[d>>2]|(f|(a|f<<4|f>>>4|z[c+4>>2]<<28))<<3&-2004318072)&(z[j>>2]^-1);j=j+4|0;d=d+4|0;c=c+4|0;k=k+8|0;if((K|0)>(k|0)){continue}break}break Fa}while(1){z[d>>2]=z[d>>2]&(z[j>>2]^-1);j=j+4|0;d=d+4|0;c=c+8|0;if((K|0)>(c|0)){continue}break}break Fa}M=z[(b<<2)+38476>>2]}if((K|0)<=0){break Ea}a=n&4;O=a?V:u;l=a?_:T;m=a?u:V;b=a?T:_;W=v+(F(n,K)<<2)|0;q=0;while(1){k=0;j=z[l>>2]&M;if(j){S=K-q|0;d=0;g=0;while(1){h=d;d=Mc(J+160|0);a=g+4|0;s=(K|0)>(a+q|0)?a:S;Y=(s|0)<=(g|0);Ga:{if(Y){c=0;break Ga}p=(z[O>>2]^-1)&M;o=W+((g|q)<<2)|0;c=0;a=g;R=a<<2;w=15<>>1|0;c=c+1|0}Z=r<<1;if(Z&j){if(d&1){k=k|Z;j=p&116<<(a<<2)|j}d=d>>>1|0;c=c+1|0}Z=r<<2;if(Z&j){if(d&1){k=k|Z;j=p&232<<(a<<2)|j}d=d>>>1|0;c=c+1|0}r=r<<3;if(!(r&j)){break Ha}if(d&1){k=k|r;j=p&192<<(a<<2)|j}c=c+1|0;d=d>>>1|0}f=f<<4;a=a+1|0;if((s|0)>(a|0)){continue}break}if(Y|!(k>>>R&65535)){break Ga}while(1){Ia:{if(!(k&w)){break Ia}a=w&286331153;if(a&k){z[o>>2]=i|(z[o>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(a<<1&k){f=(K<<2)+o|0;z[f>>2]=i|(z[f>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(a<<2&k){f=o+N|0;z[f>>2]=i|(z[f>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(!(a<<3&k)){break Ia}a=o+E|0;z[a>>2]=i|(z[a>>2]|d<<31);c=c+1|0;d=d>>>1|0}w=w<<4;o=o+4|0;g=g+1|0;if((s|0)>(g|0)){continue}break}}z[J+176>>2]=z[J+176>>2]-c;d=z[J+172>>2];f=z[J+168>>2];a=c&31;if((c&63)>>>0>=32){g=0;a=d>>>a|0}else{g=d>>>a|0;a=((1<>>a}z[J+168>>2]=a;z[J+172>>2]=g;d=1;g=4;if(!(h&1)){continue}break}z[l+4>>2]=z[l+4>>2]|(k>>>27&14|k>>>29|k>>>28)&(z[O+4>>2]^-1)}c=z[O>>2]|k;a=c>>>3&286331153;d=a>>>4|a<<4|a;if(q){f=b-4|0;z[f>>2]=z[f>>2]|(z[m-4>>2]^-1)&a<<28}z[b>>2]=z[b>>2]|d&(z[m>>2]^-1);z[b+4>>2]=z[b+4>>2]|(z[m+4>>2]^-1)&c>>>31;l=l+4|0;O=O+4|0;b=b+4|0;m=m+4|0;q=q+8|0;if((K|0)>(q|0)){continue}break}}n=n+4|0;if((U|0)>(n|0)){continue}break}}j=1;if((U|0)<=0|(K|0)<=0){break g}b=K&-4;a=K&3;c=ja+(ia^-1)>>>0<3;l=0;while(1){d=v+(F(l,K)<<2)|0;j=0;if(!c){while(1){f=z[d>>2];g=f&2147483647;z[d>>2]=(f|0)<0?0-g|0:g;f=z[d+4>>2];g=f&2147483647;z[d+4>>2]=(f|0)<0?0-g|0:g;f=z[d+8>>2];g=f&2147483647;z[d+8>>2]=(f|0)<0?0-g|0:g;f=z[d+12>>2];g=f&2147483647;z[d+12>>2]=(f|0)<0?0-g|0:g;d=d+16|0;j=j+4|0;if((b|0)!=(j|0)){continue}break}}j=0;if(a){while(1){f=z[d>>2];g=f&2147483647;z[d>>2]=(f|0)<0?0-g|0:g;d=d+4|0;j=j+1|0;if((a|0)!=(j|0)){continue}break}}j=1;l=l+1|0;if((U|0)!=(l|0)){continue}break}break g}if(!W){break s}z[J+52>>2]=z[L+24>>2];z[J+48>>2]=s;sb(N,1,23453,J+48|0);break r}z[J+20>>2]=j;z[J+16>>2]=s;sb(N,1,23453,J+16|0);j=0;break g}j=0}Fa=J+304|0;if(j){break f}break b}z[H+108>>2]=(b<<9)+4e4;if(!Pc(H,z[L+16>>2]-z[L+8>>2]|0,z[L+20>>2]-z[L+12>>2]|0)){break b}s=a+z[L+28>>2]|0;if((s|0)>=31){if(!W){break e}z[P+16>>2]=s;sb(N,2,22284,P+16|0);break b}Oc(H);c=0;z[H+100>>2]=39968;z[H+96>>2]=38592;z[H+28>>2]=38624;Ja:{Ka:{La:{Ma:{f=z[L+52>>2];if(f>>>0>1){break Ma}if(!z[H+144>>2]){break Ka}if(f){break Ma}break La}a=z[L+4>>2];if(f-1>>>0>=3){g=f&-4;while(1){b=m<<3;c=z[(a+(b|24)|0)+4>>2]+(z[(a+(b|16)|0)+4>>2]+(z[(a+(b|8)|0)+4>>2]+(z[(a+b|0)+4>>2]+c|0)|0)|0)|0;m=m+4|0;d=d+4|0;if((g|0)!=(d|0)){continue}break}}d=f&3;if(!d){break La}b=0;while(1){c=z[(a+(m<<3)|0)+4>>2]+c|0;m=m+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}a=c+2|0;if(a>>>0>C[H+152>>2]){b=xd(z[H+148>>2],a);if(!b){break b}z[H+148>>2]=b;b=b+c|0;x[b|0]=0;x[b+1|0]=0;z[H+152>>2]=a;f=z[L+52>>2]}O=z[H+148>>2];if(!f){break Ja}c=z[L+4>>2];m=0;a=0;while(1){b=a<<3;c=b+c|0;Gd(m+O|0,z[c>>2],z[c+4>>2]);c=z[L+4>>2];m=z[(b+c|0)+4>>2]+m|0;a=a+1|0;if(a>>>0>2]){continue}break}break Ja}if((f|0)!=1){break f}O=z[z[L+4>>2]>>2]}a=z[L+60>>2];if(a){o=z[H+116>>2];z[H+116>>2]=a}if(z[L+44>>2]){V=E&8;fa=E&1;ga=!(E&2);J=2;while(1){a=K+O|0;U=z[L>>2]+F(w,24)|0;b=z[U>>2];S=fa&(J>>>0<2&(z[L+28>>2]-4|0)>=(s|0));Na:{if(S){z[H+20>>2]=a;b=a+b|0;z[H+24>>2]=b;y[H+112>>1]=A[b|0]|A[b+1|0]<<8;x[b|0]=255;x[z[H+24>>2]+1|0]=255;z[H+8>>2]=0;z[H>>2]=0;z[H+16>>2]=a;break Na}z[H+20>>2]=a;c=a+b|0;z[H+24>>2]=c;y[H+112>>1]=A[c|0]|A[c+1|0]<<8;x[c|0]=255;x[z[H+24>>2]+1|0]=255;z[H+104>>2]=H+28;z[H+16>>2]=a;z[H+12>>2]=0;b=b?A[a|0]<<16:16711680;z[H>>2]=b;c=1;e=a+1|0;d=A[a+1|0];Oa:{if(A[a|0]==255){if(d>>>0>=144){z[H+12>>2]=1;a=b|65280;break Oa}z[H+16>>2]=e;c=0;a=b+(d<<9)|0;break Oa}z[H+16>>2]=e;a=b|d<<8}z[H+8>>2]=c;z[H+4>>2]=32768;z[H>>2]=a<<7}ia=z[U>>2];Pa:{if(!z[U+8>>2]|(s|0)<=0){break Pa}ja=S|ga;_=0;while(1){Qa:{Ra:{Sa:{switch(J|0){case 0:if(S){a=1<>>1|a;h=z[H+124>>2];k=h<<2;a=(k+z[H+120>>2]|0)+12|0;c=z[H+116>>2];j=0;b=z[H+128>>2];if(b>>>0>=4){if(!h){break Qa}i=F(h,3);l=h<<1;f=0-g|0;while(1){b=0;while(1){d=a;a=z[a>>2];Ta:{if(!a){break Ta}if(!(!(a&495)|a&2097168)){a=z[H>>2];e=z[H+8>>2];Ua:{if(e){break Ua}m=(a|0)==255;e=z[H+16>>2];a=A[e|0];Va:{if(!m){z[H>>2]=a;z[H+16>>2]=e+1;break Va}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=e+1;e=7;break Ua}a=255;z[H>>2]=255}e=8}e=e-1|0;z[H+8>>2]=e;Wa:{if(!(a>>>e&1)){break Wa}Xa:{if(e){break Xa}m=(a|0)==255;e=z[H+16>>2];a=A[e|0];Ya:{if(!m){z[H>>2]=a;z[H+16>>2]=e+1;break Ya}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=e+1;e=7;break Xa}a=255;z[H>>2]=255}e=8}e=e-1|0;z[H+8>>2]=e;e=a>>>e&1;z[c>>2]=e?f:g;a=z[H+124>>2];m=d-4|0;z[m>>2]=z[m>>2]|32;z[d+4>>2]=z[d+4>>2]|8;z[d>>2]=z[d>>2]|e<<19|16;if(V){break Wa}a=d+(-2-a<<2)|0;z[a+4>>2]=z[a+4>>2]|32768;z[a>>2]=z[a>>2]|e<<31|65536;a=a-4|0;z[a>>2]=z[a>>2]|131072}a=z[d>>2]|2097152;z[d>>2]=a}if(!(!(a&3960)|a&16777344)){a=z[H>>2];e=z[H+8>>2];Za:{if(e){break Za}m=(a|0)==255;e=z[H+16>>2];a=A[e|0];_a:{if(!m){z[H>>2]=a;z[H+16>>2]=e+1;break _a}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=e+1;e=7;break Za}a=255;z[H>>2]=255}e=8}e=e-1|0;z[H+8>>2]=e;if(a>>>e&1){$a:{if(e){break $a}m=(a|0)==255;e=z[H+16>>2];a=A[e|0];ab:{if(!m){z[H>>2]=a;z[H+16>>2]=e+1;break ab}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=e+1;e=7;break $a}a=255;z[H>>2]=255}e=8}e=e-1|0;z[H+8>>2]=e;a=a>>>e&1;z[c+k>>2]=a?f:g;e=d-4|0;z[e>>2]=z[e>>2]|256;z[d+4>>2]=z[d+4>>2]|64;a=z[d>>2]|a<<22|128}else{a=z[d>>2]}a=a|16777216;z[d>>2]=a}if(!(!(a&31680)|a&134218752)){a=z[H>>2];e=z[H+8>>2];bb:{if(e){break bb}m=(a|0)==255;e=z[H+16>>2];a=A[e|0];cb:{if(!m){z[H>>2]=a;z[H+16>>2]=e+1;break cb}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=e+1;e=7;break bb}a=255;z[H>>2]=255}e=8}e=e-1|0;z[H+8>>2]=e;if(a>>>e&1){m=(l<<2)+c|0;db:{if(e){break db}n=(a|0)==255;e=z[H+16>>2];a=A[e|0];eb:{if(!n){z[H>>2]=a;z[H+16>>2]=e+1;break eb}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=e+1;e=7;break db}a=255;z[H>>2]=255}e=8}e=e-1|0;z[H+8>>2]=e;a=a>>>e&1;z[m>>2]=a?f:g;e=d-4|0;z[e>>2]=z[e>>2]|2048;z[d+4>>2]=z[d+4>>2]|512;a=z[d>>2]|a<<25|1024}else{a=z[d>>2]}a=a|134217728;z[d>>2]=a}if(!(a&253440)|a&1073750016){break Ta}a=z[H>>2];e=z[H+8>>2];fb:{if(e){break fb}m=(a|0)==255;e=z[H+16>>2];a=A[e|0];gb:{if(!m){z[H>>2]=a;z[H+16>>2]=e+1;break gb}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=e+1;e=7;break fb}a=255;z[H>>2]=255}e=8}e=e-1|0;z[H+8>>2]=e;if(a>>>e&1){m=(i<<2)+c|0;hb:{if(e){break hb}n=(a|0)==255;e=z[H+16>>2];a=A[e|0];ib:{if(!n){z[H>>2]=a;z[H+16>>2]=e+1;break ib}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=e+1;e=7;break hb}a=255;z[H>>2]=255}e=8}e=e-1|0;z[H+8>>2]=e;e=a>>>e&1;z[m>>2]=e?f:g;a=z[H+124>>2];m=d-4|0;z[m>>2]=z[m>>2]|16384;z[d+4>>2]=z[d+4>>2]|4096;z[d>>2]=z[d>>2]|e<<28|8192;a=d+(a<<2)|0;z[a+4>>2]=z[a+4>>2]|4;z[a+12>>2]=z[a+12>>2]|1;z[a+8>>2]=z[a+8>>2]|e<<18|2}z[d>>2]=z[d>>2]|1073741824}c=c+4|0;a=d+4|0;b=b+1|0;if((h|0)!=(b|0)){continue}break}a=d+12|0;c=(i<<2)+c|0;j=j+4|0;b=z[H+128>>2];if(j>>>0<(b&-4)>>>0){continue}break}}if(!h|b>>>0<=j>>>0){break Ra}u=0;l=0-g|0;e=b;while(1){jb:{if((e|0)==(j|0)){e=j;break jb}i=a-4|0;f=z[a>>2];m=0;while(1){d=F(m,3);e=f>>>d|0;if(!(e&2097168|!(e&495))){b=z[H>>2];k=z[H+8>>2];kb:{if(k){break kb}f=(b|0)!=255;e=z[H+16>>2];b=A[e|0];lb:{if(!f){if(b>>>0>=144){b=255;z[H>>2]=255;break lb}z[H>>2]=b;z[H+16>>2]=e+1;k=7;break kb}z[H>>2]=b;z[H+16>>2]=e+1}k=8}k=k-1|0;z[H+8>>2]=k;mb:{if(!(b>>>k&1)){break mb}f=(F(h,m)<<2)+c|0;nb:{if(k){break nb}k=(b|0)!=255;e=z[H+16>>2];b=A[e|0];ob:{if(!k){if(b>>>0>=144){b=255;z[H>>2]=255;break ob}z[H>>2]=b;z[H+16>>2]=e+1;k=7;break nb}z[H>>2]=b;z[H+16>>2]=e+1}k=8}e=k-1|0;z[H+8>>2]=e;e=b>>>e&1;z[f>>2]=e?l:g;f=z[H+124>>2];z[i>>2]=z[i>>2]|32<>2]=z[a>>2]|(e<<19|16)<>2]=z[a+4>>2]|8<>2]=z[b+4>>2]|32768;z[b>>2]=z[b>>2]|e<<31|65536;b=b-4|0;z[b>>2]=z[b>>2]|131072}if((m|0)!=3){break mb}b=(f+2<<2)+a|0;z[b+4>>2]=z[b+4>>2]|1;z[b>>2]=z[b>>2]|e<<18|2;b=b-4|0;z[b>>2]=z[b>>2]|4}f=z[a>>2]|2097152<>2]=f;b=z[H+128>>2]}e=b;m=m+1|0;if(m>>>0>>0){continue}break}}c=c+4|0;a=a+4|0;u=u+1|0;if((h|0)!=(u|0)){continue}break}break Ra}p=0;pb:{qb:{rb:{h=z[H+124>>2];if(!((h|0)!=64|z[H+128>>2]!=64)){a=1<>>1|a;h=0-g|0;c=z[H+120>>2]+268|0;j=z[H+8>>2];b=z[H+4>>2];f=z[H>>2];m=z[H+104>>2];a=z[H+116>>2];if(E&8){break rb}while(1){n=0;while(1){e=a;d=c;c=z[c>>2];if(c){sb:{if(c&2097168){break sb}a=c&495;if(!a){break sb}k=(A[a+z[H+108>>2]|0]<<2)+H|0;m=k+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;tb:{if(f>>>16>>>0>>0){l=z[i+4>>2];q=k;k=a>>>0>b>>>0;z[q+28>>2]=z[i+(k?8:12)>>2];while(1){ub:{if(j){break ub}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break ub}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break ub}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=k?l:!l;break tb}f=f-(a<<16)|0;if(!(b&32768)){l=z[i+4>>2];q=k;k=a>>>0>b>>>0;z[q+28>>2]=z[i+(k?12:8)>>2];while(1){vb:{if(j){break vb}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break vb}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break vb}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=k?!l:l;break tb}a=z[i+4>>2]}if(a){k=d-4|0;q=z[d+4>>2]>>>17&4|(z[k>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));l=(A[q+42048|0]<<2)+H|0;m=l+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;r=A[q+42304|0];wb:{if(f>>>16>>>0>>0){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?8:12)>>2];while(1){xb:{if(j){break xb}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break xb}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break xb}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=l?q:!q;break wb}f=f-(a<<16)|0;if(!(b&32768)){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?12:8)>>2];while(1){yb:{if(j){break yb}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break yb}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break yb}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=l?!q:q;break wb}a=z[i+4>>2]}a=a^r;z[e>>2]=a?h:g;z[k>>2]=z[k>>2]|32;z[d+4>>2]=z[d+4>>2]|8;i=d-268|0;z[i>>2]=z[i>>2]|131072;i=d-260|0;z[i>>2]=z[i>>2]|32768;i=d-264|0;z[i>>2]=z[i>>2]|a<<31|65536;c=a<<19|c|16}c=c|2097152}if(!(!(c&3960)|c&16777344)){q=c>>>3|0;k=(A[z[H+108>>2]+(q&495)|0]<<2)+H|0;m=k+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;zb:{if(f>>>16>>>0>>0){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?8:12)>>2];while(1){Ab:{if(j){break Ab}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Ab}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Ab}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=k?l:!l;break zb}f=f-(a<<16)|0;if(!(b&32768)){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?12:8)>>2];while(1){Bb:{if(j){break Bb}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Bb}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Bb}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=k?!l:l;break zb}a=z[i+4>>2]}if(a){k=d-4|0;q=z[d+4>>2]>>>20&4|(z[k>>2]>>>22&1|(c>>>15&16|(c>>>19&64|q&170)));l=(A[q+42048|0]<<2)+H|0;m=l+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;r=A[q+42304|0];Cb:{if(f>>>16>>>0>>0){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?8:12)>>2];while(1){Db:{if(j){break Db}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Db}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Db}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=l?q:!q;break Cb}f=f-(a<<16)|0;if(!(b&32768)){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?12:8)>>2];while(1){Eb:{if(j){break Eb}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Eb}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Eb}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=l?!q:q;break Cb}a=z[i+4>>2]}a=a^r;z[e+256>>2]=a?h:g;z[k>>2]=z[k>>2]|256;z[d+4>>2]=z[d+4>>2]|64;c=a<<22|c|128}c=c|16777216}if(!(!(c&31680)|c&134218752)){q=c>>>6|0;k=(A[z[H+108>>2]+(q&495)|0]<<2)+H|0;m=k+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;Fb:{if(f>>>16>>>0>>0){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?8:12)>>2];while(1){Gb:{if(j){break Gb}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Gb}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Gb}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=k?l:!l;break Fb}f=f-(a<<16)|0;if(!(b&32768)){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?12:8)>>2];while(1){Hb:{if(j){break Hb}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Hb}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Hb}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=k?!l:l;break Fb}a=z[i+4>>2]}if(a){k=d-4|0;q=z[d+4>>2]>>>23&4|(z[k>>2]>>>25&1|(c>>>18&16|(c>>>22&64|q&170)));l=(A[q+42048|0]<<2)+H|0;m=l+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;r=A[q+42304|0];Ib:{if(f>>>16>>>0>>0){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?8:12)>>2];while(1){Jb:{if(j){break Jb}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Jb}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Jb}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=l?q:!q;break Ib}f=f-(a<<16)|0;if(!(b&32768)){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?12:8)>>2];while(1){Kb:{if(j){break Kb}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Kb}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Kb}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=l?!q:q;break Ib}a=z[i+4>>2]}a=a^r;z[e+512>>2]=a?h:g;z[k>>2]=z[k>>2]|2048;z[d+4>>2]=z[d+4>>2]|512;c=a<<25|c|1024}c=c|134217728}if(!(!(c&253440)|c&1073750016)){q=c>>>9|0;k=(A[z[H+108>>2]+(q&495)|0]<<2)+H|0;m=k+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;Lb:{if(f>>>16>>>0>>0){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?8:12)>>2];while(1){Mb:{if(j){break Mb}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Mb}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Mb}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=k?l:!l;break Lb}f=f-(a<<16)|0;if(!(b&32768)){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?12:8)>>2];while(1){Nb:{if(j){break Nb}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Nb}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Nb}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=k?!l:l;break Lb}a=z[i+4>>2]}if(a){k=d-4|0;q=z[d+4>>2]>>>26&4|(z[k>>2]>>>28&1|(c>>>21&16|(c>>>25&64|q&170)));l=(A[q+42048|0]<<2)+H|0;m=l+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;r=A[q+42304|0];Ob:{if(f>>>16>>>0>>0){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?8:12)>>2];while(1){Pb:{if(j){break Pb}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Pb}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Pb}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=l?q:!q;break Ob}f=f-(a<<16)|0;if(!(b&32768)){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?12:8)>>2];while(1){Qb:{if(j){break Qb}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Qb}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Qb}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=l?!q:q;break Ob}a=z[i+4>>2]}a=a^r;z[e+768>>2]=a?h:g;z[k>>2]=z[k>>2]|16384;z[d+4>>2]=z[d+4>>2]|4096;z[d+260>>2]=z[d+260>>2]|4;z[d+268>>2]=z[d+268>>2]|1;z[d+264>>2]=z[d+264>>2]|a<<18|2;c=a<<28|c|8192}c=c|1073741824}z[d>>2]=c}c=d+4|0;a=e+4|0;n=n+1|0;if((n|0)!=64){continue}break}c=d+12|0;a=e+772|0;d=p>>>0<60;p=p+4|0;if(d){continue}break}break qb}a=1<>>1|a;e=z[H+120>>2];c=(e+(h<<2)|0)+12|0;a=z[H+128>>2];j=z[H+8>>2];b=z[H+4>>2];f=z[H>>2];m=z[H+104>>2];k=z[H+116>>2];Rb:{if(E&8){Sb:{if(a>>>0<4){d=0;break Sb}if(h){d=0;n=0-i|0;q=F(h,12);M=h<<3;while(1){g=0;while(1){e=c;c=z[c>>2];if(c){Tb:{if(c&2097168){break Tb}a=c&495;if(!a){break Tb}r=(A[a+z[H+108>>2]|0]<<2)+H|0;m=r+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;Ub:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;u=z[l+4>>2];if(b&32768){break Ub}u=z[l+4>>2];v=r;r=a>>>0>b>>>0;z[v+28>>2]=z[l+(r?12:8)>>2];while(1){Vb:{if(j){break Vb}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break Vb}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break Vb}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}u=r?!u:u;break Ub}u=z[l+4>>2];v=r;r=a>>>0>b>>>0;z[v+28>>2]=z[l+(r?8:12)>>2];while(1){Wb:{if(j){break Wb}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break Wb}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break Wb}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;u=r?u:!u}if(u){r=e-4|0;v=z[e+4>>2]>>>17&4|(z[r>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));u=(A[v+42048|0]<<2)+H|0;m=u+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;T=A[v+42304|0];Xb:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;v=z[l+4>>2];if(b&32768){break Xb}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?12:8)>>2];while(1){Yb:{if(j){break Yb}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break Yb}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break Yb}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}v=u?!v:v;break Xb}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?8:12)>>2];while(1){Zb:{if(j){break Zb}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break Zb}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break Zb}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;v=u?v:!v}a=v^T;z[k>>2]=a?n:i;z[r>>2]=z[r>>2]|32;z[e+4>>2]=z[e+4>>2]|8;c=a<<19|c|16}c=c|2097152}if(!(!(c&3960)|c&16777344)){v=c>>>3|0;r=(A[z[H+108>>2]+(v&495)|0]<<2)+H|0;m=r+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;_b:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;u=z[l+4>>2];if(b&32768){break _b}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?12:8)>>2];while(1){$b:{if(j){break $b}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break $b}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break $b}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}u=r?!u:u;break _b}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?8:12)>>2];while(1){ac:{if(j){break ac}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break ac}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break ac}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;u=r?u:!u}if(u){r=e-4|0;v=z[e+4>>2]>>>20&4|(z[r>>2]>>>22&1|(c>>>15&16|(c>>>19&64|v&170)));u=(A[v+42048|0]<<2)+H|0;m=u+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;T=A[v+42304|0];X=(h<<2)+k|0;bc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;v=z[l+4>>2];if(b&32768){break bc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?12:8)>>2];while(1){cc:{if(j){break cc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break cc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break cc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}v=u?!v:v;break bc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?8:12)>>2];while(1){dc:{if(j){break dc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break dc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break dc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;v=u?v:!v}a=v^T;z[X>>2]=a?n:i;z[r>>2]=z[r>>2]|256;z[e+4>>2]=z[e+4>>2]|64;c=a<<22|c|128}c=c|16777216}if(!(!(c&31680)|c&134218752)){v=c>>>6|0;r=(A[z[H+108>>2]+(v&495)|0]<<2)+H|0;m=r+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;ec:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;u=z[l+4>>2];if(b&32768){break ec}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?12:8)>>2];while(1){fc:{if(j){break fc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break fc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break fc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}u=r?!u:u;break ec}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?8:12)>>2];while(1){gc:{if(j){break gc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break gc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break gc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;u=r?u:!u}if(u){r=e-4|0;v=z[e+4>>2]>>>23&4|(z[r>>2]>>>25&1|(c>>>18&16|(c>>>22&64|v&170)));u=(A[v+42048|0]<<2)+H|0;m=u+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;T=A[v+42304|0];X=k+M|0;hc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;v=z[l+4>>2];if(b&32768){break hc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?12:8)>>2];while(1){ic:{if(j){break ic}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break ic}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break ic}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}v=u?!v:v;break hc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?8:12)>>2];while(1){jc:{if(j){break jc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break jc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break jc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;v=u?v:!v}a=v^T;z[X>>2]=a?n:i;z[r>>2]=z[r>>2]|2048;z[e+4>>2]=z[e+4>>2]|512;c=a<<25|c|1024}c=c|134217728}if(!(!(c&253440)|c&1073750016)){v=c>>>9|0;r=(A[z[H+108>>2]+(v&495)|0]<<2)+H|0;m=r+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;kc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;u=z[l+4>>2];if(b&32768){break kc}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?12:8)>>2];while(1){lc:{if(j){break lc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break lc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break lc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}u=r?!u:u;break kc}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?8:12)>>2];while(1){mc:{if(j){break mc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break mc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break mc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;u=r?u:!u}if(u){r=e-4|0;v=z[e+4>>2]>>>26&4|(z[r>>2]>>>28&1|(c>>>21&16|(c>>>25&64|v&170)));u=(A[v+42048|0]<<2)+H|0;m=u+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;T=A[v+42304|0];X=k+q|0;nc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;v=z[l+4>>2];if(b&32768){break nc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?12:8)>>2];while(1){oc:{if(j){break oc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break oc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break oc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}v=u?!v:v;break nc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?8:12)>>2];while(1){pc:{if(j){break pc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break pc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break pc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;v=u?v:!v}l=v^T;z[X>>2]=l?n:i;z[r>>2]=z[r>>2]|16384;z[e+4>>2]=z[e+4>>2]|4096;a=e+(z[H+124>>2]<<2)|0;z[a+4>>2]=z[a+4>>2]|4;z[a+12>>2]=z[a+12>>2]|1;z[a+8>>2]=z[a+8>>2]|l<<18|2;c=l<<28|c|8192}c=c|1073741824}z[e>>2]=c}c=e+4|0;k=k+4|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}c=e+12|0;k=k+q|0;d=d+4|0;a=z[H+128>>2];if(d>>>0<(a&-4)>>>0){continue}break}break Sb}c=a&-4;c=(c>>>0<=4?4:c)-1|0;d=(c&-4)+4|0;c=(e+(c<<1&-8)|0)+20|0}z[H+8>>2]=j;z[H+4>>2]=b;z[H>>2]=f;z[H+104>>2]=m;if(!h|a>>>0<=d>>>0){break Rb}while(1){b=(a|0)==(d|0);j=0;a=d;if(!b){while(1){Qc(H,c,(F(h,j)<<2)+k|0,i,j,z[H+124>>2]+2|0,1);j=j+1|0;a=z[H+128>>2];if(j>>>0>>0){continue}break}}c=c+4|0;k=k+4|0;p=p+1|0;if((h|0)!=(p|0)){continue}break}break Rb}qc:{if(a>>>0<4){d=0;break qc}if(h){d=0;n=0-i|0;q=F(h,12);M=h<<3;while(1){g=0;while(1){e=c;c=z[c>>2];if(c){rc:{if(c&2097168){break rc}a=c&495;if(!a){break rc}r=(A[a+z[H+108>>2]|0]<<2)+H|0;m=r+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;sc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;u=z[l+4>>2];if(b&32768){break sc}u=z[l+4>>2];v=r;r=a>>>0>b>>>0;z[v+28>>2]=z[l+(r?12:8)>>2];while(1){tc:{if(j){break tc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break tc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break tc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}u=r?!u:u;break sc}u=z[l+4>>2];v=r;r=a>>>0>b>>>0;z[v+28>>2]=z[l+(r?8:12)>>2];while(1){uc:{if(j){break uc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break uc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break uc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;u=r?u:!u}if(u){r=e-4|0;v=z[e+4>>2]>>>17&4|(z[r>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));u=(A[v+42048|0]<<2)+H|0;m=u+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;T=A[v+42304|0];vc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;v=z[l+4>>2];if(b&32768){break vc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?12:8)>>2];while(1){wc:{if(j){break wc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break wc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break wc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}v=u?!v:v;break vc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?8:12)>>2];while(1){xc:{if(j){break xc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break xc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break xc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;v=u?v:!v}l=v^T;z[k>>2]=l?n:i;z[r>>2]=z[r>>2]|32;z[e+4>>2]=z[e+4>>2]|8;a=e+(-2-z[H+124>>2]<<2)|0;z[a+4>>2]=z[a+4>>2]|32768;z[a>>2]=z[a>>2]|l<<31|65536;a=a-4|0;z[a>>2]=z[a>>2]|131072;c=l<<19|c|16}c=c|2097152}if(!(!(c&3960)|c&16777344)){v=c>>>3|0;r=(A[z[H+108>>2]+(v&495)|0]<<2)+H|0;m=r+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;yc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;u=z[l+4>>2];if(b&32768){break yc}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?12:8)>>2];while(1){zc:{if(j){break zc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break zc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break zc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}u=r?!u:u;break yc}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?8:12)>>2];while(1){Ac:{if(j){break Ac}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break Ac}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break Ac}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;u=r?u:!u}if(u){r=e-4|0;v=z[e+4>>2]>>>20&4|(z[r>>2]>>>22&1|(c>>>15&16|(c>>>19&64|v&170)));u=(A[v+42048|0]<<2)+H|0;m=u+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;T=A[v+42304|0];X=(h<<2)+k|0;Bc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;v=z[l+4>>2];if(b&32768){break Bc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?12:8)>>2];while(1){Cc:{if(j){break Cc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break Cc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break Cc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}v=u?!v:v;break Bc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?8:12)>>2];while(1){Dc:{if(j){break Dc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break Dc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break Dc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;v=u?v:!v}a=v^T;z[X>>2]=a?n:i;z[r>>2]=z[r>>2]|256;z[e+4>>2]=z[e+4>>2]|64;c=a<<22|c|128}c=c|16777216}if(!(!(c&31680)|c&134218752)){v=c>>>6|0;r=(A[z[H+108>>2]+(v&495)|0]<<2)+H|0;m=r+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;Ec:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;u=z[l+4>>2];if(b&32768){break Ec}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?12:8)>>2];while(1){Fc:{if(j){break Fc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break Fc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break Fc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}u=r?!u:u;break Ec}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?8:12)>>2];while(1){Gc:{if(j){break Gc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break Gc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break Gc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;u=r?u:!u}if(u){r=e-4|0;v=z[e+4>>2]>>>23&4|(z[r>>2]>>>25&1|(c>>>18&16|(c>>>22&64|v&170)));u=(A[v+42048|0]<<2)+H|0;m=u+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;T=A[v+42304|0];X=k+M|0;Hc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;v=z[l+4>>2];if(b&32768){break Hc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?12:8)>>2];while(1){Ic:{if(j){break Ic}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break Ic}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break Ic}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}v=u?!v:v;break Hc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?8:12)>>2];while(1){Jc:{if(j){break Jc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break Jc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break Jc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;v=u?v:!v}a=v^T;z[X>>2]=a?n:i;z[r>>2]=z[r>>2]|2048;z[e+4>>2]=z[e+4>>2]|512;c=a<<25|c|1024}c=c|134217728}if(!(!(c&253440)|c&1073750016)){v=c>>>9|0;r=(A[z[H+108>>2]+(v&495)|0]<<2)+H|0;m=r+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;Kc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;u=z[l+4>>2];if(b&32768){break Kc}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?12:8)>>2];while(1){Lc:{if(j){break Lc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break Lc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break Lc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}u=r?!u:u;break Kc}u=z[l+4>>2];Q=r;r=a>>>0>b>>>0;z[Q+28>>2]=z[l+(r?8:12)>>2];while(1){Mc:{if(j){break Mc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break Mc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break Mc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;u=r?u:!u}if(u){r=e-4|0;v=z[e+4>>2]>>>26&4|(z[r>>2]>>>28&1|(c>>>21&16|(c>>>25&64|v&170)));u=(A[v+42048|0]<<2)+H|0;m=u+28|0;l=z[m>>2];a=z[l>>2];b=b-a|0;T=A[v+42304|0];X=k+q|0;Nc:{if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;v=z[l+4>>2];if(b&32768){break Nc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?12:8)>>2];while(1){Oc:{if(j){break Oc}j=z[H+16>>2];l=j+1|0;a=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(a<<8)+f|0;break Oc}if(a>>>0<=143){z[H+16>>2]=l;f=(a<<9)+f|0;j=7;break Oc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}v=u?!v:v;break Nc}v=z[l+4>>2];Q=u;u=a>>>0>b>>>0;z[Q+28>>2]=z[l+(u?8:12)>>2];while(1){Pc:{if(j){break Pc}j=z[H+16>>2];l=j+1|0;b=A[j+1|0];if(A[j|0]!=255){z[H+16>>2]=l;j=8;f=(b<<8)+f|0;break Pc}if(b>>>0<=143){z[H+16>>2]=l;f=(b<<9)+f|0;j=7;break Pc}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;v=u?v:!v}l=v^T;z[X>>2]=l?n:i;z[r>>2]=z[r>>2]|16384;z[e+4>>2]=z[e+4>>2]|4096;a=e+(z[H+124>>2]<<2)|0;z[a+4>>2]=z[a+4>>2]|4;z[a+12>>2]=z[a+12>>2]|1;z[a+8>>2]=z[a+8>>2]|l<<18|2;c=l<<28|c|8192}c=c|1073741824}z[e>>2]=c}c=e+4|0;k=k+4|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}c=e+12|0;k=k+q|0;d=d+4|0;a=z[H+128>>2];if(d>>>0<(a&-4)>>>0){continue}break}break qc}c=a&-4;c=(c>>>0<=4?4:c)-1|0;d=(c&-4)+4|0;c=(e+(c<<1&-8)|0)+20|0}z[H+8>>2]=j;z[H+4>>2]=b;z[H>>2]=f;z[H+104>>2]=m;if(!h|a>>>0<=d>>>0){break Rb}while(1){b=(a|0)==(d|0);j=0;a=d;if(!b){while(1){Qc(H,c,(F(h,j)<<2)+k|0,i,j,z[H+124>>2]+2|0,0);j=j+1|0;a=z[H+128>>2];if(j>>>0>>0){continue}break}}c=c+4|0;k=k+4|0;p=p+1|0;if((h|0)!=(p|0)){continue}break}}break pb}while(1){n=0;while(1){e=a;d=c;c=z[c>>2];if(c){Qc:{if(c&2097168){break Qc}a=c&495;if(!a){break Qc}k=(A[a+z[H+108>>2]|0]<<2)+H|0;m=k+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;Rc:{if(f>>>16>>>0>>0){l=z[i+4>>2];q=k;k=a>>>0>b>>>0;z[q+28>>2]=z[i+(k?8:12)>>2];while(1){Sc:{if(j){break Sc}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Sc}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Sc}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=k?l:!l;break Rc}f=f-(a<<16)|0;if(!(b&32768)){l=z[i+4>>2];q=k;k=a>>>0>b>>>0;z[q+28>>2]=z[i+(k?12:8)>>2];while(1){Tc:{if(j){break Tc}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Tc}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Tc}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=k?!l:l;break Rc}a=z[i+4>>2]}if(a){k=d-4|0;q=z[d+4>>2]>>>17&4|(z[k>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));l=(A[q+42048|0]<<2)+H|0;m=l+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;r=A[q+42304|0];Uc:{if(f>>>16>>>0>>0){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?8:12)>>2];while(1){Vc:{if(j){break Vc}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Vc}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Vc}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=l?q:!q;break Uc}f=f-(a<<16)|0;if(!(b&32768)){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?12:8)>>2];while(1){Wc:{if(j){break Wc}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Wc}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Wc}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=l?!q:q;break Uc}a=z[i+4>>2]}a=a^r;z[e>>2]=a?h:g;z[k>>2]=z[k>>2]|32;z[d+4>>2]=z[d+4>>2]|8;c=a<<19|c|16}c=c|2097152}if(!(!(c&3960)|c&16777344)){q=c>>>3|0;k=(A[z[H+108>>2]+(q&495)|0]<<2)+H|0;m=k+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;Xc:{if(f>>>16>>>0>>0){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?8:12)>>2];while(1){Yc:{if(j){break Yc}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Yc}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break Yc}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=k?l:!l;break Xc}f=f-(a<<16)|0;if(!(b&32768)){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?12:8)>>2];while(1){Zc:{if(j){break Zc}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break Zc}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break Zc}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=k?!l:l;break Xc}a=z[i+4>>2]}if(a){k=d-4|0;q=z[d+4>>2]>>>20&4|(z[k>>2]>>>22&1|(c>>>15&16|(c>>>19&64|q&170)));l=(A[q+42048|0]<<2)+H|0;m=l+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;r=A[q+42304|0];_c:{if(f>>>16>>>0>>0){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?8:12)>>2];while(1){$c:{if(j){break $c}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break $c}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break $c}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=l?q:!q;break _c}f=f-(a<<16)|0;if(!(b&32768)){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?12:8)>>2];while(1){ad:{if(j){break ad}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break ad}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break ad}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=l?!q:q;break _c}a=z[i+4>>2]}a=a^r;z[e+256>>2]=a?h:g;z[k>>2]=z[k>>2]|256;z[d+4>>2]=z[d+4>>2]|64;c=a<<22|c|128}c=c|16777216}if(!(!(c&31680)|c&134218752)){q=c>>>6|0;k=(A[z[H+108>>2]+(q&495)|0]<<2)+H|0;m=k+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;bd:{if(f>>>16>>>0>>0){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?8:12)>>2];while(1){cd:{if(j){break cd}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break cd}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break cd}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=k?l:!l;break bd}f=f-(a<<16)|0;if(!(b&32768)){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?12:8)>>2];while(1){dd:{if(j){break dd}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break dd}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break dd}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=k?!l:l;break bd}a=z[i+4>>2]}if(a){k=d-4|0;q=z[d+4>>2]>>>23&4|(z[k>>2]>>>25&1|(c>>>18&16|(c>>>22&64|q&170)));l=(A[q+42048|0]<<2)+H|0;m=l+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;r=A[q+42304|0];ed:{if(f>>>16>>>0>>0){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?8:12)>>2];while(1){fd:{if(j){break fd}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break fd}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break fd}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=l?q:!q;break ed}f=f-(a<<16)|0;if(!(b&32768)){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?12:8)>>2];while(1){gd:{if(j){break gd}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break gd}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break gd}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=l?!q:q;break ed}a=z[i+4>>2]}a=a^r;z[e+512>>2]=a?h:g;z[k>>2]=z[k>>2]|2048;z[d+4>>2]=z[d+4>>2]|512;c=a<<25|c|1024}c=c|134217728}if(!(!(c&253440)|c&1073750016)){q=c>>>9|0;k=(A[z[H+108>>2]+(q&495)|0]<<2)+H|0;m=k+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;hd:{if(f>>>16>>>0>>0){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?8:12)>>2];while(1){id:{if(j){break id}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break id}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break id}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=k?l:!l;break hd}f=f-(a<<16)|0;if(!(b&32768)){l=z[i+4>>2];r=k;k=a>>>0>b>>>0;z[r+28>>2]=z[i+(k?12:8)>>2];while(1){jd:{if(j){break jd}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break jd}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break jd}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=k?!l:l;break hd}a=z[i+4>>2]}if(a){k=d-4|0;q=z[d+4>>2]>>>26&4|(z[k>>2]>>>28&1|(c>>>21&16|(c>>>25&64|q&170)));l=(A[q+42048|0]<<2)+H|0;m=l+28|0;i=z[m>>2];a=z[i>>2];b=b-a|0;r=A[q+42304|0];kd:{if(f>>>16>>>0>>0){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?8:12)>>2];while(1){ld:{if(j){break ld}i=z[H+16>>2];j=i+1|0;b=A[i+1|0];if(A[i|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break ld}z[H+16>>2]=j;f=(b<<9)+f|0;j=7;break ld}z[H+16>>2]=j;j=8;f=(b<<8)+f|0}j=j-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=l?q:!q;break kd}f=f-(a<<16)|0;if(!(b&32768)){q=z[i+4>>2];u=l;l=a>>>0>b>>>0;z[u+28>>2]=z[i+(l?12:8)>>2];while(1){md:{if(j){break md}i=z[H+16>>2];j=i+1|0;a=A[i+1|0];if(A[i|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;j=8;break md}z[H+16>>2]=j;f=(a<<9)+f|0;j=7;break md}z[H+16>>2]=j;j=8;f=(a<<8)+f|0}j=j-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=l?!q:q;break kd}a=z[i+4>>2]}a=a^r;z[e+768>>2]=a?h:g;z[k>>2]=z[k>>2]|16384;z[d+4>>2]=z[d+4>>2]|4096;z[d+260>>2]=z[d+260>>2]|4;z[d+268>>2]=z[d+268>>2]|1;z[d+264>>2]=z[d+264>>2]|a<<18|2;c=a<<28|c|8192}c=c|1073741824}z[d>>2]=c}c=d+4|0;a=e+4|0;n=n+1|0;if((n|0)!=64){continue}break}c=d+12|0;a=e+772|0;d=p>>>0<60;p=p+4|0;if(d){continue}break}}z[H+8>>2]=j;z[H+4>>2]=b;z[H>>2]=f;z[H+104>>2]=m}break Ra;case 1:if(S){e=1<>>1|0;g=z[H+124>>2];l=g<<2;a=(l+z[H+120>>2]|0)+12|0;c=z[H+116>>2];f=0;b=z[H+128>>2];if(b>>>0>=4){if(!g){break Qa}i=F(g,3);m=g<<1;h=0-e|0;while(1){b=0;while(1){d=a;a=z[a>>2];nd:{if(!a){break nd}if((a&2097168)==16){a=z[H>>2];p=z[H+8>>2];od:{if(p){break od}k=(a|0)==255;j=z[H+16>>2];a=A[j|0];pd:{if(!k){z[H>>2]=a;z[H+16>>2]=j+1;break pd}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=j+1;p=7;break od}a=255;z[H>>2]=255}p=8}j=p-1|0;z[H+8>>2]=j;j=a>>>j&1;a=z[c>>2];z[c>>2]=((j|0)==(a>>>31|0)?h:e)+a;a=z[d>>2]|1048576;z[d>>2]=a}if((a&16777344)==128){a=z[H>>2];p=z[H+8>>2];qd:{if(p){break qd}k=(a|0)==255;j=z[H+16>>2];a=A[j|0];rd:{if(!k){z[H>>2]=a;z[H+16>>2]=j+1;break rd}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=j+1;p=7;break qd}a=255;z[H>>2]=255}p=8}k=p-1|0;z[H+8>>2]=k;n=c+l|0;j=z[n>>2];z[n>>2]=j+((a>>>k&1)==(j>>>31|0)?h:e);a=z[d>>2]|8388608;z[d>>2]=a}if((a&134218752)==1024){k=(m<<2)+c|0;a=z[H>>2];j=z[H+8>>2];sd:{if(j){break sd}n=(a|0)==255;j=z[H+16>>2];a=A[j|0];td:{if(!n){z[H>>2]=a;z[H+16>>2]=j+1;break td}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=j+1;j=7;break sd}a=255;z[H>>2]=255}j=8}j=j-1|0;z[H+8>>2]=j;j=a>>>j&1;a=z[k>>2];z[k>>2]=((j|0)==(a>>>31|0)?h:e)+a;a=z[d>>2]|67108864;z[d>>2]=a}if((a&1073750016)!=8192){break nd}k=(i<<2)+c|0;a=z[H>>2];j=z[H+8>>2];ud:{if(j){break ud}n=(a|0)==255;j=z[H+16>>2];a=A[j|0];vd:{if(!n){z[H>>2]=a;z[H+16>>2]=j+1;break vd}if(a>>>0<=143){z[H>>2]=a;z[H+16>>2]=j+1;j=7;break ud}a=255;z[H>>2]=255}j=8}j=j-1|0;z[H+8>>2]=j;j=a>>>j&1;a=z[k>>2];z[k>>2]=((j|0)==(a>>>31|0)?h:e)+a;z[d>>2]=z[d>>2]|536870912}c=c+4|0;a=d+4|0;b=b+1|0;if((g|0)!=(b|0)){continue}break}a=d+12|0;c=(i<<2)+c|0;f=f+4|0;b=z[H+128>>2];if(f>>>0<(b&-4)>>>0){continue}break}}if(!g|b>>>0<=f>>>0){break Ra}u=0;k=0-e|0;d=b;while(1){wd:{if((d|0)==(f|0)){d=f;break wd}p=z[a>>2];m=0;while(1){d=F(m,3);if((2097168<>2];j=z[H+8>>2];xd:{if(j){break xd}j=(b|0)!=255;i=z[H+16>>2];b=A[i|0];yd:{if(!j){if(b>>>0>=144){b=255;z[H>>2]=255;break yd}z[H>>2]=b;z[H+16>>2]=i+1;j=7;break xd}z[H>>2]=b;z[H+16>>2]=i+1}j=8}i=j-1|0;z[H+8>>2]=i;i=b>>>i&1;b=z[h>>2];z[h>>2]=((i|0)==(b>>>31|0)?k:e)+b;p=z[a>>2]|1048576<>2]=p;b=z[H+128>>2]}d=b;m=m+1|0;if(m>>>0>>0){continue}break}}c=c+4|0;a=a+4|0;u=u+1|0;if((g|0)!=(u|0)){continue}break}break Ra}e=z[H+120>>2];d=z[H+116>>2];h=z[H+124>>2];b=z[H+128>>2];if(!((h|0)!=64|(b|0)!=64)){b=e+268|0;u=0;i=1<>>1|0;k=0-i|0;m=z[H+8>>2];c=z[H+4>>2];a=z[H>>2];f=z[H+104>>2];while(1){j=0;while(1){e=d;g=b;d=z[b>>2];if(d){if((d&2097168)==16){l=((d&1048576?16:d&495?15:14)<<2)+H|0;f=l+28|0;h=z[f>>2];b=z[h>>2];c=c-b|0;zd:{if(a>>>16>>>0>>0){n=z[h+4>>2];p=b>>>0>c>>>0;z[l+28>>2]=z[h+(p?8:12)>>2];while(1){Ad:{if(m){break Ad}h=z[H+16>>2];l=h+1|0;c=A[h+1|0];if(A[h|0]==255){if(c>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8;break Ad}z[H+16>>2]=l;a=(c<<9)+a|0;m=7;break Ad}z[H+16>>2]=l;m=8;a=(c<<8)+a|0}m=m-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=p?n:!n;break zd}a=a-(b<<16)|0;if(!(c&32768)){n=z[h+4>>2];p=b>>>0>c>>>0;z[l+28>>2]=z[h+(p?12:8)>>2];while(1){Bd:{if(m){break Bd}h=z[H+16>>2];l=h+1|0;b=A[h+1|0];if(A[h|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8;break Bd}z[H+16>>2]=l;a=(b<<9)+a|0;m=7;break Bd}z[H+16>>2]=l;m=8;a=(b<<8)+a|0}m=m-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}b=p?!n:n;break zd}b=z[h+4>>2]}h=z[e>>2];z[e>>2]=((b|0)==(h>>>31|0)?k:i)+h;d=d|1048576}if((d&16777344)==128){l=((d&8388608?16:d&3960?15:14)<<2)+H|0;f=l+28|0;h=z[f>>2];b=z[h>>2];c=c-b|0;Cd:{if(a>>>16>>>0>>0){n=z[h+4>>2];p=b>>>0>c>>>0;z[l+28>>2]=z[h+(p?8:12)>>2];while(1){Dd:{if(m){break Dd}h=z[H+16>>2];l=h+1|0;c=A[h+1|0];if(A[h|0]==255){if(c>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8;break Dd}z[H+16>>2]=l;a=(c<<9)+a|0;m=7;break Dd}z[H+16>>2]=l;m=8;a=(c<<8)+a|0}m=m-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=p?n:!n;break Cd}a=a-(b<<16)|0;if(!(c&32768)){n=z[h+4>>2];p=b>>>0>c>>>0;z[l+28>>2]=z[h+(p?12:8)>>2];while(1){Ed:{if(m){break Ed}h=z[H+16>>2];l=h+1|0;b=A[h+1|0];if(A[h|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8;break Ed}z[H+16>>2]=l;a=(b<<9)+a|0;m=7;break Ed}z[H+16>>2]=l;m=8;a=(b<<8)+a|0}m=m-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}b=p?!n:n;break Cd}b=z[h+4>>2]}h=z[e+256>>2];z[e+256>>2]=((b|0)==(h>>>31|0)?k:i)+h;d=d|8388608}if((d&134218752)==1024){l=((d&67108864?16:d&31680?15:14)<<2)+H|0;f=l+28|0;h=z[f>>2];b=z[h>>2];c=c-b|0;Fd:{if(a>>>16>>>0>>0){n=z[h+4>>2];p=b>>>0>c>>>0;z[l+28>>2]=z[h+(p?8:12)>>2];while(1){Gd:{if(m){break Gd}h=z[H+16>>2];l=h+1|0;c=A[h+1|0];if(A[h|0]==255){if(c>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8;break Gd}z[H+16>>2]=l;a=(c<<9)+a|0;m=7;break Gd}z[H+16>>2]=l;m=8;a=(c<<8)+a|0}m=m-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=p?n:!n;break Fd}a=a-(b<<16)|0;if(!(c&32768)){n=z[h+4>>2];p=b>>>0>c>>>0;z[l+28>>2]=z[h+(p?12:8)>>2];while(1){Hd:{if(m){break Hd}h=z[H+16>>2];l=h+1|0;b=A[h+1|0];if(A[h|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8;break Hd}z[H+16>>2]=l;a=(b<<9)+a|0;m=7;break Hd}z[H+16>>2]=l;m=8;a=(b<<8)+a|0}m=m-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}b=p?!n:n;break Fd}b=z[h+4>>2]}h=z[e+512>>2];z[e+512>>2]=((b|0)==(h>>>31|0)?k:i)+h;d=d|67108864}if((d&1073750016)==8192){l=((d&536870912?16:d&253440?15:14)<<2)+H|0;f=l+28|0;h=z[f>>2];b=z[h>>2];c=c-b|0;Id:{if(a>>>16>>>0>>0){n=z[h+4>>2];p=b>>>0>c>>>0;z[l+28>>2]=z[h+(p?8:12)>>2];while(1){Jd:{if(m){break Jd}h=z[H+16>>2];l=h+1|0;c=A[h+1|0];if(A[h|0]==255){if(c>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8;break Jd}z[H+16>>2]=l;a=(c<<9)+a|0;m=7;break Jd}z[H+16>>2]=l;m=8;a=(c<<8)+a|0}m=m-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;b=p?n:!n;break Id}a=a-(b<<16)|0;if(!(c&32768)){n=z[h+4>>2];p=b>>>0>c>>>0;z[l+28>>2]=z[h+(p?12:8)>>2];while(1){Kd:{if(m){break Kd}h=z[H+16>>2];l=h+1|0;b=A[h+1|0];if(A[h|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8;break Kd}z[H+16>>2]=l;a=(b<<9)+a|0;m=7;break Kd}z[H+16>>2]=l;m=8;a=(b<<8)+a|0}m=m-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}b=p?!n:n;break Id}b=z[h+4>>2]}h=z[e+768>>2];z[e+768>>2]=((b|0)==(h>>>31|0)?k:i)+h;d=d|536870912}z[g>>2]=d}b=g+4|0;d=e+4|0;j=j+1|0;if((j|0)!=64){continue}break}b=g+12|0;d=e+772|0;e=u>>>0<60;u=u+4|0;if(e){continue}break}z[H+8>>2]=m;z[H+4>>2]=c;z[H>>2]=a;z[H+104>>2]=f;break Ra}i=1<>>1|0;u=h<<2;k=(u+e|0)+12|0;m=z[H+8>>2];c=z[H+4>>2];a=z[H>>2];f=z[H+104>>2];l=0;Ld:{if(b>>>0<4){break Ld}if(h){p=F(h,3);v=h<<1;n=0-i|0;while(1){j=0;while(1){g=k;e=z[g>>2];if(e){if((e&2097168)==16){q=((e&1048576?16:e&495?15:14)<<2)+H|0;f=q+28|0;k=z[f>>2];b=z[k>>2];c=c-b|0;Md:{if(a>>>16>>>0>=b>>>0){a=a-(b<<16)|0;r=z[k+4>>2];if(c&32768){break Md}r=z[k+4>>2];M=q;q=b>>>0>c>>>0;z[M+28>>2]=z[k+(q?12:8)>>2];while(1){Nd:{if(m){break Nd}k=z[H+16>>2];m=k+1|0;b=A[k+1|0];if(A[k|0]!=255){z[H+16>>2]=m;m=8;a=(b<<8)+a|0;break Nd}if(b>>>0<=143){z[H+16>>2]=m;a=(b<<9)+a|0;m=7;break Nd}z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8}m=m-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}r=q?!r:r;break Md}r=z[k+4>>2];M=q;q=b>>>0>c>>>0;z[M+28>>2]=z[k+(q?8:12)>>2];while(1){Od:{if(m){break Od}k=z[H+16>>2];m=k+1|0;c=A[k+1|0];if(A[k|0]!=255){z[H+16>>2]=m;m=8;a=(c<<8)+a|0;break Od}if(c>>>0<=143){z[H+16>>2]=m;a=(c<<9)+a|0;m=7;break Od}z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8}m=m-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;r=q?r:!r}b=r;k=z[d>>2];z[d>>2]=((b|0)==(k>>>31|0)?n:i)+k;e=e|1048576}if((e&16777344)==128){q=((e&8388608?16:e&3960?15:14)<<2)+H|0;f=q+28|0;k=z[f>>2];b=z[k>>2];c=c-b|0;Pd:{if(a>>>16>>>0>=b>>>0){a=a-(b<<16)|0;r=z[k+4>>2];if(c&32768){break Pd}r=z[k+4>>2];M=q;q=b>>>0>c>>>0;z[M+28>>2]=z[k+(q?12:8)>>2];while(1){Qd:{if(m){break Qd}k=z[H+16>>2];m=k+1|0;b=A[k+1|0];if(A[k|0]!=255){z[H+16>>2]=m;m=8;a=(b<<8)+a|0;break Qd}if(b>>>0<=143){z[H+16>>2]=m;a=(b<<9)+a|0;m=7;break Qd}z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8}m=m-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}r=q?!r:r;break Pd}r=z[k+4>>2];M=q;q=b>>>0>c>>>0;z[M+28>>2]=z[k+(q?8:12)>>2];while(1){Rd:{if(m){break Rd}k=z[H+16>>2];m=k+1|0;c=A[k+1|0];if(A[k|0]!=255){z[H+16>>2]=m;m=8;a=(c<<8)+a|0;break Rd}if(c>>>0<=143){z[H+16>>2]=m;a=(c<<9)+a|0;m=7;break Rd}z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8}m=m-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;r=q?r:!r}k=r;q=d+u|0;b=z[q>>2];z[q>>2]=b+((k|0)==(b>>>31|0)?n:i);e=e|8388608}if((e&134218752)==1024){q=((e&67108864?16:e&31680?15:14)<<2)+H|0;f=q+28|0;k=z[f>>2];b=z[k>>2];c=c-b|0;Sd:{if(a>>>16>>>0>=b>>>0){a=a-(b<<16)|0;r=z[k+4>>2];if(c&32768){break Sd}r=z[k+4>>2];M=q;q=b>>>0>c>>>0;z[M+28>>2]=z[k+(q?12:8)>>2];while(1){Td:{if(m){break Td}k=z[H+16>>2];m=k+1|0;b=A[k+1|0];if(A[k|0]!=255){z[H+16>>2]=m;m=8;a=(b<<8)+a|0;break Td}if(b>>>0<=143){z[H+16>>2]=m;a=(b<<9)+a|0;m=7;break Td}z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8}m=m-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}r=q?!r:r;break Sd}r=z[k+4>>2];M=q;q=b>>>0>c>>>0;z[M+28>>2]=z[k+(q?8:12)>>2];while(1){Ud:{if(m){break Ud}k=z[H+16>>2];m=k+1|0;c=A[k+1|0];if(A[k|0]!=255){z[H+16>>2]=m;m=8;a=(c<<8)+a|0;break Ud}if(c>>>0<=143){z[H+16>>2]=m;a=(c<<9)+a|0;m=7;break Ud}z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8}m=m-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;r=q?r:!r}k=r;q=(v<<2)+d|0;b=z[q>>2];z[q>>2]=b+((k|0)==(b>>>31|0)?n:i);e=e|67108864}if((e&1073750016)==8192){q=((e&536870912?16:e&253440?15:14)<<2)+H|0;f=q+28|0;k=z[f>>2];b=z[k>>2];c=c-b|0;Vd:{if(a>>>16>>>0>=b>>>0){a=a-(b<<16)|0;r=z[k+4>>2];if(c&32768){break Vd}r=z[k+4>>2];M=q;q=b>>>0>c>>>0;z[M+28>>2]=z[k+(q?12:8)>>2];while(1){Wd:{if(m){break Wd}k=z[H+16>>2];m=k+1|0;b=A[k+1|0];if(A[k|0]!=255){z[H+16>>2]=m;m=8;a=(b<<8)+a|0;break Wd}if(b>>>0<=143){z[H+16>>2]=m;a=(b<<9)+a|0;m=7;break Wd}z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8}m=m-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}r=q?!r:r;break Vd}r=z[k+4>>2];M=q;q=b>>>0>c>>>0;z[M+28>>2]=z[k+(q?8:12)>>2];while(1){Xd:{if(m){break Xd}k=z[H+16>>2];m=k+1|0;c=A[k+1|0];if(A[k|0]!=255){z[H+16>>2]=m;m=8;a=(c<<8)+a|0;break Xd}if(c>>>0<=143){z[H+16>>2]=m;a=(c<<9)+a|0;m=7;break Xd}z[H+12>>2]=z[H+12>>2]+1;a=a+65280|0;m=8}m=m-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;r=q?r:!r}k=r;q=(p<<2)+d|0;b=z[q>>2];z[q>>2]=b+((k|0)==(b>>>31|0)?n:i);e=e|536870912}z[g>>2]=e}k=g+4|0;d=d+4|0;j=j+1|0;if((h|0)!=(j|0)){continue}break}k=g+12|0;d=(p<<2)+d|0;l=l+4|0;b=z[H+128>>2];if(l>>>0<(b&-4)>>>0){continue}break}break Ld}g=b&-4;g=(g>>>0<=4?4:g)-1|0;l=(g&-4)+4|0;k=(e+(g<<1&-8)|0)+20|0}z[H+8>>2]=m;z[H+4>>2]=c;z[H>>2]=a;z[H+104>>2]=f;if(!h|b>>>0<=l>>>0){break Ra}n=0;r=0-i|0;a=b;while(1){Yd:{if((a|0)==(l|0)){a=l;break Yd}m=z[k>>2];p=0;while(1){f=F(p,3);if((2097168<>>f|0;g=((a&1048576?16:a&495?15:14)<<2)+H|0;z[H+104>>2]=g+28;e=z[g+28>>2];a=z[e>>2];b=z[H+4>>2]-a|0;z[H+4>>2]=b;c=z[H>>2];Zd:{if(c>>>16>>>0>>0){q=z[e+4>>2];z[H+4>>2]=a;u=a>>>0>b>>>0;z[g+28>>2]=z[e+(u?8:12)>>2];m=z[H+8>>2];while(1){_d:{if(m){break _d}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;c=c+65280|0;m=8;break _d}z[H+16>>2]=g;c=(b<<9)+c|0;m=7;break _d}z[H+16>>2]=g;m=8;c=(b<<8)+c|0}m=m-1|0;z[H+8>>2]=m;c=c<<1;z[H>>2]=c;a=a<<1;z[H+4>>2]=a;if(a>>>0<32768){continue}break}a=u?q:!q;break Zd}c=c-(a<<16)|0;z[H>>2]=c;if(!(b&32768)){q=z[e+4>>2];u=a>>>0>b>>>0;z[g+28>>2]=z[e+(u?12:8)>>2];m=z[H+8>>2];while(1){$d:{if(m){break $d}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;c=c+65280|0;m=8;break $d}z[H+16>>2]=g;c=(a<<9)+c|0;m=7;break $d}z[H+16>>2]=g;m=8;c=(a<<8)+c|0}m=m-1|0;z[H+8>>2]=m;c=c<<1;z[H>>2]=c;b=b<<1;z[H+4>>2]=b;if(b>>>0<32768){continue}break}a=u?!q:q;break Zd}a=z[e+4>>2]}b=z[j>>2];z[j>>2]=((a|0)==(b>>>31|0)?r:i)+b;m=z[k>>2]|1048576<>2]=m;b=z[H+128>>2]}p=p+1|0;a=b;if(p>>>0>>0){continue}break}}k=k+4|0;d=d+4|0;n=n+1|0;if((h|0)!=(n|0)){continue}break};break Ra;case 2:break Sa;default:break Ra}}q=0;M=0;p=0;ae:{be:{ce:{k=z[H+124>>2];if(!((k|0)!=64|z[H+128>>2]!=64)){a=1<>>1|a;n=0-l|0;h=H+100|0;i=H+96|0;c=z[H+120>>2]+268|0;g=z[H+8>>2];a=z[H+4>>2];f=z[H>>2];d=z[H+104>>2];b=z[H+116>>2];if(E&8){break ce}while(1){m=0;while(1){k=b;j=c;de:{ee:{fe:{ge:{c=z[c>>2];he:{if(!c){b=z[i>>2];c=z[b>>2];a=a-c|0;ie:{if(f>>>16>>>0>>0){d=z[b+4>>2];q=a>>>0>>0;z[i>>2]=z[b+(q?8:12)>>2];while(1){je:{if(g){break je}b=z[H+16>>2];e=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break je}z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break je}z[H+16>>2]=e;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=q?d:!d;break ie}f=f-(c<<16)|0;if(!(a&32768)){d=z[b+4>>2];q=a>>>0>>0;z[i>>2]=z[b+(q?12:8)>>2];while(1){ke:{if(g){break ke}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ke}z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break ke}z[H+16>>2]=e;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!d:d;break ie}b=z[b+4>>2]}if(!b){d=i;break de}b=z[h>>2];c=z[b>>2];a=a-c|0;le:{if(f>>>16>>>0>>0){d=z[b+4>>2];q=a>>>0>>0;b=z[(q?8:12)+b>>2];z[h>>2]=b;while(1){me:{if(g){break me}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break me}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break me}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;q=q?d:!d;break le}f=f-(c<<16)|0;if(!(a&32768)){d=z[b+4>>2];q=a>>>0>>0;b=z[(q?12:8)+b>>2];z[h>>2]=b;while(1){ne:{if(g){break ne}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]==255){if(c>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ne}z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break ne}z[H+16>>2]=g;g=8;f=(c<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}q=q?!d:d;break le}q=z[b+4>>2]}c=z[b>>2];a=a-c|0;oe:{if(f>>>16>>>0>>0){d=z[b+4>>2];r=a>>>0>>0;z[h>>2]=z[b+(r?8:12)>>2];while(1){pe:{if(g){break pe}b=z[H+16>>2];e=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break pe}z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break pe}z[H+16>>2]=e;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=r?d:!d;break oe}f=f-(c<<16)|0;if(!(a&32768)){d=z[b+4>>2];r=a>>>0>>0;z[h>>2]=z[b+(r?12:8)>>2];while(1){qe:{if(g){break qe}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break qe}z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break qe}z[H+16>>2]=e;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!d:d;break oe}b=z[b+4>>2]}c=0;d=h;re:{se:{te:{ue:{ve:{switch(b|q<<1){case 0:d=j-4|0;r=z[j+4>>2]>>>17&4|z[d>>2]>>>19&1;e=(A[r+42048|0]<<2)+H|0;b=z[e+28>>2];c=z[b>>2];a=a-c|0;we:{if(f>>>16>>>0>>0){q=z[b+4>>2];u=a>>>0>>0;z[e+28>>2]=z[b+(u?8:12)>>2];while(1){xe:{if(g){break xe}b=z[H+16>>2];e=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break xe}z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break xe}z[H+16>>2]=e;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=u?q:!q;break we}f=f-(c<<16)|0;if(!(a&32768)){q=z[b+4>>2];u=a>>>0>>0;z[e+28>>2]=z[b+(u?12:8)>>2];while(1){ye:{if(g){break ye}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ye}z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break ye}z[H+16>>2]=e;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=u?!q:q;break we}b=z[b+4>>2]}b=b^A[r+42304|0];z[k>>2]=b?n:l;z[d>>2]=z[d>>2]|32;z[j+4>>2]=z[j+4>>2]|8;c=j-268|0;z[c>>2]=z[c>>2]|131072;c=j-260|0;z[c>>2]=z[c>>2]|32768;c=j-264|0;z[c>>2]=z[c>>2]|b<<31|65536;q=b<<19;d=(A[z[H+108>>2]+2|0]<<2)+H|0;b=z[d+28>>2];c=z[b>>2];a=a-c|0;ze:{if(f>>>16>>>0>>0){e=z[b+4>>2];r=a>>>0>>0;z[d+28>>2]=z[b+(r?8:12)>>2];while(1){Ae:{if(g){break Ae}b=z[H+16>>2];d=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ae}z[H+16>>2]=d;f=(a<<9)+f|0;g=7;break Ae}z[H+16>>2]=d;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=r?e:!e;break ze}f=f-(c<<16)|0;if(!(a&32768)){e=z[b+4>>2];r=a>>>0>>0;z[d+28>>2]=z[b+(r?12:8)>>2];while(1){Be:{if(g){break Be}c=z[H+16>>2];d=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Be}z[H+16>>2]=d;f=(b<<9)+f|0;g=7;break Be}z[H+16>>2]=d;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!e:e;break ze}b=z[b+4>>2]}c=q|16;if(!b){break ue}break;case 3:break re;case 2:break te;case 1:break ve;default:break ee}}e=j-4|0;u=z[j+4>>2]>>>20&4|(z[e>>2]>>>22&1|(c>>>15&16|(c>>>19&64|c>>>3&170)));q=(A[u+42048|0]<<2)+H|0;d=z[q+28>>2];b=z[d>>2];a=a-b|0;Ce:{if(f>>>16>>>0>>0){r=z[d+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[d+(q?8:12)>>2];while(1){De:{if(g){break De}d=z[H+16>>2];g=d+1|0;a=A[d+1|0];if(A[d|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break De}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break De}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break Ce}f=f-(b<<16)|0;if(!(a&32768)){r=z[d+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[d+(q?12:8)>>2];while(1){Ee:{if(g){break Ee}d=z[H+16>>2];g=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ee}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Ee}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break Ce}b=z[d+4>>2]}b=b^A[u+42304|0];z[k+256>>2]=b?n:l;z[e>>2]=z[e>>2]|256;z[j+4>>2]=z[j+4>>2]|64;c=b<<22|c|128}e=(A[z[H+108>>2]+(c>>>6&495)|0]<<2)+H|0;d=z[e+28>>2];b=z[d>>2];a=a-b|0;Fe:{if(f>>>16>>>0>>0){q=z[d+4>>2];r=a>>>0>>0;z[e+28>>2]=z[d+(r?8:12)>>2];while(1){Ge:{if(g){break Ge}d=z[H+16>>2];e=d+1|0;a=A[d+1|0];if(A[d|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ge}z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break Ge}z[H+16>>2]=e;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=r?q:!q;break Fe}f=f-(b<<16)|0;if(!(a&32768)){q=z[d+4>>2];r=a>>>0>>0;z[e+28>>2]=z[d+(r?12:8)>>2];while(1){He:{if(g){break He}d=z[H+16>>2];e=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break He}z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break He}z[H+16>>2]=e;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!q:q;break Fe}b=z[d+4>>2]}if(!b){break se}}e=j-4|0;u=z[j+4>>2]>>>23&4|(z[e>>2]>>>25&1|(c>>>18&16|(c>>>22&64|c>>>6&170)));q=(A[u+42048|0]<<2)+H|0;d=z[q+28>>2];b=z[d>>2];a=a-b|0;Ie:{if(f>>>16>>>0>>0){r=z[d+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[d+(q?8:12)>>2];while(1){Je:{if(g){break Je}d=z[H+16>>2];g=d+1|0;a=A[d+1|0];if(A[d|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Je}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Je}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break Ie}f=f-(b<<16)|0;if(!(a&32768)){r=z[d+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[d+(q?12:8)>>2];while(1){Ke:{if(g){break Ke}d=z[H+16>>2];g=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ke}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Ke}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break Ie}b=z[d+4>>2]}b=b^A[u+42304|0];z[k+512>>2]=b?n:l;z[e>>2]=z[e>>2]|2048;z[j+4>>2]=z[j+4>>2]|512;c=b<<25|c|1024}q=(A[z[H+108>>2]+(c>>>9&495)|0]<<2)+H|0;d=q+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Le:{if(f>>>16>>>0>>0){r=z[e+4>>2];u=q;q=a>>>0>>0;z[u+28>>2]=z[e+(q?8:12)>>2];while(1){Me:{if(g){break Me}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Me}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Me}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break Le}f=f-(b<<16)|0;if(!(a&32768)){r=z[e+4>>2];u=q;q=a>>>0>>0;z[u+28>>2]=z[e+(q?12:8)>>2];while(1){Ne:{if(g){break Ne}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ne}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Ne}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break Le}b=z[e+4>>2]}if(!b){break ee}}q=j-4|0;r=z[j+4>>2]>>>26&4|(z[q>>2]>>>28&1|(c>>>21&16|(c>>>25&64|c>>>9&170)));u=(A[r+42048|0]<<2)+H|0;d=u+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;if(f>>>16>>>0>>0){v=z[e+4>>2];M=u;u=a>>>0>>0;z[M+28>>2]=z[e+(u?8:12)>>2];while(1){Oe:{if(g){break Oe}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Oe}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Oe}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=u?v:!v;break fe}f=f-(b<<16)|0;if(a&32768){break he}v=z[e+4>>2];M=u;u=a>>>0>>0;z[M+28>>2]=z[(u?12:8)+e>>2];while(1){Pe:{if(g){break Pe}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Pe}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Pe}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=u?!v:v;break fe}Qe:{if(c&2097168){break Qe}q=(A[z[H+108>>2]+(c&495)|0]<<2)+H|0;d=q+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Re:{if(f>>>16>>>0>>0){r=z[e+4>>2];u=q;q=a>>>0>>0;z[u+28>>2]=z[e+(q?8:12)>>2];while(1){Se:{if(g){break Se}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Se}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Se}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break Re}f=f-(b<<16)|0;if(!(a&32768)){r=z[e+4>>2];u=q;q=a>>>0>>0;z[u+28>>2]=z[e+(q?12:8)>>2];while(1){Te:{if(g){break Te}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Te}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Te}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break Re}b=z[e+4>>2]}if(!b){break Qe}q=j-4|0;v=z[j+4>>2]>>>17&4|(z[q>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));r=(A[v+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Ue:{if(f>>>16>>>0>>0){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?8:12)>>2];while(1){Ve:{if(g){break Ve}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ve}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ve}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=r?u:!u;break Ue}f=f-(b<<16)|0;if(!(a&32768)){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?12:8)>>2];while(1){We:{if(g){break We}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break We}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break We}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!u:u;break Ue}b=z[e+4>>2]}b=b^A[v+42304|0];z[k>>2]=b?n:l;z[q>>2]=z[q>>2]|32;z[j+4>>2]=z[j+4>>2]|8;e=j-268|0;z[e>>2]=z[e>>2]|131072;e=j-260|0;z[e>>2]=z[e>>2]|32768;e=j-264|0;z[e>>2]=z[e>>2]|b<<31|65536;c=b<<19|c|16}Xe:{if(c&16777344){break Xe}u=c>>>3|0;q=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=q+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Ye:{if(f>>>16>>>0>>0){r=z[e+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[e+(q?8:12)>>2];while(1){Ze:{if(g){break Ze}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ze}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ze}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break Ye}f=f-(b<<16)|0;if(!(a&32768)){r=z[e+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[e+(q?12:8)>>2];while(1){_e:{if(g){break _e}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break _e}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break _e}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break Ye}b=z[e+4>>2]}if(!b){break Xe}q=j-4|0;v=z[j+4>>2]>>>20&4|(z[q>>2]>>>22&1|(c>>>15&16|(c>>>19&64|u&170)));r=(A[v+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;$e:{if(f>>>16>>>0>>0){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?8:12)>>2];while(1){af:{if(g){break af}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break af}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break af}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=r?u:!u;break $e}f=f-(b<<16)|0;if(!(a&32768)){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?12:8)>>2];while(1){bf:{if(g){break bf}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break bf}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break bf}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!u:u;break $e}b=z[e+4>>2]}b=b^A[v+42304|0];z[k+256>>2]=b?n:l;z[q>>2]=z[q>>2]|256;z[j+4>>2]=z[j+4>>2]|64;c=b<<22|c|128}cf:{if(c&134218752){break cf}u=c>>>6|0;q=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=q+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;df:{if(f>>>16>>>0>>0){r=z[e+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[e+(q?8:12)>>2];while(1){ef:{if(g){break ef}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ef}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break ef}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break df}f=f-(b<<16)|0;if(!(a&32768)){r=z[e+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[e+(q?12:8)>>2];while(1){ff:{if(g){break ff}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ff}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break ff}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break df}b=z[e+4>>2]}if(!b){break cf}q=j-4|0;v=z[j+4>>2]>>>23&4|(z[q>>2]>>>25&1|(c>>>18&16|(c>>>22&64|u&170)));r=(A[v+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;gf:{if(f>>>16>>>0>>0){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?8:12)>>2];while(1){hf:{if(g){break hf}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break hf}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break hf}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=r?u:!u;break gf}f=f-(b<<16)|0;if(!(a&32768)){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?12:8)>>2];while(1){jf:{if(g){break jf}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break jf}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break jf}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!u:u;break gf}b=z[e+4>>2]}b=b^A[v+42304|0];z[k+512>>2]=b?n:l;z[q>>2]=z[q>>2]|2048;z[j+4>>2]=z[j+4>>2]|512;c=b<<25|c|1024}if(c&1073750016){break ee}e=a;u=c>>>9|0;q=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=q+28|0;a=z[d>>2];b=z[a>>2];e=e-b|0;kf:{if(f>>>16>>>0>>0){r=z[a+4>>2];v=q;q=b>>>0>e>>>0;z[v+28>>2]=z[a+(q?8:12)>>2];while(1){lf:{if(g){break lf}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break lf}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break lf}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}e=b;a=q?r:!r;break kf}f=f-(b<<16)|0;if(!(e&32768)){r=z[a+4>>2];v=q;q=b>>>0>e>>>0;z[v+28>>2]=z[a+(q?12:8)>>2];while(1){mf:{if(g){break mf}b=z[H+16>>2];g=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break mf}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break mf}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;e=e<<1;if(e>>>0<32768){continue}break}a=q?!r:r;break kf}a=z[a+4>>2]}if(!a){a=e;break ee}b=e;q=j-4|0;r=z[j+4>>2]>>>26&4|(z[q>>2]>>>28&1|(c>>>21&16|(c>>>25&64|u&170)));u=(A[r+42048|0]<<2)+H|0;d=u+28|0;e=z[d>>2];a=z[e>>2];b=b-a|0;if(f>>>16>>>0>>0){v=z[e+4>>2];M=u;u=a>>>0>b>>>0;z[M+28>>2]=z[(u?8:12)+e>>2];while(1){nf:{if(g){break nf}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break nf}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break nf}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=u?v:!v;break fe}f=f-(a<<16)|0;if(!(b&32768)){break ge}a=b}b=z[e+4>>2];break fe}v=z[e+4>>2];M=u;u=a>>>0>b>>>0;z[M+28>>2]=z[e+(u?12:8)>>2];while(1){of:{if(g){break of}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break of}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break of}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=u?!v:v}b=b^A[r+42304|0];z[k+768>>2]=b?n:l;z[q>>2]=z[q>>2]|16384;z[j+4>>2]=z[j+4>>2]|4096;z[j+260>>2]=z[j+260>>2]|4;z[j+268>>2]=z[j+268>>2]|1;z[j+264>>2]=z[j+264>>2]|b<<18|2;c=b<<28|c|8192}z[j>>2]=c&-1226833921}c=j+4|0;b=k+4|0;m=m+1|0;if((m|0)!=64){continue}break}c=j+12|0;b=k+772|0;e=p>>>0<60;p=p+4|0;if(e){continue}break}break be}a=1<>>1|a;e=z[H+120>>2];b=(e+(k<<2)|0)+12|0;c=z[H+128>>2];g=z[H+8>>2];a=z[H+4>>2];f=z[H>>2];d=z[H+104>>2];n=z[H+116>>2];pf:{qf:{if(E&8){if(c>>>0<4){break pf}if(!k){break qf}i=H+100|0;j=H+96|0;T=F(k,3);Y=k<<1;p=0-l|0;while(1){v=0;while(1){h=b;rf:{sf:{tf:{uf:{b=z[b>>2];if(b){vf:{if(b&2097168){break vf}m=(A[z[H+108>>2]+(b&495)|0]<<2)+H|0;d=m+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;wf:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[e+4>>2];if(a&32768){break wf}r=z[e+4>>2];u=m;m=a>>>0>>0;z[u+28>>2]=z[e+(m?12:8)>>2];while(1){xf:{if(g){break xf}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break xf}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break xf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break wf}r=z[e+4>>2];u=m;m=a>>>0>>0;z[u+28>>2]=z[e+(m?8:12)>>2];while(1){yf:{if(g){break yf}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break yf}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break yf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}if(!r){break vf}m=h-4|0;R=z[h+4>>2]>>>17&4|(z[m>>2]>>>19&1|(b>>>14&16|(b>>>16&64|b&170)));r=(A[R+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;zf:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;u=z[e+4>>2];if(a&32768){break zf}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?12:8)>>2];while(1){Af:{if(g){break Af}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Af}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Af}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}u=r?!u:u;break zf}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?8:12)>>2];while(1){Bf:{if(g){break Bf}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Bf}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Bf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;u=r?u:!u}c=u;c=c^A[R+42304|0];z[n>>2]=c?p:l;z[m>>2]=z[m>>2]|32;z[h+4>>2]=z[h+4>>2]|8;b=c<<19|b|16}Cf:{if(b&16777344){break Cf}u=b>>>3|0;m=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=m+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Df:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[e+4>>2];if(a&32768){break Df}r=z[e+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[e+(m?12:8)>>2];while(1){Ef:{if(g){break Ef}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Ef}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Ef}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break Df}r=z[e+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[e+(m?8:12)>>2];while(1){Ff:{if(g){break Ff}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Ff}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ff}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}if(!r){break Cf}m=h-4|0;R=z[h+4>>2]>>>20&4|(z[m>>2]>>>22&1|(b>>>15&16|(b>>>19&64|u&170)));r=(A[R+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Gf:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;u=z[e+4>>2];if(a&32768){break Gf}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?12:8)>>2];while(1){Hf:{if(g){break Hf}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Hf}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Hf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}u=r?!u:u;break Gf}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?8:12)>>2];while(1){If:{if(g){break If}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break If}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break If}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;u=r?u:!u}c=u;c=c^A[R+42304|0];z[(k<<2)+n>>2]=c?p:l;z[m>>2]=z[m>>2]|256;z[h+4>>2]=z[h+4>>2]|64;b=c<<22|b|128}Jf:{if(b&134218752){break Jf}u=b>>>6|0;m=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=m+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Kf:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[e+4>>2];if(a&32768){break Kf}r=z[e+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[e+(m?12:8)>>2];while(1){Lf:{if(g){break Lf}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Lf}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Lf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break Kf}r=z[e+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[e+(m?8:12)>>2];while(1){Mf:{if(g){break Mf}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Mf}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Mf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}if(!r){break Jf}m=h-4|0;R=z[h+4>>2]>>>23&4|(z[m>>2]>>>25&1|(b>>>18&16|(b>>>22&64|u&170)));r=(A[R+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Nf:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;u=z[e+4>>2];if(a&32768){break Nf}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?12:8)>>2];while(1){Of:{if(g){break Of}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Of}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Of}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}u=r?!u:u;break Nf}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?8:12)>>2];while(1){Pf:{if(g){break Pf}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Pf}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Pf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;u=r?u:!u}c=u;c=c^A[R+42304|0];z[(Y<<2)+n>>2]=c?p:l;z[m>>2]=z[m>>2]|2048;z[h+4>>2]=z[h+4>>2]|512;b=c<<25|b|1024}if(b&1073750016){break sf}e=a;u=b>>>9|0;m=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=m+28|0;a=z[d>>2];c=z[a>>2];e=e-c|0;Qf:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[a+4>>2];if(e&32768){break Qf}r=z[a+4>>2];Q=m;m=c>>>0>e>>>0;z[Q+28>>2]=z[a+(m?12:8)>>2];while(1){Rf:{if(g){break Rf}c=z[H+16>>2];g=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Rf}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Rf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;e=e<<1;if(e>>>0<32768){continue}break}r=m?!r:r;break Qf}r=z[a+4>>2];Q=m;m=c>>>0>e>>>0;z[Q+28>>2]=z[a+(m?8:12)>>2];while(1){Sf:{if(g){break Sf}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Sf}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Sf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}e=c;r=m?r:!r}if(!r){a=e;break sf}c=e;m=h-4|0;u=z[h+4>>2]>>>26&4|(z[m>>2]>>>28&1|(b>>>21&16|(b>>>25&64|u&170)));e=(A[u+42048|0]<<2)+H|0;d=e+28|0;r=z[d>>2];a=z[r>>2];c=c-a|0;if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;if(c&32768){a=c;break uf}R=z[r+4>>2];Q=r;r=a>>>0>c>>>0;z[e+28>>2]=z[Q+(r?12:8)>>2];while(1){Tf:{if(g){break Tf}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Tf}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Tf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;c=r?!R:R;break tf}R=z[r+4>>2];Q=r;r=a>>>0>c>>>0;z[e+28>>2]=z[Q+(r?8:12)>>2];while(1){Uf:{if(g){break Uf}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Uf}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Uf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}c=r?R:!R;break tf}c=z[j>>2];b=z[c>>2];a=a-b|0;Vf:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;d=z[c+4>>2];if(a&32768){break Vf}d=z[c+4>>2];m=a>>>0>>0;z[j>>2]=z[c+(m?12:8)>>2];while(1){Wf:{if(g){break Wf}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(b<<8)+f|0;break Wf}if(b>>>0<=143){z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break Wf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}d=m?!d:d;break Vf}d=z[c+4>>2];m=a>>>0>>0;z[j>>2]=z[c+(m?8:12)>>2];while(1){Xf:{if(g){break Xf}c=z[H+16>>2];e=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(a<<8)+f|0;break Xf}if(a>>>0<=143){z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break Xf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;d=m?d:!d}if(!d){d=j;break rf}c=z[i>>2];b=z[c>>2];a=a-b|0;Yf:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;m=z[c+4>>2];if(a&32768){break Yf}d=z[c+4>>2];m=a>>>0>>0;c=z[(m?12:8)+c>>2];z[i>>2]=c;while(1){Zf:{if(g){break Zf}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(b<<8)+f|0;break Zf}if(b>>>0<=143){z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Zf}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}m=m?!d:d;break Yf}d=z[c+4>>2];m=a>>>0>>0;c=z[(m?8:12)+c>>2];z[i>>2]=c;while(1){_f:{if(g){break _f}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break _f}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break _f}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;m=m?d:!d}b=z[c>>2];a=a-b|0;$f:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;d=z[c+4>>2];if(a&32768){break $f}d=z[c+4>>2];r=a>>>0>>0;z[i>>2]=z[(r?12:8)+c>>2];while(1){ag:{if(g){break ag}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(b<<8)+f|0;break ag}if(b>>>0<=143){z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break ag}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}d=r?!d:d;break $f}d=z[c+4>>2];r=a>>>0>>0;z[i>>2]=z[c+(r?8:12)>>2];while(1){bg:{if(g){break bg}c=z[H+16>>2];e=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(a<<8)+f|0;break bg}if(a>>>0<=143){z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break bg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;d=r?d:!d}c=d;b=0;d=i;cg:{dg:{eg:{fg:{gg:{switch(c|m<<1){case 0:d=h-4|0;r=z[h+4>>2]>>>17&4|z[d>>2]>>>19&1;e=(A[r+42048|0]<<2)+H|0;c=z[e+28>>2];b=z[c>>2];a=a-b|0;hg:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;m=z[c+4>>2];if(a&32768){break hg}m=z[c+4>>2];u=a>>>0>>0;z[e+28>>2]=z[c+(u?12:8)>>2];while(1){ig:{if(g){break ig}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(b<<8)+f|0;break ig}if(b>>>0<=143){z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break ig}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}m=u?!m:m;break hg}m=z[c+4>>2];u=a>>>0>>0;z[e+28>>2]=z[c+(u?8:12)>>2];while(1){jg:{if(g){break jg}c=z[H+16>>2];e=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(a<<8)+f|0;break jg}if(a>>>0<=143){z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break jg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;m=u?m:!m}b=m;b=b^A[r+42304|0];z[n>>2]=b?p:l;z[d>>2]=z[d>>2]|32;z[h+4>>2]=z[h+4>>2]|8;m=b<<19;d=(A[z[H+108>>2]+2|0]<<2)+H|0;c=z[d+28>>2];b=z[c>>2];a=a-b|0;kg:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;e=z[c+4>>2];if(a&32768){break kg}e=z[c+4>>2];r=a>>>0>>0;z[d+28>>2]=z[c+(r?12:8)>>2];while(1){lg:{if(g){break lg}c=z[H+16>>2];d=c+1|0;b=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=d;g=8;f=(b<<8)+f|0;break lg}if(b>>>0<=143){z[H+16>>2]=d;f=(b<<9)+f|0;g=7;break lg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}e=r?!e:e;break kg}e=z[c+4>>2];r=a>>>0>>0;z[d+28>>2]=z[c+(r?8:12)>>2];while(1){mg:{if(g){break mg}c=z[H+16>>2];d=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=d;g=8;f=(a<<8)+f|0;break mg}if(a>>>0<=143){z[H+16>>2]=d;f=(a<<9)+f|0;g=7;break mg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;e=r?e:!e}c=e;b=m|16;if(!c){break fg}break;case 3:break cg;case 2:break eg;case 1:break gg;default:break sf}}e=h-4|0;u=z[h+4>>2]>>>20&4|(z[e>>2]>>>22&1|(b>>>15&16|(b>>>19&64|b>>>3&170)));m=(A[u+42048|0]<<2)+H|0;d=z[m+28>>2];c=z[d>>2];a=a-c|0;ng:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[d+4>>2];if(a&32768){break ng}r=z[d+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[d+(m?12:8)>>2];while(1){og:{if(g){break og}d=z[H+16>>2];g=d+1|0;c=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break og}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break og}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break ng}r=z[d+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[d+(m?8:12)>>2];while(1){pg:{if(g){break pg}d=z[H+16>>2];g=d+1|0;a=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break pg}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break pg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}c=r;c=c^A[u+42304|0];z[(k<<2)+n>>2]=c?p:l;z[e>>2]=z[e>>2]|256;z[h+4>>2]=z[h+4>>2]|64;b=c<<22|b|128}e=(A[z[H+108>>2]+(b>>>6&495)|0]<<2)+H|0;d=z[e+28>>2];c=z[d>>2];a=a-c|0;qg:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;m=z[d+4>>2];if(a&32768){break qg}m=z[d+4>>2];r=a>>>0>>0;z[e+28>>2]=z[d+(r?12:8)>>2];while(1){rg:{if(g){break rg}d=z[H+16>>2];e=d+1|0;c=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=e;g=8;f=(c<<8)+f|0;break rg}if(c>>>0<=143){z[H+16>>2]=e;f=(c<<9)+f|0;g=7;break rg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}m=r?!m:m;break qg}m=z[d+4>>2];r=a>>>0>>0;z[e+28>>2]=z[d+(r?8:12)>>2];while(1){sg:{if(g){break sg}d=z[H+16>>2];e=d+1|0;a=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=e;g=8;f=(a<<8)+f|0;break sg}if(a>>>0<=143){z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break sg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;m=r?m:!m}if(!m){break dg}}e=h-4|0;u=z[h+4>>2]>>>23&4|(z[e>>2]>>>25&1|(b>>>18&16|(b>>>22&64|b>>>6&170)));m=(A[u+42048|0]<<2)+H|0;d=z[m+28>>2];c=z[d>>2];a=a-c|0;tg:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[d+4>>2];if(a&32768){break tg}r=z[d+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[d+(m?12:8)>>2];while(1){ug:{if(g){break ug}d=z[H+16>>2];g=d+1|0;c=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break ug}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break ug}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break tg}r=z[d+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[d+(m?8:12)>>2];while(1){vg:{if(g){break vg}d=z[H+16>>2];g=d+1|0;a=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break vg}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break vg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}c=r;c=c^A[u+42304|0];z[(Y<<2)+n>>2]=c?p:l;z[e>>2]=z[e>>2]|2048;z[h+4>>2]=z[h+4>>2]|512;b=c<<25|b|1024}m=(A[z[H+108>>2]+(b>>>9&495)|0]<<2)+H|0;d=m+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;wg:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[e+4>>2];if(a&32768){break wg}r=z[e+4>>2];u=m;m=a>>>0>>0;z[u+28>>2]=z[e+(m?12:8)>>2];while(1){xg:{if(g){break xg}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break xg}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break xg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break wg}r=z[e+4>>2];u=m;m=a>>>0>>0;z[u+28>>2]=z[e+(m?8:12)>>2];while(1){yg:{if(g){break yg}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break yg}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break yg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}if(!r){break sf}}m=h-4|0;u=z[h+4>>2]>>>26&4|(z[m>>2]>>>28&1|(b>>>21&16|(b>>>25&64|b>>>9&170)));e=(A[u+42048|0]<<2)+H|0;d=e+28|0;r=z[d>>2];c=z[r>>2];a=a-c|0;if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;if(a&32768){break uf}R=z[r+4>>2];Q=r;r=a>>>0>>0;z[e+28>>2]=z[Q+(r?12:8)>>2];while(1){zg:{if(g){break zg}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break zg}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break zg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}c=r?!R:R;break tf}R=z[r+4>>2];Q=r;r=a>>>0>>0;z[e+28>>2]=z[Q+(r?8:12)>>2];while(1){Ag:{if(g){break Ag}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Ag}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ag}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;c=r?R:!R;break tf}c=z[r+4>>2]}e=c^A[u+42304|0];z[(T<<2)+n>>2]=e?p:l;z[m>>2]=z[m>>2]|16384;z[h+4>>2]=z[h+4>>2]|4096;c=h+(z[H+124>>2]<<2)|0;z[c+4>>2]=z[c+4>>2]|4;z[c+12>>2]=z[c+12>>2]|1;z[c+8>>2]=z[c+8>>2]|e<<18|2;b=e<<28|b|8192}z[h>>2]=b&-1226833921}b=h+4|0;n=n+4|0;v=v+1|0;if((k|0)!=(v|0)){continue}break}b=h+12|0;n=(T<<2)+n|0;q=q+4|0;c=z[H+128>>2];if(q>>>0<(c&-4)>>>0){continue}break}break pf}Bg:{if(c>>>0<4){break Bg}if(k){i=H+100|0;j=H+96|0;T=F(k,3);Y=k<<1;p=0-l|0;while(1){v=0;while(1){h=b;Cg:{Dg:{Eg:{Fg:{b=z[b>>2];if(b){Gg:{if(b&2097168){break Gg}m=(A[z[H+108>>2]+(b&495)|0]<<2)+H|0;d=m+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Hg:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[e+4>>2];if(a&32768){break Hg}r=z[e+4>>2];u=m;m=a>>>0>>0;z[u+28>>2]=z[e+(m?12:8)>>2];while(1){Ig:{if(g){break Ig}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Ig}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Ig}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break Hg}r=z[e+4>>2];u=m;m=a>>>0>>0;z[u+28>>2]=z[e+(m?8:12)>>2];while(1){Jg:{if(g){break Jg}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Jg}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Jg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}if(!r){break Gg}m=h-4|0;R=z[h+4>>2]>>>17&4|(z[m>>2]>>>19&1|(b>>>14&16|(b>>>16&64|b&170)));r=(A[R+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Kg:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;u=z[e+4>>2];if(a&32768){break Kg}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?12:8)>>2];while(1){Lg:{if(g){break Lg}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Lg}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Lg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}u=r?!u:u;break Kg}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?8:12)>>2];while(1){Mg:{if(g){break Mg}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Mg}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Mg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;u=r?u:!u}c=u;e=c^A[R+42304|0];z[n>>2]=e?p:l;z[m>>2]=z[m>>2]|32;z[h+4>>2]=z[h+4>>2]|8;c=h+(-2-z[H+124>>2]<<2)|0;z[c+4>>2]=z[c+4>>2]|32768;z[c>>2]=z[c>>2]|e<<31|65536;c=c-4|0;z[c>>2]=z[c>>2]|131072;b=e<<19|b|16}Ng:{if(b&16777344){break Ng}u=b>>>3|0;m=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=m+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Og:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[e+4>>2];if(a&32768){break Og}r=z[e+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[e+(m?12:8)>>2];while(1){Pg:{if(g){break Pg}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Pg}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Pg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break Og}r=z[e+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[e+(m?8:12)>>2];while(1){Qg:{if(g){break Qg}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Qg}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Qg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}if(!r){break Ng}m=h-4|0;R=z[h+4>>2]>>>20&4|(z[m>>2]>>>22&1|(b>>>15&16|(b>>>19&64|u&170)));r=(A[R+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Rg:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;u=z[e+4>>2];if(a&32768){break Rg}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?12:8)>>2];while(1){Sg:{if(g){break Sg}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Sg}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Sg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}u=r?!u:u;break Rg}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?8:12)>>2];while(1){Tg:{if(g){break Tg}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Tg}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Tg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;u=r?u:!u}c=u;c=c^A[R+42304|0];z[(k<<2)+n>>2]=c?p:l;z[m>>2]=z[m>>2]|256;z[h+4>>2]=z[h+4>>2]|64;b=c<<22|b|128}Ug:{if(b&134218752){break Ug}u=b>>>6|0;m=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=m+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Vg:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[e+4>>2];if(a&32768){break Vg}r=z[e+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[e+(m?12:8)>>2];while(1){Wg:{if(g){break Wg}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Wg}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Wg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break Vg}r=z[e+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[e+(m?8:12)>>2];while(1){Xg:{if(g){break Xg}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Xg}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Xg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}if(!r){break Ug}m=h-4|0;R=z[h+4>>2]>>>23&4|(z[m>>2]>>>25&1|(b>>>18&16|(b>>>22&64|u&170)));r=(A[R+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Yg:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;u=z[e+4>>2];if(a&32768){break Yg}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?12:8)>>2];while(1){Zg:{if(g){break Zg}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Zg}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Zg}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}u=r?!u:u;break Yg}u=z[e+4>>2];Q=r;r=a>>>0>>0;z[Q+28>>2]=z[e+(r?8:12)>>2];while(1){_g:{if(g){break _g}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break _g}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break _g}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;u=r?u:!u}c=u;c=c^A[R+42304|0];z[(Y<<2)+n>>2]=c?p:l;z[m>>2]=z[m>>2]|2048;z[h+4>>2]=z[h+4>>2]|512;b=c<<25|b|1024}if(b&1073750016){break Dg}e=a;u=b>>>9|0;m=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=m+28|0;a=z[d>>2];c=z[a>>2];e=e-c|0;$g:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[a+4>>2];if(e&32768){break $g}r=z[a+4>>2];Q=m;m=c>>>0>e>>>0;z[Q+28>>2]=z[a+(m?12:8)>>2];while(1){ah:{if(g){break ah}c=z[H+16>>2];g=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break ah}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break ah}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;e=e<<1;if(e>>>0<32768){continue}break}r=m?!r:r;break $g}r=z[a+4>>2];Q=m;m=c>>>0>e>>>0;z[Q+28>>2]=z[a+(m?8:12)>>2];while(1){bh:{if(g){break bh}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break bh}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break bh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}e=c;r=m?r:!r}if(!r){a=e;break Dg}c=e;m=h-4|0;u=z[h+4>>2]>>>26&4|(z[m>>2]>>>28&1|(b>>>21&16|(b>>>25&64|u&170)));e=(A[u+42048|0]<<2)+H|0;d=e+28|0;r=z[d>>2];a=z[r>>2];c=c-a|0;if(f>>>16>>>0>=a>>>0){f=f-(a<<16)|0;if(c&32768){a=c;break Fg}R=z[r+4>>2];Q=r;r=a>>>0>c>>>0;z[e+28>>2]=z[Q+(r?12:8)>>2];while(1){ch:{if(g){break ch}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break ch}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break ch}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;c=r?!R:R;break Eg}R=z[r+4>>2];Q=r;r=a>>>0>c>>>0;z[e+28>>2]=z[Q+(r?8:12)>>2];while(1){dh:{if(g){break dh}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break dh}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break dh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}c=r?R:!R;break Eg}c=z[j>>2];b=z[c>>2];a=a-b|0;eh:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;d=z[c+4>>2];if(a&32768){break eh}d=z[c+4>>2];m=a>>>0>>0;z[j>>2]=z[c+(m?12:8)>>2];while(1){fh:{if(g){break fh}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(b<<8)+f|0;break fh}if(b>>>0<=143){z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break fh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}d=m?!d:d;break eh}d=z[c+4>>2];m=a>>>0>>0;z[j>>2]=z[c+(m?8:12)>>2];while(1){gh:{if(g){break gh}c=z[H+16>>2];e=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(a<<8)+f|0;break gh}if(a>>>0<=143){z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break gh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;d=m?d:!d}if(!d){d=j;break Cg}c=z[i>>2];b=z[c>>2];a=a-b|0;hh:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;m=z[c+4>>2];if(a&32768){break hh}d=z[c+4>>2];m=a>>>0>>0;c=z[(m?12:8)+c>>2];z[i>>2]=c;while(1){ih:{if(g){break ih}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(b<<8)+f|0;break ih}if(b>>>0<=143){z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break ih}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}m=m?!d:d;break hh}d=z[c+4>>2];m=a>>>0>>0;c=z[(m?8:12)+c>>2];z[i>>2]=c;while(1){jh:{if(g){break jh}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break jh}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break jh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;m=m?d:!d}b=z[c>>2];a=a-b|0;kh:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;d=z[c+4>>2];if(a&32768){break kh}d=z[c+4>>2];r=a>>>0>>0;z[i>>2]=z[(r?12:8)+c>>2];while(1){lh:{if(g){break lh}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(b<<8)+f|0;break lh}if(b>>>0<=143){z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break lh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}d=r?!d:d;break kh}d=z[c+4>>2];r=a>>>0>>0;z[i>>2]=z[c+(r?8:12)>>2];while(1){mh:{if(g){break mh}c=z[H+16>>2];e=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(a<<8)+f|0;break mh}if(a>>>0<=143){z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break mh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;d=r?d:!d}c=d;b=0;d=i;nh:{oh:{ph:{qh:{rh:{switch(c|m<<1){case 0:d=h-4|0;r=z[h+4>>2]>>>17&4|z[d>>2]>>>19&1;e=(A[r+42048|0]<<2)+H|0;c=z[e+28>>2];b=z[c>>2];a=a-b|0;sh:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;m=z[c+4>>2];if(a&32768){break sh}m=z[c+4>>2];u=a>>>0>>0;z[e+28>>2]=z[c+(u?12:8)>>2];while(1){th:{if(g){break th}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(b<<8)+f|0;break th}if(b>>>0<=143){z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break th}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}m=u?!m:m;break sh}m=z[c+4>>2];u=a>>>0>>0;z[e+28>>2]=z[c+(u?8:12)>>2];while(1){uh:{if(g){break uh}c=z[H+16>>2];e=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=e;g=8;f=(a<<8)+f|0;break uh}if(a>>>0<=143){z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break uh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;m=u?m:!m}b=m;c=b^A[r+42304|0];z[n>>2]=c?p:l;z[d>>2]=z[d>>2]|32;z[h+4>>2]=z[h+4>>2]|8;b=h+(-2-z[H+124>>2]<<2)|0;z[b+4>>2]=z[b+4>>2]|32768;z[b>>2]=z[b>>2]|c<<31|65536;b=b-4|0;z[b>>2]=z[b>>2]|131072;m=c<<19;d=(A[z[H+108>>2]+2|0]<<2)+H|0;c=z[d+28>>2];b=z[c>>2];a=a-b|0;vh:{if(f>>>16>>>0>=b>>>0){f=f-(b<<16)|0;e=z[c+4>>2];if(a&32768){break vh}e=z[c+4>>2];r=a>>>0>>0;z[d+28>>2]=z[c+(r?12:8)>>2];while(1){wh:{if(g){break wh}c=z[H+16>>2];d=c+1|0;b=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=d;g=8;f=(b<<8)+f|0;break wh}if(b>>>0<=143){z[H+16>>2]=d;f=(b<<9)+f|0;g=7;break wh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}e=r?!e:e;break vh}e=z[c+4>>2];r=a>>>0>>0;z[d+28>>2]=z[c+(r?8:12)>>2];while(1){xh:{if(g){break xh}c=z[H+16>>2];d=c+1|0;a=A[c+1|0];if(A[c|0]!=255){z[H+16>>2]=d;g=8;f=(a<<8)+f|0;break xh}if(a>>>0<=143){z[H+16>>2]=d;f=(a<<9)+f|0;g=7;break xh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;e=r?e:!e}c=e;b=m|16;if(!c){break qh}break;case 3:break nh;case 2:break ph;case 1:break rh;default:break Dg}}e=h-4|0;u=z[h+4>>2]>>>20&4|(z[e>>2]>>>22&1|(b>>>15&16|(b>>>19&64|b>>>3&170)));m=(A[u+42048|0]<<2)+H|0;d=z[m+28>>2];c=z[d>>2];a=a-c|0;yh:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[d+4>>2];if(a&32768){break yh}r=z[d+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[d+(m?12:8)>>2];while(1){zh:{if(g){break zh}d=z[H+16>>2];g=d+1|0;c=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break zh}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break zh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break yh}r=z[d+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[d+(m?8:12)>>2];while(1){Ah:{if(g){break Ah}d=z[H+16>>2];g=d+1|0;a=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Ah}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ah}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}c=r;c=c^A[u+42304|0];z[(k<<2)+n>>2]=c?p:l;z[e>>2]=z[e>>2]|256;z[h+4>>2]=z[h+4>>2]|64;b=c<<22|b|128}e=(A[z[H+108>>2]+(b>>>6&495)|0]<<2)+H|0;d=z[e+28>>2];c=z[d>>2];a=a-c|0;Bh:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;m=z[d+4>>2];if(a&32768){break Bh}m=z[d+4>>2];r=a>>>0>>0;z[e+28>>2]=z[d+(r?12:8)>>2];while(1){Ch:{if(g){break Ch}d=z[H+16>>2];e=d+1|0;c=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=e;g=8;f=(c<<8)+f|0;break Ch}if(c>>>0<=143){z[H+16>>2]=e;f=(c<<9)+f|0;g=7;break Ch}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}m=r?!m:m;break Bh}m=z[d+4>>2];r=a>>>0>>0;z[e+28>>2]=z[d+(r?8:12)>>2];while(1){Dh:{if(g){break Dh}d=z[H+16>>2];e=d+1|0;a=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=e;g=8;f=(a<<8)+f|0;break Dh}if(a>>>0<=143){z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break Dh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;m=r?m:!m}if(!m){break oh}}e=h-4|0;u=z[h+4>>2]>>>23&4|(z[e>>2]>>>25&1|(b>>>18&16|(b>>>22&64|b>>>6&170)));m=(A[u+42048|0]<<2)+H|0;d=z[m+28>>2];c=z[d>>2];a=a-c|0;Eh:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[d+4>>2];if(a&32768){break Eh}r=z[d+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[d+(m?12:8)>>2];while(1){Fh:{if(g){break Fh}d=z[H+16>>2];g=d+1|0;c=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Fh}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Fh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break Eh}r=z[d+4>>2];Q=m;m=a>>>0>>0;z[Q+28>>2]=z[d+(m?8:12)>>2];while(1){Gh:{if(g){break Gh}d=z[H+16>>2];g=d+1|0;a=A[d+1|0];if(A[d|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Gh}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Gh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}c=r;c=c^A[u+42304|0];z[(Y<<2)+n>>2]=c?p:l;z[e>>2]=z[e>>2]|2048;z[h+4>>2]=z[h+4>>2]|512;b=c<<25|b|1024}m=(A[z[H+108>>2]+(b>>>9&495)|0]<<2)+H|0;d=m+28|0;e=z[d>>2];c=z[e>>2];a=a-c|0;Hh:{if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;r=z[e+4>>2];if(a&32768){break Hh}r=z[e+4>>2];u=m;m=a>>>0>>0;z[u+28>>2]=z[e+(m?12:8)>>2];while(1){Ih:{if(g){break Ih}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Ih}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Ih}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}r=m?!r:r;break Hh}r=z[e+4>>2];u=m;m=a>>>0>>0;z[u+28>>2]=z[e+(m?8:12)>>2];while(1){Jh:{if(g){break Jh}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Jh}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Jh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;r=m?r:!r}if(!r){break Dg}}m=h-4|0;u=z[h+4>>2]>>>26&4|(z[m>>2]>>>28&1|(b>>>21&16|(b>>>25&64|b>>>9&170)));e=(A[u+42048|0]<<2)+H|0;d=e+28|0;r=z[d>>2];c=z[r>>2];a=a-c|0;if(f>>>16>>>0>=c>>>0){f=f-(c<<16)|0;if(a&32768){break Fg}R=z[r+4>>2];Q=r;r=a>>>0>>0;z[e+28>>2]=z[Q+(r?12:8)>>2];while(1){Kh:{if(g){break Kh}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(c<<8)+f|0;break Kh}if(c>>>0<=143){z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Kh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}c=r?!R:R;break Eg}R=z[r+4>>2];Q=r;r=a>>>0>>0;z[e+28>>2]=z[Q+(r?8:12)>>2];while(1){Lh:{if(g){break Lh}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]!=255){z[H+16>>2]=g;g=8;f=(a<<8)+f|0;break Lh}if(a>>>0<=143){z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Lh}z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;c=r?R:!R;break Eg}c=z[r+4>>2]}e=c^A[u+42304|0];z[(T<<2)+n>>2]=e?p:l;z[m>>2]=z[m>>2]|16384;z[h+4>>2]=z[h+4>>2]|4096;c=h+(z[H+124>>2]<<2)|0;z[c+4>>2]=z[c+4>>2]|4;z[c+12>>2]=z[c+12>>2]|1;z[c+8>>2]=z[c+8>>2]|e<<18|2;b=e<<28|b|8192}z[h>>2]=b&-1226833921}b=h+4|0;n=n+4|0;v=v+1|0;if((k|0)!=(v|0)){continue}break}b=h+12|0;n=(T<<2)+n|0;q=q+4|0;c=z[H+128>>2];if(q>>>0<(c&-4)>>>0){continue}break}break Bg}b=c&-4;b=(b>>>0<=4?4:b)-1|0;q=(b&-4)+4|0;b=(e+(b<<1&-8)|0)+20|0}z[H+8>>2]=g;z[H+4>>2]=a;z[H>>2]=f;z[H+104>>2]=d;if(!k|c>>>0<=q>>>0){break ae}while(1){g=0;if(z[H+128>>2]!=(q|0)){while(1){Rc(H,b,(F(g,k)<<2)+n|0,l,g,0);g=g+1|0;if(g>>>0>2]-q>>>0){continue}break}}z[b>>2]=z[b>>2]&-1226833921;n=n+4|0;b=b+4|0;M=M+1|0;if((k|0)!=(M|0)){continue}break}break ae}b=c&-4;b=(b>>>0<=4?4:b)-1|0;q=(b&-4)+4|0;b=(e+(b<<1&-8)|0)+20|0}z[H+8>>2]=g;z[H+4>>2]=a;z[H>>2]=f;z[H+104>>2]=d;if(!k|c>>>0<=q>>>0){break ae}while(1){g=0;if(z[H+128>>2]!=(q|0)){while(1){Rc(H,b,(F(g,k)<<2)+n|0,l,g,1);g=g+1|0;if(g>>>0>2]-q>>>0){continue}break}}z[b>>2]=z[b>>2]&-1226833921;n=n+4|0;b=b+4|0;M=M+1|0;if((k|0)!=(M|0)){continue}break}break ae}while(1){m=0;while(1){k=b;j=c;Mh:{Nh:{Oh:{Ph:{c=z[c>>2];Qh:{if(!c){b=z[i>>2];c=z[b>>2];a=a-c|0;Rh:{if(f>>>16>>>0>>0){d=z[b+4>>2];q=a>>>0>>0;z[i>>2]=z[b+(q?8:12)>>2];while(1){Sh:{if(g){break Sh}b=z[H+16>>2];e=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Sh}z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break Sh}z[H+16>>2]=e;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=q?d:!d;break Rh}f=f-(c<<16)|0;if(!(a&32768)){d=z[b+4>>2];q=a>>>0>>0;z[i>>2]=z[b+(q?12:8)>>2];while(1){Th:{if(g){break Th}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Th}z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break Th}z[H+16>>2]=e;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!d:d;break Rh}b=z[b+4>>2]}if(!b){d=i;break Mh}b=z[h>>2];c=z[b>>2];a=a-c|0;Uh:{if(f>>>16>>>0>>0){d=z[b+4>>2];q=a>>>0>>0;b=z[(q?8:12)+b>>2];z[h>>2]=b;while(1){Vh:{if(g){break Vh}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Vh}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Vh}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;q=q?d:!d;break Uh}f=f-(c<<16)|0;if(!(a&32768)){d=z[b+4>>2];q=a>>>0>>0;b=z[(q?12:8)+b>>2];z[h>>2]=b;while(1){Wh:{if(g){break Wh}e=z[H+16>>2];g=e+1|0;c=A[e+1|0];if(A[e|0]==255){if(c>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Wh}z[H+16>>2]=g;f=(c<<9)+f|0;g=7;break Wh}z[H+16>>2]=g;g=8;f=(c<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}q=q?!d:d;break Uh}q=z[b+4>>2]}c=z[b>>2];a=a-c|0;Xh:{if(f>>>16>>>0>>0){d=z[b+4>>2];r=a>>>0>>0;z[h>>2]=z[b+(r?8:12)>>2];while(1){Yh:{if(g){break Yh}b=z[H+16>>2];e=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Yh}z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break Yh}z[H+16>>2]=e;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=r?d:!d;break Xh}f=f-(c<<16)|0;if(!(a&32768)){d=z[b+4>>2];r=a>>>0>>0;z[h>>2]=z[b+(r?12:8)>>2];while(1){Zh:{if(g){break Zh}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Zh}z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break Zh}z[H+16>>2]=e;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!d:d;break Xh}b=z[b+4>>2]}c=0;d=h;_h:{$h:{ai:{bi:{ci:{switch(b|q<<1){case 0:d=j-4|0;r=z[j+4>>2]>>>17&4|z[d>>2]>>>19&1;e=(A[r+42048|0]<<2)+H|0;b=z[e+28>>2];c=z[b>>2];a=a-c|0;di:{if(f>>>16>>>0>>0){q=z[b+4>>2];u=a>>>0>>0;z[e+28>>2]=z[b+(u?8:12)>>2];while(1){ei:{if(g){break ei}b=z[H+16>>2];e=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ei}z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break ei}z[H+16>>2]=e;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=u?q:!q;break di}f=f-(c<<16)|0;if(!(a&32768)){q=z[b+4>>2];u=a>>>0>>0;z[e+28>>2]=z[b+(u?12:8)>>2];while(1){fi:{if(g){break fi}c=z[H+16>>2];e=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break fi}z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break fi}z[H+16>>2]=e;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=u?!q:q;break di}b=z[b+4>>2]}b=b^A[r+42304|0];z[k>>2]=b?n:l;z[d>>2]=z[d>>2]|32;z[j+4>>2]=z[j+4>>2]|8;q=b<<19;d=(A[z[H+108>>2]+2|0]<<2)+H|0;b=z[d+28>>2];c=z[b>>2];a=a-c|0;gi:{if(f>>>16>>>0>>0){e=z[b+4>>2];r=a>>>0>>0;z[d+28>>2]=z[b+(r?8:12)>>2];while(1){hi:{if(g){break hi}b=z[H+16>>2];d=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break hi}z[H+16>>2]=d;f=(a<<9)+f|0;g=7;break hi}z[H+16>>2]=d;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=r?e:!e;break gi}f=f-(c<<16)|0;if(!(a&32768)){e=z[b+4>>2];r=a>>>0>>0;z[d+28>>2]=z[b+(r?12:8)>>2];while(1){ii:{if(g){break ii}c=z[H+16>>2];d=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ii}z[H+16>>2]=d;f=(b<<9)+f|0;g=7;break ii}z[H+16>>2]=d;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!e:e;break gi}b=z[b+4>>2]}c=q|16;if(!b){break bi}break;case 3:break _h;case 2:break ai;case 1:break ci;default:break Nh}}e=j-4|0;u=z[j+4>>2]>>>20&4|(z[e>>2]>>>22&1|(c>>>15&16|(c>>>19&64|c>>>3&170)));q=(A[u+42048|0]<<2)+H|0;d=z[q+28>>2];b=z[d>>2];a=a-b|0;ji:{if(f>>>16>>>0>>0){r=z[d+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[d+(q?8:12)>>2];while(1){ki:{if(g){break ki}d=z[H+16>>2];g=d+1|0;a=A[d+1|0];if(A[d|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ki}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break ki}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break ji}f=f-(b<<16)|0;if(!(a&32768)){r=z[d+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[d+(q?12:8)>>2];while(1){li:{if(g){break li}d=z[H+16>>2];g=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break li}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break li}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break ji}b=z[d+4>>2]}b=b^A[u+42304|0];z[k+256>>2]=b?n:l;z[e>>2]=z[e>>2]|256;z[j+4>>2]=z[j+4>>2]|64;c=b<<22|c|128}e=(A[z[H+108>>2]+(c>>>6&495)|0]<<2)+H|0;d=z[e+28>>2];b=z[d>>2];a=a-b|0;mi:{if(f>>>16>>>0>>0){q=z[d+4>>2];r=a>>>0>>0;z[e+28>>2]=z[d+(r?8:12)>>2];while(1){ni:{if(g){break ni}d=z[H+16>>2];e=d+1|0;a=A[d+1|0];if(A[d|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ni}z[H+16>>2]=e;f=(a<<9)+f|0;g=7;break ni}z[H+16>>2]=e;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=r?q:!q;break mi}f=f-(b<<16)|0;if(!(a&32768)){q=z[d+4>>2];r=a>>>0>>0;z[e+28>>2]=z[d+(r?12:8)>>2];while(1){oi:{if(g){break oi}d=z[H+16>>2];e=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break oi}z[H+16>>2]=e;f=(b<<9)+f|0;g=7;break oi}z[H+16>>2]=e;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!q:q;break mi}b=z[d+4>>2]}if(!b){break $h}}e=j-4|0;u=z[j+4>>2]>>>23&4|(z[e>>2]>>>25&1|(c>>>18&16|(c>>>22&64|c>>>6&170)));q=(A[u+42048|0]<<2)+H|0;d=z[q+28>>2];b=z[d>>2];a=a-b|0;pi:{if(f>>>16>>>0>>0){r=z[d+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[d+(q?8:12)>>2];while(1){qi:{if(g){break qi}d=z[H+16>>2];g=d+1|0;a=A[d+1|0];if(A[d|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break qi}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break qi}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break pi}f=f-(b<<16)|0;if(!(a&32768)){r=z[d+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[d+(q?12:8)>>2];while(1){ri:{if(g){break ri}d=z[H+16>>2];g=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ri}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break ri}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break pi}b=z[d+4>>2]}b=b^A[u+42304|0];z[k+512>>2]=b?n:l;z[e>>2]=z[e>>2]|2048;z[j+4>>2]=z[j+4>>2]|512;c=b<<25|c|1024}q=(A[z[H+108>>2]+(c>>>9&495)|0]<<2)+H|0;d=q+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;si:{if(f>>>16>>>0>>0){r=z[e+4>>2];u=q;q=a>>>0>>0;z[u+28>>2]=z[e+(q?8:12)>>2];while(1){ti:{if(g){break ti}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ti}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break ti}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break si}f=f-(b<<16)|0;if(!(a&32768)){r=z[e+4>>2];u=q;q=a>>>0>>0;z[u+28>>2]=z[e+(q?12:8)>>2];while(1){ui:{if(g){break ui}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break ui}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break ui}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break si}b=z[e+4>>2]}if(!b){break Nh}}q=j-4|0;r=z[j+4>>2]>>>26&4|(z[q>>2]>>>28&1|(c>>>21&16|(c>>>25&64|c>>>9&170)));u=(A[r+42048|0]<<2)+H|0;d=u+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;if(f>>>16>>>0>>0){v=z[e+4>>2];M=u;u=a>>>0>>0;z[M+28>>2]=z[e+(u?8:12)>>2];while(1){vi:{if(g){break vi}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break vi}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break vi}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=u?v:!v;break Oh}f=f-(b<<16)|0;if(a&32768){break Qh}v=z[e+4>>2];M=u;u=a>>>0>>0;z[M+28>>2]=z[(u?12:8)+e>>2];while(1){wi:{if(g){break wi}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break wi}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break wi}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=u?!v:v;break Oh}xi:{if(c&2097168){break xi}q=(A[z[H+108>>2]+(c&495)|0]<<2)+H|0;d=q+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;yi:{if(f>>>16>>>0>>0){r=z[e+4>>2];u=q;q=a>>>0>>0;z[u+28>>2]=z[e+(q?8:12)>>2];while(1){zi:{if(g){break zi}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break zi}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break zi}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break yi}f=f-(b<<16)|0;if(!(a&32768)){r=z[e+4>>2];u=q;q=a>>>0>>0;z[u+28>>2]=z[e+(q?12:8)>>2];while(1){Ai:{if(g){break Ai}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ai}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Ai}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break yi}b=z[e+4>>2]}if(!b){break xi}q=j-4|0;v=z[j+4>>2]>>>17&4|(z[q>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));r=(A[v+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Bi:{if(f>>>16>>>0>>0){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?8:12)>>2];while(1){Ci:{if(g){break Ci}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ci}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ci}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=r?u:!u;break Bi}f=f-(b<<16)|0;if(!(a&32768)){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?12:8)>>2];while(1){Di:{if(g){break Di}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Di}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Di}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!u:u;break Bi}b=z[e+4>>2]}b=b^A[v+42304|0];z[k>>2]=b?n:l;z[q>>2]=z[q>>2]|32;z[j+4>>2]=z[j+4>>2]|8;c=b<<19|c|16}Ei:{if(c&16777344){break Ei}u=c>>>3|0;q=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=q+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Fi:{if(f>>>16>>>0>>0){r=z[e+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[e+(q?8:12)>>2];while(1){Gi:{if(g){break Gi}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Gi}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Gi}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break Fi}f=f-(b<<16)|0;if(!(a&32768)){r=z[e+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[e+(q?12:8)>>2];while(1){Hi:{if(g){break Hi}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Hi}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Hi}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break Fi}b=z[e+4>>2]}if(!b){break Ei}q=j-4|0;v=z[j+4>>2]>>>20&4|(z[q>>2]>>>22&1|(c>>>15&16|(c>>>19&64|u&170)));r=(A[v+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Ii:{if(f>>>16>>>0>>0){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?8:12)>>2];while(1){Ji:{if(g){break Ji}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ji}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ji}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=r?u:!u;break Ii}f=f-(b<<16)|0;if(!(a&32768)){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?12:8)>>2];while(1){Ki:{if(g){break Ki}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ki}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Ki}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!u:u;break Ii}b=z[e+4>>2]}b=b^A[v+42304|0];z[k+256>>2]=b?n:l;z[q>>2]=z[q>>2]|256;z[j+4>>2]=z[j+4>>2]|64;c=b<<22|c|128}Li:{if(c&134218752){break Li}u=c>>>6|0;q=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=q+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Mi:{if(f>>>16>>>0>>0){r=z[e+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[e+(q?8:12)>>2];while(1){Ni:{if(g){break Ni}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ni}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ni}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=q?r:!r;break Mi}f=f-(b<<16)|0;if(!(a&32768)){r=z[e+4>>2];v=q;q=a>>>0>>0;z[v+28>>2]=z[e+(q?12:8)>>2];while(1){Oi:{if(g){break Oi}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Oi}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Oi}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=q?!r:r;break Mi}b=z[e+4>>2]}if(!b){break Li}q=j-4|0;v=z[j+4>>2]>>>23&4|(z[q>>2]>>>25&1|(c>>>18&16|(c>>>22&64|u&170)));r=(A[v+42048|0]<<2)+H|0;d=r+28|0;e=z[d>>2];b=z[e>>2];a=a-b|0;Pi:{if(f>>>16>>>0>>0){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?8:12)>>2];while(1){Qi:{if(g){break Qi}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Qi}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Qi}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=r?u:!u;break Pi}f=f-(b<<16)|0;if(!(a&32768)){u=z[e+4>>2];M=r;r=a>>>0>>0;z[M+28>>2]=z[e+(r?12:8)>>2];while(1){Ri:{if(g){break Ri}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ri}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Ri}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=r?!u:u;break Pi}b=z[e+4>>2]}b=b^A[v+42304|0];z[k+512>>2]=b?n:l;z[q>>2]=z[q>>2]|2048;z[j+4>>2]=z[j+4>>2]|512;c=b<<25|c|1024}if(c&1073750016){break Nh}e=a;u=c>>>9|0;q=(A[z[H+108>>2]+(u&495)|0]<<2)+H|0;d=q+28|0;a=z[d>>2];b=z[a>>2];e=e-b|0;Si:{if(f>>>16>>>0>>0){r=z[a+4>>2];v=q;q=b>>>0>e>>>0;z[v+28>>2]=z[a+(q?8:12)>>2];while(1){Ti:{if(g){break Ti}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ti}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ti}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}e=b;a=q?r:!r;break Si}f=f-(b<<16)|0;if(!(e&32768)){r=z[a+4>>2];v=q;q=b>>>0>e>>>0;z[v+28>>2]=z[a+(q?12:8)>>2];while(1){Ui:{if(g){break Ui}b=z[H+16>>2];g=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Ui}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Ui}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;e=e<<1;if(e>>>0<32768){continue}break}a=q?!r:r;break Si}a=z[a+4>>2]}if(!a){a=e;break Nh}b=e;q=j-4|0;r=z[j+4>>2]>>>26&4|(z[q>>2]>>>28&1|(c>>>21&16|(c>>>25&64|u&170)));u=(A[r+42048|0]<<2)+H|0;d=u+28|0;e=z[d>>2];a=z[e>>2];b=b-a|0;if(f>>>16>>>0>>0){v=z[e+4>>2];M=u;u=a>>>0>b>>>0;z[M+28>>2]=z[(u?8:12)+e>>2];while(1){Vi:{if(g){break Vi}e=z[H+16>>2];g=e+1|0;b=A[e+1|0];if(A[e|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Vi}z[H+16>>2]=g;f=(b<<9)+f|0;g=7;break Vi}z[H+16>>2]=g;g=8;f=(b<<8)+f|0}g=g-1|0;f=f<<1;a=a<<1;if(a>>>0<32768){continue}break}b=u?v:!v;break Oh}f=f-(a<<16)|0;if(!(b&32768)){break Ph}a=b}b=z[e+4>>2];break Oh}v=z[e+4>>2];M=u;u=a>>>0>b>>>0;z[M+28>>2]=z[e+(u?12:8)>>2];while(1){Wi:{if(g){break Wi}e=z[H+16>>2];g=e+1|0;a=A[e+1|0];if(A[e|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;f=f+65280|0;g=8;break Wi}z[H+16>>2]=g;f=(a<<9)+f|0;g=7;break Wi}z[H+16>>2]=g;g=8;f=(a<<8)+f|0}g=g-1|0;f=f<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=u?!v:v}b=b^A[r+42304|0];z[k+768>>2]=b?n:l;z[q>>2]=z[q>>2]|16384;z[j+4>>2]=z[j+4>>2]|4096;z[j+260>>2]=z[j+260>>2]|4;z[j+268>>2]=z[j+268>>2]|1;z[j+264>>2]=z[j+264>>2]|b<<18|2;c=b<<28|c|8192}z[j>>2]=c&-1226833921}c=j+4|0;b=k+4|0;m=m+1|0;if((m|0)!=64){continue}break}c=j+12|0;b=k+772|0;e=p>>>0<60;p=p+4|0;if(e){continue}break}}z[H+8>>2]=g;z[H+4>>2]=a;z[H>>2]=f;z[H+104>>2]=d}Xi:{if(!(E&32)){break Xi}z[H+104>>2]=H+100;c=z[H+100>>2];a=z[c>>2];f=z[H+4>>2]-a|0;z[H+4>>2]=f;g=z[H>>2];Yi:{if(g>>>16>>>0>>0){z[H+4>>2]=a;c=z[(a>>>0>f>>>0?8:12)+c>>2];z[H+100>>2]=c;f=z[H+8>>2];while(1){Zi:{if(f){break Zi}d=z[H+16>>2];e=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;g=g+65280|0;f=8;break Zi}z[H+16>>2]=e;g=(b<<9)+g|0;f=7;break Zi}z[H+16>>2]=e;f=8;g=(b<<8)+g|0}f=f-1|0;z[H+8>>2]=f;g=g<<1;z[H>>2]=g;a=a<<1;z[H+4>>2]=a;if(a>>>0<32768){continue}break}f=a;break Yi}g=g-(a<<16)|0;z[H>>2]=g;if(f&32768){break Yi}c=z[(a>>>0>f>>>0?12:8)+c>>2];z[H+100>>2]=c;a=z[H+8>>2];while(1){_i:{if(a){break _i}a=z[H+16>>2];d=a+1|0;b=A[a+1|0];if(A[a|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;g=g+65280|0;a=8;break _i}z[H+16>>2]=d;g=(b<<9)+g|0;a=7;break _i}z[H+16>>2]=d;a=8;g=(b<<8)+g|0}a=a-1|0;z[H+8>>2]=a;g=g<<1;z[H>>2]=g;f=f<<1;z[H+4>>2]=f;if(f>>>0<32768){continue}break}}a=z[c>>2];f=f-a|0;z[H+4>>2]=f;$i:{if(g>>>16>>>0>>0){z[H+4>>2]=a;c=z[(a>>>0>f>>>0?8:12)+c>>2];z[H+100>>2]=c;f=z[H+8>>2];while(1){aj:{if(f){break aj}d=z[H+16>>2];e=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;g=g+65280|0;f=8;break aj}z[H+16>>2]=e;g=(b<<9)+g|0;f=7;break aj}z[H+16>>2]=e;f=8;g=(b<<8)+g|0}f=f-1|0;z[H+8>>2]=f;g=g<<1;z[H>>2]=g;a=a<<1;z[H+4>>2]=a;if(a>>>0<32768){continue}break}f=a;break $i}g=g-(a<<16)|0;z[H>>2]=g;if(f&32768){break $i}c=z[(a>>>0>f>>>0?12:8)+c>>2];z[H+100>>2]=c;a=z[H+8>>2];while(1){bj:{if(a){break bj}a=z[H+16>>2];d=a+1|0;b=A[a+1|0];if(A[a|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;g=g+65280|0;a=8;break bj}z[H+16>>2]=d;g=(b<<9)+g|0;a=7;break bj}z[H+16>>2]=d;a=8;g=(b<<8)+g|0}a=a-1|0;z[H+8>>2]=a;g=g<<1;z[H>>2]=g;f=f<<1;z[H+4>>2]=f;if(f>>>0<32768){continue}break}}a=z[c>>2];f=f-a|0;z[H+4>>2]=f;cj:{if(g>>>16>>>0>>0){z[H+4>>2]=a;c=z[(a>>>0>f>>>0?8:12)+c>>2];z[H+100>>2]=c;f=z[H+8>>2];while(1){dj:{if(f){break dj}d=z[H+16>>2];e=d+1|0;b=A[d+1|0];if(A[d|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;g=g+65280|0;f=8;break dj}z[H+16>>2]=e;g=(b<<9)+g|0;f=7;break dj}z[H+16>>2]=e;f=8;g=(b<<8)+g|0}f=f-1|0;z[H+8>>2]=f;g=g<<1;z[H>>2]=g;a=a<<1;z[H+4>>2]=a;if(a>>>0<32768){continue}break}f=a;break cj}g=g-(a<<16)|0;z[H>>2]=g;if(f&32768){break cj}c=z[(a>>>0>f>>>0?12:8)+c>>2];z[H+100>>2]=c;a=z[H+8>>2];while(1){ej:{if(a){break ej}a=z[H+16>>2];d=a+1|0;b=A[a+1|0];if(A[a|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;g=g+65280|0;a=8;break ej}z[H+16>>2]=d;g=(b<<9)+g|0;a=7;break ej}z[H+16>>2]=d;a=8;g=(b<<8)+g|0}a=a-1|0;z[H+8>>2]=a;g=g<<1;z[H>>2]=g;f=f<<1;z[H+4>>2]=f;if(f>>>0<32768){continue}break}}a=z[c>>2];f=f-a|0;z[H+4>>2]=f;if(g>>>16>>>0>>0){z[H+4>>2]=a;z[H+100>>2]=z[(a>>>0>f>>>0?8:12)+c>>2];f=z[H+8>>2];while(1){fj:{if(f){break fj}c=z[H+16>>2];d=c+1|0;b=A[c+1|0];if(A[c|0]==255){if(b>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;g=g+65280|0;f=8;break fj}z[H+16>>2]=d;g=(b<<9)+g|0;f=7;break fj}z[H+16>>2]=d;f=8;g=(b<<8)+g|0}f=f-1|0;z[H+8>>2]=f;g=g<<1;z[H>>2]=g;a=a<<1;z[H+4>>2]=a;if(a>>>0<32768){continue}break}break Xi}d=g-(a<<16)|0;z[H>>2]=d;if(f&32768){break Xi}z[H+100>>2]=z[(a>>>0>f>>>0?12:8)+c>>2];g=z[H+8>>2];while(1){gj:{if(g){break gj}b=z[H+16>>2];c=b+1|0;a=A[b+1|0];if(A[b|0]==255){if(a>>>0>=144){z[H+12>>2]=z[H+12>>2]+1;d=d+65280|0;g=8;break gj}z[H+16>>2]=c;d=(a<<9)+d|0;g=7;break gj}z[H+16>>2]=c;g=8;d=(a<<8)+d|0}g=g-1|0;z[H+8>>2]=g;d=d<<1;z[H>>2]=d;f=f<<1;z[H+4>>2]=f;if(f>>>0<32768){continue}break}}}if(ja){break Qa}Oc(H);z[H+100>>2]=39968;z[H+96>>2]=38592;z[H+28>>2]=38624}b=J+1|0;a=(b|0)==3;J=a?0:b;s=s-a|0;_=_+1|0;if(_>>>0>=C[U+8>>2]){break Pa}if((s|0)>0){continue}break}}K=K+ia|0;a=z[H+24>>2];b=B[H+112>>1];x[a|0]=b;x[a+1|0]=b>>>8;w=w+1|0;if(w>>>0>2]){continue}break}}hj:{if(!Z){break hj}ij:{a=z[H+24>>2];b=z[H+16>>2];if(a>>>0>b+2>>>0){if(!W){break ij}a=z[H+16>>2];b=z[H+24>>2];c=z[H+20>>2];z[P+56>>2]=b-c;z[P+52>>2]=a-c;z[P+48>>2]=(b-a|0)-2;sb(N,2,30513,P+48|0);break hj}a=z[H+12>>2];if(a>>>0<3){break hj}if(W){z[P+80>>2]=z[H+12>>2];sb(N,2,19993,P+80|0);break hj}z[P+64>>2]=a;sb(N,2,19993,P- -64|0);break hj}c=z[H+20>>2];z[P+40>>2]=a-c;z[P+36>>2]=b-c;z[P+32>>2]=(a-b|0)-2;sb(N,2,30513,P+32|0)}if(!z[L+60>>2]){break f}z[H+116>>2]=o}j=z[L+8>>2]-z[ea>>2]|0;a=z[ea+16>>2];if(a&1){b=(z[ca+28>>2]+F(la,152)|0)-152|0;j=(z[b+8>>2]+j|0)-z[b>>2]|0}b=z[L+12>>2]-z[ea+4>>2]|0;if(a&2){a=(z[ca+28>>2]+F(la,152)|0)-152|0;b=(z[a+12>>2]+b|0)-z[a+4>>2]|0}e=z[L+60>>2];m=e?e:z[H+116>>2];d=z[H+128>>2];c=z[H+124>>2];f=z[da+808>>2];jj:{if(!f){break jj}a=!d|!c;if((f|0)<=30){if(a){break jj}p=0;while(1){i=F(c,p);a=0;while(1){k=(a+i<<2)+m|0;g=z[k>>2];h=g>>31;h=(g^h)-h|0;if(h>>>f|0){h=h>>>z[da+808>>2]|0;z[k>>2]=(g|0)<0?0-h|0:h}a=a+1|0;if((c|0)!=(a|0)){continue}break}p=p+1|0;if((d|0)!=(p|0)){continue}break}break jj}if(a){break jj}Id(m,0,F(c,d)<<2)}if(e){b=F(c,d);if(z[da+20>>2]==1){if(!b){break a}a=0;if((b|0)!=1){c=b&-2;H=0;while(1){d=a<<2;e=d+m|0;z[e>>2]=z[e>>2]/2;d=(d|4)+m|0;z[d>>2]=z[d>>2]/2;a=a+2|0;H=H+2|0;if((c|0)!=(H|0)){continue}break}}if(!(b&1)){break a}a=(a<<2)+m|0;z[a>>2]=z[a>>2]/2;break a}if(!b){break a}aa=G(D[ea+32>>2]*G(.5));if(b>>>0>=4){c=b&-4;a=0;while(1){D[m>>2]=aa*G(z[m>>2]);D[m+4>>2]=aa*G(z[m+4>>2]);D[m+8>>2]=aa*G(z[m+8>>2]);D[m+12>>2]=aa*G(z[m+12>>2]);m=m+16|0;a=a+4|0;if((c|0)!=(a|0)){continue}break}}b=b&3;if(!b){break a}a=0;while(1){D[m>>2]=aa*G(z[m>>2]);m=m+4|0;a=a+1|0;if((b|0)!=(a|0)){continue}break}break a}f=sa-ra|0;if(z[da+20>>2]==1){if(!d){break a}g=z[ca+36>>2]+(F(b,f)+j<<2)|0;j=c&-4;e=0;while(1){a=0;if(j){i=F(e,f);k=F(c,e);while(1){b=(a+k<<2)+m|0;l=z[b+12>>2];n=z[b+8>>2];o=z[b+4>>2];h=g+(a+i<<2)|0;z[h>>2]=z[b>>2]/2;z[h+4>>2]=(o|0)/2;z[h+8>>2]=(n|0)/2;z[h+12>>2]=(l|0)/2;a=a+4|0;if(j>>>0>a>>>0){continue}break}}kj:{if(a>>>0>=c>>>0){break kj}b=a+1|0;h=F(e,f);i=F(c,e);if(c-a&1){z[g+(a+h<<2)>>2]=z[(a+i<<2)+m>>2]/2;a=b}if((b|0)==(c|0)){break kj}while(1){z[g+(a+h<<2)>>2]=z[(a+i<<2)+m>>2]/2;b=a+1|0;z[g+(b+h<<2)>>2]=z[(b+i<<2)+m>>2]/2;a=a+2|0;if((c|0)!=(a|0)){continue}break}}e=e+1|0;if((d|0)!=(e|0)){continue}break}break a}if(!d|!c){break a}aa=G(D[ea+32>>2]*G(.5));h=c&-4;g=c&3;e=z[ca+36>>2]+(F(b,f)+j<<2)|0;k=0;b=c-1>>>0<3;while(1){a=e;H=0;if(!b){while(1){D[a>>2]=aa*G(z[m>>2]);D[a+4>>2]=aa*G(z[m+4>>2]);D[a+8>>2]=aa*G(z[m+8>>2]);D[a+12>>2]=aa*G(z[m+12>>2]);a=a+16|0;m=m+16|0;H=H+4|0;if((h|0)!=(H|0)){continue}break}}H=0;if(g){while(1){D[a>>2]=aa*G(z[m>>2]);a=a+4|0;m=m+4|0;H=H+1|0;if((g|0)!=(H|0)){continue}break}}e=(f<<2)+e|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}break a}z[P>>2]=s;sb(N,2,22284,P)}z[z[e>>2]>>2]=0}le(t);Fa=P+96|0;Ka=0;return 0} +function Wb(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,B=0,E=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=G(0),ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Ga=0,Ha=0,Ia=0,Ja=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,$a=0,ab=0,bb=0,cb=0;ta=Fa-16|0;Fa=ta;a:{if(!(A[a+8|0]&128)|z[a+204>>2]!=(b|0)){break a}g=z[a+156>>2];za=g+F(b,5644)|0;M=z[za+5596>>2];if(!M){Sb(za);break a}K=z[a+208>>2];B=z[a+76>>2];if(!B){B=z[a+72>>2]}k=z[B>>2];j=z[B+4>>2];l=z[B+8>>2];o=z[B+12>>2];i=z[a+60>>2];h=z[a- -64>>2];Ua=g+F(b,5644)|0;n=z[Ua+5600>>2];na=Fa-16|0;Fa=na;z[K+36>>2]=b;g=z[z[K+28>>2]+76>>2];z[K+64>>2]=1;z[K+60>>2]=o;z[K+56>>2]=l;z[K+52>>2]=j;z[K+48>>2]=k;z[K+32>>2]=g+F(b,5644);le(z[K+68>>2]);z[K+68>>2]=0;b:{if(i){P=ud(4,z[z[K+24>>2]+16>>2]);if(!P){break b}b=0;if(i>>>0>=4){j=i&-4;g=0;while(1){k=b<<2;z[(z[k+h>>2]<<2)+P>>2]=1;z[(z[h+(k|4)>>2]<<2)+P>>2]=1;z[(z[h+(k|8)>>2]<<2)+P>>2]=1;z[(z[h+(k|12)>>2]<<2)+P>>2]=1;b=b+4|0;g=g+4|0;if((j|0)!=(g|0)){continue}break}}g=i&3;if(g){while(1){z[(z[h+(b<<2)>>2]<<2)+P>>2]=1;b=b+1|0;aa=aa+1|0;if((g|0)!=(aa|0)){continue}break}}z[K+68>>2]=P}c:{h=z[K+24>>2];I=z[h+16>>2];d:{if(!I){break d}b=0;e:{while(1){f:{if(z[(b<<2)+P>>2]?0:P){break f}p=z[h+24>>2]+F(b,52)|0;g=z[p+4>>2];k=g-1|0;o=z[K+60>>2];i=k+o|0;j=0-!g|0;o=ro(i,i>>>0>>0?j+1|0:j,g,0);i=z[p>>2];p=i-1|0;m=z[K+56>>2];s=p+m|0;w=0-!i|0;l=w;s=ro(s,m>>>0>s>>>0?l+1|0:l,i,0);m=z[K+52>>2];k=m+k|0;g=ro(k,k>>>0>>0?j+1|0:j,g,0);k=z[z[z[K+20>>2]>>2]+20>>2]+F(b,76)|0;j=z[k+20>>2]-z[k+24>>2]|0;if(j>>>0>31){break f}l=w;m=z[K+48>>2];p=m+p|0;i=ro(p,m>>>0>p>>>0?l+1|0:l,i,0);l=i-z[k>>2]|0;g:{if((i>>>0>=l>>>0?l:0)>>>j|0){break g}i=g-z[k+4>>2]|0;if((g>>>0>=i>>>0?i:0)>>>j|0){break g}g=z[k+8>>2];i=g-s|0;if((g>>>0>=i>>>0?i:0)>>>j|0){break g}g=z[k+12>>2];i=g-o|0;if(!((g>>>0>=i>>>0?i:0)>>>j|0)){break f}}z[K+64>>2]=0;break e}b=b+1|0;if((I|0)!=(b|0)){continue}break}if(!z[K+64>>2]){break e}if(!I){break d}B=0;while(1){g=z[z[z[K+20>>2]>>2]+20>>2]+F(B,76)|0;b=(F(z[g+24>>2],152)+z[g+28>>2]|0)-152|0;h=z[b+4>>2];i=z[b+12>>2];k=z[b>>2];j=z[b+8>>2];b=z[K+68>>2];h:{if(z[b+(B<<2)>>2]?0:b){break h}b=i-h|0;k=j-k|0;i:{if((h|0)==(i|0)){break i}po(b,0,k,0);if(!Ka){break i}aa=0;sb(f,1,8234,0);break b}b=F(b,k);if(b>>>0>=1073741824){aa=0;sb(f,1,8234,0);break b}b=b<<2;z[g+44>>2]=b;j:{k:{l:{m:{h=z[g+36>>2];if(h){if(b>>>0<=C[g+48>>2]){break h}if(z[g+40>>2]){break m}}b=vd(b);z[g+36>>2]=b;h=b;b=z[g+44>>2];if(!(b?h:1)){break l}z[g+48>>2]=b;b=g+40|0;break j}b=g+40|0;le(h);h=vd(z[g+44>>2]);z[g+36>>2]=h;if(h){break k}z[g+48>>2]=0;z[g+44>>2]=0;z[g+40>>2]=0}aa=0;sb(f,1,8234,0);break b}z[g+48>>2]=z[g+44>>2]}z[b>>2]=1}B=B+1|0;h=z[K+24>>2];if(B>>>0>2]){continue}break}break d}if(!I){break d}Y=z[h+24>>2];v=z[z[z[K+20>>2]>>2]+20>>2];g=0;while(1){n:{if(z[(g<<2)+P>>2]?0:P){break n}b=v+F(g,76)|0;j=z[b>>2];o=Y+F(g,52)|0;i=z[o>>2];p=i-1|0;s=z[K+48>>2];k=p+s|0;w=0-!i|0;l=w;k=ro(k,k>>>0>>0?l+1|0:l,i,0);j=j>>>0>k>>>0?j:k;z[b+56>>2]=j;k=z[o+4>>2];s=k-1|0;t=z[K+52>>2];o=s+t|0;m=0-!k|0;u=z[b+4>>2];l=ro(o,o>>>0>>0?m+1|0:m,k,0);o=l>>>0>>0?u:l;z[b+60>>2]=o;l=w;u=z[b+8>>2];t=z[K+56>>2];p=t+p|0;i=ro(p,p>>>0>>0?l+1|0:l,i,0);i=i>>>0>u>>>0?u:i;z[b+64>>2]=i;w=z[b+12>>2];l=s;s=z[K+60>>2];p=l+s|0;k=ro(p,p>>>0>>0?m+1|0:m,k,0);k=k>>>0>w>>>0?w:k;z[b+68>>2]=k;if(i>>>0>>0|k>>>0>>0){break c}p=z[b+20>>2];if(!p){break n}S=z[b+28>>2];w=k;m=i;u=o;t=j;s=0;o=0;k=0;while(1){b=S+F(o,152)|0;j=p+(s^-1)|0;i=j&31;if((j&63)>>>0>=32){l=-1<>>32-i;i=-1<>>0>L>>>0?i+1|0:i;L=j&31;z[b+148>>2]=(j&63)>>>0>=32?l>>>L|0:((1<>>L;L=m+r|0;l=L>>>0>>0?i+1|0:i;V=L;L=j&31;z[b+144>>2]=(j&63)>>>0>=32?l>>>L|0:((1<>>L;L=r+u|0;l=L>>>0>>0?i+1|0:i;V=L;L=j&31;z[b+140>>2]=(j&63)>>>0>=32?l>>>L|0:((1<>>L;l=i;V=b;i=r+t|0;l=i>>>0>>0?l+1|0:l;b=j&31;z[V+136>>2]=(j&63)>>>0>=32?l>>>b|0:((1<>>b;s=s+1|0;o=o+1|0;l=o?k:k+1|0;k=l;if((o|0)!=(p|0)|k){continue}break}}g=g+1|0;if((I|0)!=(g|0)){continue}break}}aa=0;z[na+8>>2]=0;I=Zc(h,z[K+28>>2]);if(!I){break b}L=z[z[K+20>>2]>>2];m=Fa-144|0;Fa=m;r=z[K+36>>2];b=F(r,5644);j=z[I+4>>2];Y=b+z[j+76>>2]|0;da=z[Y+420>>2];o=0;p=0;w=0;s=Fa-32|0;Fa=s;S=z[j+76>>2];ha=S+b|0;E=z[ha+420>>2];V=z[I>>2];v=V;u=z[v+16>>2];k=td(F(u,528));o:{if(!k){break o}h=td(u<<2);p:{if(!h){h=k;break p}b=Cc(v,z[j+76>>2],r,f);if(b){q:{if(!u){break q}g=k;if(u>>>0>=8){l=u&-8;while(1){i=J<<2;z[i+h>>2]=g;z[(i|4)+h>>2]=g+528;z[(i|8)+h>>2]=g+1056;z[(i|12)+h>>2]=g+1584;z[(i|16)+h>>2]=g+2112;z[(i|20)+h>>2]=g+2640;z[(i|24)+h>>2]=g+3168;z[(i|28)+h>>2]=g+3696;J=J+8|0;g=g+4224|0;o=o+8|0;if((l|0)!=(o|0)){continue}break}}i=u&7;if(!i){break q}while(1){z[(J<<2)+h>>2]=g;J=J+1|0;g=g+528|0;p=p+1|0;if((i|0)!=(p|0)){continue}break}}p=E+1|0;Dc(v,j,r,s+20|0,s+16|0,s+12|0,s+8|0,s+4|0,s,s+24|0,s+28|0,h);_=z[s+28>>2];t=z[s+24>>2];z[b+4>>2]=0;T=S+F(r,5644)|0;g=z[T+8>>2]+1|0;U=F(t,u);O=F(U,_);po(g,0,O,0);r:{if(!Ka){g=F(g,O);z[b+8>>2]=g;g=ud(g,2);z[b+4>>2]=g;if(g){break r}}le(k);le(h);g=z[b+4>>2];if(g){le(g);z[b+4>>2]=0}if(!p){h=b;break p}i=0;o=b;while(1){g=z[o+200>>2];if(g){v=0;J=z[o+196>>2];if(J){while(1){h=z[g+12>>2];if(h){le(h);z[g+12>>2]=0;J=z[o+196>>2]}g=g+16|0;v=v+1|0;if(J>>>0>v>>>0){continue}break}g=z[o+200>>2]}le(g);z[o+200>>2]=0}o=o+240|0;g=(i|0)==(E|0);i=i+1|0;if(!g){continue}break}h=b;break p}j=z[v+24>>2];$=z[s+20>>2];z[b+204>>2]=$;ia=z[s+12>>2];z[b+208>>2]=ia;N=z[s+16>>2];z[b+212>>2]=N;fa=z[s+8>>2];z[b+216>>2]=fa;z[b+12>>2]=O;z[b+16>>2]=U;z[b+20>>2]=t;w=1;z[b+24>>2]=1;if(u){o=z[b+200>>2];i=j;while(1){g=z[(Q<<2)+h>>2];z[o>>2]=z[i>>2];z[o+4>>2]=z[i+4>>2];l=z[o+8>>2];s:{if(!l){break s}v=z[o+12>>2];if((l|0)!=1){W=l&-2;J=0;while(1){z[v>>2]=z[g>>2];z[v+4>>2]=z[g+4>>2];z[v+8>>2]=z[g+8>>2];z[v+12>>2]=z[g+12>>2];z[v+16>>2]=z[g+16>>2];z[v+20>>2]=z[g+20>>2];z[v+24>>2]=z[g+24>>2];z[v+28>>2]=z[g+28>>2];v=v+32|0;g=g+32|0;J=J+2|0;if((W|0)!=(J|0)){continue}break}}if(!(l&1)){break s}z[v>>2]=z[g>>2];z[v+4>>2]=z[g+4>>2];z[v+8>>2]=z[g+8>>2];z[v+12>>2]=z[g+12>>2]}i=i+52|0;o=o+16|0;Q=Q+1|0;if((u|0)!=(Q|0)){continue}break}}if(p>>>0>1){p=b;while(1){z[p+456>>2]=fa;z[p+452>>2]=N;z[p+448>>2]=ia;z[p+444>>2]=$;z[p+264>>2]=1;z[p+260>>2]=t;z[p+256>>2]=U;z[p+252>>2]=O;if(u){o=z[p+440>>2];Q=0;i=j;while(1){g=z[(Q<<2)+h>>2];z[o>>2]=z[i>>2];z[o+4>>2]=z[i+4>>2];l=z[o+8>>2];t:{if(!l){break t}v=z[o+12>>2];if((l|0)!=1){W=l&-2;J=0;while(1){z[v>>2]=z[g>>2];z[v+4>>2]=z[g+4>>2];z[v+8>>2]=z[g+8>>2];z[v+12>>2]=z[g+12>>2];z[v+16>>2]=z[g+16>>2];z[v+20>>2]=z[g+20>>2];z[v+24>>2]=z[g+24>>2];z[v+28>>2]=z[g+28>>2];v=v+32|0;g=g+32|0;J=J+2|0;if((W|0)!=(J|0)){continue}break}}if(!(l&1)){break t}z[v>>2]=z[g>>2];z[v+4>>2]=z[g+4>>2];z[v+8>>2]=z[g+8>>2];z[v+12>>2]=z[g+12>>2]}i=i+52|0;o=o+16|0;Q=Q+1|0;if((u|0)!=(Q|0)){continue}break}}g=z[p+8>>2];z[p+244>>2]=z[p+4>>2];z[p+248>>2]=g;g=(w|0)!=(E|0);p=p+240|0;w=w+1|0;if(g){continue}break}}le(k);le(h);h=z[ha+420>>2];u:{if(A[(S+F(r,5644)|0)+5640|0]&4){if((h|0)==-1){break u}v=(S+F(r,5644)|0)+424|0;i=z[T+8>>2];J=0;g=b;while(1){k=z[v+36>>2];z[g+44>>2]=1;z[g+84>>2]=k;z[g+48>>2]=z[v>>2];k=z[v+4>>2];z[g+68>>2]=0;z[g+72>>2]=0;z[g+52>>2]=k;z[g+60>>2]=z[v+12>>2];z[g- -64>>2]=z[v+16>>2];k=z[v+8>>2];z[g+76>>2]=t;z[g+56>>2]=i>>>0>k>>>0?k:i;v=v+148|0;g=g+240|0;k=(h|0)==(J|0);J=J+1|0;if(!k){continue}break}break u}if((h|0)==-1){break u}j=h+1|0;l=j&1;i=z[(S+F(r,5644)|0)+4>>2];k=z[T+8>>2];g=b;if(h){h=j&-2;p=0;while(1){z[g+44>>2]=1;z[g+48>>2]=0;z[g+68>>2]=0;z[g+72>>2]=0;z[g+52>>2]=0;z[g+84>>2]=i;z[g+60>>2]=_;z[g- -64>>2]=z[g+196>>2];z[g+324>>2]=i;z[g+76>>2]=t;z[g+56>>2]=k;z[g+308>>2]=0;z[g+312>>2]=0;z[g+292>>2]=0;z[g+284>>2]=1;z[g+288>>2]=0;z[g+300>>2]=_;z[g+296>>2]=k;z[g+316>>2]=t;z[g+304>>2]=z[g+436>>2];g=g+480|0;p=p+2|0;if((h|0)!=(p|0)){continue}break}}if(!l){break u}z[g+44>>2]=1;z[g+48>>2]=0;z[g+68>>2]=0;z[g+72>>2]=0;z[g+52>>2]=0;z[g+84>>2]=i;z[g+60>>2]=_;z[g- -64>>2]=z[g+196>>2];z[g+76>>2]=t;z[g+56>>2]=k}w=b;break o}le(k)}le(h)}Fa=s+32|0;k=w;v:{w:{if(!k){break w}S=da+1|0;o=M;j=k;x:{y:{while(1){if(z[j+84>>2]==-1){break x}b=td(z[V+16>>2]<<2);if(!b){break x}Q=Id(b,1,z[V+16>>2]<<2);if(Ic(j)){while(1){i=z[L+20>>2];z:{A:{if(C[j+40>>2]>=C[Y+12>>2]){break A}g=z[j+32>>2];b=F(z[j+28>>2],76)+i|0;if(g>>>0>=C[b+24>>2]){break A}g=z[b+28>>2]+F(g,152)|0;if(!z[g+24>>2]){break A}s=0;B:{while(1){h=g+F(s,36)|0;b=z[h+48>>2]+F(z[j+36>>2],40)|0;if(!hd(K,z[j+28>>2],z[j+32>>2],z[h+44>>2],z[b>>2],z[b+4>>2],z[b+8>>2],z[b+12>>2])){s=s+1|0;if(s>>>0>2]){continue}break B}break}b=z[L+20>>2];z[Q+(z[j+28>>2]<<2)>>2]=0;z[m+136>>2]=0;if(!Yc(z[I+4>>2],b,Y,j,m+140|0,o,m+136|0,n,f)){break y}i=z[j+32>>2];s=z[j+28>>2];v=z[m+136>>2];if(z[m+140>>2]){p=0;z[m+136>>2]=0;_=z[(z[L+20>>2]+F(s,76)|0)+28>>2]+F(i,152)|0;i=z[_+24>>2];C:{if(!i){break C}p=n-v|0;O=n+o|0;r=_+28|0;w=0;b=0;E=o+v|0;t=E;while(1){D:{if(z[r+8>>2]==z[r>>2]|z[r+12>>2]==z[r+4>>2]){break D}g=z[r+20>>2]+F(z[j+36>>2],40)|0;T=F(z[g+20>>2],z[g+16>>2]);if(!T){break D}s=z[g+24>>2];J=0;while(1){if(b){z[s+52>>2]=0}h=z[s+36>>2];if(h){i=z[s>>2];l=z[s+40>>2];E:{if(l){g=F(l,24)+i|0;i=g-24|0;if(z[i+4>>2]!=z[i+12>>2]){break E}i=g;g=l+1|0}else{g=1}z[s+40>>2]=g}F:{while(1){g=z[i+20>>2];G:{if(!(!(b|g>>>0>(t^-1)>>>0)&O>>>0>=g+t>>>0)){b=z[j+28>>2];h=z[j+32>>2];l=z[j+36>>2];if(z[z[I+4>>2]+104>>2]){z[m+120>>2]=b;z[m+116>>2]=h;z[m+112>>2]=w;z[m+108>>2]=l;z[m+104>>2]=J;z[m+100>>2]=p;z[m+96>>2]=g;sb(f,1,29517,m+96|0);break y}z[m+88>>2]=b;z[m+84>>2]=h;z[m+80>>2]=w;z[m+76>>2]=l;z[m+72>>2]=J;z[m+68>>2]=p;z[m+64>>2]=g;sb(f,2,29517,m- -64|0);z[s+52>>2]=0;g=z[i+16>>2];z[i+4>>2]=g+z[i+4>>2];l=z[s+36>>2];h=l-g|0;z[s+36>>2]=h;b=1;if((g|0)==(l|0)){break G}i=z[s+40>>2]+1|0;z[s+40>>2]=i;break F}u=z[s+4>>2];b=z[s+52>>2];if(!((b|0)!=z[s+56>>2])){b=b<<1|1;u=xd(u,b<<3);if(!u){sb(f,1,1083,0);break y}z[s+56>>2]=b;z[s+4>>2]=u;b=z[s+52>>2];g=z[i+20>>2];h=z[s+36>>2]}l=h;h=(b<<3)+u|0;z[h+4>>2]=g;z[h>>2]=t;z[s+52>>2]=b+1;z[i>>2]=z[i>>2]+g;u=z[i+16>>2];b=u+z[i+4>>2]|0;z[i+4>>2]=b;h=l-u|0;z[s+36>>2]=h;z[i+8>>2]=b;t=g+t|0;b=0;if((l|0)==(u|0)){break G}z[s+40>>2]=z[s+40>>2]+1;i=i+24|0}if(h){continue}break}i=z[s+40>>2]}z[s+44>>2]=i}s=s- -64|0;J=J+1|0;if((T|0)!=(J|0)){continue}break}i=z[_+24>>2]}r=r+36|0;w=w+1|0;if(w>>>0>>0){continue}break}if(b){break C}p=t-E|0}v=p+v|0;s=z[j+28>>2];i=z[j+32>>2]}g=z[V+24>>2]+F(s,52)|0;b=z[g+36>>2];z[g+36>>2]=b>>>0>>0?i:b;break z}i=z[L+20>>2]}z[m+136>>2]=0;if(!Yc(z[I+4>>2],i,Y,j,m+140|0,o,m+136|0,n,f)){break y}s=z[j+28>>2];v=z[m+136>>2];if(!z[m+140>>2]){break z}t=z[(z[L+20>>2]+F(s,76)|0)+28>>2]+F(z[j+32>>2],152)|0;i=z[t+24>>2];if(!i){break z}l=n-v|0;w=t+28|0;b=0;J=0;while(1){H:{if(z[w+8>>2]==z[w>>2]|z[w+12>>2]==z[w+4>>2]){break H}g=z[w+20>>2]+F(z[j+36>>2],40)|0;_=F(z[g+20>>2],z[g+16>>2]);if(!_){break H}s=z[g+24>>2];u=0;while(1){I:{h=z[s+36>>2];if(!h){break I}i=z[s>>2];J:{K:{p=z[s+40>>2];if(p){i=F(p,24)+i|0;g=i-24|0;if(z[g+4>>2]!=z[g+12>>2]){i=g;break K}q=p+1|0}else{q=1}g=0;break J}g=1}while(1){if(!g){z[s+40>>2]=q;g=1;continue}L:{M:{p=z[i+20>>2];g=p+b|0;if(!(g>>>0>=p>>>0&g>>>0<=l>>>0)){g=z[j+28>>2];h=z[j+32>>2];r=z[j+36>>2];if(z[z[I+4>>2]+104>>2]){break M}z[m+24>>2]=g;z[m+20>>2]=h;z[m+16>>2]=J;z[m+12>>2]=r;z[m+8>>2]=u;z[m+4>>2]=l;z[m>>2]=p;sb(f,2,29432,m);h=z[s+36>>2];g=z[i+20>>2]+b|0}p=z[i+16>>2];z[i+4>>2]=p+z[i+4>>2];b=h-p|0;z[s+36>>2]=b;if((h|0)!=(p|0)){break L}b=g;break I}z[m+56>>2]=g;z[m+52>>2]=h;z[m+48>>2]=J;z[m+44>>2]=r;z[m+40>>2]=u;z[m+36>>2]=l;z[m+32>>2]=p;sb(f,1,29432,m+32|0);break y}i=i+24|0;q=z[s+40>>2]+1|0;h=b;b=g;g=0;continue}}s=s- -64|0;u=u+1|0;if((_|0)!=(u|0)){continue}break}i=z[t+24>>2]}w=w+36|0;J=J+1|0;if(J>>>0>>0){continue}break}s=z[j+28>>2];v=b+v|0}N:{if(!z[Q+(s<<2)>>2]){break N}b=z[V+24>>2]+F(s,52)|0;if(z[b+36>>2]){break N}z[b+36>>2]=z[(z[L+20>>2]+F(s,76)|0)+24>>2]-1}n=n-v|0;o=o+v|0;if(Ic(j)){continue}break}}le(Q);j=j+240|0;R=R+1|0;if(R>>>0<=C[Y+420>>2]){continue}break}Ec(k,S);z[na+8>>2]=o-M;b=1;break v}Ec(k,S);le(Q);break w}Ec(k,S)}b=0}Fa=m+144|0;_a(I);if(!b){break b}b=z[z[K+32>>2]+5584>>2];M=z[z[K+20>>2]>>2];s=z[M+20>>2];z[na+12>>2]=1;p=xb();B=0;h=0;g=z[K+32>>2];h=z[g+12>>2]==z[g+8>>2]?z[b+16>>2]>>>4&1:h;aa=z[M+16>>2];O:{if(!aa){break O}while(1){g=z[K+68>>2];if(!(z[g+(B<<2)>>2]?0:g)){t=na+12|0;o=0;i=z[s+24>>2];P:{if(!i){break P}m=z[K+44>>2];while(1){l=z[s+28>>2]+F(o,152)|0;n=z[l+24>>2];if(n){i=z[l+20>>2];j=z[l+16>>2];r=0;while(1){if(F(i,j)){w=l+F(r,36)|0;I=w+28|0;u=0;while(1){k=z[w+48>>2]+F(u,40)|0;i=hd(K,z[s+16>>2],o,z[w+44>>2],z[k>>2],z[k+4>>2],z[k+8>>2],z[k+12>>2]);j=z[k+20>>2];n=z[k+16>>2];g=F(j,n);Q:{if(i){if(!g){break Q}n=0;while(1){i=z[k+24>>2]+(n<<6)|0;R:{if(!hd(K,z[s+16>>2],o,z[w+44>>2],z[i+8>>2],z[i+12>>2],z[i+16>>2],z[i+20>>2])){g=z[i+60>>2];if(!g){break R}le(g);z[i+60>>2]=0;break R}if(!z[K+64>>2]){if(z[i+60>>2]|z[i+16>>2]==z[i+8>>2]|z[i+20>>2]==z[i+12>>2]){break R}}g=ud(1,44);if(!g){z[na+12>>2]=0;break P}j=z[K+64>>2];z[g+36>>2]=p;z[g+28>>2]=t;z[g+20>>2]=b;z[g+16>>2]=s;z[g+12>>2]=I;z[g+8>>2]=i;z[g+4>>2]=o;z[g>>2]=j;z[g+40>>2]=h;z[g+32>>2]=f;z[g+24>>2]=z[m+4>>2]>1;Cb(m,248,g);if(!z[na+12>>2]){break P}}n=n+1|0;if(n>>>0>2],z[k+16>>2])>>>0){continue}break}break Q}if(!g){break Q}i=0;while(1){g=z[k+24>>2]+(i<<6)|0;q=z[g+60>>2];if(q){le(q);z[g+60>>2]=0;n=z[k+16>>2];j=z[k+20>>2]}i=i+1|0;if(i>>>0>>0){continue}break}}u=u+1|0;j=z[l+16>>2];i=z[l+20>>2];if(u>>>0>>0){continue}break}n=z[l+24>>2]}r=r+1|0;if(r>>>0>>0){continue}break}i=z[s+24>>2]}o=o+1|0;if(o>>>0>>0){continue}break}}if(!z[na+12>>2]){break O}aa=z[M+16>>2]}b=b+1080|0;s=s+76|0;B=B+1|0;if(aa>>>0>B>>>0){continue}break}}aa=0;Db(z[K+44>>2]);if(p){_a(p)}if(!z[na+12>>2]){break b}S:{if(z[K+64>>2]){break S}s=z[K+24>>2];if(!z[s+16>>2]){break S}b=0;while(1){g=z[z[z[K+20>>2]>>2]+20>>2]+F(b,76)|0;h=z[g+28>>2]+F(z[(z[s+24>>2]+F(b,52)|0)+36>>2],152)|0;i=z[h+136>>2];k=z[h+144>>2];j=z[h+140>>2];h=z[h+148>>2];le(z[g+52>>2]);z[g+52>>2]=0;T:{n=z[K+68>>2];if((i|0)==(k|0)|(z[n+(b<<2)>>2]?0:n)|(h|0)==(j|0)){break T}h=h-j|0;i=k-i|0;po(h,0,i,0);if(Ka){sb(f,1,8234,0);break b}h=F(h,i);if(h>>>0>=1073741824){sb(f,1,8234,0);break b}i=g;g=vd(h<<2);z[i+52>>2]=g;if(g){break T}sb(f,1,8234,0);break b}b=b+1|0;s=z[K+24>>2];if(b>>>0>2]){continue}break}}b=z[K+32>>2];R=z[z[K+20>>2]>>2];if(z[R+16>>2]){B=z[R+20>>2];b=z[b+5584>>2];s=z[z[K+24>>2]+24>>2];P=0;while(1){U:{g=z[K+68>>2];if(z[g+(P<<2)>>2]?0:g){break U}h=z[s+36>>2]+1|0;if(z[b+20>>2]==1){V=h;g=0;X=Fa-32|0;Fa=X;V:{W:{if(z[K+64>>2]){h=1;if((V|0)==1){break V}j=z[B+28>>2];u=V-1|0;g=u&1;l=z[K+44>>2];X:{if((V|0)==2){n=0;k=j;break X}i=u&-2;n=0;k=j;h=0;while(1){o=z[k+160>>2]-z[k+152>>2]|0;n=n>>>0>o>>>0?n:o;o=z[k+164>>2]-z[k+156>>2]|0;n=n>>>0>o>>>0?n:o;o=z[k+312>>2]-z[k+304>>2]|0;n=n>>>0>o>>>0?n:o;o=z[k+316>>2]-z[k+308>>2]|0;n=n>>>0>o>>>0?n:o;k=k+304|0;h=h+2|0;if((i|0)!=(h|0)){continue}break}}if(g){g=z[k+160>>2]-z[k+152>>2]|0;g=g>>>0>>0?n:g;h=z[k+164>>2]-z[k+156>>2]|0;n=g>>>0>h>>>0?g:h}h=0;if(n>>>0>134217727){break V}g=(F(z[B+24>>2],152)+j|0)-152|0;i=z[g>>2];g=z[g+8>>2];k=z[j+4>>2];M=z[j+12>>2];t=z[j>>2];I=z[j+8>>2];p=z[l+4>>2];m=n<<5;o=wd(m);z[X+16>>2]=o;if(!o){break V}z[X>>2]=o;if(u){w=g-i|0;g=M-k|0;i=I-t|0;while(1){M=z[B+36>>2];h=g;z[X+8>>2]=g;g=i;z[X+24>>2]=g;k=z[j+156>>2];n=z[j+164>>2];i=z[j+160>>2];t=z[j+152>>2];z[X+28>>2]=(t|0)%2;i=i-t|0;z[X+20>>2]=i-g;q=(p|0)<2;g=n-k|0;Y:{if(!(!q&g>>>0>1)){k=0;if(!g){break Y}while(1){Ib(X+16|0,M+(F(k,w)<<2)|0);k=k+1|0;if((k|0)!=(g|0)){continue}break}break Y}t=g>>>0

>>0?g:p;r=t-1|0;I=(g>>>0)/(t>>>0)|0;n=0;while(1){k=td(36);if(!k){break W}L=z[X+20>>2];z[k>>2]=z[X+16>>2];z[k+4>>2]=L;L=z[X+28>>2];z[k+8>>2]=z[X+24>>2];z[k+12>>2]=L;z[k+28>>2]=F(n,I);z[k+24>>2]=M;z[k+20>>2]=w;z[k+16>>2]=i;L=(n|0)==(r|0);n=n+1|0;z[k+32>>2]=L?g:F(I,n);L=wd(m);z[k>>2]=L;if(!L){h=0;Db(l);le(k);le(o);break V}Cb(l,113,k);if((n|0)!=(t|0)){continue}break}Db(l)}z[X+4>>2]=g-h;z[X+12>>2]=z[j+156>>2]%2;Z:{if(!(!q&i>>>0>1)){n=8;k=0;if(i>>>0>=8){while(1){Jb(X,M+(k<<2)|0,w,8);k=n;n=k+8|0;if(n>>>0<=i>>>0){continue}break}}if(i>>>0<=k>>>0){break Z}Jb(X,M+(k<<2)|0,w,i-k|0);break Z}h=i>>>0

>>0?i:p;I=h-1|0;t=(i>>>0)/(h>>>0)|0;n=0;while(1){k=td(36);if(!k){break W}q=z[X+4>>2];z[k>>2]=z[X>>2];z[k+4>>2]=q;q=z[X+12>>2];z[k+8>>2]=z[X+8>>2];z[k+12>>2]=q;z[k+28>>2]=F(n,t);z[k+24>>2]=M;z[k+20>>2]=w;z[k+16>>2]=g;q=(n|0)==(I|0);n=n+1|0;z[k+32>>2]=q?i:F(t,n);q=wd(m);z[k>>2]=q;if(!q){h=0;Db(l);le(k);le(o);break V}Cb(l,114,k);if((h|0)!=(n|0)){continue}break}Db(l)}j=j+152|0;u=u-1|0;if(u){continue}break}}h=1;le(o);break V}h=1;o=z[B+28>>2];Aa=V-1|0;ua=o+F(Aa,152)|0;if(z[ua>>2]==z[ua+8>>2]|z[ua+4>>2]==z[ua+12>>2]){break V}i=z[o+4>>2];j=z[o+12>>2];n=z[o>>2];l=z[o+8>>2];r=z[B+68>>2];L=z[B+64>>2];Y=z[B+60>>2];Q=z[B+56>>2];Z=Kb(B,V);if(!Z){h=0;break V}_:{$:{aa:{ba:{ca:{if((V|0)!=1){p=Aa&1;if((V|0)!=2){break ca}h=0;k=o;break ba}break aa}w=Aa&-2;h=0;k=o;while(1){M=z[k+160>>2]-z[k+152>>2]|0;h=h>>>0>M>>>0?h:M;M=z[k+164>>2]-z[k+156>>2]|0;h=h>>>0>M>>>0?h:M;M=z[k+312>>2]-z[k+304>>2]|0;h=h>>>0>M>>>0?h:M;M=z[k+316>>2]-z[k+308>>2]|0;h=h>>>0>M>>>0?h:M;k=k+304|0;g=g+2|0;if((w|0)!=(g|0)){continue}break}}if(p){g=z[k+160>>2]-z[k+152>>2]|0;g=g>>>0>>0?h:g;h=z[k+164>>2]-z[k+156>>2]|0;h=g>>>0>h>>>0?g:h}if(h>>>0>=268435456){break _}m=wd(h<<4);if(!m){break _}da:{if(V>>>0<2){break da}u=j-i|0;w=l-n|0;ha=m+28|0;$=m+24|0;ia=m+20|0;M=m+4|0;wa=1;J=o;ea:while(1){g=z[J+156>>2];O=z[J+164>>2]-g|0;ga=O-u|0;h=z[J+152>>2];oa=(h|0)%2|0;Ba=(g|0)%2|0;E=z[J+160>>2]-h|0;ea=E-w|0;k=Q;g=k;p=Y;i=p;h=L;ja=h;j=r;v=j;n=z[B+20>>2];fa:{if((n|0)==(wa|0)){break fa}n=n-wa|0;i=0;g=0;if(Q){g=n&31;if((n&63)>>>0>=32){l=-1<>>32-g}g=Q+(h^-1)|0;l=l^-1;h=g;l=g>>>0>>0?l+1|0:l;g=n&31;g=(n&63)>>>0>=32?l>>>g|0:((1<>>g}if(Y){h=n&31;if((n&63)>>>0>=32){l=-1<>>32-h;h=-1<>>0>>0?l+1|0:l;h=n&31;i=(n&63)>>>0>=32?l>>>h|0:((1<>>h}j=0;h=0;if(L){h=n&31;if((n&63)>>>0>=32){l=-1<>>32-h;h=-1<>>0>>0?l+1|0:l;h=n&31;h=(n&63)>>>0>=32?l>>>h|0:((1<>>h}if(r){k=n&31;if((n&63)>>>0>=32){l=-1<>>32-k;k=-1<>>0>>0?l+1|0:l;k=n&31;j=(n&63)>>>0>=32?l>>>k|0:((1<>>k}ja=0;k=0;t=1<>>0>>0){k=n&31;if((n&63)>>>0>=32){l=-1<>>32-k;k=-1<>>0

>>0?l+1|0:l;p=k;k=n&31;k=(n&63)>>>0>=32?l>>>k|0:((1<>>k}if(t>>>0>>0){p=n&31;if((n&63)>>>0>=32){l=-1<>>32-p;p=-1<>>0>>0?l+1|0:l;I=p;p=n&31;ja=(n&63)>>>0>=32?l>>>p|0:((1<>>p}v=0;p=0;if(t>>>0>>0){p=n&31;if((n&63)>>>0>=32){l=-1<>>32-p;p=-1<>>0>>0?l+1|0:l;I=p;p=n&31;p=(n&63)>>>0>=32?l>>>p|0:((1<>>p}if(r>>>0<=t>>>0){break fa}q=r-t|0;t=n&31;if((n&63)>>>0>=32){l=-1<>>32-t}I=I^-1;t=q+I|0;l=l^-1;l=t>>>0>>0?l+1|0:l;I=t;t=n&31;v=(n&63)>>>0>=32?l>>>t|0:((1<>>t}n=z[J+180>>2];l=ja-n|0;l=l>>>0<=ja>>>0?l:0;t=l+2|0;l=l>>>0>t>>>0?-1:t;la=l>>>0>>0?l:ea;l=z[J+216>>2];t=h-l|0;h=h>>>0>=t>>>0?t:0;t=h+2|0;h=h>>>0>t>>>0?-1:t;ma=h>>>0>>0?h:w;h=(oa?la:ma)<<1;t=(oa?ma:la)<<1|1;va=h>>>0>t>>>0?h:t;h=va>>>0>>0;n=k-n|0;k=k>>>0>=n>>>0?n:0;n=k-2|0;I=k>>>0>=n>>>0?n:0;k=g-l|0;g=g>>>0>=k>>>0?k:0;k=g-2|0;t=g>>>0>=k>>>0?k:0;g=(oa?I:t)<<1;k=(oa?t:I)<<1|1;T=g>>>0>>0;S=z[J+184>>2];n=i-S|0;i=i>>>0>=n>>>0?n:0;n=i-2|0;n=i>>>0>=n>>>0?n:0;q=n;i=z[J+220>>2];l=p-i|0;l=l>>>0<=p>>>0?l:0;p=l-2|0;l=l>>>0>=p>>>0?p:0;N=l;p=j-S|0;j=j>>>0>=p>>>0?p:0;p=j+2|0;j=j>>>0>p>>>0?-1:p;S=j>>>0>>0?j:u;fa=S;i=v-i|0;i=i>>>0<=v>>>0?i:0;j=i+2|0;i=i>>>0>j>>>0?-1:j;_=i>>>0>>0?i:ga;W=_;if(Ba){N=n;fa=_;W=S;q=l}xa=h?va:E;p=T?g:k;Va=u+_|0;Wa=l+u|0;if(O){g=ea<<1;h=g-1|0;i=(t|0)<(ea|0);Ca=m+((i?t<<1|1:h)<<2)|0;U=(w|0)>(la|0)?la:w-1|0;v=0;Ia=(w|0)>1|(ea|0)>0;Ja=(xa|0)!=0&E>>>0>va>>>0;k=oa<<2;La=(M-k|0)+(I<<3)|0;ya=m+(t<<3)|0;Ma=ya+k|0;da=(ea|0)>(ma|0)?ma:ea;ca=t+1|0;Na=w+la|0;Oa=w+I|0;Pa=m+(p<<2)|0;Qa=!w&(ea|0)==1;Da=m+(xa<<2)|0;Ra=Da-4|0;k=w<<1;Ea=k-2|0;pa=m+(Ea<<2)|0;qa=m+(h<<2)|0;Ga=k-1|0;ka=m+(Ga<<2)|0;Ha=g-2|0;ra=m+(Ha<<2)|0;Sa=(m+((i?t:ea)<<3)|0)-4|0;while(1){ga:{if(!(v>>>0>>0&n>>>0<=v>>>0|v>>>0>>0&v>>>0>=Wa>>>0)){T=v+1|0;break ga}if(Ja){z[Ra>>2]=0}if(E>>>0>va>>>0){z[Da>>2]=0}T=v+1|0;zd(Z,t,v,ma,T,Ma,2,0);zd(Z,Oa,v,Na,T,La,2,0);ha:{ia:{ja:{if(!oa){if(!Ia){break ha}if((t|0)>=(ma|0)){break ia}ka:{la:{if((t|0)>0){h=z[Sa>>2];break la}h=z[M>>2];g=h;if((t|0)<0){break ka}}g=h;h=z[Ca>>2]}z[ya>>2]=z[ya>>2]-((g+h|0)+2>>2);i=t;h=ca;g=h;if((da|0)<=(g|0)){break ja}while(1){h=m+(g<<3)|0;z[h>>2]=z[h>>2]-((z[(m+(i<<3)|0)+4>>2]+z[h+4>>2]|0)+2>>2);i=g;g=g+1|0;if((da|0)!=(g|0)){continue}break}h=da;break ja}ma:{if(!Qa){h=t;if((ma|0)<=(h|0)){break ma}while(1){g=m+(h<<3)|0;k=g;j=z[g+4>>2];na:{oa:{if((h|0)>=0){g=h+1|0;ja=z[m+(((h|0)<(ea|0)?h<<1:Ha)<<2)>>2];break oa}ja=z[m>>2];g=0;h=h+1|0;i=m;if(h){break na}}if((g|0)>=(ea|0)){h=g;i=ra;break na}h=g;i=m+(g<<3)|0}z[k+4>>2]=j-((z[i>>2]+ja|0)+2>>2);if((h|0)<(ma|0)){continue}break}break ma}z[m>>2]=z[m>>2]/2;break ha}h=I;if((la|0)<=(h|0)){break ha}while(1){i=m+(h<<3)|0;k=z[i>>2];pa:{if((h|0)<0){j=z[M>>2];g=M;break pa}ja=h<<1;j=z[m+(((h|0)<(w|0)?ja|1:Ga)<<2)>>2];g=M;if(!h){break pa}g=ka;if((h|0)>(w|0)){break pa}g=(m+(ja<<2)|0)-4|0}z[i>>2]=k+(z[g>>2]+j>>1);h=h+1|0;if((la|0)!=(h|0)){continue}break}break ha}if((h|0)>=(ma|0)){break ia}while(1){g=m+(h<<3)|0;i=g;k=z[g>>2];qa:{ra:{if((h|0)>0){j=z[(m+(((h|0)<(ea|0)?h:ea)<<3)|0)-4>>2];break ra}j=z[M>>2];g=M;if((h|0)<0){break qa}}g=qa;if((h|0)>=(ea|0)){break qa}g=(m+(h<<3)|0)+4|0}z[i>>2]=k-((z[g>>2]+j|0)+2>>2);h=h+1|0;if((ma|0)!=(h|0)){continue}break}}if((I|0)>=(la|0)){break ha}g=I;h=g;if((g|0)<(U|0)){while(1){g=m+(h<<3)|0;h=h+1|0;z[g+4>>2]=z[g+4>>2]+(z[m+(h<<3)>>2]+z[g>>2]>>1);if((h|0)!=(U|0)){continue}break}g=U}if((g|0)>=(la|0)){break ha}while(1){j=g;sa:{ta:{if((g|0)>=0){k=z[m+(((j|0)<(w|0)?j<<1:Ea)<<2)>>2];i=j+1|0;break ta}k=z[m>>2];i=0;g=j+1|0;h=m;if(g){break sa}}if((i|0)>=(w|0)){g=i;h=pa;break sa}g=i;h=m+(g<<3)|0}i=m+(j<<3)|0;z[i+4>>2]=z[i+4>>2]+(z[h>>2]+k>>1);if((g|0)<(la|0)){continue}break}}if(!Bd(Z,p,v,xa,T,Pa,1,0)){break $}}v=T;if((O|0)!=(v|0)){continue}break}}J=J+152|0;g=fa<<1;h=W<<1|1;g=g>>>0>h>>>0?g:h;ra=g>>>0>>0?g:O;i=n<<3;g=ga<<3;k=g-1|0;h=(n|0)<(ga|0);ea=m+((h?i|7:k)<<2)|0;j=g-2|0;la=m+((h?i|6:j)<<2)|0;v=g-3|0;ma=m+((h?i|5:v)<<2)|0;pa=g-4|0;ja=m+((h?i|4:pa)<<2)|0;w=(u|0)>(_|0)?_:u-1|0;i=(ga|0)>0;oa=i|(u|0)>1;U=m+(n<<5)|0;va=U+(Ba<<4)|0;ya=(m+(4-(Ba<<2)<<2)|0)+(l<<5)|0;T=u<<3;qa=T-8|0;da=m+(((u|0)<=0?qa:0)<<2)|0;ka=g-8|0;fa=m+((i?0:ka)<<2)|0;t=(S|0)<(ga|0)?S:ga;I=n+1|0;g=q<<1;i=N<<1|1;Ca=g>>>0>>0?g:i;Ia=m+(Ca<<4)|0;Ja=!u&(ga|0)==1;g=m+(u<<5)|0;La=g-20|0;Ma=g-24|0;Na=g-28|0;Oa=g-4|0;Pa=g-8|0;Qa=g-12|0;g=m+(ga<<5)|0;Da=g-20|0;Ra=g-24|0;Ea=g-28|0;Ga=m+(qa<<2)|0;Ha=m+(k<<2)|0;Sa=m+(j<<2)|0;Ya=m+(v<<2)|0;Za=m+(pa<<2)|0;Xa=T-4|0;$a=m+(Xa<<2)|0;ab=m+(ka<<2)|0;g=m+((h?n:ga)<<5)|0;q=g-4|0;v=g-8|0;T=g-12|0;bb=g-16|0;while(1){ua:{va:{wa:{xa:{k=p;if(k>>>0>>0){g=xa-k|0;p=k+(g>>>0>=4?4:g)|0;zd(Z,k,n,p,S,va,1,8);zd(Z,k,Wa,p,Va,ya,1,8);if(!Ba){if(!oa){break ua}if((n|0)>=(S|0)){break va}ya:{if((n|0)>0){h=z[bb>>2];j=v;i=T;g=q;break ya}h=z[m+16>>2];if((n|0)<0){break xa}j=$;i=ia;g=ha}z[U>>2]=z[U>>2]-((z[ja>>2]+h|0)+2>>2);z[U+4>>2]=z[U+4>>2]-((z[i>>2]+z[ma>>2]|0)+2>>2);z[U+8>>2]=z[U+8>>2]-((z[j>>2]+z[la>>2]|0)+2>>2);h=z[ea>>2];g=z[g>>2];break wa}if(Ja){z[m>>2]=z[m>>2]/2;z[m+4>>2]=z[m+4>>2]/2;z[m+8>>2]=z[m+8>>2]/2;z[m+12>>2]=z[m+12>>2]/2;break ua}h=n;if((S|0)>(h|0)){while(1){g=h<<3;i=g|4;za:{Aa:{if((h|0)<0){i=m+(i<<2)|0;j=z[i>>2];N=z[m>>2];if((h|0)==-1){break Aa}z[i>>2]=j-((N<<1)+2>>2);g=g<<2;i=m+(g|20)|0;z[i>>2]=z[i>>2]-((z[m+4>>2]<<1)+2>>2);i=m+(g|24)|0;z[i>>2]=z[i>>2]-((z[m+8>>2]<<1)+2>>2);j=(z[m+12>>2]<<1)+2|0;g=m+(g|28)|0;break za}j=(h|0)<(ga|0)?g:ka;N=h+1|0;if((N|0)>=(ga|0)){i=m+(i<<2)|0;N=i;W=z[i>>2];i=j<<2;z[N>>2]=W-((z[i+m>>2]+z[ab>>2]|0)+2>>2);g=g<<2;j=m+(g|20)|0;z[j>>2]=z[j>>2]-((z[m+(i|4)>>2]+z[Ea>>2]|0)+2>>2);j=m+(g|24)|0;z[j>>2]=z[j>>2]-((z[m+(i|8)>>2]+z[Ra>>2]|0)+2>>2);j=(z[m+(i|12)>>2]+z[Da>>2]|0)+2|0;g=m+(g|28)|0;break za}i=m+(i<<2)|0;W=i;sa=z[i>>2];i=j<<2;j=m+(N<<5)|0;z[W>>2]=sa-((z[i+m>>2]+z[j>>2]|0)+2>>2);g=g<<2;N=m+(g|20)|0;z[N>>2]=z[N>>2]-((z[m+(i|4)>>2]+z[j+4>>2]|0)+2>>2);N=m+(g|24)|0;z[N>>2]=z[N>>2]-((z[m+(i|8)>>2]+z[j+8>>2]|0)+2>>2);j=(z[m+(i|12)>>2]+z[j+12>>2]|0)+2|0;g=m+(g|28)|0;break za}z[i>>2]=j-((N+z[fa>>2]|0)+2>>2);g=g<<2;i=m+(g|20)|0;z[i>>2]=z[i>>2]-((z[m+4>>2]+z[fa+4>>2]|0)+2>>2);i=m+(g|24)|0;z[i>>2]=z[i>>2]-((z[m+8>>2]+z[fa+8>>2]|0)+2>>2);j=(z[m+12>>2]+z[fa+12>>2]|0)+2|0;g=m+(g|28)|0}z[g>>2]=z[g>>2]-(j>>2);h=h+1|0;if((S|0)!=(h|0)){continue}break}}h=l;if((_|0)<=(h|0)){break ua}while(1){N=h<<3;Ba:{if((h|0)<0){g=N<<2;i=g+m|0;z[i>>2]=z[i>>2]+(z[m+16>>2]<<1>>1);i=m+(g|4)|0;z[i>>2]=z[i>>2]+(z[m+20>>2]<<1>>1);i=m+(g|8)|0;z[i>>2]=z[i>>2]+(z[m+24>>2]<<1>>1);j=z[m+28>>2]<<1;g=m+(g|12)|0;break Ba}g=((h|0)<(u|0)?N|4:Xa)<<2;W=z[g+m>>2];i=N<<2;j=i+m|0;ca=z[j>>2];if(!h){z[j>>2]=ca+(W+z[m+16>>2]>>1);j=m+(i|4)|0;z[j>>2]=z[j>>2]+(z[m+20>>2]+z[m+(g|4)>>2]>>1);j=m+(i|8)|0;z[j>>2]=z[j>>2]+(z[m+24>>2]+z[m+(g|8)>>2]>>1);j=z[m+28>>2]+z[m+(g|12)>>2]|0;g=m+(i|12)|0;break Ba}if((h|0)<=(u|0)){z[j>>2]=ca+(W+z[m+(N-4<<2)>>2]>>1);N=m+(i|4)|0;z[N>>2]=z[N>>2]+(z[j-12>>2]+z[m+(g|4)>>2]>>1);N=m+(i|8)|0;z[N>>2]=z[N>>2]+(z[j-8>>2]+z[m+(g|8)>>2]>>1);j=z[j-4>>2]+z[m+(g|12)>>2]|0;g=m+(i|12)|0;break Ba}z[j>>2]=ca+(W+z[$a>>2]>>1);j=m+(i|4)|0;z[j>>2]=z[j>>2]+(z[Qa>>2]+z[m+(g|4)>>2]>>1);j=m+(i|8)|0;z[j>>2]=z[j>>2]+(z[Pa>>2]+z[m+(g|8)>>2]>>1);j=z[Oa>>2]+z[m+(g|12)>>2]|0;g=m+(i|12)|0}z[g>>2]=z[g>>2]+(j>>1);h=h+1|0;if((_|0)!=(h|0)){continue}break}break ua}w=E;u=O;wa=wa+1|0;if((V|0)!=(wa|0)){continue ea}break da}z[U>>2]=z[U>>2]-((h<<1)+2>>2);z[U+4>>2]=z[U+4>>2]-((z[ia>>2]<<1)+2>>2);z[U+8>>2]=z[U+8>>2]-((z[$>>2]<<1)+2>>2);h=z[ha>>2];g=h}z[U+12>>2]=z[U+12>>2]-((g+h|0)+2>>2);i=n;g=I;h=g;if((g|0)<(t|0)){while(1){h=m+(g<<5)|0;i=m+(i<<5)|0;z[h>>2]=z[h>>2]-((z[i+16>>2]+z[h+16>>2]|0)+2>>2);z[h+4>>2]=z[h+4>>2]-((z[i+20>>2]+z[h+20>>2]|0)+2>>2);z[h+8>>2]=z[h+8>>2]-((z[i+24>>2]+z[h+24>>2]|0)+2>>2);z[h+12>>2]=z[h+12>>2]-((z[i+28>>2]+z[h+28>>2]|0)+2>>2);i=g;g=g+1|0;if((t|0)!=(g|0)){continue}break}h=t}if((h|0)>=(S|0)){break va}while(1){i=h<<3;N=i|4;j=(h|0)<(ga|0);Ca:{if((h|0)<=0){W=z[m+16>>2];if((h|0)>=0){ca=i<<2;g=ca+m|0;sa=g;cb=z[g>>2];g=(j?N:pa)<<2;z[sa>>2]=cb-((W+z[g+m>>2]|0)+2>>2);j=m+(ca|4)|0;z[j>>2]=z[j>>2]-((z[m+20>>2]+z[m+(g|4)>>2]|0)+2>>2);j=m+(ca|8)|0;z[j>>2]=z[j>>2]-((z[m+24>>2]+z[m+(g|8)>>2]|0)+2>>2);g=(z[m+28>>2]+z[m+(g|12)>>2]|0)+2|0;break Ca}g=i<<2;j=g+m|0;z[j>>2]=z[j>>2]-((W<<1)+2>>2);j=m+(g|4)|0;z[j>>2]=z[j>>2]-((z[m+20>>2]<<1)+2>>2);g=m+(g|8)|0;z[g>>2]=z[g>>2]-((z[m+24>>2]<<1)+2>>2);g=(z[m+28>>2]<<1)+2|0;break Ca}g=m+((j?h:ga)<<5)|0;W=z[g-16>>2];if(!j){j=i<<2;N=j+m|0;z[N>>2]=z[N>>2]-((W+z[Za>>2]|0)+2>>2);N=m+(j|4)|0;z[N>>2]=z[N>>2]-((z[g-12>>2]+z[Ya>>2]|0)+2>>2);j=m+(j|8)|0;z[j>>2]=z[j>>2]-((z[g-8>>2]+z[Sa>>2]|0)+2>>2);g=(z[g-4>>2]+z[Ha>>2]|0)+2|0;break Ca}j=i<<2;ca=j+m|0;z[ca>>2]=z[ca>>2]-((W+z[m+(N<<2)>>2]|0)+2>>2);N=m+(j|4)|0;z[N>>2]=z[N>>2]-((z[g-12>>2]+z[m+(j|20)>>2]|0)+2>>2);N=m+(j|8)|0;z[N>>2]=z[N>>2]-((z[g-8>>2]+z[m+(j|24)>>2]|0)+2>>2);g=(z[g-4>>2]+z[m+(j|28)>>2]|0)+2|0}i=m+(i<<2|12)|0;z[i>>2]=z[i>>2]-(g>>2);h=h+1|0;if((S|0)!=(h|0)){continue}break}}if((l|0)>=(_|0)){break ua}g=l;h=g;if((g|0)<(w|0)){while(1){h=m+(g<<5)|0;z[h+16>>2]=z[h+16>>2]+(z[h+32>>2]+z[h>>2]>>1);z[h+28>>2]=z[h+28>>2]+(z[h+44>>2]+z[h+12>>2]>>1);z[h+24>>2]=z[h+24>>2]+(z[h+40>>2]+z[h+8>>2]>>1);z[h+20>>2]=z[h+20>>2]+(z[h+36>>2]+z[h+4>>2]>>1);g=g+1|0;if((w|0)!=(g|0)){continue}break}h=w}if((h|0)>=(_|0)){break ua}while(1){g=h<<3;i=g|4;N=m+(g<<2|28)|0;Da:{if((h|0)<0){j=z[m>>2];if((h|0)!=-1){i=m+(i<<2)|0;z[i>>2]=j+z[i>>2];g=g<<2;i=m+(g|20)|0;z[i>>2]=z[i>>2]+z[m+4>>2];g=m+(g|24)|0;z[g>>2]=z[g>>2]+z[m+8>>2];g=z[m+12>>2];break Da}i=m+(i<<2)|0;z[i>>2]=z[i>>2]+(j+z[da>>2]>>1);g=g<<2;i=m+(g|20)|0;z[i>>2]=z[i>>2]+(z[da+4>>2]+z[m+4>>2]>>1);g=m+(g|24)|0;z[g>>2]=z[g>>2]+(z[da+8>>2]+z[m+8>>2]>>1);g=z[da+12>>2]+z[m+12>>2]>>1;break Da}j=(h|0)<(u|0)?g:qa;W=h+1|0;if((W|0)>=(u|0)){i=m+(i<<2)|0;W=i;sa=z[i>>2];i=j<<2;z[W>>2]=sa+(z[Ga>>2]+z[i+m>>2]>>1);g=g<<2;j=m+(g|20)|0;z[j>>2]=z[j>>2]+(z[Na>>2]+z[m+(i|4)>>2]>>1);g=m+(g|24)|0;z[g>>2]=z[g>>2]+(z[Ma>>2]+z[m+(i|8)>>2]>>1);g=z[La>>2]+z[m+(i|12)>>2]>>1;break Da}i=m+(i<<2)|0;sa=i;ca=z[i>>2];i=m+(W<<5)|0;j=j<<2;z[sa>>2]=ca+(z[i>>2]+z[j+m>>2]>>1);g=g<<2;W=m+(g|20)|0;z[W>>2]=z[W>>2]+(z[i+4>>2]+z[m+(j|4)>>2]>>1);g=m+(g|24)|0;z[g>>2]=z[g>>2]+(z[i+8>>2]+z[m+(j|8)>>2]>>1);g=z[i+12>>2]+z[m+(j|12)>>2]>>1}z[N>>2]=g+z[N>>2];h=h+1|0;if((_|0)!=(h|0)){continue}break}}if(Bd(Z,k,Ca,p,ra,Ia,1,4)){continue}break}break}break $}le(m);h=1}g=o+F(Aa,152)|0;i=z[g+136>>2];k=z[ua>>2];j=z[ua+4>>2];n=z[g+144>>2];zd(Z,i-k|0,z[g+140>>2]-j|0,n-k|0,z[g+148>>2]-j|0,z[B+52>>2],1,n-i|0);yd(Z);break V}yd(Z);le(m);h=0;break V}yd(Z);h=0;break V}h=0;Db(l);le(o)}Fa=X+32|0;if(h){break U}break b}r=0;o=0;O=Fa+-64|0;Fa=O;Ea:{if(z[K+64>>2]){k=z[B+28>>2];n=1;if((h|0)==1){break Ea}t=h-1|0;i=t&1;Fa:{if((h|0)==2){j=0;g=k;break Fa}h=t&-2;j=0;g=k;while(1){n=z[g+160>>2]-z[g+152>>2]|0;j=j>>>0>n>>>0?j:n;n=z[g+164>>2]-z[g+156>>2]|0;j=j>>>0>n>>>0?j:n;n=z[g+312>>2]-z[g+304>>2]|0;j=j>>>0>n>>>0?j:n;n=z[g+316>>2]-z[g+308>>2]|0;j=j>>>0>n>>>0?j:n;g=g+304|0;o=o+2|0;if((h|0)!=(o|0)){continue}break}}n=0;if(i){h=z[g+160>>2]-z[g+152>>2]|0;h=h>>>0>>0?j:h;g=z[g+164>>2]-z[g+156>>2]|0;j=g>>>0>>0?h:g}if(j>>>0>134217727){break Ea}g=(F(z[B+24>>2],152)+k|0)-152|0;i=z[g>>2];g=z[g+8>>2];h=z[k+4>>2];l=z[k+12>>2];o=z[k>>2];w=z[k+8>>2];u=z[K+44>>2];Y=z[u+4>>2];V=j<<5;M=vd(V);z[O+32>>2]=M;if(!M){break Ea}z[O>>2]=M;if(!t){n=1;le(M);break Ea}p=l-h|0;h=w-o|0;j=Y>>>1|0;_=j>>>0<=2?2:j;T=M+32|0;m=g-i|0;da=F(m,7);ha=F(m,6);$=F(m,5);ia=m<<2;N=F(m,3);fa=m<<1;i=z[B+36>>2];W=m<<5;w=M;Ga:{while(1){l=p;z[O+8>>2]=l;z[O+40>>2]=h;L=z[k+156>>2];Q=z[k+164>>2];n=z[k+160>>2];g=z[k+152>>2];z[O+56>>2]=0;j=h;z[O+52>>2]=h;z[O+48>>2]=0;J=(g|0)%2|0;z[O+44>>2]=J;h=n-g|0;I=h-j|0;z[O+60>>2]=I;z[O+36>>2]=I;S=(Y|0)<2;p=Q-L|0;Ha:{if(!(!S&p>>>0>15)){r=0;g=i;if(p>>>0<8){break Ha}w=z[O+32>>2];while(1){j=O+32|0;Mb(j,g,m,8);Nb(j);j=0;if(h){while(1){n=(j<<5)+w|0;D[(j<<2)+g>>2]=D[n>>2];D[(j+m<<2)+g>>2]=D[n+4>>2];D[(j+fa<<2)+g>>2]=D[n+8>>2];D[(j+N<<2)+g>>2]=D[n+12>>2];j=j+1|0;if((j|0)!=(h|0)){continue}break}j=0;while(1){n=(j<<5)+w|0;D[(j+ia<<2)+g>>2]=D[n+16>>2];D[(j+$<<2)+g>>2]=D[n+20>>2];D[(j+ha<<2)+g>>2]=D[n+24>>2];D[(j+da<<2)+g>>2]=D[n+28>>2];j=j+1|0;if((j|0)!=(h|0)){continue}break}}g=g+W|0;r=r+8|0;if((r|7)>>>0

>>0){continue}break}break Ha}g=p>>>3|0;q=g>>>0>>0?g:Y;v=(p>>>0)/(q>>>0)&-8;r=p&-8;n=0;g=i;while(1){o=td(48);if(!o){n=0;Db(u);le(w);break Ea}E=vd(V);z[o>>2]=E;if(!E){n=0;Db(u);le(o);le(w);break Ea}z[o+40>>2]=g;z[o+36>>2]=m;z[o+32>>2]=h;z[o+28>>2]=I;z[o+24>>2]=0;z[o+20>>2]=j;z[o+16>>2]=0;z[o+12>>2]=J;z[o+8>>2]=j;z[o+4>>2]=I;E=r-F(n,v)|0;n=n+1|0;E=(q|0)==(n|0)?E:v;z[o+44>>2]=E;Cb(u,117,o);g=(F(m,E)<<2)+g|0;if((n|0)!=(q|0)){continue}break}Db(u)}Ia:{if(p>>>0<=r>>>0){break Ia}n=O+32|0;j=p-r|0;Mb(n,g,m,j);Nb(n);if(!h){break Ia}q=j>>>0<=1?1:j;v=q&-4;r=q&3;n=0;w=z[O+32>>2];while(1){I=(n<<5)+w|0;j=0;o=0;if(q>>>0>=4){while(1){D[(F(j,m)+n<<2)+g>>2]=D[I+(j<<2)>>2];J=j|1;D[(F(J,m)+n<<2)+g>>2]=D[I+(J<<2)>>2];J=j|2;D[(F(J,m)+n<<2)+g>>2]=D[I+(J<<2)>>2];J=j|3;D[(F(J,m)+n<<2)+g>>2]=D[I+(J<<2)>>2];j=j+4|0;o=o+4|0;if((v|0)!=(o|0)){continue}break}}o=0;if(r){while(1){D[(F(j,m)+n<<2)+g>>2]=D[I+(j<<2)>>2];j=j+1|0;o=o+1|0;if((r|0)!=(o|0)){continue}break}}n=n+1|0;if((n|0)!=(h|0)){continue}break}}I=p-l|0;z[O+4>>2]=I;g=z[k+156>>2];z[O+28>>2]=I;z[O+24>>2]=0;z[O+20>>2]=l;z[O+16>>2]=0;v=(g|0)%2|0;z[O+12>>2]=v;Ja:{if(!(!S&h>>>0>15)){j=i;if(h>>>0<8){break Ja}ca=p&-2;pa=p&1;qa=I&-2;ka=I&1;ra=l&-2;X=l&1;ga=l+L|0;U=Q-1|0;ea=F(l,m);g=v<<5;J=T-g|0;S=g+M|0;n=h;while(1){g=0;o=0;Ka:{La:{switch(l|0){default:while(1){q=(F(g,m)<<2)+j|0;E=z[q+4>>2];r=S+(g<<6)|0;z[r>>2]=z[q>>2];z[r+4>>2]=E;E=z[q+28>>2];z[r+24>>2]=z[q+24>>2];z[r+28>>2]=E;E=z[q+20>>2];z[r+16>>2]=z[q+16>>2];z[r+20>>2]=E;E=z[q+12>>2];z[r+8>>2]=z[q+8>>2];z[r+12>>2]=E;q=g|1;r=S+(q<<6)|0;q=(F(m,q)<<2)+j|0;E=z[q+28>>2];z[r+24>>2]=z[q+24>>2];z[r+28>>2]=E;E=z[q+20>>2];z[r+16>>2]=z[q+16>>2];z[r+20>>2]=E;E=z[q+12>>2];z[r+8>>2]=z[q+8>>2];z[r+12>>2]=E;E=z[q+4>>2];z[r>>2]=z[q>>2];z[r+4>>2]=E;g=g+2|0;o=o+2|0;if((ra|0)!=(o|0)){continue}break};break;case 0:break Ka;case 1:break La}}if(!X){break Ka}o=S+(g<<6)|0;g=(F(g,m)<<2)+j|0;q=z[g+4>>2];z[o>>2]=z[g>>2];z[o+4>>2]=q;q=z[g+28>>2];z[o+24>>2]=z[g+24>>2];z[o+28>>2]=q;q=z[g+20>>2];z[o+16>>2]=z[g+16>>2];z[o+20>>2]=q;q=z[g+12>>2];z[o+8>>2]=z[g+8>>2];z[o+12>>2]=q}Ma:{if((l|0)==(p|0)){break Ma}r=(ea<<2)+j|0;g=0;E=0;if((U|0)!=(ga|0)){while(1){o=r+(F(g,m)<<2)|0;Z=z[o+4>>2];q=J+(g<<6)|0;z[q>>2]=z[o>>2];z[q+4>>2]=Z;Z=z[o+28>>2];z[q+24>>2]=z[o+24>>2];z[q+28>>2]=Z;Z=z[o+20>>2];z[q+16>>2]=z[o+16>>2];z[q+20>>2]=Z;Z=z[o+12>>2];z[q+8>>2]=z[o+8>>2];z[q+12>>2]=Z;o=g|1;q=J+(o<<6)|0;o=r+(F(m,o)<<2)|0;Z=z[o+28>>2];z[q+24>>2]=z[o+24>>2];z[q+28>>2]=Z;Z=z[o+20>>2];z[q+16>>2]=z[o+16>>2];z[q+20>>2]=Z;Z=z[o+12>>2];z[q+8>>2]=z[o+8>>2];z[q+12>>2]=Z;Z=z[o+4>>2];z[q>>2]=z[o>>2];z[q+4>>2]=Z;g=g+2|0;E=E+2|0;if((qa|0)!=(E|0)){continue}break}}if(!ka){break Ma}o=J+(g<<6)|0;g=r+(F(g,m)<<2)|0;q=z[g+4>>2];z[o>>2]=z[g>>2];z[o+4>>2]=q;q=z[g+28>>2];z[o+24>>2]=z[g+24>>2];z[o+28>>2]=q;q=z[g+20>>2];z[o+16>>2]=z[g+16>>2];z[o+20>>2]=q;q=z[g+12>>2];z[o+8>>2]=z[g+8>>2];z[o+12>>2]=q}Nb(O);Na:{if(!p){break Na}g=0;o=0;if((L|0)!=(U|0)){while(1){q=M+(g<<5)|0;E=z[q+4>>2];r=(F(g,m)<<2)+j|0;z[r>>2]=z[q>>2];z[r+4>>2]=E;E=z[q+28>>2];z[r+24>>2]=z[q+24>>2];z[r+28>>2]=E;E=z[q+20>>2];z[r+16>>2]=z[q+16>>2];z[r+20>>2]=E;E=z[q+12>>2];z[r+8>>2]=z[q+8>>2];z[r+12>>2]=E;q=g|1;r=(F(q,m)<<2)+j|0;q=M+(q<<5)|0;E=z[q+28>>2];z[r+24>>2]=z[q+24>>2];z[r+28>>2]=E;E=z[q+20>>2];z[r+16>>2]=z[q+16>>2];z[r+20>>2]=E;E=z[q+12>>2];z[r+8>>2]=z[q+8>>2];z[r+12>>2]=E;E=z[q+4>>2];z[r>>2]=z[q>>2];z[r+4>>2]=E;g=g+2|0;o=o+2|0;if((ca|0)!=(o|0)){continue}break}}if(!pa){break Na}o=(F(g,m)<<2)+j|0;g=M+(g<<5)|0;q=z[g+4>>2];z[o>>2]=z[g>>2];z[o+4>>2]=q;q=z[g+28>>2];z[o+24>>2]=z[g+24>>2];z[o+28>>2]=q;q=z[g+20>>2];z[o+16>>2]=z[g+16>>2];z[o+20>>2]=q;q=z[g+12>>2];z[o+8>>2]=z[g+8>>2];z[o+12>>2]=q}j=j+32|0;n=n-8|0;if(n>>>0>7){continue}break}break Ja}g=h>>>3|0;o=g>>>0<_>>>0?g:_;g=(h>>>0)/(o>>>0)|0;j=i;if(o){q=g&-8;r=h&-8;n=0;while(1){g=td(48);if(!g){Db(u);n=0;break Ga}J=vd(V);z[g>>2]=J;if(!J){Db(u);le(g);n=0;break Ga}z[g+40>>2]=j;z[g+36>>2]=m;z[g+32>>2]=p;z[g+28>>2]=I;z[g+24>>2]=0;z[g+20>>2]=l;z[g+16>>2]=0;z[g+12>>2]=v;z[g+8>>2]=l;z[g+4>>2]=I;E=r-F(n,q)|0;n=n+1|0;J=(o|0)==(n|0)?E:q;z[g+44>>2]=J;Cb(u,118,g);j=(J<<2)+j|0;if((n|0)!=(o|0)){continue}break}}Db(u)}n=h&7;Oa:{if(!n){break Oa}v=v<<5;Pa:{if(!l){break Pa}q=v+M|0;r=n<<2;g=0;if((l|0)!=1){J=l&-2;o=0;while(1){Gd(q+(g<<6)|0,(F(g,m)<<2)+j|0,r);S=g|1;Gd(q+(S<<6)|0,(F(m,S)<<2)+j|0,r);g=g+2|0;o=o+2|0;if((J|0)!=(o|0)){continue}break}}if(!(l&1)){break Pa}Gd(q+(g<<6)|0,(F(g,m)<<2)+j|0,r)}Qa:{if((l|0)==(p|0)){break Qa}o=T-v|0;q=(F(l,m)<<2)+j|0;r=n<<2;g=0;if((L|0)!=(Q+(l^-1)|0)){l=I&-2;E=0;while(1){Gd(o+(g<<6)|0,q+(F(g,m)<<2)|0,r);v=g|1;Gd(o+(v<<6)|0,q+(F(m,v)<<2)|0,r);g=g+2|0;E=E+2|0;if((l|0)!=(E|0)){continue}break}}if(!(I&1)){break Qa}Gd(o+(g<<6)|0,q+(F(g,m)<<2)|0,r)}Nb(O);if(!p){break Oa}n=n<<2;g=0;if((Q|0)!=(L+1|0)){l=p&-2;r=0;while(1){Gd((F(g,m)<<2)+j|0,M+(g<<5)|0,n);o=g|1;Gd((F(o,m)<<2)+j|0,M+(o<<5)|0,n);g=g+2|0;r=r+2|0;if((l|0)!=(r|0)){continue}break}}if(!(p&1)){break Oa}Gd((F(g,m)<<2)+j|0,M+(g<<5)|0,n)}k=k+152|0;t=t-1|0;if(t){continue}break}n=1}le(z[O+32>>2]);break Ea}n=1;w=z[B+28>>2];fa=h-1|0;da=w+F(fa,152)|0;if(z[da>>2]==z[da+8>>2]|z[da+4>>2]==z[da+12>>2]){break Ea}i=z[w+4>>2];k=z[w+12>>2];j=z[w>>2];l=z[w+8>>2];M=z[B+68>>2];m=z[B+64>>2];t=z[B+60>>2];I=z[B+56>>2];T=Kb(B,h);if(!T){n=0;break Ea}Ra:{Sa:{if((h|0)!=1){o=fa&1;if((h|0)!=2){break Sa}n=0;g=w;break Ra}g=w+F(fa,152)|0;h=z[g+136>>2];i=z[da>>2];k=z[da+4>>2];j=z[g+144>>2];zd(T,h-i|0,z[g+140>>2]-k|0,j-i|0,z[g+148>>2]-k|0,z[B+52>>2],1,j-h|0);yd(T);break Ea}p=fa&-2;n=0;g=w;while(1){u=z[g+160>>2]-z[g+152>>2]|0;n=n>>>0>u>>>0?n:u;u=z[g+164>>2]-z[g+156>>2]|0;n=n>>>0>u>>>0?n:u;u=z[g+312>>2]-z[g+304>>2]|0;n=n>>>0>u>>>0?n:u;u=z[g+316>>2]-z[g+308>>2]|0;n=n>>>0>u>>>0?n:u;g=g+304|0;r=r+2|0;if((p|0)!=(r|0)){continue}break}}if(o){o=z[g+160>>2]-z[g+152>>2]|0;n=n>>>0>o>>>0?n:o;g=z[g+164>>2]-z[g+156>>2]|0;n=g>>>0>>0?n:g}Ta:{if(n>>>0>=134217728){break Ta}U=vd(n<<5);z[O+32>>2]=U;if(!U){break Ta}z[O>>2]=U;Ua:{if(h>>>0>=2){p=k-i|0;u=l-j|0;pa=U+32|0;_=h;S=z[B+20>>2];v=1;q=0;L=w;while(1){z[O+8>>2]=p;z[O+40>>2]=u;h=z[L+164>>2];i=z[L+160>>2];g=z[L+156>>2];k=z[L+152>>2];ha=(k|0)%2|0;z[O+44>>2]=ha;qa=(g|0)%2|0;z[O+12>>2]=qa;J=i-k|0;V=J-u|0;z[O+36>>2]=V;Y=h-g|0;N=Y-p|0;z[O+4>>2]=N;o=I;j=o;h=t;n=h;g=m;E=g;r=M;Q=r;Va:{if(!q&(v|0)==(S|0)){break Va}i=S-v|0;n=0;j=0;if(I){g=i&31;if((i&63)>>>0>=32){l=-1<>>32-g}g=I+(h^-1)|0;l=l^-1;h=g;l=g>>>0>>0?l+1|0:l;g=i&31;j=(i&63)>>>0>=32?l>>>g|0:((1<>>g}if(t){g=i&31;if((i&63)>>>0>=32){l=-1<>>32-g}g=t+(h^-1)|0;l=l^-1;h=g;l=g>>>0>>0?l+1|0:l;g=i&31;n=(i&63)>>>0>=32?l>>>g|0:((1<>>g}r=0;g=0;if(m){g=i&31;if((i&63)>>>0>=32){l=-1<>>32-g}g=m+(h^-1)|0;l=l^-1;h=g;l=g>>>0>>0?l+1|0:l;g=i&31;g=(i&63)>>>0>=32?l>>>g|0:((1<>>g}if(M){h=i&31;if((i&63)>>>0>=32){l=-1<>>32-h;h=-1<>>0>>0?l+1|0:l;h=i&31;r=(i&63)>>>0>=32?l>>>h|0:((1<>>h}E=0;o=0;k=1<>>0>>0){h=i&31;if((i&63)>>>0>=32){l=-1<>>32-h;h=-1<>>0>>0?l+1|0:l;o=h;h=i&31;o=(i&63)>>>0>=32?l>>>h|0:((1<>>h}if(k>>>0>>0){h=i&31;if((i&63)>>>0>=32){l=-1<>>32-h;h=-1<>>0>>0?l+1|0:l;Q=h;h=i&31;E=(i&63)>>>0>=32?l>>>h|0:((1<>>h}Q=0;h=0;if(k>>>0>>0){h=i&31;if((i&63)>>>0>=32){l=-1<>>32-h;h=-1<>>0<$>>>0?l+1|0:l;$=h;h=i&31;h=(i&63)>>>0>=32?l>>>h|0:((1<>>h}if(k>>>0>=M>>>0){break Va}$=M-k|0;k=i&31;if((i&63)>>>0>=32){l=-1<>>32-k;k=-1<>>0>>0?l+1|0:l;Q=k;k=i&31;Q=(i&63)>>>0>=32?l>>>k|0:((1<>>k}i=z[L+180>>2];k=E-i|0;k=k>>>0<=E>>>0?k:0;l=k+4|0;k=l>>>0>>0?-1:l;W=k>>>0>>0?k:V;k=z[L+216>>2];l=g-k|0;g=g>>>0>=l>>>0?l:0;l=g+4|0;g=g>>>0>l>>>0?-1:l;ca=g>>>0>>0?g:u;g=(ha?W:ca)<<1;l=(ha?ca:W)<<1|1;g=g>>>0>l>>>0?g:l;E=g>>>0>>0;i=o-i|0;i=i>>>0<=o>>>0?i:0;l=i-4|0;$=i>>>0>=l>>>0?l:0;i=j-k|0;i=i>>>0<=j>>>0?i:0;k=i-4|0;ia=i>>>0>=k>>>0?k:0;j=(ha?$:ia)<<1;ka=(ha?ia:$)<<1|1;ra=j>>>0>>0;k=z[L+184>>2];i=n-k|0;i=i>>>0<=n>>>0?i:0;n=i-4|0;i=i>>>0>=n>>>0?n:0;V=i;X=z[L+220>>2];n=h-X|0;h=h>>>0>=n>>>0?n:0;n=h-4|0;l=h>>>0>=n>>>0?n:0;o=l;h=r-k|0;h=h>>>0<=r>>>0?h:0;k=h+4|0;h=h>>>0>k>>>0?-1:k;r=h>>>0

>>0?h:p;n=r;h=Q-X|0;h=h>>>0<=Q>>>0?h:0;k=h+4|0;h=h>>>0>k>>>0?-1:k;Q=h>>>0>>0?h:N;k=Q;if(qa){V=l;o=i;n=Q;k=r}N=E?g:J;E=ra?j:ka;z[O+60>>2]=W;z[O+56>>2]=$;z[O+52>>2]=ca;z[O+48>>2]=ia;Wa:{if(Y>>>0<8){j=7;g=0;break Wa}g=ha<<5;ra=(pa-g|0)+($<<6)|0;X=(g+U|0)+(ia<<6)|0;ga=u+W|0;ea=u+$|0;Z=p+Q|0;la=l+p|0;ma=U+(E<<5)|0;h=0;j=7;while(1){Xa:{if(!(h>>>0>>0&i>>>0<=j>>>0|h>>>0>>0&j>>>0>=la>>>0)){g=h+8|0;break Xa}g=0;j=Y-h|0;ja=j>>>0>=8?8:j;if(ja){while(1){j=g+h|0;ka=j+1|0;oa=g<<2;zd(T,ia,j,ca,ka,oa+X|0,16,0);zd(T,ea,j,ga,ka,ra+oa|0,16,0);g=g+1|0;if((ja|0)!=(g|0)){continue}break}}Nb(O+32|0);g=h+8|0;if(!Bd(T,E,h,N,g,ma,8,1)){break Ua}}h=g;j=g|7;if(Y>>>0>j>>>0){continue}break}}if(!(!(g>>>0>>0&i>>>0<=j>>>0)&(p+Q>>>0<=g>>>0|l+p>>>0>j>>>0)|g>>>0>=Y>>>0)){h=ha<<5;ha=(pa-h|0)+($<<6)|0;ka=(h+U|0)+(ia<<6)|0;W=u+W|0;$=u+$|0;ra=Y-g|0;j=0;while(1){h=g+j|0;u=h+1|0;X=j<<2;zd(T,ia,h,ca,u,X+ka|0,16,0);zd(T,$,h,W,u,X+ha|0,16,0);j=j+1|0;if((ra|0)!=(j|0)){continue}break}Nb(O+32|0);if(!Bd(T,E,g,N,Y,U+(E<<5)|0,8,1)){break Ua}}z[O+28>>2]=Q;z[O+24>>2]=l;z[O+20>>2]=r;z[O+16>>2]=i;if(E>>>0>>0){g=n<<1;h=k<<1|1;g=g>>>0>h>>>0?g:h;h=g>>>0>>0?g:Y;g=qa<<5;k=(pa-g|0)+(l<<6)|0;j=(g+U|0)+(i<<6)|0;n=p+Q|0;l=l+p|0;g=V<<1;o=o<<1|1;o=g>>>0>>0?g:o;p=U+(o<<5)|0;while(1){g=N-E|0;g=(g>>>0>=8?8:g)+E|0;zd(T,E,i,g,r,j,1,16);zd(T,E,l,g,n,k,1,16);Nb(O);if(!Bd(T,E,o,g,h,p,1,8)){break Ua}E=E+8|0;if(N>>>0>E>>>0){continue}break}}L=L+152|0;u=J;p=Y;l=q;v=v+1|0;l=v?l:l+1|0;q=l;if((v|0)!=(_|0)|l){continue}break}}n=1;g=w+F(fa,152)|0;h=z[g+136>>2];i=z[da>>2];k=z[da+4>>2];j=z[g+144>>2];zd(T,h-i|0,z[g+140>>2]-k|0,j-i|0,z[g+148>>2]-k|0,z[B+52>>2],1,j-h|0);yd(T);le(U);break Ea}yd(T);le(U);n=0;break Ea}yd(T);n=0}Fa=O- -64|0;if(n){break U}break b}b=b+1080|0;s=s+52|0;B=B+76|0;P=P+1|0;if(P>>>0>2]){continue}break}R=z[z[K+20>>2]>>2];b=z[K+32>>2]}n=z[b+16>>2];Ya:{if(z[K+68>>2]|!n){break Ya}B=z[R+20>>2];h=z[B+28>>2];Za:{_a:{i=z[K+64>>2];if(i){P=z[R+16>>2];if(P>>>0<3){break Za}g=z[B+24>>2];if(!((g|0)==z[B+100>>2]&(g|0)==z[B+176>>2])){sb(f,1,23881,0);break b}k=z[z[K+24>>2]+24>>2];j=z[k+36>>2];$a:{if((j|0)!=z[k+88>>2]|(j|0)!=z[k+140>>2]){break $a}k=h;h=F(g,152);g=(k+h|0)-152|0;g=F(z[g+12>>2]-z[g+4>>2]|0,z[g+8>>2]-z[g>>2]|0);j=h+z[B+104>>2]|0;k=j-152|0;if((g|0)!=(F(z[k+12>>2]-z[k+4>>2]|0,z[k+8>>2]-z[j-152>>2]|0)|0)){break $a}k=h+z[B+180>>2]|0;h=k-152|0;if((F(z[h+12>>2]-z[h+4>>2]|0,z[h+8>>2]-z[k-152>>2]|0)|0)==(g|0)){break _a}}sb(f,1,23881,0);break b}P=z[R+16>>2];if(P>>>0<3){break Za}k=z[z[K+24>>2]+24>>2];g=z[k+36>>2];ab:{if((g|0)!=z[k+88>>2]|(g|0)!=z[k+140>>2]){break ab}k=F(g,152);g=k+h|0;g=F(z[g+148>>2]-z[g+140>>2]|0,z[g+144>>2]-z[g+136>>2]|0);h=k+z[B+104>>2]|0;if((g|0)!=(F(z[h+148>>2]-z[h+140>>2]|0,z[h+144>>2]-z[h+136>>2]|0)|0)){break ab}h=k+z[B+180>>2]|0;if((F(z[h+148>>2]-z[h+140>>2]|0,z[h+144>>2]-z[h+136>>2]|0)|0)==(g|0)){break _a}}sb(f,1,23881,0);break b}if((n|0)==2){if(!z[b+5608>>2]){break Ya}i=td(P<<2);if(!i){break b}k=z[R+16>>2];bb:{if(!k){break bb}cb:{db:{if(z[K+64>>2]){l=k&3;h=0;if(k>>>0>=4){break db}P=0;break cb}l=k&3;h=0;eb:{if(k>>>0<4){P=0;break eb}o=k&-4;P=0;j=0;while(1){n=P<<2;z[n+i>>2]=z[B+52>>2];z[i+(n|4)>>2]=z[B+128>>2];z[i+(n|8)>>2]=z[B+204>>2];z[i+(n|12)>>2]=z[B+280>>2];P=P+4|0;B=B+304|0;j=j+4|0;if((o|0)!=(j|0)){continue}break}}if(!l){break bb}while(1){z[i+(P<<2)>>2]=z[B+52>>2];P=P+1|0;B=B+76|0;h=h+1|0;if((l|0)!=(h|0)){continue}break}break bb}o=k&-4;P=0;j=0;while(1){n=P<<2;z[n+i>>2]=z[B+36>>2];z[i+(n|4)>>2]=z[B+112>>2];z[i+(n|8)>>2]=z[B+188>>2];z[i+(n|12)>>2]=z[B+264>>2];P=P+4|0;B=B+304|0;j=j+4|0;if((o|0)!=(j|0)){continue}break}}if(!l){break bb}while(1){z[i+(P<<2)>>2]=z[B+36>>2];P=P+1|0;B=B+76|0;h=h+1|0;if((l|0)!=(h|0)){continue}break}}h=z[b+5608>>2];L=0;j=td(k<<3);b=0;fb:{if(!j){break fb}if(!(!g|!k)){m=j+(k<<2)|0;s=k&-4;p=k&3;M=k-1|0;while(1){b=0;o=0;if(M>>>0>=3){while(1){n=b<<2;D[n+j>>2]=D[z[i+n>>2]>>2];l=n|4;D[l+j>>2]=D[z[i+l>>2]>>2];l=n|8;D[l+j>>2]=D[z[i+l>>2]>>2];n=n|12;D[n+j>>2]=D[z[i+n>>2]>>2];b=b+4|0;o=o+4|0;if((s|0)!=(o|0)){continue}break}}n=0;if(p){while(1){l=b<<2;D[l+j>>2]=D[z[i+l>>2]>>2];b=b+1|0;n=n+1|0;if((p|0)!=(n|0)){continue}break}}B=0;b=h;while(1){u=B<<2;l=u+m|0;z[l>>2]=0;ba=G(0);n=0;w=0;if(M>>>0>2){while(1){o=n<<2;ba=G(G(D[b>>2]*D[o+j>>2])+ba);D[l>>2]=ba;ba=G(G(D[b+4>>2]*D[j+(o|4)>>2])+ba);D[l>>2]=ba;ba=G(G(D[b+8>>2]*D[j+(o|8)>>2])+ba);D[l>>2]=ba;ba=G(G(D[b+12>>2]*D[j+(o|12)>>2])+ba);D[l>>2]=ba;n=n+4|0;b=b+16|0;w=w+4|0;if((s|0)!=(w|0)){continue}break}}r=0;if(p){while(1){ba=G(G(D[b>>2]*D[j+(n<<2)>>2])+ba);D[l>>2]=ba;n=n+1|0;b=b+4|0;r=r+1|0;if((p|0)!=(r|0)){continue}break}}l=i+u|0;n=z[l>>2];z[l>>2]=n+4;D[n>>2]=ba;B=B+1|0;if((k|0)!=(B|0)){continue}break}L=L+1|0;if((L|0)!=(g|0)){continue}break}}le(j);b=1}le(i);if(b){break Ya}break b}if(z[z[b+5584>>2]+20>>2]==1){if(i){Eb(z[B+36>>2],z[B+112>>2],z[B+188>>2],g);break Ya}Eb(z[B+52>>2],z[B+128>>2],z[B+204>>2],g);break Ya}if(i){Fb(z[B+36>>2],z[B+112>>2],z[B+188>>2],g);break Ya}Fb(z[B+52>>2],z[B+128>>2],z[B+204>>2],g);break Ya}z[na>>2]=P;sb(f,1,23942,na)}M=z[z[K+20>>2]>>2];if(!z[M+16>>2]){aa=1;break b}m=z[K+68>>2];k=z[M+20>>2];g=z[z[K+32>>2]+5584>>2];n=z[z[K+24>>2]+24>>2];o=0;while(1){gb:{if(z[m+(o<<2)>>2]?0:m){break gb}h=z[n+36>>2];b=z[k+28>>2];hb:{if(!z[K+64>>2]){b=b+F(h,152)|0;j=z[b+148>>2]-z[b+140>>2]|0;R=z[b+144>>2]-z[b+136>>2]|0;aa=0;b=k+52|0;break hb}h=b+F(h,152)|0;j=z[h+12>>2]-z[h+4>>2]|0;b=(b+F(z[k+24>>2],152)|0)-152|0;R=z[h+8>>2]-z[h>>2]|0;aa=z[b+8>>2]-(R+z[b>>2]|0)|0;b=k+36|0}h=z[n+24>>2];ib:{if(z[n+32>>2]){h=1<>2];if(z[g+20>>2]!=1){if(!j|!R){break gb}u=s>>31;t=i>>31;h=0;while(1){P=0;while(1){ba=D[b>>2];l=s;jb:{if(ba>G(2147483648)){break jb}l=i;if(ba>2];I=l;l=l>>31;ba=to(ba);kb:{if(G(H(ba))>31)|0;w=w+I|0;l=V>>>0>w>>>0?l+1|0:l;l=(l|0)<=(t|0)&i>>>0>w>>>0|(l|0)<(t|0)?p:(l|0)<=(u|0)&s>>>0>w>>>0|(l|0)<(u|0)?w:s}z[b>>2]=l;b=b+4|0;P=P+1|0;if((R|0)!=(P|0)){continue}break}b=(aa<<2)+b|0;h=h+1|0;if((j|0)!=(h|0)){continue}break}break gb}if(!j|!R){break gb}p=R&-2;w=R&1;h=0;while(1){P=0;if((R|0)!=1){while(1){l=z[g+1076>>2]+z[b>>2]|0;z[b>>2]=(i|0)>(l|0)?i:(l|0)<(s|0)?l:s;l=z[g+1076>>2]+z[b+4>>2]|0;z[b+4>>2]=(i|0)>(l|0)?i:(l|0)<(s|0)?l:s;b=b+8|0;P=P+2|0;if((p|0)!=(P|0)){continue}break}}if(w){l=z[g+1076>>2]+z[b>>2]|0;z[b>>2]=(i|0)>(l|0)?i:(l|0)<(s|0)?l:s;b=b+4|0}b=(aa<<2)+b|0;h=h+1|0;if((j|0)!=(h|0)){continue}break}}k=k+76|0;g=g+1080|0;n=n+52|0;aa=1;o=o+1|0;if(o>>>0>2]){continue}break}break b}aa=0;sb(f,1,9057,0)}Fa=na+16|0;if(!aa){Sb(za);z[a+8>>2]=z[a+8>>2]|32768;sb(f,1,25313,0);break a}lb:{if(!c){break lb}b=0;aa=0;i=z[a+208>>2];g=ed(i,1);if(!((g|0)==-1|d>>>0>>0)){mb:{b=1;d=z[i+24>>2];if(!z[d+16>>2]){break mb}B=z[d+24>>2];P=z[z[z[i+20>>2]>>2]+20>>2];while(1){b=z[B+24>>2];k=b&7;j=b>>>3|0;d=z[B+36>>2];b=z[P+28>>2];nb:{if(z[i+64>>2]){d=b+F(d,152)|0;h=z[d+12>>2]-z[d+4>>2]|0;b=(b+F(z[P+24>>2],152)|0)-152|0;d=z[d+8>>2]-z[d>>2]|0;g=z[b+8>>2]-(d+z[b>>2]|0)|0;b=P+36|0;break nb}b=b+F(d,152)|0;h=z[b+148>>2]-z[b+140>>2]|0;d=z[b+144>>2]-z[b+136>>2]|0;g=0;b=P+52|0}b=z[b>>2];ob:{pb:{qb:{rb:{k=j+((k|0)!=0)|0;switch(((k|0)==3?4:k)-1|0){case 1:break pb;case 0:break qb;case 3:break rb;default:break ob}}if(!h){break ob}g=d+g|0;d=d<<2;if(h>>>0>=4){k=h&-4;R=0;while(1){j=Gd(c,b,d);c=b;b=g<<2;c=c+b|0;n=b+c|0;l=n+b|0;b=l+b|0;c=Gd(Gd(Gd(d+j|0,c,d)+d|0,n,d)+d|0,l,d)+d|0;R=R+4|0;if((k|0)!=(R|0)){continue}break}}R=0;h=h&3;if(!h){break ob}while(1){c=Gd(c,b,d);b=(g<<2)+b|0;c=c+d|0;R=R+1|0;if((h|0)!=(R|0)){continue}break}break ob}k=!h|!d;if(z[B+32>>2]){if(k){break ob}j=d&-8;k=d&7;n=d-1|0;R=0;while(1){d=0;if(n>>>0>=7){while(1){x[c|0]=z[b>>2];x[c+1|0]=z[b+4>>2];x[c+2|0]=z[b+8>>2];x[c+3|0]=z[b+12>>2];x[c+4|0]=z[b+16>>2];x[c+5|0]=z[b+20>>2];x[c+6|0]=z[b+24>>2];x[c+7|0]=z[b+28>>2];c=c+8|0;b=b+32|0;d=d+8|0;if((j|0)!=(d|0)){continue}break}}d=0;if(k){while(1){x[c|0]=z[b>>2];c=c+1|0;b=b+4|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=(g<<2)+b|0;R=R+1|0;if((R|0)!=(h|0)){continue}break}break ob}if(k){break ob}j=d&-8;k=d&7;n=d-1|0;R=0;while(1){d=0;if(n>>>0>=7){while(1){x[c|0]=z[b>>2];x[c+1|0]=z[b+4>>2];x[c+2|0]=z[b+8>>2];x[c+3|0]=z[b+12>>2];x[c+4|0]=z[b+16>>2];x[c+5|0]=z[b+20>>2];x[c+6|0]=z[b+24>>2];x[c+7|0]=z[b+28>>2];c=c+8|0;b=b+32|0;d=d+8|0;if((j|0)!=(d|0)){continue}break}}d=0;if(k){while(1){x[c|0]=z[b>>2];c=c+1|0;b=b+4|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=(g<<2)+b|0;R=R+1|0;if((R|0)!=(h|0)){continue}break}break ob}k=!h|!d;if(z[B+32>>2]){if(k){break ob}j=d&-8;k=d&7;n=d-1|0;R=0;while(1){d=0;if(n>>>0>=7){while(1){y[c>>1]=z[b>>2];y[c+2>>1]=z[b+4>>2];y[c+4>>1]=z[b+8>>2];y[c+6>>1]=z[b+12>>2];y[c+8>>1]=z[b+16>>2];y[c+10>>1]=z[b+20>>2];y[c+12>>1]=z[b+24>>2];y[c+14>>1]=z[b+28>>2];c=c+16|0;b=b+32|0;d=d+8|0;if((j|0)!=(d|0)){continue}break}}d=0;if(k){while(1){y[c>>1]=z[b>>2];c=c+2|0;b=b+4|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=(g<<2)+b|0;R=R+1|0;if((R|0)!=(h|0)){continue}break}break ob}if(k){break ob}j=d&-8;k=d&7;n=d-1|0;R=0;while(1){d=0;if(n>>>0>=7){while(1){y[c>>1]=z[b>>2];y[c+2>>1]=z[b+4>>2];y[c+4>>1]=z[b+8>>2];y[c+6>>1]=z[b+12>>2];y[c+8>>1]=z[b+16>>2];y[c+10>>1]=z[b+20>>2];y[c+12>>1]=z[b+24>>2];y[c+14>>1]=z[b+28>>2];c=c+16|0;b=b+32|0;d=d+8|0;if((j|0)!=(d|0)){continue}break}}d=0;if(k){while(1){y[c>>1]=z[b>>2];c=c+2|0;b=b+4|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=(g<<2)+b|0;R=R+1|0;if((R|0)!=(h|0)){continue}break}}P=P+76|0;B=B+52|0;b=1;aa=aa+1|0;if(aa>>>0>2]+16>>2]){continue}break}}}if(!b){break a}b=za+5596|0;c=z[b>>2];if(!c){break lb}le(c);z[b>>2]=0;z[Ua+5600>>2]=0}z[a+8>>2]=z[a+8>>2]&-129;x[a+68|0]=A[a+68|0]&254;Ta=1;c=z[e+12>>2];d=c;b=z[e+8>>2];if(c|b){g=z[e+56>>2];c=b-g|0;b=d-(z[e+60>>2]+(b>>>0>>0)|0)|0}else{c=0;b=0}c=!(b|c);b=z[a+8>>2];if(c&(b|0)==64|(b|0)==256){break a}if((qb(e,ta+10|0,2,f)|0)!=2){sb(f,z[a+184>>2]?1:2,7635,0);Ta=!z[a+184>>2];break a}lb(ta+10|0,ta+12|0,2);b=z[ta+12>>2];if((b|0)==65424){break a}if((b|0)==65497){z[a+8>>2]=256;z[a+204>>2]=0;break a}c=z[e+12>>2];d=c;b=z[e+8>>2];if(c|b){g=z[e+56>>2];c=b-g|0;b=d-(z[e+60>>2]+(b>>>0>>0)|0)|0}else{c=0;b=0}if(!(b|c)){z[a+8>>2]=64;sb(f,2,21921,0);break a}Ta=0;sb(f,1,21857,0)}Fa=ta+16|0;return Ta}function ml(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,B,I,J,K,L,M,N,O,P){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;B=B|0;I=I|0;J=J|0;K=K|0;L=L|0;M=M|0;N=N|0;O=O|0;P=P|0;var Q=0,R=G(0),S=0,T=0,U=G(0),V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;i=0;r=0;K=0;n=a;k=z[a+16>>2];a=z[k+4>>2];t=z[n+8>>2];d=z[t+16>>2];b=z[k>>2];e=z[t+12>>2];l=z[n+20>>2];f=z[l>>2];j=z[l+8>>2];m=z[n+4>>2];o=z[n+24>>2];a:{b:{if(!z[z[n+36>>2]>>2]){break b}q=yb(c);if(!q){q=ud(1,156);if(q){z[q+140>>2]=1}zb(c,q)}b=e-b|0;e=z[k+16>>2];if(e&1){c=(z[l+28>>2]+F(m,152)|0)-152|0;b=(b+z[c+8>>2]|0)-z[c>>2]|0}c=d-a|0;if(e&2){a=(z[l+28>>2]+F(m,152)|0)-152|0;c=(z[a+12>>2]+c|0)-z[a+4>>2]|0}if(!Pc(q,z[t+20>>2]-z[t+12>>2]|0,z[t+24>>2]-z[t+16>>2]|0)){z[z[n+36>>2]>>2]=0;le(n);break a}h=z[q+128>>2];g=h&-4;a=b;b=j-f|0;f=z[l+36>>2]+(a+F(b,c)<<2)|0;d=z[q+116>>2];j=z[q+124>>2];c:{if(z[o+20>>2]==1){d:{if(!g){e=0;c=d;break d}if(!j){break c}e=0;c=d;while(1){p=F(b,e);s=F(b,e|3);u=F(b,e|2);v=F(b,e|1);a=0;while(1){z[c>>2]=z[f+(a+p<<2)>>2]<<6;z[c+4>>2]=z[f+(a+v<<2)>>2]<<6;z[c+8>>2]=z[f+(a+u<<2)>>2]<<6;z[c+12>>2]=z[f+(a+s<<2)>>2]<<6;c=c+16|0;a=a+1|0;if((j|0)!=(a|0)){continue}break}e=e+4|0;if(g>>>0>e>>>0){continue}break}}if(!j|e>>>0>=h>>>0){break c}p=h-e&3;s=h+(e^-1)>>>0<3;while(1){a=e;g=0;if(p){while(1){z[c>>2]=z[f+(F(a,b)+i<<2)>>2]<<6;a=a+1|0;c=c+4|0;g=g+1|0;if((p|0)!=(g|0)){continue}break}}if(!s){while(1){z[c>>2]=z[f+(F(a,b)+i<<2)>>2]<<6;z[c+4>>2]=z[f+(F(b,a+1|0)+i<<2)>>2]<<6;z[c+8>>2]=z[f+(F(b,a+2|0)+i<<2)>>2]<<6;z[c+12>>2]=z[f+(F(b,a+3|0)+i<<2)>>2]<<6;c=c+16|0;a=a+4|0;if((h|0)!=(a|0)){continue}break}}i=i+1|0;if((j|0)!=(i|0)){continue}break}break c}e:{if(!g){e=0;c=d;break e}if(!j){break c}U=D[k+32>>2];e=0;c=d;while(1){p=F(b,e);s=F(b,e|3);u=F(b,e|2);v=F(b,e|1);a=0;while(1){R=to(G(G(D[f+(a+p<<2)>>2]/U)*G(64)));f:{if(G(H(R))>2]=w;R=to(G(G(D[f+(a+v<<2)>>2]/U)*G(64)));g:{if(G(H(R))>2]=w;R=to(G(G(D[f+(a+u<<2)>>2]/U)*G(64)));h:{if(G(H(R))>2]=w;R=to(G(G(D[f+(a+s<<2)>>2]/U)*G(64)));i:{if(G(H(R))>2]=w;c=c+16|0;a=a+1|0;if((j|0)!=(a|0)){continue}break}e=e+4|0;if(g>>>0>e>>>0){continue}break}}if(!j|e>>>0>=h>>>0){break c}g=F(b,e);p=h-e&1;U=D[k+32>>2];s=e+1|0;u=(s|0)==(h|0);while(1){if(p){R=to(G(G(D[f+(g+i<<2)>>2]/U)*G(64)));j:{if(G(H(R))>2]=a;c=c+4|0;a=s}else{a=e}if(!u){while(1){R=to(G(G(D[f+(F(a,b)+i<<2)>>2]/U)*G(64)));k:{if(G(H(R))>2]=v;R=to(G(G(D[f+(F(b,a+1|0)+i<<2)>>2]/U)*G(64)));l:{if(G(H(R))>2]=v;c=c+8|0;a=a+2|0;if((h|0)!=(a|0)){continue}break}}i=i+1|0;if((j|0)!=(i|0)){continue}break}}j=z[n+32>>2];f=z[n+28>>2];e=z[o+16>>2];o=z[o+20>>2];g=z[n>>2];U=D[k+32>>2];a=z[l+20>>2];w=z[k+16>>2];z[q+108>>2]=(w<<9)+4e4;m:{n:{o:{c=z[q+128>>2];p:{if(!c){break p}h=z[q+124>>2];if(!h){break p}B=a+(m^-1)|0;Y=+U;b=0;i=0;while(1){a=0;if(h){while(1){c=z[d>>2];q:{if((c|0)<0){c=0-((c|0)<=-2147483647?-2147483647:c)|0;z[d>>2]=c|-2147483648;b=(b|0)>(c|0)?b:c;break q}b=(b|0)>(c|0)?b:c}d=d+4|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}c=z[q+128>>2]}i=i+1|0;if(i>>>0>>0){h=z[q+124>>2];continue}break}if(b){break o}}z[t+28>>2]=0;break n}r:{if((b|0)>1){c=0;while(1){a=c;c=a+1|0;d=b>>>0>3;b=b>>>1|0;if(d){continue}break}b=a-4|0;z[t+28>>2]=b;if(!b){break n}a=t+28|0;break r}b=-5;z[t+28>>2]=-5;a=t+28|0}ba=a;Oc(q);z[q+100>>2]=39968;z[q+96>>2]=38592;z[q+28>>2]=38624;a=z[t>>2];z[q>>2]=0;z[q+4>>2]=32768;z[q+20>>2]=a;z[q+8>>2]=12;z[q+12>>2]=0;z[q+104>>2]=q+28;z[q+16>>2]=a-1;s=b-1|0;if((s|0)<0){break n}ca=(f|0)!=0&g>>>0>>0;da=e&2;N=e&16;ea=e&4;fa=e&32;O=e&8;l=q+100|0;p=q+96|0;Z=e&1;ga=f+(g<<3)|0;ha=Y/+((w?(w|0)==3?4:2:1)|0);ia=(o|0)!=1;J=2;while(1){u=J>>>0<2&(z[t+28>>2]-4|0)>(s|0)&Z;L=z[t+8>>2]+F(K,24)|0;s:{if(!K|!(x[L-4|0]&1)){break s}if(u){z[q+8>>2]=-559038737;z[q>>2]=0;break s}z[q+8>>2]=12;z[q>>2]=0;z[q+4>>2]=32768;a=z[q+16>>2]-1|0;z[q+16>>2]=a;if(A[a|0]==255){z[q+8>>2]=13}}t:{u:{v:{w:{x:{y:{z:{switch(J|0){case 0:I=64<>2];f=z[q+124>>2];d=(e+(f<<2)|0)+12|0;i=z[q+116>>2];c=z[q+8>>2];a=z[q+4>>2];b=z[q>>2];g=z[q+104>>2];r=0;h=z[q+128>>2];if(h>>>0<4){j=0;break u}if(!f){break y}k=s?42560:42816;m=I&2147483584;j=0;while(1){f=0;T=z[q+124>>2];if(T){while(1){h=z[d>>2];A:{if(!h){break A}B:{if(h&2097168){break B}e=h&495;if(!e){break B}M=m&z[i>>2];v=(M|0)!=0;h=(A[e+z[q+108>>2]|0]<<2)+q|0;g=h+28|0;C:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(v<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break C}o=z[h+28>>2];e=z[o>>2];a=a-e|0;if((v|0)==z[o+4>>2]){if(!(a&32768)){z[h+28>>2]=z[o+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break C}b=b+e|0;break C}z[h+28>>2]=z[o+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}h=z[d>>2];D:{if(!M){break D}M=d-4|0;Q=z[d+4>>2]>>>17&4|(z[M>>2]>>>19&1|(h>>>14&16|(h>>>16&64|h&170)));h=(A[Q+42048|0]<<2)+q|0;g=h+28|0;P=z[i>>2];o=P>>>31|0;S=y[k+(((P&2147483647)>>>s&127)<<1)>>1];E:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(o<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break E}v=z[h+28>>2];e=z[v>>2];a=a-e|0;if(z[v+4>>2]==(o^A[Q+42304|0])){if(!(a&32768)){z[h+28>>2]=z[v+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break E}b=b+e|0;break E}z[h+28>>2]=z[v+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}r=r+S|0;e=z[q+124>>2];z[M>>2]=z[M>>2]|32;z[d+4>>2]=z[d+4>>2]|8;h=z[d>>2]|o<<19|16;z[d>>2]=h;if(O){break D}e=(-2-e<<2)+d|0;z[e+4>>2]=z[e+4>>2]|32768;z[e>>2]=z[e>>2]|P&-2147483648|65536;e=e-4|0;z[e>>2]=z[e>>2]|131072;h=z[d>>2]}h=h|2097152;z[d>>2]=h}if(!(!(h&3960)|h&16777344)){h=(A[z[q+108>>2]+(h>>>3&495)|0]<<2)+q|0;g=h+28|0;M=m&z[i+4>>2];v=(M|0)!=0;F:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(v<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break F}o=z[h+28>>2];e=z[o>>2];a=a-e|0;if((v|0)==z[o+4>>2]){if(!(a&32768)){z[h+28>>2]=z[o+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break F}b=b+e|0;break F}z[h+28>>2]=z[o+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}e=z[d>>2];if(M){M=d-4|0;P=z[d+4>>2]>>>20&4|(z[M>>2]>>>22&1|(e>>>15&16|(e>>>19&64|e>>>3&170)));h=(A[P+42048|0]<<2)+q|0;g=h+28|0;e=z[i+4>>2];o=e>>>31|0;Q=y[k+(((e&2147483647)>>>s&127)<<1)>>1];G:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(o<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break G}v=z[h+28>>2];e=z[v>>2];a=a-e|0;if(z[v+4>>2]==(o^A[P+42304|0])){if(!(a&32768)){z[h+28>>2]=z[v+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break G}b=b+e|0;break G}z[h+28>>2]=z[v+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}r=r+Q|0;z[M>>2]=z[M>>2]|256;z[d+4>>2]=z[d+4>>2]|64;e=z[d>>2]|o<<22|128}h=e|16777216;z[d>>2]=h}if(!(!(h&31680)|h&134218752)){h=(A[z[q+108>>2]+(h>>>6&495)|0]<<2)+q|0;g=h+28|0;M=m&z[i+8>>2];v=(M|0)!=0;H:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(v<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break H}o=z[h+28>>2];e=z[o>>2];a=a-e|0;if((v|0)==z[o+4>>2]){if(!(a&32768)){z[h+28>>2]=z[o+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break H}b=b+e|0;break H}z[h+28>>2]=z[o+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}e=z[d>>2];if(M){M=d-4|0;P=z[d+4>>2]>>>23&4|(z[M>>2]>>>25&1|(e>>>18&16|(e>>>22&64|e>>>6&170)));h=(A[P+42048|0]<<2)+q|0;g=h+28|0;e=z[i+8>>2];o=e>>>31|0;Q=y[k+(((e&2147483647)>>>s&127)<<1)>>1];I:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(o<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break I}v=z[h+28>>2];e=z[v>>2];a=a-e|0;if(z[v+4>>2]==(o^A[P+42304|0])){if(!(a&32768)){z[h+28>>2]=z[v+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break I}b=b+e|0;break I}z[h+28>>2]=z[v+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}r=r+Q|0;z[M>>2]=z[M>>2]|2048;z[d+4>>2]=z[d+4>>2]|512;e=z[d>>2]|o<<25|1024}h=e|134217728;z[d>>2]=h}if(!(h&253440)|h&1073750016){break A}h=(A[z[q+108>>2]+(h>>>9&495)|0]<<2)+q|0;g=h+28|0;M=m&z[i+12>>2];v=(M|0)!=0;J:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(v<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break J}o=z[h+28>>2];e=z[o>>2];a=a-e|0;if((v|0)==z[o+4>>2]){if(!(a&32768)){z[h+28>>2]=z[o+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break J}b=b+e|0;break J}z[h+28>>2]=z[o+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}e=z[d>>2];if(M){M=d-4|0;P=z[d+4>>2]>>>26&4|(z[M>>2]>>>28&1|(e>>>21&16|(e>>>25&64|e>>>9&170)));h=(A[P+42048|0]<<2)+q|0;g=h+28|0;e=z[i+12>>2];o=e>>>31|0;Q=y[k+(((e&2147483647)>>>s&127)<<1)>>1];K:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(o<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break K}v=z[h+28>>2];e=z[v>>2];a=a-e|0;if(z[v+4>>2]==(o^A[P+42304|0])){if(!(a&32768)){z[h+28>>2]=z[v+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break K}b=b+e|0;break K}z[h+28>>2]=z[v+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}r=r+Q|0;e=z[q+124>>2];z[M>>2]=z[M>>2]|16384;z[d+4>>2]=z[d+4>>2]|4096;z[d>>2]=z[d>>2]|o<<28|8192;e=(e<<2)+d|0;z[e+4>>2]=z[e+4>>2]|4;z[e+12>>2]=z[e+12>>2]|1;z[e+8>>2]=z[e+8>>2]|o<<18|2;e=z[d>>2]}z[d>>2]=e|1073741824}i=i+16|0;d=d+4|0;f=f+1|0;if((T|0)!=(f|0)){continue}break}h=z[q+128>>2]}d=d+8|0;j=j+4|0;if(j>>>0<(h&-4)>>>0){continue}break};break u;case 2:break x;case 1:break z;default:break t}}k=64<>2];i=(z[q+120>>2]+(h<<2)|0)+12|0;m=z[q+116>>2];c=z[q+8>>2];a=z[q+4>>2];b=z[q>>2];v=z[q+104>>2];r=0;f=z[q+128>>2];L:{if(f>>>0<4){j=0;break L}if(!h){break v}o=s?43072:43328;g=1;j=0;while(1){e=0;d=0;if(g){while(1){d=z[i>>2];if(!(!(d&9360)|(d&1226833920)==1226833920)){if((d&2097168)!=16){f=d}else{g=((d&1048576?16:d&495?15:14)<<2)+q|0;v=g+28|0;f=z[m>>2]&2147483647;I=(f&k)!=0;M=y[o+((f>>>s&127)<<1)>>1];M:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(I<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break M}h=z[g+28>>2];f=z[h>>2];a=a-f|0;if((I|0)==z[h+4>>2]){if(!(a&32768)){z[g+28>>2]=z[h+8>>2];h=a>>>0>f>>>0?a:f;b=(a>>>0>=f>>>0?f:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}f=h&16384;a=h<<1;h=a;if(!f){continue}break}break M}b=b+f|0;break M}z[g+28>>2]=z[h+12>>2];g=a;a=a>>>0>>0;h=a?g:f;b=(a?f:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}f=h&16384;a=h<<1;h=a;if(!f){continue}break}}r=r+M|0;f=d|1048576}if((d&16777344)==128){h=((d&8388608?16:d&3960?15:14)<<2)+q|0;v=h+28|0;g=z[m+4>>2]&2147483647;M=(g&k)!=0;P=y[o+((g>>>s&127)<<1)>>1];N:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(M<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break N}I=z[h+28>>2];g=z[I>>2];a=a-g|0;if((M|0)==z[I+4>>2]){if(!(a&32768)){z[h+28>>2]=z[I+8>>2];h=a>>>0>g>>>0?a:g;b=(a>>>0>=g>>>0?g:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}g=h&16384;a=h<<1;h=a;if(!g){continue}break}break N}b=b+g|0;break N}z[h+28>>2]=z[I+12>>2];h=a;a=a>>>0>>0;h=a?h:g;b=(a?g:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}g=h&16384;a=h<<1;h=a;if(!g){continue}break}}r=r+P|0;f=f|8388608}if((d&134218752)==1024){h=((d&67108864?16:d&31680?15:14)<<2)+q|0;v=h+28|0;g=z[m+8>>2]&2147483647;M=(g&k)!=0;P=y[o+((g>>>s&127)<<1)>>1];O:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(M<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break O}I=z[h+28>>2];g=z[I>>2];a=a-g|0;if((M|0)==z[I+4>>2]){if(!(a&32768)){z[h+28>>2]=z[I+8>>2];h=a>>>0>g>>>0?a:g;b=(a>>>0>=g>>>0?g:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}g=h&16384;a=h<<1;h=a;if(!g){continue}break}break O}b=b+g|0;break O}z[h+28>>2]=z[I+12>>2];h=a;a=a>>>0>>0;h=a?h:g;b=(a?g:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}g=h&16384;a=h<<1;h=a;if(!g){continue}break}}r=r+P|0;f=f|67108864}if((d&1073750016)==8192){d=((d&536870912?16:d&253440?15:14)<<2)+q|0;v=d+28|0;g=z[m+12>>2]&2147483647;I=(g&k)!=0;M=y[o+((g>>>s&127)<<1)>>1];P:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(I<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break P}h=z[d+28>>2];g=z[h>>2];a=a-g|0;if((I|0)==z[h+4>>2]){if(!(a&32768)){z[d+28>>2]=z[h+8>>2];d=a>>>0>g>>>0?a:g;b=(a>>>0>=g>>>0?g:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}g=d&16384;a=d<<1;d=a;if(!g){continue}break}break P}b=b+g|0;break P}z[d+28>>2]=z[h+12>>2];d=a;a=a>>>0>>0;d=a?d:g;b=(a?g:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}g=d&16384;a=d<<1;d=a;if(!g){continue}break}}r=r+M|0;f=f|536870912}z[i>>2]=f;h=z[q+124>>2]}m=m+16|0;i=i+4|0;e=e+1|0;if(h>>>0>e>>>0){continue}break}f=z[q+128>>2];d=h}i=i+8|0;g=d;j=j+4|0;if(j>>>0<(f&-4)>>>0){continue}break}}if(!h|f>>>0<=j>>>0){break v}o=f-j|0;I=s?43072:43328;e=0;if(u){break w}M=o<<2;j=0;while(1){d=z[i>>2];Q:{if(d&9360){g=0;e=m;while(1){h=F(g,3);if((2097168<>>h|0;P=((a&1048576?16:a&495?15:14)<<2)+q|0;v=P+28|0;d=z[v>>2];f=z[d>>2];a=Q-f|0;T=z[e>>2]&2147483647;Q=y[I+((T>>>s&127)<<1)>>1];R:{if(z[d+4>>2]!=((k&T)!=0|0)){z[P+28>>2]=z[d+12>>2];d=a;a=a>>>0>>0;d=a?d:f;b=(a?f:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}f=d&16384;a=d<<1;d=a;if(!f){continue}break}break R}if(a&32768){b=b+f|0;break R}z[P+28>>2]=z[d+8>>2];d=a>>>0>f>>>0?a:f;b=(a>>>0>=f>>>0?f:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}f=d&16384;a=d<<1;d=a;if(!f){continue}break}}d=z[i>>2]|1048576<>2]=d;r=r+Q|0}e=e+4|0;g=g+1|0;if((o|0)!=(g|0)){continue}break}h=z[q+124>>2];m=m+M|0;break Q}m=m+M|0}i=i+4|0;j=j+1|0;if(j>>>0>>0){continue}break}break v}d=h&-4;d=(d>>>0<=4?4:d)-1|0;j=(d&-4)+4|0;d=(e+(d<<1&-8)|0)+20|0;break u}T=64<>2];m=(z[q+120>>2]+(a<<2)|0)+12|0;k=z[q+116>>2];c=z[q+8>>2];d=z[q+4>>2];b=z[q>>2];e=z[q+104>>2];r=0;h=z[q+128>>2];S:{T:{if(h>>>0<4){o=0;break T}if(!a){break S}X=s?42560:42816;M=T&2147483584;g=1;o=0;while(1){v=0;i=0;if(g){while(1){U:{V:{W:{X:{Y:{Z:{i=z[m>>2];if(!i){a=z[p>>2];e=z[a>>2];d=d-e|0;_:{if(M&z[k>>2]){g=0;j=0;f=1;break _}g=0;if(M&z[k+4>>2]){k=k+4|0;j=1;f=1;break _}if(M&z[k+8>>2]){k=k+8|0;j=2;f=1;break _}if(M&z[k+12>>2]){k=k+12|0;j=3;f=1;break _}k=k+16|0;j=4;g=1;f=0}$:{if((f|0)==z[a+4>>2]){if(!(d&32768)){z[p>>2]=z[a+8>>2];a=d>>>0>e>>>0?d:e;b=(d>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=a&16384;d=a<<1;a=d;if(!e){continue}break}break $}b=b+e|0;break $}z[p>>2]=z[a+12>>2];a=d;d=d>>>0>>0;a=d?a:e;b=(d?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=a&16384;d=a<<1;a=d;if(!e){continue}break}}if(g){e=p;break U}e=d;a=z[l>>2];d=z[a>>2];h=e-d|0;aa:{if(z[a+4>>2]==(j>>>1|0)){if(!(h&32768)){z[l>>2]=z[a+8>>2];a=d>>>0>>0?h:d;b=(d>>>0<=h>>>0?d:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}d=a&16384;h=a<<1;a=h;if(!d){continue}break}break aa}b=b+d|0;break aa}z[l>>2]=z[a+12>>2];e=d>>>0>h>>>0;a=e?h:d;b=(e?d:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}d=a&16384;h=a<<1;a=h;if(!d){continue}break}}a=z[l>>2];e=z[a>>2];d=h-e|0;ba:{if(z[a+4>>2]==(j&1)){if(!(d&32768)){z[l>>2]=z[a+8>>2];a=d>>>0>e>>>0?d:e;b=(d>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=a&16384;d=a<<1;a=d;if(!e){continue}break}break ba}b=b+e|0;break ba}z[l>>2]=z[a+12>>2];a=d;d=d>>>0>>0;a=d?a:e;b=(d?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=a&16384;d=a<<1;a=d;if(!e){continue}break}}a=z[m>>2];if((a&1226843280)==1226843280){break Y}e=l;if(f){break Z}break V}j=0;a=i;if((a&1226843280)!=1226843280){break Z}break X}P=m-4|0;g=j;f=k;while(1){h=F(g,3);ca:{if(!(!i&(g|0)==(j|0))){a=a>>>h|0;if(a&2097168){break ca}Q=(A[z[q+108>>2]+(a&495)|0]<<2)+q|0;e=Q+28|0;a=z[e>>2];I=z[a>>2];d=d-I|0;S=M&z[f>>2];da:{if(z[a+4>>2]==((S|0)!=0|0)){if(!(d&32768)){z[Q+28>>2]=z[a+8>>2];a=d>>>0>I>>>0?d:I;b=(d>>>0>=I>>>0?I:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}I=a&16384;d=a<<1;a=d;if(!I){continue}break}break da}b=b+I|0;break da}z[Q+28>>2]=z[a+12>>2];a=d;d=d>>>0>>0;a=d?a:I;b=(d?I:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}I=a&16384;d=a<<1;a=d;if(!I){continue}break}}if(!S){break ca}a=z[m>>2]}_=z[m+4>>2]>>>h+17&4|(z[P>>2]>>>h+19&1|(a>>>(g?h+12|0:14)&16|(a>>>h+16&64|a>>>h&170)));Q=(A[_+42048|0]<<2)+q|0;e=Q+28|0;a=z[e>>2];I=z[a>>2];d=d-I|0;S=z[f>>2];ja=y[X+(((S&2147483647)>>>s&127)<<1)>>1];V=S>>>31|0;ea:{if(z[a+4>>2]==(V^A[_+42304|0])){if(!(d&32768)){z[Q+28>>2]=z[a+8>>2];a=d>>>0>I>>>0?d:I;b=(d>>>0>=I>>>0?I:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}I=a&16384;d=a<<1;a=d;if(!I){continue}break}break ea}b=b+I|0;break ea}z[Q+28>>2]=z[a+12>>2];a=d;d=d>>>0>>0;a=d?a:I;b=(d?I:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}I=a&16384;d=a<<1;a=d;if(!I){continue}break}}I=z[q+124>>2];z[P>>2]=z[P>>2]|32<>2]=z[m>>2]|(V<<19|16)<>2]=z[m+4>>2]|8<>2]=z[a+4>>2]|32768;z[a>>2]=z[a>>2]|S&-2147483648|65536;a=a-4|0;z[a>>2]=z[a>>2]|131072}r=r+ja|0;if((g|0)!=3){break ca}a=(I+2<<2)+m|0;z[a+4>>2]=z[a+4>>2]|1;z[a>>2]=z[a>>2]|V<<18|2;a=a-4|0;z[a>>2]=z[a>>2]|4}a=z[m>>2]&(2097152<>2]=a;f=f+4|0;g=g+1|0;if((g|0)!=4){continue}break}break V}e=l;fa:{ga:{switch(j|0){case 1:j=1;a=a&-1224736769;break fa;case 3:j=3;a=a&-1073741825;break fa;case 0:break X;case 2:break ga;default:break V}}j=2;a=a&-1207959553}break W}j=0;a=a&-1226833921}z[m>>2]=a}k=(4-j<<2)+k|0}m=m+4|0;a=z[q+124>>2];v=v+1|0;if(a>>>0>v>>>0){continue}break}i=a;h=z[q+128>>2]}m=m+8|0;g=i;o=o+4|0;if(o>>>0<(h&-4)>>>0){continue}break}}if(!a|h>>>0<=o>>>0){break S}Q=s?42560:42816;T=T&2147483584;j=0;while(1){ha:{ia:{a=z[m>>2];if((a&1226843280)!=1226843280){if((h|0)!=(o|0)){break ia}h=o;break ha}z[m>>2]=a&-1226833921;h=z[q+128>>2];break ha}v=m-4|0;i=0;f=k;while(1){g=F(i,3);a=a>>>g|0;ja:{if(a&2097168){break ja}I=(A[z[q+108>>2]+(a&495)|0]<<2)+q|0;e=I+28|0;a=z[e>>2];h=z[a>>2];d=d-h|0;M=T&z[f>>2];ka:{if(z[a+4>>2]==((M|0)!=0|0)){if(!(d&32768)){z[I+28>>2]=z[a+8>>2];a=d>>>0>h>>>0?d:h;b=(d>>>0>=h>>>0?h:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}h=a&16384;d=a<<1;a=d;if(!h){continue}break}break ka}b=b+h|0;break ka}z[I+28>>2]=z[a+12>>2];a=d;d=d>>>0>>0;a=d?a:h;b=(d?h:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}h=a&16384;d=a<<1;a=d;if(!h){continue}break}}if(!M){break ja}a=z[m>>2];S=z[m+4>>2]>>>g+17&4|(z[v>>2]>>>g+19&1|(a>>>g+16&64|a>>>g&170|a>>>(i?g+12|0:14)&16));I=(A[S+42048|0]<<2)+q|0;e=I+28|0;a=z[e>>2];h=z[a>>2];d=d-h|0;M=z[f>>2];V=y[Q+(((M&2147483647)>>>s&127)<<1)>>1];P=M>>>31|0;la:{if(z[a+4>>2]==(P^A[S+42304|0])){if(!(d&32768)){z[I+28>>2]=z[a+8>>2];a=d>>>0>h>>>0?d:h;b=(d>>>0>=h>>>0?h:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}h=a&16384;d=a<<1;a=d;if(!h){continue}break}break la}b=b+h|0;break la}z[I+28>>2]=z[a+12>>2];a=d;d=d>>>0>>0;a=d?a:h;b=(d?h:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}h=a&16384;d=a<<1;a=d;if(!h){continue}break}}h=z[q+124>>2];z[v>>2]=z[v>>2]|32<>2]=z[m>>2]|(P<<19|16)<>2]=z[m+4>>2]|8<>2]=z[a+4>>2]|32768;z[a>>2]=z[a>>2]|M&-2147483648|65536;a=a-4|0;z[a>>2]=z[a>>2]|131072}r=r+V|0;if((i|0)!=3){break ja}a=(h+2<<2)+m|0;z[a+4>>2]=z[a+4>>2]|1;z[a>>2]=z[a>>2]|P<<18|2;a=a-4|0;z[a>>2]=z[a>>2]|4}a=z[m>>2]&(2097152<>2]=a;f=f+4|0;i=i+1|0;h=z[q+128>>2];if(i>>>0>>0){continue}break}}m=m+4|0;k=(h-o<<2)+k|0;j=j+1|0;if(j>>>0>2]){continue}break}}z[q+8>>2]=c;z[q+4>>2]=d;z[q>>2]=b;z[q+104>>2]=e;if(!fa){break t}z[q+104>>2]=q+100;a=z[q+4>>2];e=1;while(1){b=a;d=z[q+104>>2];a=z[d>>2];c=z[a>>2];b=b-c|0;ma:{na:{if(z[a+4>>2]==(e&1)){z[q+4>>2]=b;if(b&32768){break na}f=z[q>>2];z[d>>2]=z[a+8>>2];a=b>>>0>c>>>0?b:c;b=f+(b>>>0>=c>>>0?c:0)|0;d=z[q+8>>2];while(1){d=d-1|0;z[q+8>>2]=d;c=b<<1;z[q>>2]=c;a=a<<1;z[q+4>>2]=a;oa:{if(d){b=c;break oa}pa:{qa:{a=z[q+16>>2];d=A[a|0];if((d|0)==255){b=a+1|0;z[q+16>>2]=b;a=c>>>20|0;break qa}ra:{if(!(b&67108864)){b=a+1|0;z[q+16>>2]=b;a=c>>>19|0;break ra}x[a|0]=d+1;a=z[q+16>>2];if(A[a|0]==255){b=a+1|0;z[q+16>>2]=b;a=z[q>>2]&134217727;z[q>>2]=a;a=a>>>20|0;break qa}b=a+1|0;z[q+16>>2]=b;a=z[q>>2]>>>19|0}d=8;c=524287;break pa}d=7;c=1048575}x[b|0]=a;z[q+8>>2]=d;b=c&z[q>>2];z[q>>2]=b;a=z[q+4>>2]}if(!(a&32768)){continue}break}break ma}f=z[q>>2];z[d>>2]=z[a+12>>2];a=b;b=b>>>0>>0;a=b?a:c;b=f+(b?c:0)|0;d=z[q+8>>2];while(1){d=d-1|0;z[q+8>>2]=d;c=b<<1;z[q>>2]=c;a=a<<1;z[q+4>>2]=a;sa:{if(d){b=c;break sa}ta:{ua:{a=z[q+16>>2];d=A[a|0];if((d|0)==255){b=a+1|0;z[q+16>>2]=b;a=c>>>20|0;break ua}va:{if(!(b&67108864)){b=a+1|0;z[q+16>>2]=b;a=c>>>19|0;break va}x[a|0]=d+1;a=z[q+16>>2];if(A[a|0]==255){b=a+1|0;z[q+16>>2]=b;a=z[q>>2]&134217727;z[q>>2]=a;a=a>>>20|0;break ua}b=a+1|0;z[q+16>>2]=b;a=z[q>>2]>>>19|0}d=8;c=524287;break ta}d=7;c=1048575}x[b|0]=a;z[q+8>>2]=d;b=c&z[q>>2];z[q>>2]=b;a=z[q+4>>2]}if(!(a&32768)){continue}break}break ma}z[q>>2]=c+z[q>>2];a=b}e=e+1|0;if((e|0)!=5){continue}break}break t}while(1){g=z[i>>2];wa:{if(g&9360){d=0;while(1){f=F(d,3);if((2097168<>2]&2147483647;c=(c|0)==-559038737?7:c-1|0;b=(((h&k)!=0)<>>f|0;j=((j&1048576?16:j&495?15:14)<<2)+q|0;h=y[I+((h>>>s&127)<<1)>>1];if(!c){x[z[q+16>>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;g=z[i>>2];b=0}g=1048576<>2]=g;v=j+28|0;r=h+r|0}m=m+4|0;d=d+1|0;if((o|0)!=(d|0)){continue}break}h=z[q+124>>2];break wa}m=(o<<2)+m|0}i=i+4|0;e=e+1|0;if(h>>>0>e>>>0){continue}break}}z[q+8>>2]=c;z[q+4>>2]=a;z[q>>2]=b;z[q+104>>2]=v;break t}xa:{if(h>>>0<=j>>>0){break xa}m=z[q+124>>2];if(!m){break xa}T=s?42560:42816;Q=I&2147483584;k=0;while(1){e=z[d>>2];ya:{if(e){if(h>>>0<=j>>>0){break ya}v=d-4|0;f=j;while(1){M=f-j|0;m=F(M,3);o=e>>>m|0;za:{if(o&2097168){break za}o=o&495;if(!o){break za}h=(A[o+z[q+108>>2]|0]<<2)+q|0;g=h+28|0;P=Q&z[i>>2];I=(P|0)!=0;Aa:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(I<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break Aa}o=z[h+28>>2];e=z[o>>2];a=a-e|0;if((I|0)==z[o+4>>2]){if(!(a&32768)){z[h+28>>2]=z[o+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break Aa}b=b+e|0;break Aa}z[h+28>>2]=z[o+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}Ba:{if(!P){break Ba}g=(f|0)==(j|0);S=g&(O|0)!=0;e=z[d>>2];V=z[d+4>>2]>>>m+17&4|(z[v>>2]>>>m+19&1|(e>>>m+16&64|e>>>m&170|e>>>(g?14:m+12|0)&16));h=(A[V+42048|0]<<2)+q|0;g=h+28|0;P=z[i>>2];o=P>>>31|0;X=y[T+(((P&2147483647)>>>s&127)<<1)>>1];Ca:{if(u){c=(c|0)==-559038737?7:c-1|0;b=(o<>2]]=b;b=z[q+16>>2];c=A[b|0];z[q+16>>2]=b+1;c=(c|0)==255?7:8;b=0;break Ca}I=z[h+28>>2];e=z[I>>2];a=a-e|0;if(z[I+4>>2]==(o^A[V+42304|0])){if(!(a&32768)){z[h+28>>2]=z[I+8>>2];h=a>>>0>e>>>0?a:e;b=(a>>>0>=e>>>0?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}break Ca}b=b+e|0;break Ca}z[h+28>>2]=z[I+12>>2];h=a;a=a>>>0>>0;h=a?h:e;b=(a?e:0)+b|0;while(1){b=b<<1;c=c-1|0;if(!c){z[q>>2]=b;Nc(q);c=z[q+8>>2];b=z[q>>2]}e=h&16384;a=h<<1;h=a;if(!e){continue}break}}h=z[q+124>>2];z[v>>2]=z[v>>2]|32<>2]=z[d>>2]|(o<<19|16)<>2]=z[d+4>>2]|8<>2]=z[e+4>>2]|32768;z[e>>2]=z[e>>2]|P&-2147483648|65536;e=e-4|0;z[e>>2]=z[e>>2]|131072}r=r+X|0;if((M|0)!=3){break Ba}e=(h+2<<2)+d|0;z[e+4>>2]=z[e+4>>2]|1;z[e>>2]=z[e>>2]|o<<18|2;e=e-4|0;z[e>>2]=z[e>>2]|4}e=z[d>>2]|2097152<>2]=e;h=z[q+128>>2]}i=i+4|0;f=f+1|0;if(f>>>0>>0){continue}break}m=z[q+124>>2];break ya}i=(h-j<<2)+i|0}d=d+4|0;k=k+1|0;if(k>>>0>>0){continue}break}}z[q+8>>2]=c;z[q+4>>2]=a;z[q>>2]=b;z[q+104>>2]=g}ka=ca?E[ga>>3]:1;Da:{if(!ia){a=B>>>0>8?w?8:B:B;$=E[(F(w,80)+((B>>>0>9?w?a:9:a)<<3)|0)+33056>>3];aa=Y;break Da}a=B>>>0>8?w?8:B:B;$=E[(F(w,80)+((B>>>0>9?w?a:9:a)<<3)|0)+33376>>3];aa=ha}la=W;W=ka*$*aa*+(1<>3]=W;Ea:{Fa:{Ga:{if(!s&(J|0)==2|ea){break Ga}if(!Z){break Fa}a=z[ba>>2]-4|0;if((J|0)==2&(a|0)==(s|0)){break Ga}if(!J|(a|0)<=(s|0)){break Fa}}Ha:{if(u){d=0;Ia:{Ja:{b=z[q+8>>2];Ka:{La:{if(b>>>0>=7){if((b|0)!=7){break Ia}if(!N){a=z[q+16>>2]-1|0;if(A[a|0]==255){break Ja}}c=z[q>>2];break La}c=z[q>>2];if(!b){break Ka}}e=b&3;Ma:{if(b-1>>>0<3){a=b;break Ma}f=b&-4;while(1){a=b-4|0;c=((1<>2]=c;z[q+8>>2]=0}x[z[q+16>>2]]=c;z[q+16>>2]=z[q+16>>2]+1;break Ha}z[q+16>>2]=a;break Ha}Na:{if((b|0)!=8|N){break Na}a=z[q+16>>2];if(A[a-1|0]!=127){break Na}a=a-2|0;if(A[a|0]!=255){break Na}z[q+16>>2]=a}break Ha}if(N){b=z[q+8>>2];c=12-b|0;if((c|0)>0){d=z[q>>2];while(1){z[q+8>>2]=0;b=d<>2]=b;Oa:{Pa:{a=z[q+16>>2];d=A[a|0];if((d|0)==255){a=a+1|0;z[q+16>>2]=a;break Pa}Qa:{if(!(b&134217728)){a=a+1|0;z[q+16>>2]=a;e=b>>>19|0;break Qa}x[a|0]=d+1;a=z[q+16>>2];if(A[a|0]==255){a=a+1|0;z[q+16>>2]=a;b=z[q>>2]&134217727;z[q>>2]=b;break Pa}a=a+1|0;z[q+16>>2]=a;e=z[q>>2]>>>19|0}d=524287;b=8;break Oa}e=b>>>20|0;d=1048575;b=7}x[a|0]=e;z[q+8>>2]=b;d=z[q>>2]&d;z[q>>2]=d;c=c-b|0;if((c|0)>0){continue}break}}a=z[q+16>>2];b=A[a|0];if((b|0)!=255){c=z[q>>2];Ra:{Sa:{if(!(c&134217728)){b=a+1|0;z[q+16>>2]=b;c=c>>>19|0;break Sa}x[a|0]=b+1;a=z[q+16>>2];if(A[a|0]==255){b=a+1|0;z[q+16>>2]=b;a=z[q>>2]&134217727;z[q>>2]=a;c=a>>>20|0;d=7;a=1048575;break Ra}b=a+1|0;z[q+16>>2]=b;c=z[q>>2]>>>19|0}d=8;a=524287}x[b|0]=c;z[q+8>>2]=d;z[q>>2]=z[q>>2]&a}break Ha}b=z[q>>2];a=b|65535;b=(a>>>0>2]>>>0?a:a-32768|0)<>2];z[q>>2]=b;Ta:{Ua:{a=z[q+16>>2];c=A[a|0];if((c|0)==255){a=a+1|0;z[q+16>>2]=a;break Ua}Va:{if(!(b&134217728)){a=a+1|0;z[q+16>>2]=a;b=b>>>19|0;break Va}x[a|0]=c+1;a=z[q+16>>2];if(A[a|0]==255){a=a+1|0;z[q+16>>2]=a;b=z[q>>2]&134217727;z[q>>2]=b;break Ua}a=a+1|0;z[q+16>>2]=a;b=z[q>>2]>>>19|0}d=8;c=524287;break Ta}b=b>>>20|0;d=7;c=1048575}x[a|0]=b;z[q+8>>2]=d;b=(z[q>>2]&c)<>2]=b;Wa:{Xa:{a=z[q+16>>2];c=A[a|0];if((c|0)==255){a=a+1|0;z[q+16>>2]=a;break Xa}Ya:{if(!(b&134217728)){a=a+1|0;z[q+16>>2]=a;b=b>>>19|0;break Ya}x[a|0]=c+1;a=z[q+16>>2];if(A[a|0]==255){a=a+1|0;z[q+16>>2]=a;b=z[q>>2]&134217727;z[q>>2]=b;break Xa}a=a+1|0;z[q+16>>2]=a;b=z[q>>2]>>>19|0}d=8;c=524287;break Wa}b=b>>>20|0;d=7;c=1048575}x[a|0]=b;z[q+8>>2]=d;z[q>>2]=z[q>>2]&c;a=z[q+16>>2];if(A[a|0]!=255){z[q+16>>2]=a+1}}x[L+20|0]=A[L+20|0]|1;a=z[q+16>>2]-z[q+20>>2]|0;break Ea}b=3;if(u){a=z[q+8>>2];b=1;Za:{if(a>>>0<7){break Za}b=0;if((a|0)!=7){break Za}b=1;if(N){break Za}b=A[z[q+16>>2]-1|0]!=255}}x[L+20|0]=A[L+20|0]&254;a=(z[q+16>>2]-z[q+20>>2]|0)+b|0}z[L>>2]=a;a=J+1|0;b=(a|0)==3;s=s-b|0;if(da){z[q+28>>2]=38624;z[q+100>>2]=39968;z[q+92>>2]=38496;z[q+88>>2]=38496;z[q+84>>2]=38496;z[q+80>>2]=38496;z[q+76>>2]=38496;z[q+72>>2]=38496;z[q+68>>2]=38496;z[q- -64>>2]=38496;z[q+60>>2]=38496;z[q+56>>2]=38496;z[q+52>>2]=38496;z[q+48>>2]=38496;z[q+44>>2]=38496;z[q+40>>2]=38496;z[q+36>>2]=38496;z[q+32>>2]=38496;z[q+96>>2]=38592}J=b?0:a;K=K+1|0;if((s|0)>=0){continue}break}z[t+48>>2]=K;if(!K){break m}a=z[q+16>>2]-z[q+20>>2]|0;e=z[t+48>>2];if(!e){break m}f=z[t+8>>2];g=e&3;_a:{if(!g){b=a;c=e;break _a}d=0;c=e;while(1){c=c-1|0;h=f+F(c,24)|0;b=z[h>>2];if(a>>>0>>0){z[h>>2]=a;b=a}a=b;d=d+1|0;if((g|0)!=(d|0)){continue}break}}if(e>>>0>=4){while(1){d=f+F(c,24)|0;g=d-24|0;a=z[g>>2];if(a>>>0>b>>>0){z[g>>2]=b;a=b}g=d-48|0;b=z[g>>2];if(a>>>0>>0){z[g>>2]=a;b=a}d=d-72|0;a=z[d>>2];if(a>>>0>b>>>0){z[d>>2]=b;a=b}c=c-4|0;d=f+F(c,24)|0;b=z[d>>2];if(a>>>0>>0){z[d>>2]=a;b=a}if(c){continue}break}}g=z[t>>2];b=z[f>>2];a=b-1|0;if(A[g+a|0]==255){z[f>>2]=a}else{a=b}z[f+16>>2]=a;c=1;if((e|0)==1){break m}while(1){d=f+F(c,24)|0;a=z[d>>2];b=a-1|0;if(A[b+g|0]==255){z[d>>2]=b;a=b}z[d+16>>2]=a-z[d-24>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}break m}z[t+48>>2]=0}if(!z[n+40>>2]){a=z[n+12>>2];E[a+32>>3]=W+E[a+32>>3];le(n);break a}a=z[n+40>>2];b=z[n+12>>2];E[b+32>>3]=W+E[b+32>>3];if(!a){break b}}le(n)}Ka=0;return 0}function Tb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=G(0),o=0,p=0,q=0,r=0,s=0,t=G(0),u=0,v=0,w=0,I=0,J=0,K=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=G(0),U=0,V=0,W=0,X=0,Y=0,Z=0,_=G(0),$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;o=Fa-400|0;Fa=o;a:{if(!c|(!a|!b)){break a}l=z[b+5592>>2];if(l-34>>>0<=4294967262){z[o+4>>2]=33;z[o>>2]=l;sb(d,1,21410,o);break a}g=z[b+5596>>2];if(g-1025>>>0<=4294966274){z[o+16>>2]=g;sb(d,1,21659,o+16|0);break a}f=z[b+5600>>2];if(f-1025>>>0<=4294966274){z[o+32>>2]=f;sb(d,1,21584,o+32|0);break a}if(F(f,g)>>>0<4097){e=g;while(1){i=h;h=h+1|0;k=e>>>0>3;e=e>>>1|0;if(k){continue}break}h=0;if((f|0)>=2){e=f;while(1){h=h+1|0;k=e>>>0>3;e=e>>>1|0;if(k){continue}break}}if((g|0)!=2<>2]=g;sb(d,1,21659,o+352|0);e=0;break a}if((f|0)!=1<>2]=f;sb(d,1,21659,o+336|0);e=0;break a}b:{if(!z[b+24>>2]){break b}if(!z[b+32>>2]){e=0;sb(d,1,12716,0);break a}if(z[b+4788>>2]>=11){z[o+304>>2]=10;sb(d,1,20826,o+304|0);e=0;break a}if((l|0)<11){break b}z[o+320>>2]=10;sb(d,1,20886,o+320|0);e=0;break a}e=z[c+16>>2];z[a+104>>2]=1;z[a+108>>2]=1;z[a+68>>2]=e;c:{if(B[b+18704>>1]){break c}f=z[b+18676>>2]-1|0;if(f>>>0<=2){g=f<<2;z[b+18700>>2]=z[g+34192>>2];h=f<<4;e=h&31;y[b+18704>>1]=(h&63)>>>0>=32?4>>>e|0:((1<>>e;z[b+18680>>2]=z[g+34204>>2]}e=3;d:{e:{f:{g:{g=z[b+18684>>2];switch(g-3|0){case 0:break e;case 1:break f;default:break g}}e=33024;if((g|0)==33024){break e}if(f>>>0<=2){break d}break c}e=4}y[b+18704>>1]=e}sb(d,2,8767,0)}h=z[b+4788>>2];h:{if(!h){h=1;z[b+20>>2]=1;z[b+4788>>2]=1;z[b+4792>>2]=0;break h}if(z[b+20>>2]){e=1;if(h>>>0<2){h=1;break h}g=b+4792|0;while(1){T=D[g+(e<<2)>>2];_=T<=G(1)?G(1):T;f=e-1|0;n=D[g+(f<<2)>>2];t=n<=G(1)?G(1):n;i:{if(!(_>=t)){break i}M=+T;if(T!=_){u=+n;Y=+_;if(n!=t){E[o+168>>3]=t;E[o+160>>3]=u;z[o+152>>2]=f;E[o+144>>3]=Y;E[o+136>>3]=M;z[o+128>>2]=e;sb(d,2,29167,o+128|0);break i}E[o+208>>3]=u;z[o+200>>2]=f;E[o+192>>3]=Y;E[o+184>>3]=M;z[o+176>>2]=e;sb(d,2,13018,o+176|0);break i}u=+n;if(n!=t){E[o+256>>3]=t;E[o+248>>3]=u;z[o+240>>2]=f;E[o+232>>3]=M;z[o+224>>2]=e;sb(d,2,29083,o+224|0);break i}E[o+296>>3]=u;z[o+288>>2]=f;E[o+280>>3]=M;z[o+272>>2]=e;sb(d,2,12952,o+272|0)}e=e+1|0;h=z[b+4788>>2];if(e>>>0>>0){continue}break}break h}if(!z[b+28>>2]){break h}e=1;if(h>>>0<2){h=1;break h}f=b+5192|0;while(1){n=D[f+(e<<2)>>2];g=e-1|0;t=D[f+(g<<2)>>2];if(!(!(n>3]=t;z[o+112>>2]=g;z[o+96>>2]=e;E[o+104>>3]=n;sb(d,2,13102,o+96|0);h=z[b+4788>>2]}e=e+1|0;if(h>>>0>e>>>0){continue}break}}f=z[b+18700>>2];j:{if((f|0)<=0){n=D[((h<<2)+b|0)+4788>>2];if(n>G(0)){e=z[c+24>>2];n=G(+C[c+16>>2]*+C[e+8>>2]*+C[e+12>>2]*+C[e+24>>2]/(+n*8*+C[e>>2]*+C[e+4>>2]));f=n>G(2147483648);n=G(L(n));k:{if(G(H(n))>2]=f?2147483647:e;break j}z[b+18700>>2]=0;break j}if(!((h|0)!=1|(B[b+18704>>1]-1024&65535)>>>0>1435|D[b+4792>>2]!=G(0))){e=z[c+24>>2];D[b+4792>>2]=G(F(F(F(z[e+8>>2],z[c+16>>2]),z[e+12>>2]),z[e+24>>2])>>>0)/G(F(z[e+4>>2],F(f,z[e>>2]))<<3>>>0)}if(!h){break j}e=z[c+24>>2];n=G(+C[c+16>>2]*+C[e+8>>2]*+C[e+12>>2]*+C[e+24>>2]/(+(f|0)*8*+C[e>>2]*+C[e+4>>2]));e=0;if(h>>>0>=4){i=h&-4;g=0;while(1){f=e<<2;l=(f+b|0)+4792|0;if(n>D[l>>2]){D[l>>2]=n;j=1}l=((f|4)+b|0)+4792|0;if(n>D[l>>2]){D[l>>2]=n;j=1}l=((f|8)+b|0)+4792|0;if(n>D[l>>2]){D[l>>2]=n;j=1}f=((f|12)+b|0)+4792|0;if(n>D[f>>2]){D[f>>2]=n;j=1}e=e+4|0;g=g+4|0;if((i|0)!=(g|0)){continue}break}}f=h&3;if(f){while(1){g=((e<<2)+b|0)+4792|0;if(n>D[g>>2]){D[g>>2]=n;j=1}e=e+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}if(!j){break j}sb(d,2,8361,0)}l:{m:{n:{o:{e=B[b+18704>>1];if((e-3&65535)>>>0>=4&(e-1024&65535)>>>0>1435){break o}z[a+16>>2]=1;e=B[b+18704>>1];if((e-3&65535)>>>0>3){break o}f=14099;if((e-5&65535)>>>0<2){break n}k=0;g=0;e=Fa+-64|0;Fa=e;z[b+16>>2]=1;z[b>>2]=0;z[b+4>>2]=0;y[b+18688>>1]=17153;z[b+18180>>2]=0;z[b+18184>>2]=0;z[b+8>>2]=0;z[b+12>>2]=1;z[b+18188>>2]=1;z[b+18192>>2]=1;z[b+5612>>2]=-1;z[b+5596>>2]=32;z[b+5600>>2]=32;z[b+5604>>2]=0;z[b+5608>>2]=1;f=z[b+4788>>2];if((f|0)>=2){h=b+4792|0;n=D[(h+(f<<2)|0)-4>>2];z[e+48>>2]=f;E[e+56>>3]=n;sb(d,2,3504,e+48|0);D[b+4792>>2]=D[(h+(z[b+4788>>2]<<2)|0)-4>>2];z[b+4788>>2]=1}p:{q:{r:{s:{t:{u:{v:{w:{x:{switch(B[b+18704>>1]-3|0){case 0:j=z[b+5592>>2];if((j|0)<7){break t}z[e>>2]=j+1;sb(d,2,30072,e);j=6;break w;case 1:break x;default:break u}}j=z[b+5592>>2];if((j|0)<=1){z[e+16>>2]=j+1;sb(d,2,30218,e+16|0);z[b+5592>>2]=1;z[b+40>>2]=z[b+40>>2]|1;break s}if(j>>>0<8){break v}z[e+32>>2]=j+1;sb(d,2,29918,e+32|0);j=7}z[b+5592>>2]=j}f=j-1|0;z[b+5620>>2]=f;z[b+40>>2]=z[b+40>>2]|1;break q}j=z[b+5592>>2]}z[b+40>>2]=z[b+40>>2]|1;if((j|0)!=1){break r}}z[b+5756>>2]=128;z[b+5620>>2]=1;z[b+5624>>2]=128;j=1;break p}f=j-1|0;z[b+5620>>2]=f;if((j|0)<2){break p}}m=0;if(f-1>>>0>=3){r=f&-4;h=b+5624|0;i=b+5756|0;while(1){l=m<<2;z[l+h>>2]=256;z[i+l>>2]=256;s=l|4;z[s+h>>2]=256;z[i+s>>2]=256;s=l|8;z[s+h>>2]=256;z[i+s>>2]=256;l=l|12;z[l+h>>2]=256;z[i+l>>2]=256;m=m+4|0;g=g+4|0;if((r|0)!=(g|0)){continue}break}}f=f&3;if(!f){break p}while(1){g=(m<<2)+b|0;z[g+5756>>2]=256;z[g+5624>>2]=256;m=m+1|0;k=k+1|0;if((f|0)!=(k|0)){continue}break}}z[b+44>>2]=4;m=0;if(B[b+18704>>1]==4){z[b+48>>2]=0;z[b+52>>2]=0;z[b+244>>2]=1;z[b+80>>2]=4;z[b- -64>>2]=3;f=j-1|0;z[b+60>>2]=f;z[b+56>>2]=1;z[b+96>>2]=1;z[b+228>>2]=4;z[b+212>>2]=3;z[b+208>>2]=j;z[b+200>>2]=0;z[b+204>>2]=1;z[b+196>>2]=f;m=2}z[b+20>>2]=1;z[b+4784>>2]=m;f=z[b+18700>>2];y:{if((f|0)<=0){z[b+18700>>2]=1302083;sb(d,2,25860,0);break y}if(f>>>0<1302084){break y}sb(d,2,23184,0);z[b+18700>>2]=1302083}f=z[b+18680>>2];z:{if((f|0)<=0){z[b+18680>>2]=1041666;sb(d,2,25711,0);break z}if(f>>>0<1041667){break z}sb(d,2,23011,0);z[b+18680>>2]=1041666}f=z[c+24>>2];D[b+4792>>2]=G(F(F(F(z[f+8>>2],z[c+16>>2]),z[f+12>>2]),z[f+24>>2])>>>0)/G(F(z[f+4>>2],F(z[b+18700>>2],z[f>>2]))<<3>>>0);Fa=e- -64|0;j=B[b+18704>>1];k=0;e=Fa-80|0;Fa=e;A:{B:{C:{f=z[c+16>>2];if((f|0)==3){f=z[c+24>>2];if(z[f+32>>2]|z[f+24>>2]!=12){h=f+32|0;g=f+24|0;break C}k=1;h=f+84|0;g=f+76|0;if(z[h>>2]|z[g>>2]!=12){break C}k=2;h=f+136|0;g=f+128|0;if(z[h>>2]|z[g>>2]!=12){break C}h=1;D:{switch(j-3|0){case 0:g=z[f+12>>2];f=z[f+8>>2];if(g>>>0<1081&f>>>0<=2048){break A}z[e+4>>2]=g;z[e>>2]=f;sb(d,2,19044,e);break B;case 1:break D;default:break A}}g=z[f+12>>2];f=z[f+8>>2];if(g>>>0<2161&f>>>0<=4096){break A}z[e+20>>2]=g;z[e+16>>2]=f;sb(d,2,18879,e+16|0);break B}z[e+48>>2]=f;sb(d,2,19432,e+48|0);break B}f=A[3722]|A[3723]<<8|(A[3724]<<16|A[3725]<<24);x[e+75|0]=f;x[e+76|0]=f>>>8;x[e+77|0]=f>>>16;x[e+78|0]=f>>>24;z[e+72>>2]=A[3719]|A[3720]<<8|(A[3721]<<16|A[3722]<<24);x[e- -64|0]=A[3725];f=A[3721]|A[3722]<<8|(A[3723]<<16|A[3724]<<24);z[e+56>>2]=A[3717]|A[3718]<<8|(A[3719]<<16|A[3720]<<24);z[e+60>>2]=f;f=z[h>>2];z[e+36>>2]=z[g>>2];z[e+32>>2]=k;z[e+40>>2]=f?e+72|0:e+56|0;sb(d,2,19215,e+32|0)}h=0}Fa=e+80|0;if(!h){break m}break l}f=14161;if((e&65535)==7){break n}f=14051;if((e-256&65535)>>>0<524){break n}if((e-1024&65535)>>>0<=1435){i=0;if(!(z[b+5596>>2]!=64|z[b+5600>>2]!=64)){z[b+5596>>2]=32;z[b+5600>>2]=32}e=B[b+18704>>1];y[b+18688>>1]=17153;if(!z[b+44>>2]){z[b+44>>2]=4}h=e&-256;if(!((e&65024)!=1024&(h|0)!=1536)){z[b+5608>>2]=1}e=z[b+5592>>2];E:{if((e|0)!=6){break E}if(z[c>>2]){e=6;break E}e=6;if(z[c+4>>2]){break E}j=z[b>>2];f=z[(j?b+12|0:c+8|0)>>2];g=6;F:{G:{H:{switch((h&65535)-1024>>>8|0){case 3:if(f>>>0>2047){break G}e=5;if(f>>>0>1023){break G}break F;case 4:if(f>>>0>4095){break F}if(f>>>0>2047){break G}e=5;if(f>>>0>1023){break G}break F;case 0:break G;case 5:break H;default:break F}}if(f>>>0>4095){break F}if(f>>>0>2047){break G}e=5;if(f>>>0<1024){break F}}z[b+5592>>2]=e;g=e}I:{if(!j){h=z[c+8>>2];e=g-1|0;f=1<>>0>>0|f>>>0>C[c+12>>2]){break I}}e=g;break E}z[b+5592>>2]=e;f=g-2|0;j=1<>>0<=h>>>0&j>>>0<=C[c+12>>2]){break E}z[b+5592>>2]=f;if(e>>>0<2){e=f;break E}e=g-3|0;j=1<>>0>h>>>0|j>>>0>C[c+12>>2])){e=f;break E}z[b+5592>>2]=e;if(f>>>0<2){break E}f=g-4|0;j=1<>>0<=h>>>0&j>>>0<=C[c+12>>2]){break E}z[b+5592>>2]=f;if(e>>>0<2){e=f;break E}e=g-5|0;j=1<>>0>h>>>0|j>>>0>C[c+12>>2])){e=f;break E}z[b+5592>>2]=e;if(f>>>0<2){break E}f=g-6|0;g=1<>>0<=h>>>0&g>>>0<=C[c+12>>2]){break E}z[b+5592>>2]=f;e=f}J:{if(z[b+40>>2]){break J}z[b+40>>2]=1;if((e|0)==1){z[b+5756>>2]=128;z[b+5620>>2]=1;z[b+5624>>2]=128;break J}j=e-1|0;z[b+5620>>2]=j;if((e|0)<2){break J}k=0;g=0;if(e-2>>>0>=3){m=j&-4;e=b+5624|0;f=b+5756|0;while(1){h=g<<2;z[h+e>>2]=256;z[f+h>>2]=256;l=h|4;z[l+e>>2]=256;z[f+l>>2]=256;l=h|8;z[l+e>>2]=256;z[f+l>>2]=256;h=h|12;z[h+e>>2]=256;z[f+h>>2]=256;g=g+4|0;i=i+4|0;if((m|0)!=(i|0)){continue}break}}e=j&3;if(!e){break J}while(1){f=(g<<2)+b|0;z[f+5756>>2]=256;z[f+5624>>2]=256;g=g+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}g=Fa-400|0;Fa=g;j=z[(z[b>>2]?b+12|0:c+8|0)>>2];h=z[b+5592>>2];f=B[b+18704>>1];e=f&15;K:{L:{if(e>>>0>=12){z[g+336>>2]=e;sb(d,2,14584,g+336|0);break L}i=f>>>4&15;l=B[(e<<1)+33840>>1];m=1;if(i>>>0<=l>>>0){break K}z[g+360>>2]=i;z[g+356>>2]=e;z[g+352>>2]=l;sb(d,2,14460,g+352|0)}m=0}e=z[c+16>>2];if(e>>>0>=4){z[g+320>>2]=e;sb(d,2,15552,g+320|0);m=0}e=z[c>>2];i=z[c+4>>2];if(e|i){z[g+304>>2]=e;z[g+308>>2]=(i|0)!=0;sb(d,2,14804,g+304|0);m=0}e=z[b+4>>2];i=z[b+8>>2];if(e|i){z[g+292>>2]=i;z[g+288>>2]=e;sb(d,2,14690,g+288|0);m=0}l=f&65280;M:{if(!z[b>>2]){break M}i=z[c+8>>2];e=z[b+12>>2];N:{if(!((f&65024)!=1024&(l|0)!=1536)){k=z[c+12>>2];r=z[b+16>>2];if(k>>>0<=r>>>0&e>>>0>=i>>>0){break M}z[g+268>>2]=k;z[g+264>>2]=i;z[g+260>>2]=r;z[g+256>>2]=e;sb(d,2,15697,g+256|0);break N}if(e>>>0>=i>>>0&C[b+16>>2]>=C[c+12>>2]){break M}i=z[b+16>>2];if((e|0)==1024&(i|0)==1024){break M}z[g+276>>2]=i;z[g+272>>2]=e;sb(d,2,14216,g+272|0)}m=0}e=z[c+16>>2];O:{if(!e){break O}i=0;while(1){k=z[c+24>>2]+F(i,52)|0;if(!(z[k+24>>2]-8>>>0<=8&!z[k+32>>2])){m=0;e=A[3722]|A[3723]<<8|(A[3724]<<16|A[3725]<<24);x[g+395|0]=e;x[g+396|0]=e>>>8;x[g+397|0]=e>>>16;x[g+398|0]=e>>>24;z[g+392>>2]=A[3719]|A[3720]<<8|(A[3721]<<16|A[3722]<<24);x[g+384|0]=A[3725];e=A[3721]|A[3722]<<8|(A[3723]<<16|A[3724]<<24);z[g+376>>2]=A[3717]|A[3718]<<8|(A[3719]<<16|A[3720]<<24);z[g+380>>2]=e;e=z[k+32>>2];z[g+244>>2]=z[k+24>>2];z[g+240>>2]=i;z[g+248>>2]=e?g+392|0:g+376|0;sb(d,2,15363,g+240|0);e=z[c+16>>2]}i=i+1|0;if(i>>>0>>0){continue}break}if(!e){break O}e=z[z[c+24>>2]>>2];if((e|0)!=1){z[g+224>>2]=e;sb(d,2,18392,g+224|0);m=0}e=z[z[c+24>>2]+4>>2];if((e|0)!=1){z[g+212>>2]=0;z[g+208>>2]=e;sb(d,2,16556,g+208|0);m=0}if(C[c+16>>2]<2){break O}e=z[z[c+24>>2]+52>>2];if(e-1>>>0>=2){z[g+192>>2]=e;sb(d,2,18290,g+192|0);m=0}e=z[z[c+24>>2]+56>>2];if((e|0)!=1){z[g+180>>2]=1;z[g+176>>2]=e;sb(d,2,16556,g+176|0);m=0}i=2;if(C[c+16>>2]<=2){break O}while(1){e=F(i,52);k=e+z[c+24>>2]|0;r=z[k>>2];k=z[k-52>>2];if((r|0)!=(k|0)){z[g+168>>2]=k;z[g+164>>2]=r;z[g+160>>2]=i+1;sb(d,2,18636,g+160|0);m=0}e=z[(e+z[c+24>>2]|0)+4>>2];if((e|0)!=1){z[g+148>>2]=i;z[g+144>>2]=e;sb(d,2,16556,g+144|0);m=0}i=i+1|0;if(i>>>0>2]){continue}break}}e=l-1024>>>8|0;P:{if(e>>>0>5){m=0;break P}Q:{R:{S:{i=1<>2];k=z[i+12>>2];i=z[i+8>>2];if(k>>>0<3113&i>>>0<=4096){break Q}z[g+116>>2]=k;z[g+112>>2]=i;sb(d,2,15215,g+112|0);break R}i=z[c+24>>2];k=z[i+12>>2];i=z[i+8>>2];if(k>>>0<1557&i>>>0<=2048){break Q}z[g+100>>2]=k;z[g+96>>2]=i;sb(d,2,14919,g+96|0);break R}i=z[c+24>>2];k=z[i+12>>2];i=z[i+8>>2];if(k>>>0<6225&i>>>0<=8192){break Q}z[g+132>>2]=k;z[g+128>>2]=i;sb(d,2,15067,g+128|0)}m=0}if(z[b+5612>>2]!=-1){sb(d,2,15853,0);m=0}i=z[b+5596>>2];k=z[b+5600>>2];if(!((i|0)==32&(k|0)==32)){z[g+84>>2]=k;z[g+80>>2]=i;sb(d,2,16423,g+80|0);m=0}i=z[b+44>>2];if((i|0)!=4){z[g+64>>2]=i;sb(d,2,18159,g- -64|0);m=0}i=z[b+4784>>2];if(i){z[g+48>>2]=i;sb(d,2,18768,g+48|0);m=0}i=z[b+5604>>2];if(i){z[g+32>>2]=i;sb(d,2,18489,g+32|0);m=0}i=z[b+5608>>2];T:{U:{if(!((f&65024)!=1024&(l|0)!=1536)){f=16276;if((i|0)!=1){break U}break T}f=16129;if(!i){break T}}m=0;sb(d,2,f,0)}f=z[b+4788>>2];if((f|0)!=1){z[g+16>>2]=f;sb(d,2,16669,g+16|0);m=0}V:{W:{X:{switch(e|0){case 0:i=17899;if(h-2>>>0>=5){break W}break V;case 1:i=17779;if(h-2>>>0>=6){break W}break V;case 2:i=17519;if(h-2>>>0>=7){break W}break V;case 3:if(j>>>0>=2048){i=17379;if(h-2>>>0>=5){break W}break V}if(j>>>0<1024){break V}i=16938;if(h-2>>>0>=4){break W}break V;case 4:if(j>>>0>=4096){i=17639;if(h-2>>>0>=6){break W}break V}if(j>>>0>=2048){i=17085;if(h-2>>>0>=5){break W}break V}if(j>>>0<1024){break V}i=16791;if(h-2>>>0>=4){break W}break V;case 5:break X;default:break V}}if(j>>>0>=8192){i=18019;if(h-2>>>0>=7){break W}break V}if(j>>>0>=4096){i=17232;if(h-2>>>0>=6){break W}break V}if(j>>>0>=2048){i=17085;if(h-2>>>0>=5){break W}break V}if(j>>>0<1024){break V}i=16791;if(h-2>>>0<4){break V}}z[g>>2]=h-1;sb(d,2,i,g);m=0}f=z[b+5620>>2];if(z[b+5592>>2]!=1){i=0;if((f|0)<=0){break P}while(1){e=(i<<2)+b|0;if(!(z[e+5624>>2]==256&z[e+5756>>2]==256)){m=0;sb(d,2,15986,0);f=z[b+5620>>2]}i=i+1|0;if((i|0)<(f|0)){continue}break}break P}if(!((f|0)!=1|z[b+5624>>2]!=128)&z[b+5756>>2]==128){break P}m=0;sb(d,2,15986,0)}Fa=g+400|0;if(!m){break m}break l}if(e<<16>>16>=0){break l}e=e&65535;f=26852;if((e|0)==32768){break n}if((e|0)==33024){break l}f=26793}sb(d,2,f,0)}y[b+18704>>1]=0}z[a+160>>2]=z[b+18680>>2];y[a+80>>1]=B[b+18704>>1];Y:{if(z[b+24>>2]){z[a+176>>2]=2;break Y}if(z[b+28>>2]){z[a+176>>2]=1;break Y}z[a+176>>2]=0}if(z[b+24>>2]){f=F(F(z[b+4788>>2],z[b+5592>>2]),12);e=td(f);z[a+168>>2]=e;if(!e){e=0;sb(d,1,31001,0);break a}Gd(e,z[b+32>>2],f)}z[a+92>>2]=z[b+12>>2];z[a+96>>2]=z[b+16>>2];z[a+84>>2]=z[b+4>>2];z[a+88>>2]=z[b+8>>2];e=z[b+36>>2];Z:{if(e){e=td(Wd(e)+1|0);z[a+100>>2]=e;if(!e){e=0;sb(d,1,12760,0);break a}Vd(e,z[b+36>>2]);break Z}e=0;f=A[33801]|A[33802]<<8|(A[33803]<<16|A[33804]<<24);g=A[33797]|A[33798]<<8|(A[33799]<<16|A[33800]<<24);x[o+389|0]=g;x[o+390|0]=g>>>8;x[o+391|0]=g>>>16;x[o+392|0]=g>>>24;x[o+393|0]=f;x[o+394|0]=f>>>8;x[o+395|0]=f>>>16;x[o+396|0]=f>>>24;f=z[8449];z[o+384>>2]=z[8448];z[o+388>>2]=f;f=z[8447];z[o+376>>2]=z[8446];z[o+380>>2]=f;f=z[8445];z[o+368>>2]=z[8444];z[o+372>>2]=f;f=td((Wd(o+368|0)+Wd(5280)|0)+1|0);z[a+100>>2]=f;if(!f){sb(d,1,12814,0);break a}z[o+84>>2]=5280;z[o+80>>2]=o+368;h=Fa-16|0;Fa=h;j=o+80|0;z[h+12>>2]=j;e=f;g=0;f=Fa-160|0;Fa=f;while(1){x[(f+8|0)+g|0]=A[g+51696|0];g=g+1|0;if(g>>>0<144){continue}break}z[f+52>>2]=e;z[f+28>>2]=e;g=-2-e|0;g=g>>>0>2147483647?2147483647:g;z[f+56>>2]=g;e=e+g|0;z[f+36>>2]=e;z[f+24>>2]=e;ge(f+8|0,1813,j);if(g){e=z[f+28>>2];x[e-((e|0)==z[f+24>>2])|0]=0}Fa=f+160|0;Fa=h+16|0}_:{if(z[b>>2]){e=z[a+92>>2];if(!e){e=0;sb(d,1,12696,0);break a}f=z[a+96>>2];if(!f){e=0;sb(d,1,8023,0);break a}h=z[c+8>>2]-z[a+84>>2]|0;j=h;g=h+e|0;i=e>>31;h=i+(h>>31)|0;h=g>>>0>>0?h+1|0:h;e=qo(g-1|0,h-!g|0,e,i);z[a+104>>2]=e;h=z[c+12>>2]-z[a+88>>2]|0;j=h;g=h+f|0;i=f>>31;h=i+(h>>31)|0;h=g>>>0>>0?h+1|0:h;f=qo(g-1|0,h-!g|0,f,i);z[a+108>>2]=f;if(e>>>0<=65535/(f>>>0)>>>0){break _}z[o+68>>2]=f;z[o+64>>2]=e;sb(d,1,28758,o- -64|0);e=0;break a}z[a+92>>2]=z[c+8>>2]-z[a+84>>2];z[a+96>>2]=z[c+12>>2]-z[a+88>>2]}if(A[b+18688|0]){x[a+172|0]=A[b+18689|0];x[a+180|0]=A[a+180|0]|1}e=ud(F(z[a+108>>2],z[a+104>>2]),5644);z[a+156>>2]=e;if(e){if(F(z[a+108>>2],z[a+104>>2])){aa=b+48|0;while(1){f=z[a+176>>2];p=z[a+156>>2]+F(W,5644)|0;g=z[b+4788>>2];z[p+8>>2]=g;if(g){e=B[a+80>>1];h=(e-3&65535)>>>0<4|(e-1024&65535)>>>0<1436;e=0;while(1){$:{aa:{if(h){if((f|0)!=1){break aa}j=e<<2;i=j+p|0;j=b+j|0;D[i+5184>>2]=D[j+5192>>2];D[i+20>>2]=D[j+4792>>2];break $}if((f|0)!=1){break aa}j=e<<2;D[(j+p|0)+5184>>2]=D[(b+j|0)+5192>>2];break $}j=e<<2;i=j+p|0;n=D[(b+j|0)+4792>>2];D[i+20>>2]=n;if(!(n<=G(1))){break $}z[i+20>>2]=0}e=e+1|0;if((g|0)!=(e|0)){continue}break}}z[p>>2]=z[b+40>>2];z[p+4>>2]=z[b+44>>2];z[p+16>>2]=x[b+18690|0];x[p+5640|0]=A[p+5640|0]&251;ba:{ca:{da:{ea:{J=z[b+4784>>2];fa:{if(J){R=p+5640|0;i=W+1|0;j=0;g=0;while(1){if((i|0)==z[(F(j,148)+b|0)+96>>2]){f=F(g,148);e=f+b|0;m=z[e+52>>2];h=z[c+16>>2];if(m>>>0>=h>>>0){break ea}l=z[e+48>>2];f=f+p|0;z[f+428>>2]=m;z[f+424>>2]=l;z[f+432>>2]=z[e+56>>2];z[f+436>>2]=z[e+60>>2];m=z[e- -64>>2];z[f+440>>2]=h>>>0>m>>>0?m:h;z[f+456>>2]=z[e+80>>2];z[f+472>>2]=z[e+96>>2];g=g+1|0}j=j+1|0;if((J|0)!=(j|0)){continue}break}if(!g){break fa}j=0;s=z[b+4788>>2];q=z[b+5592>>2];m=z[c+16>>2];N=F(q,m);v=ud(F(s,N),4);ga:{if(v){if(J){K=W+1|0;while(1){r=F(j,148)+aa|0;ha:{if((K|0)!=z[r+48>>2]){break ha}i=z[r>>2];f=z[r+12>>2];if(i>>>0>=(f>>>0>>0?f:q)>>>0){break ha}l=F(i,m);w=z[r+16>>2];while(1){e=z[r+4>>2];if(e>>>0<(m>>>0>w>>>0?w:m)>>>0){h=e+l|0;k=z[r+8>>2];while(1){I=0;f=h;h=f+1|0;if(k>>>0>>0?k:s){while(1){z[v+(f<<2)>>2]=1;f=f+N|0;I=I+1|0;k=z[r+8>>2];if(I>>>0<(k>>>0>>0?k:s)>>>0){continue}break}w=z[r+16>>2]}e=e+1|0;if(e>>>0<(m>>>0>w>>>0?w:m)>>>0){continue}break}f=z[r+12>>2]}l=m+l|0;i=i+1|0;if(i>>>0<(f>>>0>>0?f:q)>>>0){continue}break}}j=j+1|0;if((J|0)!=(j|0)){continue}break}}ia:{if(!m|(!s|!q)){break ia}J=m&-4;r=m&3;i=0;K=m-1>>>0<3;k=0;h=0;while(1){e=i;l=0;while(1){w=0;f=e;if(!K){while(1){j=v+(f<<2)|0;k=z[j>>2]!=1|k|z[j+4>>2]!=1|z[j+8>>2]!=1|z[j+12>>2]!=1;f=f+4|0;w=w+4|0;if((J|0)!=(w|0)){continue}break}}I=0;if(r){while(1){k=z[v+(f<<2)>>2]!=1|k;f=f+1|0;I=I+1|0;if((r|0)!=(I|0)){continue}break}}e=e+m|0;l=l+1|0;if((q|0)!=(l|0)){continue}break}i=i+N|0;h=h+1|0;if((s|0)!=(h|0)){continue}break}if(!k){break ia}sb(d,1,21319,0)}le(v);break ga}sb(d,1,22963,0)}x[R|0]=A[R|0]|4;e=g-1|0}else{e=0}z[p+420>>2]=e}e=ud(z[c+16>>2],1080);z[p+5584>>2]=e;if(!e){e=0;sb(d,1,8453,0);break a}X=p+5584|0;if(z[b+18696>>2]){e=z[c+16>>2];U=F(e,e)<<2;e=td(U);if(!e){e=0;sb(d,1,11284,0);break a}ba=z[b+18696>>2];z[p+16>>2]=2;f=td(U);z[p+5612>>2]=f;if(!f){le(e);e=0;sb(d,1,31181,0);break a}Gd(f,z[b+18696>>2],U);r=Gd(e,z[b+18696>>2],U);w=td(U);z[p+5608>>2]=w;if(!w){le(r);e=0;sb(d,1,31073,0);break a}f=0;l=0;k=0;J=0;v=0;q=z[c+16>>2];g=td(q<<4);v=0;ja:{if(!g){break ja}I=q-1|0;K=q<<2;m=Id(g,0,K);Z=m+K|0;ka:{la:{if(q){g=m;if(I>>>0>=7){e=q&-8;while(1){z[g>>2]=f;z[g+28>>2]=f|7;z[g+24>>2]=f|6;z[g+20>>2]=f|5;z[g+16>>2]=f|4;z[g+12>>2]=f|3;z[g+8>>2]=f|2;z[g+4>>2]=f|1;f=f+8|0;g=g+32|0;k=k+8|0;if((e|0)!=(k|0)){continue}break}}e=q&7;if(e){k=0;while(1){z[g>>2]=f;f=f+1|0;g=g+4|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}if(!I){break la}}P=q-2|0;j=I;e=1;i=r;s=m;while(1){if((l|0)==(q|0)){break ka}R=l<<2;h=R+i|0;n=G(0);ma:{if(!(q-l&1)){g=h;f=l;break ma}n=D[h>>2];n=n>G(0)?n:G(-n);f=n>G(0);n=f?n:G(0);J=f?l:J;g=h+K|0;f=l+1|0}if((l|0)!=(I|0)){while(1){t=D[g>>2];T=t>G(0)?t:G(-t);k=T>n;N=g+K|0;t=D[N>>2];t=t>G(0)?t:G(-t);n=k?T:n;g=t>n;n=g?t:n;J=g?f+1|0:k?f:J;g=K+N|0;f=f+2|0;if((q|0)!=(f|0)){continue}break}}if(n==G(0)){break ka}if((l|0)!=(J|0)){f=z[s>>2];g=((J<<2)+s|0)-R|0;z[s>>2]=z[g>>2];z[g>>2]=f;f=(F(q,J-l|0)<<2)+i|0;g=Gd(Z,f,K);Gd(f,i,K);Gd(i,g,K)}if(e>>>0>>0){S=P-l|0;t=D[h>>2];N=I-l&3;V=0-j|0;g=h+4|0;f=h+K|0;h=e;while(1){n=G(D[f>>2]/t);D[f>>2]=n;f=f+4|0;n=G(-n);Q=0;k=e;if(N){while(1){D[f>>2]=G(n*D[g>>2])+D[f>>2];f=f+4|0;k=k+1|0;g=g+4|0;Q=Q+1|0;if((N|0)!=(Q|0)){continue}break}}if(S>>>0>=3){while(1){D[f>>2]=G(n*D[g>>2])+D[f>>2];D[f+4>>2]=G(n*D[g+4>>2])+D[f+4>>2];D[f+8>>2]=G(n*D[g+8>>2])+D[f+8>>2];D[f+12>>2]=G(n*D[g+12>>2])+D[f+12>>2];f=f+16|0;g=g+16|0;k=k+4|0;if((q|0)!=(k|0)){continue}break}}f=f+R|0;g=(V<<2)+g|0;h=h+1|0;if((q|0)!=(h|0)){continue}break}}s=s+4|0;j=j-1|0;e=e+1|0;i=i+K|0;l=l+1|0;if((I|0)!=(l|0)){continue}break}if(q){break la}le(m);v=1;break ja}s=(q<<3)+Z|0;P=q<<2;J=s+P|0;S=P+Z|0;R=S+P|0;ca=q&-4;$=q&3;N=(r+(F(q,q)<<2)|0)-4|0;da=(q^-1)<<2;V=0;while(1){j=Id(Z,0,K);z[j+(V<<2)>>2]=1065353216;h=m;i=r;e=s;l=0;while(1){na:{if(!l){n=G(0);break na}n=G(0);f=i;g=s;if(l>>>0>=4){v=l&-4;k=0;while(1){n=G(G(D[f+12>>2]*D[g+12>>2])+G(G(D[f+8>>2]*D[g+8>>2])+G(G(D[f+4>>2]*D[g+4>>2])+G(G(D[f>>2]*D[g>>2])+n))));g=g+16|0;f=f+16|0;k=k+4|0;if((v|0)!=(k|0)){continue}break}}k=0;v=l&3;if(!v){break na}while(1){n=G(G(D[f>>2]*D[g>>2])+n);f=f+4|0;g=g+4|0;k=k+1|0;if((v|0)!=(k|0)){continue}break}}D[e>>2]=D[j+(z[h>>2]<<2)>>2]-n;e=e+4|0;h=h+4|0;i=i+P|0;l=l+1|0;if((q|0)!=(l|0)){continue}break}i=0;j=R;l=J;h=N;e=q;while(1){t=D[h>>2];n=G(0);oa:{if(e>>>0>=q>>>0){break oa}Q=0;f=h;g=j;k=e;v=i&3;if(v){while(1){k=k+1|0;n=G(G(D[f+4>>2]*D[g>>2])+n);f=f+4|0;g=g+4|0;Q=Q+1|0;if((v|0)!=(Q|0)){continue}break}}if(i-1>>>0<3){break oa}while(1){n=G(G(D[f+16>>2]*D[g+12>>2])+G(G(D[f+12>>2]*D[g+8>>2])+G(G(D[f+8>>2]*D[g+4>>2])+G(G(D[f+4>>2]*D[g>>2])+n))));g=g+16|0;f=f+16|0;k=k+4|0;if((q|0)!=(k|0)){continue}break}}j=j-4|0;l=l-4|0;D[j>>2]=G(D[l>>2]-n)/t;i=i+1|0;h=h+da|0;e=e-1|0;if(e){continue}break}Q=0;f=w;g=0;l=0;if(I>>>0>=3){while(1){e=g<<2;D[f>>2]=D[e+S>>2];f=f+P|0;D[f>>2]=D[S+(e|4)>>2];f=f+P|0;D[f>>2]=D[S+(e|8)>>2];f=f+P|0;D[f>>2]=D[S+(e|12)>>2];f=f+P|0;g=g+4|0;l=l+4|0;if((ca|0)!=(l|0)){continue}break}}if($){while(1){D[f>>2]=D[S+(g<<2)>>2];g=g+1|0;f=f+P|0;Q=Q+1|0;if(($|0)!=(Q|0)){continue}break}}w=w+4|0;v=1;V=V+1|0;if((q|0)!=(V|0)){continue}break}}le(m)}if(!v){le(r);e=0;sb(d,1,31133,0);break a}i=td(z[c+16>>2]<<3);z[p+5604>>2]=i;if(!i){le(r);e=0;sb(d,1,31239,0);break a}j=z[p+5608>>2];f=0;e=z[c+16>>2];if(e){l=e&-4;m=e&3;k=e>>>0<4;while(1){M=0;g=f;h=0;if(!k){while(1){s=e+g|0;q=s+e|0;w=q+e|0;u=+D[j+(w<<2)>>2];Y=u*u;u=+D[j+(q<<2)>>2];ea=u*u;u=+D[j+(s<<2)>>2];fa=u*u;u=+D[j+(g<<2)>>2];M=Y+(ea+(fa+(u*u+M)));g=e+w|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}h=0;if(m){while(1){u=+D[j+(g<<2)>>2];M=u*u+M;g=e+g|0;h=h+1|0;if((m|0)!=(h|0)){continue}break}}E[i+(f<<3)>>3]=O(M);f=f+1|0;if((e|0)!=(f|0)){continue}break}}le(r);j=z[c+16>>2];pa:{if(!j){break pa}f=U+ba|0;h=z[X>>2];g=0;e=0;if(j>>>0>=4){i=j&-4;l=0;while(1){z[(h+F(e,1080)|0)+1076>>2]=z[f+(e<<2)>>2];m=e|1;z[(h+F(m,1080)|0)+1076>>2]=z[f+(m<<2)>>2];m=e|2;z[(h+F(m,1080)|0)+1076>>2]=z[f+(m<<2)>>2];m=e|3;z[(h+F(m,1080)|0)+1076>>2]=z[f+(m<<2)>>2];e=e+4|0;l=l+4|0;if((i|0)!=(l|0)){continue}break}}j=j&3;if(!j){break pa}while(1){z[(h+F(e,1080)|0)+1076>>2]=z[f+(e<<2)>>2];e=e+1|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}k=0;j=0;qa:{ra:{if(z[p+16>>2]==2){g=z[p+5620>>2];sa:{if(!z[p+5608>>2]){m=1;break sa}if(z[p+5624>>2]==(g|0)){e=g+10|0;z[p+5624>>2]=e;e=xd(z[p+5616>>2],F(e,20));if(!e){break ra}z[p+5616>>2]=e;f=z[p+5620>>2];Id(e+F(f,20)|0,0,F(z[p+5624>>2]-f|0,20));g=z[p+5620>>2]}h=z[p+5616>>2];k=h+F(g,20)|0;e=k;f=z[e+12>>2];if(f){le(f);z[e+12>>2]=0}z[k+4>>2]=1;z[k+8>>2]=1;m=2;z[k>>2]=2;s=e;e=z[c+16>>2];i=F(e,e);l=i<<2;f=td(l);z[s+12>>2]=f;e=0;if(!f){break qa}La[z[(z[k>>2]<<2)+33824>>2]](z[p+5608>>2],0,f,0,i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[(h+F(g,20)|0)+16>>2]=l;g=z[p+5620>>2]+1|0;z[p+5620>>2]=g}if(z[p+5624>>2]==(g|0)){e=g+10|0;z[p+5624>>2]=e;e=xd(z[p+5616>>2],F(e,20));if(!e){break ra}z[p+5616>>2]=e;f=z[p+5620>>2];k=(ga=Id(e+F(f,20)|0,0,F(z[p+5624>>2]-f|0,20))-20|0,ha=0,ia=k,ia?ga:ha);g=z[p+5620>>2]}q=z[p+5616>>2];i=q+F(g,20)|0;e=z[i+12>>2];if(e){le(e);z[i+12>>2]=0}z[i+4>>2]=2;z[i+8>>2]=m;z[i>>2]=2;l=z[c+16>>2];r=l<<2;f=td(r);z[i+12>>2]=f;e=0;if(!f){break qa}e=td(r);if(!e){le(z[i+12>>2]);z[i+12>>2]=0;e=0;break qa}ta:{if(!l){break ta}s=l&3;h=z[p+5584>>2];ua:{if(l>>>0<4){f=e;break ua}w=l&-4;f=e;while(1){D[f>>2]=z[h+1076>>2];D[f+4>>2]=z[h+2156>>2];D[f+8>>2]=z[h+3236>>2];D[f+12>>2]=z[h+4316>>2];h=h+4320|0;f=f+16|0;j=j+4|0;if((w|0)!=(j|0)){continue}break}}if(!s){break ta}j=0;while(1){D[f>>2]=z[h+1076>>2];h=h+1080|0;f=f+4|0;j=j+1|0;if((s|0)!=(j|0)){continue}break}}La[z[(z[i>>2]<<2)+33824>>2]](e,0,z[i+12>>2],0,l,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;le(e);z[(q+F(g,20)|0)+16>>2]=r;z[p+5620>>2]=z[p+5620>>2]+1;f=z[p+5632>>2];if((f|0)==z[p+5636>>2]){e=f+10|0;z[p+5636>>2]=e;e=xd(z[p+5628>>2],F(e,20));if(!e){le(z[p+5628>>2]);z[p+5636>>2]=0;z[p+5628>>2]=0;z[p+5632>>2]=0;e=0;break qa}z[p+5628>>2]=e;f=z[p+5632>>2];Id(e+F(f,20)|0,0,F(z[p+5636>>2]-f|0,20));f=z[p+5632>>2]}e=z[p+5628>>2]+F(f,20)|0;z[e+8>>2]=k;x[e+16|0]=A[e+16|0]|1;f=z[c+16>>2];z[e+12>>2]=i;z[e>>2]=m+1;z[e+4>>2]=f;z[p+5632>>2]=z[p+5632>>2]+1}e=1;break qa}le(z[p+5616>>2]);z[p+5624>>2]=0;z[p+5616>>2]=0;z[p+5620>>2]=0;e=0}if(e){break da}e=0;sb(d,1,12906,0);break a}j=z[c+16>>2];va:{if(!(z[p+16>>2]!=1|j>>>0<3)){e=z[c+24>>2];f=z[e>>2];wa:{if((f|0)!=z[e+52>>2]|(f|0)!=z[e+104>>2]){break wa}f=z[e+4>>2];if((f|0)!=z[e+56>>2]){break wa}if((f|0)==z[e+108>>2]){break va}}sb(d,2,26705,0);z[p+16>>2]=0;j=z[c+16>>2]}if(!j){break ba}}g=j&1;f=z[c+24>>2];e=0;if((j|0)!=1){h=j&-2;j=0;while(1){i=f+F(e,52)|0;if(!z[i+32>>2]){z[(z[X>>2]+F(e,1080)|0)+1076>>2]=1<>2]-1}i=e|1;m=f+F(i,52)|0;if(!z[m+32>>2]){z[(z[X>>2]+F(i,1080)|0)+1076>>2]=1<>2]-1}e=e+2|0;j=j+2|0;if((h|0)!=(j|0)){continue}break}}if(!g){break ca}f=f+F(e,52)|0;if(z[f+32>>2]){break ca}z[(z[X>>2]+F(e,1080)|0)+1076>>2]=1<>2]-1;break ca}z[o+48>>2]=j;sb(d,1,20946,o+48|0);e=0;break a}if(!z[c+16>>2]){break ba}}k=0;while(1){i=z[X>>2]+F(k,1080)|0;g=z[b+40>>2]&1;z[i>>2]=g;f=z[b+5592>>2];z[i+4>>2]=f;h=0;e=z[b+5596>>2];if((e|0)>=2){while(1){h=h+1|0;j=e>>>0>3;e=e>>>1|0;if(j){continue}break}}z[i+8>>2]=h;h=0;e=z[b+5600>>2];if((e|0)>=2){while(1){h=h+1|0;j=e>>>0>3;e=e>>>1|0;if(j){continue}break}}z[i+12>>2]=h;z[i+16>>2]=z[b+5604>>2];e=z[b+5608>>2];z[i+804>>2]=2;z[i+20>>2]=!e;z[i+24>>2]=((e|0)!=0)<<1;z[i+808>>2]=z[b+5612>>2]==(k|0)?z[b+5616>>2]:0;xa:{if(g){l=0;g=f;if((f|0)<=0){break xa}while(1){g=g-1|0;e=z[b+5620>>2];ya:{if((e|0)>(l|0)){e=1;j=1;m=(l<<2)+b|0;h=z[m+5624>>2];za:{if((h|0)<=0){break za}j=0;if((h|0)==1){break za}while(1){j=j+1|0;r=h>>>0>3;h=h>>>1|0;if(r){continue}break}}z[(i+(g<<2)|0)+812>>2]=j;h=z[m+5756>>2];if((h|0)<=0){break ya}e=0;if((h|0)==1){break ya}while(1){e=e+1|0;j=h>>>0>3;h=h>>>1|0;if(j){continue}break}break ya}e=e-1|0;j=(e<<2)+b|0;r=l-e|0;h=z[j+5756>>2]>>r;e=1;m=1;j=z[j+5624>>2]>>r;Aa:{if((j|0)<=0){break Aa}m=0;if((j|0)==1){break Aa}while(1){m=m+1|0;r=j>>>0>3;j=j>>>1|0;if(r){continue}break}}z[(i+(g<<2)|0)+812>>2]=m;if((h|0)<=0){break ya}e=0;if((h|0)==1){break ya}while(1){e=e+1|0;j=h>>>0>3;h=h>>>1|0;if(j){continue}break}}z[(i+(g<<2)|0)+944>>2]=e;l=l+1|0;if((f|0)!=(l|0)){continue}break}break xa}if(!f){break xa}e=0;while(1){f=i+(e<<2)|0;z[f+944>>2]=15;z[f+812>>2]=15;e=e+1|0;if(e>>>0>2]){continue}break}}e=z[(z[c+24>>2]+F(k,52)|0)+24>>2];j=0;f=z[i+4>>2];s=F(f,3)-2|0;if(s){p=e+13|0;q=f-1|0;w=z[i+24>>2];I=z[i+20>>2];while(1){g=0;f=0;if(j){f=j-1|0;e=(f>>>0)/3|0;g=e^-1;f=(f-F(e,3)|0)+1|0}r=I?f?f-1>>>0<2?1:2:0:0;m=i+(j<<3)|0;if(w){e=g+q|0;g=e>>>0>8?f?8:e:e;u=+(1<>>0>9?f?g:9:g)<<3)|0)+33376>>3]}else{u=1}M=L(u*8192);Ba:{if(H(M)<2147483648){e=~~M;break Ba}e=-2147483648}g=0;h=0;f=e;if((e|0)<2){e=0}else{while(1){l=h;h=h+1|0;v=f>>>0>3;f=f>>>1|0;if(v){continue}break}f=e;while(1){h=g;g=g+1|0;v=f>>>0>3;f=f>>>1|0;if(v){continue}break}g=l^-1;e=(h>>>0>10?e>>h-10:e<<10-h)&2047}z[m+32>>2]=e;z[m+28>>2]=(p+r|0)+g;j=j+1|0;if((s|0)!=(j|0)){continue}break}}k=k+1|0;if(k>>>0>2]){continue}break}}W=W+1|0;if(W>>>0>2],z[a+104>>2])>>>0){continue}break}}e=1;a=z[b+18696>>2];if(!a){break a}le(a);z[b+18696>>2]=0;break a}e=0;sb(d,1,8517,0);break a}sb(d,1,21951,0)}Fa=o+400|0;return e}function mc(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,m=0,o=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,I=G(0),J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=G(0),T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=G(0),oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;fa=Fa-16|0;Fa=fa;a:{if(e>>>0<=3){e=0;sb(f,1,10609,0);break a}kb(c,65427,2);z[b+4>>2]=z[a+8>>2];z[b+8>>2]=z[a+12>>2];if(!z[a+12>>2]){z[z[z[b+20>>2]>>2]+840>>2]=0}z[d>>2]=0;b:{h=z[a+60>>2];if(!h){break b}g=ud(1,12);if(g){z[g>>2]=h}if(g){break b}e=0;sb(f,1,19844,0);break a}t=e-4|0;U=z[a- -64>>2];if(t>>>0>>0){e=0;sb(f,1,10609,0);id(g);break a}e=0;h=z[a+204>>2];ma=c+2|0;da=d;ia=t-U|0;U=g;V=Fa-1216|0;Fa=V;t=b;c:{d:{e:{if(z[b+8>>2]){break e}z[t+36>>2]=h;z[t+32>>2]=z[z[t+28>>2]+76>>2]+F(h,5644);K=z[z[t+20>>2]>>2];r=z[K+16>>2];f:{if(!r){u=z[t+32>>2];j=z[K+20>>2];r=0;break f}u=z[t+32>>2];g=z[u+5584>>2];j=z[K+20>>2];m=j;while(1){y=F(z[m+12>>2]-z[m+4>>2]|0,z[m+8>>2]-z[m>>2]|0);h=z[m+36>>2];g:{if(z[g+20>>2]!=1){if(!y){break g}b=z[g+1076>>2];if(y>>>0>=4){P=y&-4;d=0;while(1){D[h>>2]=z[h>>2]-b|0;D[h+4>>2]=z[h+4>>2]-b|0;D[h+8>>2]=z[h+8>>2]-b|0;D[h+12>>2]=z[h+12>>2]-b|0;h=h+16|0;d=d+4|0;if((P|0)!=(d|0)){continue}break}}d=0;y=y&3;if(!y){break g}while(1){D[h>>2]=z[h>>2]-b|0;h=h+4|0;d=d+1|0;if((y|0)!=(d|0)){continue}break}break g}if(!y){break g}if(y>>>0>=4){d=y&-4;b=0;while(1){z[h>>2]=z[h>>2]-z[g+1076>>2];z[h+4>>2]=z[h+4>>2]-z[g+1076>>2];z[h+8>>2]=z[h+8>>2]-z[g+1076>>2];z[h+12>>2]=z[h+12>>2]-z[g+1076>>2];h=h+16|0;b=b+4|0;if((d|0)!=(b|0)){continue}break}}b=0;d=y&3;if(d){while(1){z[h>>2]=z[h>>2]-z[g+1076>>2];h=h+4|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}r=z[K+16>>2]}m=m+76|0;g=g+1080|0;o=o+1|0;if(o>>>0>>0){continue}break}}y=F(z[j+12>>2]-z[j+4>>2]|0,z[j+8>>2]-z[j>>2]|0);h:{i:{switch(z[u+16>>2]){case 2:if(!z[u+5612>>2]){break h}u=0;o=td(r<<2);if(!o){break c}r=z[K+16>>2];j:{if(!r){break j}g=r&3;d=0;k:{if(r>>>0<4){h=0;break k}K=r&-4;h=0;m=0;while(1){b=h<<2;z[b+o>>2]=z[j+36>>2];z[o+(b|4)>>2]=z[j+112>>2];z[o+(b|8)>>2]=z[j+188>>2];z[o+(b|12)>>2]=z[j+264>>2];h=h+4|0;j=j+304|0;m=m+4|0;if((K|0)!=(m|0)){continue}break}}if(!g){break j}while(1){z[o+(h<<2)>>2]=z[j+36>>2];h=h+1|0;j=j+76|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}h=z[z[t+32>>2]+5612>>2];b=F(r,r);j=td(b+r<<2);d=0;l:{if(!j){break l}d=j+(r<<2)|0;m:{if(!b){break m}if(b>>>0>=4){K=b&-4;while(1){g=s<<2;N=g+d|0;I=G(D[h>>2]*G(8192));n:{if(G(H(I))>2]=m;N=d+(g|4)|0;I=G(D[h+4>>2]*G(8192));o:{if(G(H(I))>2]=m;N=d+(g|8)|0;I=G(D[h+8>>2]*G(8192));p:{if(G(H(I))>2]=m;m=d+(g|12)|0;I=G(D[h+12>>2]*G(8192));q:{if(G(H(I))>2]=g;s=s+4|0;h=h+16|0;w=w+4|0;if((K|0)!=(w|0)){continue}break}}g=b&1;if(!g){break m}while(1){m=d+(s<<2)|0;I=G(D[h>>2]*G(8192));r:{if(G(H(I))>2]=b;s=s+1|0;h=h+4|0;k=k+1|0;if((g|0)!=(k|0)){continue}break}}if(!(!y|!r)){W=r&-2;Y=r&1;X=r&-4;K=r&3;P=r-1|0;while(1){h=0;w=0;if(P>>>0>=3){while(1){b=h<<2;z[b+j>>2]=z[z[b+o>>2]>>2];g=b|4;z[g+j>>2]=z[z[g+o>>2]>>2];g=b|8;z[g+j>>2]=z[z[g+o>>2]>>2];b=b|12;z[b+j>>2]=z[z[b+o>>2]>>2];h=h+4|0;w=w+4|0;if((X|0)!=(w|0)){continue}break}}s=0;if(K){while(1){b=h<<2;z[b+j>>2]=z[z[b+o>>2]>>2];h=h+1|0;s=s+1|0;if((K|0)!=(s|0)){continue}break}}h=d;m=0;while(1){N=o+(m<<2)|0;b=z[N>>2];z[b>>2]=0;s=0;k=0;w=0;if(P){while(1){T=s<<2;g=z[T+j>>2];R=g;_=g>>31;g=z[h>>2];R=po(R,_,g,g>>31);g=Ka;R=R+4096|0;g=(((R>>>0<4096?g+1|0:g)&8191)<<19|R>>>13)+k|0;z[b>>2]=g;k=z[j+(T|4)>>2];R=k;T=k>>31;k=z[h+4>>2];T=po(R,T,k,k>>31);k=Ka;T=T+4096|0;k=(((T>>>0<4096?k+1|0:k)&8191)<<19|T>>>13)+g|0;z[b>>2]=k;s=s+2|0;h=h+8|0;w=w+2|0;if((W|0)!=(w|0)){continue}break}}if(Y){g=z[j+(s<<2)>>2];R=g;s=g>>31;g=z[h>>2];s=po(R,s,g,g>>31);g=Ka;s=s+4096|0;z[b>>2]=(((s>>>0<4096?g+1|0:g)&8191)<<19|s>>>13)+k;h=h+4|0}z[N>>2]=b+4;m=m+1|0;if((r|0)!=(m|0)){continue}break}Q=Q+1|0;if((y|0)!=(Q|0)){continue}break}}le(j);d=1}le(o);if(d){break h}break c;case 0:break h;default:break i}}b=z[j+188>>2];d=z[j+112>>2];g=z[j+36>>2];if(!z[z[u+5584>>2]+20>>2]){if(y){while(1){h=k<<2;j=h+g|0;m=b+h|0;I=D[m>>2];S=D[j>>2];h=d+h|0;na=D[h>>2];D[j>>2]=G(I*G(.11400000005960464))+G(G(S*G(.29899999499320984))+G(na*G(.5870000123977661)));D[h>>2]=G(I*G(.5))+G(G(S*G(-.16875000298023224))+G(na*G(-.33125999569892883)));D[m>>2]=G(I*G(-.08130999654531479))+G(G(S*G(.5))+G(na*G(-.4186899960041046)));k=k+1|0;if((y|0)!=(k|0)){continue}break}}break h}if(y){while(1){k=s<<2;j=k+g|0;N=j;j=z[j>>2];m=d+k|0;h=z[m>>2];k=b+k|0;r=z[k>>2];z[N>>2]=(j+(h<<1)|0)+r>>2;z[m>>2]=r-h;z[k>>2]=j-h;s=s+1|0;if((y|0)!=(s|0)){continue}break}}}h=z[t+32>>2];d=z[z[t+20>>2]>>2];if(z[d+16>>2]){g=z[d+20>>2];h=z[h+5584>>2];b=0;while(1){s:{t:{switch(z[h+20>>2]){case 1:if(Gb(z[t+44>>2],g,109,110)){break s}break d;case 0:break t;default:break s}}if(!Gb(z[t+44>>2],g,115,116)){break d}}h=h+1080|0;g=g+76|0;b=b+1|0;if(b>>>0>2]){continue}break}h=z[t+32>>2]}u:{if(z[h+16>>2]==1){if(!z[z[h+5584>>2]+20>>2]){g=3;b=33024;break u}g=3;b=32992;break u}g=z[z[t+24>>2]+16>>2];b=z[h+5604>>2]}m=z[z[t+20>>2]>>2];o=0;u=Fa-16|0;Fa=u;z[u+12>>2]=1;W=z[t+44>>2];y=xb();z[m+32>>2]=0;z[m+36>>2]=0;k=z[m+16>>2];v:{if(!k){break v}while(1){w:{K=z[m+20>>2]+F(o,76)|0;j=z[K+20>>2];if(j){Y=z[h+5584>>2]+F(o,1080)|0;Q=0;while(1){r=z[K+28>>2]+F(Q,152)|0;if(z[r+24>>2]){s=0;while(1){X=r+F(s,36)|0;N=X+28|0;d=N;if(z[d+8>>2]!=z[d>>2]){d=z[d+12>>2]==z[d+4>>2]}else{d=1}x:{if(d){break x}j=z[r+16>>2];k=z[r+20>>2];if(!F(j,k)){break x}P=0;while(1){w=z[X+48>>2]+F(P,40)|0;if(F(z[w+20>>2],z[w+16>>2])){k=0;while(1){j=z[w+24>>2];d=ud(1,44);if(!d){break w}z[d+12>>2]=m;z[d>>2]=o;z[d+40>>2]=y;z[d+32>>2]=g;z[d+28>>2]=b;z[d+24>>2]=Y;z[d+20>>2]=K;z[d+16>>2]=N;z[d+4>>2]=Q;z[d+8>>2]=j+F(k,52);z[d+36>>2]=u+12;Cb(W,250,d);k=k+1|0;if(k>>>0>2],z[w+16>>2])>>>0){continue}break}j=z[r+16>>2];k=z[r+20>>2]}P=P+1|0;if(P>>>0>>0){continue}break}}s=s+1|0;if(s>>>0>2]){continue}break}j=z[K+20>>2]}Q=Q+1|0;if(Q>>>0>>0){continue}break}k=z[m+16>>2]}o=o+1|0;if(k>>>0>o>>>0){continue}break v}break}z[u+12>>2]=0}Db(z[t+44>>2]);if(y){_a(y)}Fa=u+16|0;if(!z[u+12>>2]){break d}y=z[t+28>>2];z[V+12>>2]=0;if(C[y+96>>2]<=1){Q=z[t+32>>2];j=0;u=z[z[t+20>>2]>>2];z[u+24>>2]=0;T=z[u+16>>2];y:{if(!T){$=17976931348623157e292;break y}R=z[u+20>>2];ja=z[z[t+24>>2]+24>>2];$=17976931348623157e292;m=0;while(1){K=R+F(m,76)|0;z[K+72>>2]=0;ka=z[K+20>>2];z:{if(!ka){r=0;break z}oa=z[K+28>>2];r=0;s=0;while(1){P=oa+F(s,152)|0;la=z[P+24>>2];if(la){w=0;while(1){b=P+F(w,36)|0;A:{if(z[b+36>>2]==z[b+28>>2]|z[b+40>>2]==z[b+32>>2]){break A}ga=F(z[P+20>>2],z[P+16>>2]);if(!ga){break A}_=z[b+48>>2];k=0;while(1){W=_+F(k,40)|0;ha=F(z[W+20>>2],z[W+16>>2]);if(ha){o=0;while(1){d=z[W+24>>2]+F(o,52)|0;Y=z[d+48>>2];B:{if(!Y){break B}X=z[d+8>>2];g=z[X>>2];if(g){i=E[X+8>>3]/+(g|0);ea=i>ea?i:ea;$=i<$?i:$}h=1;if((Y|0)==1){break B}while(1){N=X+F(h,24)|0;b=z[N>>2];if((b|0)!=(g|0)){i=(E[N+8>>3]-E[N-16>>3])/+(b-g|0);ea=i>ea?i:ea;$=i<$?i:$}g=b;h=h+1|0;if((Y|0)!=(h|0)){continue}break}}b=F(z[d+24>>2]-z[d+16>>2]|0,z[d+20>>2]-z[d+12>>2]|0);j=b+j|0;z[u+24>>2]=j;r=b+r|0;z[K+72>>2]=r;o=o+1|0;if((ha|0)!=(o|0)){continue}break}}k=k+1|0;if((ga|0)!=(k|0)){continue}break}}w=w+1|0;if((la|0)!=(w|0)){continue}break}}s=s+1|0;if((ka|0)!=(s|0)){continue}break}}i=+(1<>2])+-1;ra=i*i*+(r>>>0)+ra;m=m+1|0;if((T|0)!=(m|0)){continue}break}}if(!z[Q+8>>2]){break e}h=0;while(1){d=Q+(h<<2)|0;S=D[d+20>>2];I=G(M(S));C:{if(I=G(0)){k=~~I>>>0;break C}k=0}s=S>G(0);r=z[y+96>>2];m=Fa-16|0;Fa=m;I=D[d+5184>>2];v=+G(I/G(10));q(+v);b=l(1)|0;d=l(0)|0;j=b>>>20|0;o=j&2047;w=o-1086|0;D:{if(w>>>0<=4294967167){g=(b<<1|d>>>31)+2097152|0;if(!(d<<1)&(g|0)==2097152|g>>>0<2097152){g=b<<1|d>>>31;d=d<<1;i=1;if(!(g|d)){break D}i=v+10;if((g|0)==-2097152&(d|0)!=0|g>>>0>4292870144){break D}i=(b|0)<0?0:v*v;break D}if(w>>>0<=4294967167){i=v+1;if(o>>>0<=957){break D}if(j>>>0<2048){b=Fa-16|0;E[b+8>>3]=3105036184601418e216;i=E[b+8>>3]*3105036184601418e216;break D}b=Fa-16|0;E[b+8>>3]=12882297539194267e-247;i=E[b+8>>3]*12882297539194267e-247;break D}}i=E[6252];L=i*1.25+-1;Z=i*0;i=L+Z;ca=E[5815]*3+E[6254];J=i+ca;aa=E[5817];O=i*aa;aa=L*aa;ba=L*aa;L=J+ba;Z=E[5816]*3+E[6255]+(i+(ca-J))+Z*(O+aa)+(ba+(J-L));J=i*O;J=Z+i*J*(J*(J*(i*E[5823]+E[5822])+(i*E[5821]+E[5820]))+(i*E[5819]+E[5818]));i=L+J;E[m+8>>3]=J+(L-i);n(0,d&-134217728);n(1,b|0);O=+p();q(+i);b=l(1)|0;n(0,l(0)&-134217728);n(1,b|0);L=+p();J=O*L;v=(v-O)*L+(E[m+8>>3]+(i-L))*v;q(+J);b=l(1)|0;l(0)|0;E:{F:{d=b>>>20&2047;if(d-969>>>0<63){break F}i=J+1;if(d>>>0<969){break E}b=d>>>0<1033;d=0;if(b){break F}q(+J);b=l(1)|0;l(0)|0;if((b|0)<0){b=Fa-16|0;E[b+8>>3]=12882297539194267e-247;i=E[b+8>>3]*12882297539194267e-247;break E}b=Fa-16|0;E[b+8>>3]=3105036184601418e216;i=E[b+8>>3]*3105036184601418e216;break E}i=E[5546];L=E[5545]*J+i;i=L-i;i=i*E[5548]+(i*E[5547]+J)+v;v=i*i;O=v*v*(i*E[5552]+E[5551]);v=v*(i*E[5550]+E[5549]);q(+L);l(1)|0;j=l(0)|0;g=j<<4&2032;i=O+(v+(E[g+44472>>3]+i));w=0;g=g+44480|0;b=w+z[g>>2]|0;g=z[g+4>>2]+(j<<13)|0;g=b>>>0>>0?g+1|0:g;if(!d){G:{if(!(j&-2147483648)){n(0,b|0);n(1,g-1058013184|0);v=+p();i=(v*i+v)*5486124068793689e288;break G}g=g+1071644672|0;d=g;n(0,b|0);n(1,g|0);v=+p();L=v*i;i=L+v;if(H(i)<1){b=Fa-16|0;E[b+8>>3]=22250738585072014e-324;E[b+8>>3]=E[b+8>>3]*22250738585072014e-324;n(0,0);n(1,d&-2147483648);J=i<0?-1:1;O=i+J;i=O+(L+(v-i)+(i+(J-O)))-J;i=(sa=+p(),ta=i,ua=i==0,ua?sa:ta)}i=i*22250738585072014e-324}break E}n(0,b|0);n(1,g|0);v=+p();i=v*i+v}}v=i;Fa=m+16|0;J=E[u+32>>3];i=-1;H:{I:{J:{switch(r|0){case 0:if(s){break I}break H;case 1:break J;default:break H}}if(!(I>G(0))){break H}}j=Zc(z[t+24>>2],y);if(!j){break d}k=s?k>>>0>>0?k:ia:ia;aa=J-ra/v;m=h+1|0;b=h<<3;s=b+u|0;r=b+V|0;i=0;b=0;g=0;L=0;J=ea;v=$;while(1){K:{O=i;i=(J+v)*.5;if(H(i-O)<=O*5e-6){i=O;break K}d=fd(z[z[t+20>>2]>>2],h,i,0);L:{M:{if(z[y+96>>2]==1){d=B[y>>1];if(!((d-3&65535)>>>0>=4&(d-1024&65535)>>>0>1435)){if(!Wc(j,z[t+36>>2],u,m,ma,V+12|0,k,0,z[t+8>>2],z[t>>2],z[t+16>>2],0,f)){v=i;break L}O=J;Z=L;d=b;ca=i;J=i;L=i;if(h){ba=E[r+8>>3]+E[s+40>>3]}else{ba=E[u+40>>3]}if(!(ba>3]+E[s+40>>3]}else{ba=E[u+40>>3]}if(!(ba>2],u,m,ma,V+12|0,k,0,z[t+8>>2],z[t>>2],z[t+16>>2],0,f)){break L}}v=ca;J=O;L=Z;b=d}g=g+1|0;if((g|0)!=128){continue}}break}_a(j);i=L==0?i:L}fd(z[z[t+20>>2]>>2],h,i,1);b=(V+16|0)+(h<<3)|0;if(h){d=h<<3;i=E[(d+V|0)+8>>3]+E[(d+u|0)+40>>3]}else{i=E[u+40>>3]}E[b>>3]=i;h=h+1|0;if(h>>>0>2]){continue}break}break e}Q=z[z[t+32>>2]+8>>2];if(!Q){break e}b=z[z[t+20>>2]>>2];W=z[b+16>>2];if(!W){break e}Y=z[b+20>>2];m=0;while(1){X=m-1|0;j=0;while(1){s=Y+F(j,76)|0;w=z[s+20>>2];if(w){N=z[(z[z[t+24>>2]+24>>2]+F(j,52)|0)+24>>2];I=G(+(N>>>0)*.0625);r=z[y+88>>2];g=0;while(1){o=F(g,w);h=0;while(1){b=((V+16|0)+F(g,120)|0)+F(h,12)|0;d=r+F(h+o|0,12)|0;S=G(I*G(z[d>>2]));N:{if(G(H(S))>2]=k;S=G(I*G(z[d+4>>2]));O:{if(G(H(S))>2]=k;S=G(I*G(z[d+8>>2]));P:{if(G(H(S))>2]=d;h=h+1|0;if((w|0)!=(h|0)){continue}break}g=g+1|0;if((Q|0)!=(g|0)){continue}break}T=z[s+28>>2];u=0;while(1){h=T+F(u,152)|0;R=z[h+24>>2];if(R){r=0;while(1){b=h+F(r,36)|0;Q:{if(z[b+36>>2]==z[b+28>>2]|z[b+40>>2]==z[b+32>>2]){break Q}ja=F(z[h+20>>2],z[h+16>>2]);if(!ja){break Q}K=((V+16|0)+F(u,12)|0)+(r<<2)|0;ka=K+F(X,120)|0;oa=K+F(m,120)|0;la=z[b+48>>2];s=0;while(1){P=la+F(s,40)|0;ga=F(z[P+20>>2],z[P+16>>2]);if(ga){d=0;while(1){b=z[P+24>>2]+F(d,52)|0;_=z[b+4>>2];k=N-z[b+28>>2]|0;R:{if(m){o=z[ka>>2];g=z[oa>>2]-o|0;if((k|0)<(o|0)){break R}g=(o-k|0)+g|0;g=(g|0)>0?g:0;break R}g=z[K>>2];z[b+44>>2]=0;g=(g|0)>(k|0)?g-k|0:0}k=_+F(m,24)|0;o=z[b+44>>2];S:{T:{if(!o){o=F(g,3)-2|0;g=g?o:0;z[k>>2]=g;if(!g){break S}z[k+4>>2]=z[(z[b+8>>2]+F(g,24)|0)-24>>2];g=z[b>>2];break T}_=F(g,3);z[k>>2]=_;if(!g){break S}ha=z[b+8>>2];g=z[(ha+F(o,24)|0)-24>>2];o=o+_|0;z[k+4>>2]=z[(ha+F(o,24)|0)-24>>2]-g;g=g+z[b>>2]|0}z[k+16>>2]=g;z[b+44>>2]=o}d=d+1|0;if((ga|0)!=(d|0)){continue}break}}s=s+1|0;if((ja|0)!=(s|0)){continue}break}}r=r+1|0;if((R|0)!=(r|0)){continue}break}}u=u+1|0;if((w|0)!=(u|0)){continue}break}}j=j+1|0;if((W|0)!=(j|0)){continue}break}m=m+1|0;if((Q|0)!=(m|0)){continue}break}}b=Zc(z[t+24>>2],z[t+28>>2]);if(!b){break d}d=Wc(b,z[t+36>>2],z[z[t+20>>2]>>2],z[z[t+32>>2]+8>>2],ma,da,ia,U,z[t+4>>2],z[t>>2],z[t+16>>2],1,f);_a(b);u=1;if(d){break c}}u=0}Fa=V+1216|0;if(!u){sb(f,1,13400,0);id(U);break a}z[da>>2]=z[da>>2]+2;U:{if(z[a+60>>2]){g=td(z[a+64>>2]);if(!g){sb(f,1,7065,0);id(U);break a}kb(g,65368,2);kb(g+4|0,0,1);e=g+5|0;j=g+2|0;if(z[U+4>>2]){o=3;while(1){b=z[z[U+8>>2]+(pa<<2)>>2];x[fa+11|0]=b&127;a=1;if(b>>>0>=128){while(1){d=b>>>7|0;x[(fa+11|0)+a|0]=d|128;a=a+1|0;k=b>>>0>16383;b=d;if(k){continue}break}}b=a&255;d=o&65535;if(b+d>>>0>=65536){if((qa&255)==255){break U}kb(j,d,2);kb(e,65368,2);qa=qa+1|0;kb(e+4|0,qa&255,1);j=e+2|0;o=3;e=e+5|0}d=a&255;if(d){while(1){b=b-1|0;kb(e,A[b+(fa+11|0)|0],1);e=e+1|0;a=a-1|0;if(a&255){continue}break}}o=d+o|0;pa=pa+1|0;if(pa>>>0>2]){continue}break}a=o&65535}else{a=3}kb(j,a,2);a=e-g|0;Hd(a+c|0,c,z[da>>2]);Gd(c,g,a);le(g);z[da>>2]=a+z[da>>2]}id(U);e=1;break a}e=0;sb(f,1,30908,0);id(U);le(g)}Fa=fa+16|0;return e}function Ic(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{switch(z[a+84>>2]){case 0:k:{c=z[a+52>>2];b=z[a+196>>2];if(c>>>0>>0){j=z[a- -64>>2];if(j>>>0>>0){break k}}sb(z[a+236>>2],1,22059,0);break b}if(!z[a+44>>2]){i=z[a+36>>2];b=0;break i}z[a+44>>2]=0;m=z[a+68>>2];b=1;break i;case 1:l:{c=z[a+52>>2];b=z[a+196>>2];if(c>>>0>>0){j=z[a- -64>>2];if(j>>>0>>0){break l}}sb(z[a+236>>2],1,22104,0);break b}if(!z[a+44>>2]){k=z[a+36>>2];b=0;break e}z[a+44>>2]=0;m=z[a+48>>2];b=1;break e;case 2:m:{G=z[a+52>>2];x=z[a+196>>2];if(G>>>0>>0){k=z[a- -64>>2];if(k>>>0>>0){break m}}sb(z[a+236>>2],1,22239,0);break b}if(!z[a+44>>2]){D=z[a+40>>2];break f}z[a+228>>2]=0;z[a+232>>2]=0;z[a+44>>2]=0;u=z[a+200>>2];while(1){O=u+(r<<4)|0;g=z[O+8>>2];if(g){j=z[O+12>>2];b=0;while(1){f=g+(b^-1)|0;d=j+(b<<4)|0;t=f+z[d>>2]|0;n:{if(t>>>0>31){break n}c=z[O>>2];if(c>>>0>-1>>>t>>>0){break n}c=c<>>0>i>>>0?i:c:c;z[a+228>>2]=i}f=f+z[d+4>>2]|0;o:{if(f>>>0>31){break o}c=z[O+4>>2];if(c>>>0>-1>>>f>>>0){break o}c=c<>>0>m>>>0?m:c:c;z[a+232>>2]=m}b=b+1|0;if((g|0)!=(b|0)){continue}break}}r=r+1|0;if((x|0)!=(r|0)){continue}break};if(!i|!m){break d}if(!A[a|0]){z[a+108>>2]=z[a+208>>2];z[a+100>>2]=z[a+204>>2];z[a+112>>2]=z[a+216>>2];z[a+104>>2]=z[a+212>>2]}p=z[a+48>>2];b=1;break f;case 3:p:{G=z[a+52>>2];g=z[a+196>>2];if(G>>>0>>0){p=z[a- -64>>2];if(p>>>0>>0){break p}}sb(z[a+236>>2],1,22194,0);break b}if(!z[a+44>>2]){H=z[a+200>>2];k=z[a+28>>2];D=H+(k<<4)|0;I=z[a+40>>2];break g}z[a+228>>2]=0;z[a+232>>2]=0;z[a+44>>2]=0;H=z[a+200>>2];while(1){x=(o<<4)+H|0;t=z[x+8>>2];if(t){j=z[x+12>>2];b=0;while(1){f=t+(b^-1)|0;d=j+(b<<4)|0;u=f+z[d>>2]|0;q:{if(u>>>0>31){break q}c=z[x>>2];if(c>>>0>-1>>>u>>>0){break q}c=c<>>0>i>>>0?i:c:c;z[a+228>>2]=i}f=f+z[d+4>>2]|0;r:{if(f>>>0>31){break r}c=z[x+4>>2];if(c>>>0>-1>>>f>>>0){break r}c=c<>>0>m>>>0?m:c:c;z[a+232>>2]=m}b=b+1|0;if((t|0)!=(b|0)){continue}break}}o=o+1|0;if((g|0)!=(o|0)){continue}break};if(!i|!m){break d}s:{if(A[a|0]){o=z[a+108>>2];break s}o=z[a+208>>2];z[a+108>>2]=o;z[a+100>>2]=z[a+204>>2];z[a+112>>2]=z[a+216>>2];z[a+104>>2]=z[a+212>>2]}b=1;break g;case 4:break j;default:break d}}t:{o=z[a+52>>2];b=z[a+196>>2];if(o>>>0>>0){q=z[a- -64>>2];if(q>>>0>>0){break t}}sb(z[a+236>>2],1,22149,0);break d}if(!z[a+44>>2]){o=z[a+28>>2];m=z[a+200>>2]+(o<<4)|0;r=z[a+40>>2];b=0;break h}z[a+28>>2]=o;z[a+44>>2]=0;b=1;break h}u:while(1){v:{w:{if(!b){i=i+1|0;break w}z[a+40>>2]=m;if(C[a+56>>2]<=m>>>0){break b}k=z[a+48>>2];b=0;break v}b=1}x:while(1){y:{z:{A:{B:{if(!b){z[a+32>>2]=k;if(C[a+60>>2]<=k>>>0){break B}z[a+28>>2]=c;b=c;p=0;break y}z[a+36>>2]=i;if(C[a+76>>2]<=i>>>0){b=z[a+28>>2];p=1;break y}b=((F(z[a+16>>2],z[a+32>>2])+F(z[a+12>>2],z[a+40>>2])|0)+F(z[a+20>>2],z[a+28>>2])|0)+F(z[a+24>>2],i)|0;if(b>>>0>=C[a+8>>2]){break c}b=z[a+4>>2]+(b<<1)|0;if(B[b>>1]){break A}break a}m=z[a+40>>2]+1|0;break z}b=0;continue u}b=1;continue u}while(1){C:{D:{E:{if(!p){if(b>>>0>=j>>>0){break E}f=z[a+32>>2];d=z[a+200>>2];if(f>>>0>=C[(d+(b<<4)|0)+8>>2]){break C}if(!A[a|0]){b=z[(d+(b<<4)|0)+12>>2]+(f<<4)|0;z[a+76>>2]=F(z[b+12>>2],z[b+8>>2])}i=z[a+72>>2];b=1;continue x}b=b+1|0;z[a+28>>2]=b;break D}k=z[a+32>>2]+1|0;b=0;continue x}p=0;continue}p=1;continue}}}}F:while(1){G:{H:{if(!b){r=r+1|0;z[a+40>>2]=r;break H}if(q>>>0<=o>>>0){break b}z[a+228>>2]=0;z[a+232>>2]=0;c=z[a+200>>2];b=o<<4;m=c+b|0;g=z[m+8>>2];if(!g){break b}b=b+c|0;u=b;j=z[b+12>>2];i=0;k=0;b=0;while(1){f=g+(b^-1)|0;d=j+(b<<4)|0;t=f+z[d>>2]|0;I:{if(t>>>0>31){break I}c=z[m>>2];if(c>>>0>-1>>>t>>>0){break I}c=c<>>0>k>>>0?k:c:c;z[a+228>>2]=k}f=f+z[d+4>>2]|0;J:{if(f>>>0>31){break J}c=z[u+4>>2];if(c>>>0>-1>>>f>>>0){break J}c=c<>>0>i>>>0?i:c:c;z[a+232>>2]=i}b=b+1|0;if((g|0)!=(b|0)){continue}break}if(!k|!i){break d}K:{if(A[a|0]){i=z[a+108>>2];break K}i=z[a+208>>2];z[a+108>>2]=i;z[a+100>>2]=z[a+204>>2];z[a+112>>2]=z[a+216>>2];z[a+104>>2]=z[a+212>>2]}b=0;break G}b=1}L:while(1){M:{N:{O:{P:{if(!b){z[a+224>>2]=i;if(C[a+112>>2]<=i>>>0){break P}H=z[a+100>>2];b=0;break M}if(C[a+56>>2]<=r>>>0){p=z[a+32>>2];b=1;break M}b=((F(z[a+16>>2],z[a+32>>2])+F(z[a+12>>2],r)|0)+F(z[a+20>>2],o)|0)+F(z[a+24>>2],z[a+36>>2])|0;if(b>>>0>=C[a+8>>2]){break c}b=z[a+4>>2]+(b<<1)|0;if(B[b>>1]){break O}break a}o=o+1|0;z[a+28>>2]=o;break N}b=0;continue F}b=1;continue F}while(1){Q:{R:{S:{T:{if(!b){z[a+220>>2]=H;if(C[a+104>>2]<=H>>>0){break S}p=z[a+48>>2];break T}p=p+1|0}z[a+32>>2]=p;b=z[a+60>>2];d=z[m+8>>2];if((b>>>0>>0?b:d)>>>0>p>>>0){f=z[m>>2];c=f;h=d+(p^-1)|0;l=h;d=l&31;if((l&63)>>>0>=32){b=f<>>32-d;w=f<>>0>=32?c>>>d|0:((1<>>d)|0)){break Q}c=z[m+4>>2];b=l&31;j=-1>>>b|0;if((c&((l&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;v=c<>2];j=J+d|0;O=ro(j,d>>>0>j>>>0?b+1|0:b,v,E);K=z[a+208>>2];d=J+K|0;b=K>>>0>d>>>0?b+1|0:b;u=ro(d,b,v,E);G=w-1|0;d=z[a+212>>2];g=G+d|0;j=e-!w|0;b=j;x=ro(g,d>>>0>g>>>0?b+1|0:b,w,e);L=z[a+204>>2];d=G+L|0;b=L>>>0>d>>>0?b+1|0:b;d=ro(d,b,w,e);M=z[m+12>>2];N=z[M+(p<<4)>>2];s=N+h|0;b=s&31;g=-1>>>b|0;if((f|0)!=(((s&63)>>>0>=32?g:g|(1<>2];h=n+h|0;k=h&31;if((h&63)>>>0>=32){b=c<>>32-k;k=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break Q}g=z[a+224>>2];if(so(g,k,b)|Ka){if((g|0)!=(K|0)){break Q}c=h&31;if((h&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=h<>>32-k|b<>2];if((s&63)>>>0>=32){b=f<>>32-h;h=f<>>0>=32){b=-1<>>32-f}h=h^-1;f=b^-1;k=h;b=0;h=d;s=l&31;if((l&63)>>>0>=32){b=h<>>32-s|b<>2];if(!h|!z[b+12>>2]|(d|0)==(x|0)){break Q}if((u|0)==(O|0)){break Q}r=z[a+68>>2];z[a+40>>2]=r;b=j;c=c+G|0;b=c>>>0>>0?b+1|0:b;f=(ro(c,b,w,e)>>>N)-(d>>>N)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=F(h,(ro(c,b,v,E)>>>n)-(u>>>n)|0)+f|0,z[Q+36>>2]=R;b=1;continue L}c=z[a+220>>2];b=z[a+228>>2];H=c+b-(c>>>0)%(b>>>0)|0;break R}c=z[a+224>>2];b=z[a+232>>2];i=c+b-(c>>>0)%(b>>>0)|0;b=0;continue L}b=0;continue}b=1;continue}}}}U:while(1){V:{W:{if(!b){I=I+1|0;z[a+40>>2]=I;break W}z[a+224>>2]=o;if(C[a+112>>2]<=o>>>0){break b}w=z[a+100>>2];b=0;break V}b=1}X:while(1){Y:{Z:{_:{$:{if(!b){z[a+220>>2]=w;if(C[a+104>>2]<=w>>>0){break $}z[a+28>>2]=G;k=G;b=0;break Y}if(C[a+56>>2]<=I>>>0){r=z[a+32>>2];b=1;break Y}b=((F(z[a+16>>2],z[a+32>>2])+F(z[a+12>>2],I)|0)+F(z[a+20>>2],k)|0)+F(z[a+24>>2],z[a+36>>2])|0;if(b>>>0>=C[a+8>>2]){break c}b=z[a+4>>2]+(b<<1)|0;if(B[b>>1]){break _}break a}c=z[a+224>>2];b=z[a+232>>2];o=c+b-(c>>>0)%(b>>>0)|0;break Z}b=0;continue U}b=1;continue U}while(1){aa:{ba:{ca:{da:{if(!b){if(k>>>0>=p>>>0){break ca}r=z[a+48>>2];z[a+32>>2]=r;D=(k<<4)+H|0;break da}r=r+1|0;z[a+32>>2]=r}b=z[a+60>>2];d=z[D+8>>2];if((b>>>0>>0?b:d)>>>0>r>>>0){f=z[D>>2];c=f;e=d+(r^-1)|0;q=e;d=e&31;if((e&63)>>>0>=32){b=f<>>32-d;i=f<>>0>=32?c>>>d|0:((1<>>d)|0)){break aa}c=z[D+4>>2];b=q&31;j=-1>>>b|0;if((c&((q&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;m=c<>2];j=J+d|0;O=ro(j,d>>>0>j>>>0?b+1|0:b,m,h);v=z[a+208>>2];d=v+J|0;b=v>>>0>d>>>0?b+1|0:b;u=ro(d,b,m,h);E=i-1|0;d=z[a+212>>2];g=E+d|0;j=s-!i|0;b=j;x=ro(g,d>>>0>g>>>0?b+1|0:b,i,s);K=z[a+204>>2];d=E+K|0;b=K>>>0>d>>>0?b+1|0:b;d=ro(d,b,i,s);L=z[D+12>>2];M=z[L+(r<<4)>>2];l=M+e|0;b=l&31;g=-1>>>b|0;if((f|0)!=(((l&63)>>>0>=32?g:g|(1<>2];e=N+e|0;n=e&31;if((e&63)>>>0>=32){b=c<>>32-n;n=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break aa}g=z[a+224>>2];if(so(g,n,b)|Ka){if((g|0)!=(v|0)){break aa}c=e&31;if((e&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=e<>>32-n|b<>2];if((l&63)>>>0>=32){b=f<>>32-e;e=f<>>0>=32){b=-1<>>32-f}e=e^-1;f=b^-1;n=e;b=0;e=d;l=q&31;if((q&63)>>>0>=32){b=e<>>32-l|b<>2];if(!e|!z[b+12>>2]|(d|0)==(x|0)){break aa}if((u|0)==(O|0)){break aa}I=z[a+68>>2];z[a+40>>2]=I;b=j;c=c+E|0;b=c>>>0>>0?b+1|0:b;f=(ro(c,b,i,s)>>>M)-(d>>>M)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=F(e,(ro(c,b,m,h)>>>N)-(u>>>N)|0)+f|0,z[Q+36>>2]=R;b=1;continue X}k=k+1|0;z[a+28>>2]=k;break ba}c=z[a+220>>2];b=z[a+228>>2];w=c+b-(c>>>0)%(b>>>0)|0;b=0;continue X}b=0;continue}b=1;continue}}}}ea:while(1){fa:{ga:{if(!b){D=D+1|0;z[a+40>>2]=D;break ga}z[a+32>>2]=p;if(C[a+60>>2]<=p>>>0){break b}I=z[a+108>>2];b=0;break fa}b=1}ha:while(1){ia:{ja:{ka:{la:{if(!b){z[a+224>>2]=I;if(C[a+112>>2]<=I>>>0){break la}H=z[a+100>>2];b=0;break ia}if(C[a+56>>2]<=D>>>0){o=z[a+28>>2];b=1;break ia}b=((F(z[a+16>>2],z[a+32>>2])+F(z[a+12>>2],D)|0)+F(z[a+20>>2],z[a+28>>2])|0)+F(z[a+24>>2],z[a+36>>2])|0;if(b>>>0>=C[a+8>>2]){break c}b=z[a+4>>2]+(b<<1)|0;if(B[b>>1]){break ka}break a}p=z[a+32>>2]+1|0;break ja}b=0;continue ea}b=1;continue ea}while(1){ma:{na:{oa:{pa:{if(!b){z[a+220>>2]=H;if(C[a+104>>2]<=H>>>0){break oa}z[a+28>>2]=G;o=G;break pa}o=o+1|0;z[a+28>>2]=o}if(k>>>0>o>>>0){w=z[a+32>>2];d=z[a+200>>2];l=d+(o<<4)|0;b=z[l+8>>2];if(w>>>0>=b>>>0){break ma}f=z[l>>2];c=f;e=b+(w^-1)|0;q=e;j=e&31;if((e&63)>>>0>=32){b=f<>>32-j;i=f<>>0>=32?c>>>j|0:((1<>>j)|0)){break ma}c=z[(d+(o<<4)|0)+4>>2];b=q&31;j=-1>>>b|0;if((c&((q&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;m=c<>2];j=J+d|0;O=ro(j,d>>>0>j>>>0?b+1|0:b,m,h);v=z[a+208>>2];d=v+J|0;b=v>>>0>d>>>0?b+1|0:b;u=ro(d,b,m,h);E=i-1|0;d=z[a+212>>2];g=E+d|0;j=s-!i|0;b=j;x=ro(g,d>>>0>g>>>0?b+1|0:b,i,s);K=z[a+204>>2];d=E+K|0;b=K>>>0>d>>>0?b+1|0:b;d=ro(d,b,i,s);L=z[l+12>>2];M=z[L+(w<<4)>>2];l=M+e|0;b=l&31;g=-1>>>b|0;if((f|0)!=(((l&63)>>>0>=32?g:g|(1<>2];e=N+e|0;n=e&31;if((e&63)>>>0>=32){b=c<>>32-n;n=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break ma}g=z[a+224>>2];if(so(g,n,b)|Ka){if((g|0)!=(v|0)){break ma}c=e&31;if((e&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=e<>>32-n|b<>2];if((l&63)>>>0>=32){b=f<>>32-e;e=f<>>0>=32){b=-1<>>32-f}e=e^-1;f=b^-1;n=e;b=0;e=d;l=q&31;if((q&63)>>>0>=32){b=e<>>32-l|b<>2];if(!e|!z[b+12>>2]|(d|0)==(x|0)){break ma}if((u|0)==(O|0)){break ma}D=z[a+68>>2];z[a+40>>2]=D;b=j;c=c+E|0;b=c>>>0>>0?b+1|0:b;f=(ro(c,b,i,s)>>>M)-(d>>>M)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=F(e,(ro(c,b,m,h)>>>N)-(u>>>N)|0)+f|0,z[Q+36>>2]=R;b=1;continue ha}c=z[a+220>>2];b=z[a+228>>2];H=c+b-(c>>>0)%(b>>>0)|0;break na}c=z[a+224>>2];b=z[a+232>>2];I=c+b-(c>>>0)%(b>>>0)|0;b=0;continue ha}b=0;continue}b=1;continue}}}}qa:while(1){ra:{sa:{if(!b){k=k+1|0;break sa}z[a+32>>2]=m;if(C[a+60>>2]<=m>>>0){break b}i=z[a+68>>2];b=0;break ra}b=1}ta:while(1){ua:{va:{wa:{xa:{if(!b){z[a+40>>2]=i;if(C[a+56>>2]<=i>>>0){break xa}z[a+28>>2]=c;b=c;p=0;break ua}z[a+36>>2]=k;if(C[a+76>>2]<=k>>>0){b=z[a+28>>2];p=1;break ua}b=((F(z[a+16>>2],z[a+32>>2])+F(z[a+12>>2],z[a+40>>2])|0)+F(z[a+20>>2],z[a+28>>2])|0)+F(z[a+24>>2],k)|0;if(b>>>0>=C[a+8>>2]){break c}b=z[a+4>>2]+(b<<1)|0;if(B[b>>1]){break wa}break a}m=z[a+32>>2]+1|0;break va}b=0;continue qa}b=1;continue qa}while(1){ya:{za:{Aa:{if(!p){if(b>>>0>=j>>>0){break Aa}f=z[a+32>>2];d=z[a+200>>2];if(f>>>0>=C[(d+(b<<4)|0)+8>>2]){break ya}if(!A[a|0]){b=z[(d+(b<<4)|0)+12>>2]+(f<<4)|0;z[a+76>>2]=F(z[b+12>>2],z[b+8>>2])}k=z[a+72>>2];b=1;continue ta}b=b+1|0;z[a+28>>2]=b;break za}i=z[a+40>>2]+1|0;b=0;continue ta}p=0;continue}p=1;continue}}}}return 0}sb(z[a+236>>2],1,3377,0)}return 0}y[b>>1]=1;return 1}function nf(a){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;d=Fa-288|0;Fa=d;c=Re(d+276|0,1807);f=z[c+4>>2];z[d+112>>2]=z[c>>2];z[d+116>>2]=f;f=Se(a,d+112|0);x[d+287|0]=f;a:{b:{c:{d:{e:{f:{g:{h:{c=Yf(a);if(c){Zf(d+264|0,c);i:{switch(A[c+2|0]-1|0){case 1:b=z[d+268>>2];z[d+256>>2]=z[d+264>>2];z[d+260>>2]=b;b=x[c+3|0]>>1;c=z[d+260>>2];z[d+80>>2]=z[d+256>>2];z[d+84>>2]=c;c=Fa-16|0;Fa=c;z[c+12>>2]=b;b=nf(a);z[c+8>>2]=b;j:{k:{if(!b){break k}b=nf(a);z[c+4>>2]=b;if(!b){break k}e=Fa-16|0;Fa=e;f=Gf(a+408|0,24);g=z[c+8>>2];b=z[d+84>>2];a=z[d+80>>2];z[e+8>>2]=a;z[e+12>>2]=b;h=z[c+12>>2];i=z[c+4>>2];z[e>>2]=a;z[e+4>>2]=b;b=If(f,50,h,1,1,1);z[b+8>>2]=g;z[b>>2]=53992;a=z[e>>2];f=z[e+4>>2];z[b+20>>2]=i;z[b+12>>2]=a;z[b+16>>2]=f;Fa=e+16|0;break j}b=0}Fa=c+16|0;break a;default:b=z[d+268>>2];z[d+248>>2]=z[d+264>>2];z[d+252>>2]=b;b=x[c+3|0]>>1;c=z[d+252>>2];z[d+88>>2]=z[d+248>>2];z[d+92>>2]=c;b=_f(a,d+88|0,b);break a;case 0:if(Ue(a,95)){b=z[d+268>>2];z[d+240>>2]=z[d+264>>2];z[d+244>>2]=b;b=x[c+3|0]>>1;c=z[d+244>>2];z[d+96>>2]=z[d+240>>2];z[d+100>>2]=c;b=_f(a,d+96|0,b);break a}b=nf(a);z[d+228>>2]=b;if(!b){break b}z[d+212>>2]=x[c+3|0]>>1;c=Fa-16|0;Fa=c;e=Gf(a+408|0,20);f=z[d+228>>2];b=z[d+268>>2];a=z[d+264>>2];z[c+8>>2]=a;z[c+12>>2]=b;g=z[d+212>>2];z[c>>2]=a;z[c+4>>2]=b;b=If(e,52,g,1,1,1);z[b+8>>2]=f;z[b>>2]=54200;a=z[c+4>>2];z[b+12>>2]=z[c>>2];z[b+16>>2]=a;Fa=c+16|0;break a;case 2:b=nf(a);z[d+228>>2]=b;if(!b){break b}b=nf(a);z[d+212>>2]=b;if(!b){break b}z[d+236>>2]=x[c+3|0]>>1;a=Gf(a+408|0,16);c=z[d+228>>2];e=z[d+212>>2];b=If(a,51,z[d+236>>2],1,1,1);z[b+12>>2]=e;z[b+8>>2]=c;z[b>>2]=54304;break a;case 3:b=nf(a);z[d+228>>2]=b;if(!b){break b}b=nf(a);z[d+212>>2]=b;if(!b){break b}z[d+236>>2]=x[c+3|0]>>1;c=Fa-16|0;Fa=c;e=Gf(a+408|0,24);f=z[d+228>>2];b=z[d+268>>2];a=z[d+264>>2];z[c+8>>2]=a;z[c+12>>2]=b;g=z[d+236>>2];h=z[d+212>>2];z[c>>2]=a;z[c+4>>2]=b;b=If(e,54,g,1,1,1);z[b+8>>2]=f;z[b>>2]=54416;a=z[c>>2];e=z[c+4>>2];z[b+20>>2]=h;z[b+12>>2]=a;z[b+16>>2]=e;Fa=c+16|0;break a;case 4:e=a+8|0;f=z[e+4>>2]-z[e>>2]>>2;while(1){if(!Ue(a,95)){g=nf(a);z[d+228>>2]=g;if(!g){break a}ff(e,d+228|0);continue}break};gf(d+228|0,a,f);f=Xe(a);z[d+236>>2]=f;if(!f){break a}f=Re(d+220|0,2756);g=z[f+4>>2];z[d+104>>2]=z[f>>2];z[d+108>>2]=g;f=Se(a,d+104|0);g=z[e+4>>2]-z[e>>2]>>2;while(1){if(!Ue(a,69)){if(!f){break a}h=nf(a);z[d+212>>2]=h;if(!h){break a}ff(e,d+212|0);continue}break};gf(d+212|0,a,g);x[d+211|0]=x[c+3|0]&1;z[d+204>>2]=x[c+3|0]>>1;c=Fa-32|0;Fa=c;g=Gf(a+408|0,32);e=z[d+232>>2];a=z[d+228>>2];z[c+24>>2]=a;z[c+28>>2]=e;h=z[d+236>>2];f=z[d+216>>2];b=z[d+212>>2];z[c+16>>2]=b;z[c+20>>2]=f;i=z[d+204>>2];j=A[d+211|0];k=A[d+287|0];z[c+8>>2]=a;z[c+12>>2]=e;z[c>>2]=b;z[c+4>>2]=f;b=If(g,60,i,1,1,1);z[b>>2]=54520;a=z[c+8>>2];e=z[c+12>>2];z[b+16>>2]=h;z[b+8>>2]=a;z[b+12>>2]=e;a=z[c>>2];e=z[c+4>>2];x[b+29|0]=j;x[b+28|0]=k;z[b+20>>2]=a;z[b+24>>2]=e;Fa=c+32|0;break a;case 5:b=nf(a);z[d+228>>2]=b;if(!b){break b}x[d+236|0]=x[c+3|0]&1;z[d+212>>2]=x[c+3|0]>>1;a=Gf(a+408|0,16);c=z[d+228>>2];e=A[d+287|0];f=A[d+236|0];b=If(a,61,z[d+212>>2],1,1,1);x[b+13|0]=f;x[b+12|0]=e;z[b+8>>2]=c;z[b>>2]=54620;break a;case 6:e=nf(a);z[d+212>>2]=e;if(!e){break a}e=a+8|0;f=z[e+4>>2]-z[e>>2]>>2;while(1){if(!Ue(a,69)){g=nf(a);z[d+228>>2]=g;if(!g){break a}ff(e,d+228|0);continue}break};b=d+228|0;gf(b,a,f);z[d+236>>2]=x[c+3|0]>>1;b=$f(a,d+212|0,b,d+236|0);break a;case 7:z[d+228>>2]=a+388;x[d+232|0]=A[a+388|0];x[a+388|0]=0;z[16214]=0;e=qa(304,a|0)|0;f=z[16214];z[16214]=0;if((f|0)==1){break h}z[d+212>>2]=e;x[z[d+228>>2]]=A[d+232|0];if(!e){break a}g=a+8|0;e=g;e=z[e+4>>2]-z[e>>2]>>2;f=Ue(a,95);while(1){if(Ue(a,69)){break g}h=nf(a);z[d+228>>2]=h;if(!h){break a}ff(g,d+228|0);if(f){continue}break};gf(d+228|0,a,e);break d;case 8:b=nf(a);z[d+228>>2]=b;if(!b){break b}b=nf(a);z[d+212>>2]=b;if(!b){break b}b=nf(a);z[d+236>>2]=b;if(!b){break b}z[d+204>>2]=x[c+3|0]>>1;a=Gf(a+408|0,20);c=z[d+228>>2];e=z[d+212>>2];f=z[d+236>>2];b=If(a,53,z[d+204>>2],1,1,1);z[b+16>>2]=f;z[b+12>>2]=e;z[b+8>>2]=c;z[b>>2]=54932;break a;case 10:b=Xe(a);z[d+228>>2]=b;if(!b){break b}b=nf(a);z[d+212>>2]=b;if(!b){break b}z[d+236>>2]=x[c+3|0]>>1;c=Fa-16|0;Fa=c;e=Gf(a+408|0,24);b=z[d+268>>2];a=z[d+264>>2];z[c+8>>2]=a;z[c+12>>2]=b;f=z[d+236>>2];g=z[d+212>>2];h=z[d+228>>2];z[c>>2]=a;z[c+4>>2]=b;b=If(e,57,f,1,1,1);z[b>>2]=55040;a=z[c>>2];e=z[c+4>>2];z[b+20>>2]=g;z[b+16>>2]=h;z[b+8>>2]=a;z[b+12>>2]=e;Fa=c+16|0;break a;case 9:break a;case 11:break i}}l:{if(x[c+3|0]&1){b=Xe(a);break l}b=nf(a)}z[d+228>>2]=b;if(!b){break b}z[d+212>>2]=x[c+3|0]>>1;c=Fa-16|0;Fa=c;e=Gf(a+408|0,28);b=z[d+268>>2];a=z[d+264>>2];z[c+8>>2]=a;z[c+12>>2]=b;f=z[d+212>>2];g=z[d+228>>2];z[c>>2]=a;z[c+4>>2]=b;b=tg(e,c,g,f);Fa=c+16|0;break a}if(z[a+4>>2]-z[a>>2]>>>0<2){break a}m:{c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}c=c<<24>>24;if((c|0)!=102){b=c&255;if((b|0)!=84){if((b|0)!=76){break m}b=Df(a);break a}b=qf(a);break a}n:{c=z[a>>2];if(z[a+4>>2]-c>>>0>1){c=A[c+1|0]}else{c=0}c=c<<24>>24;if((c|0)!=112){if((c&255)!=76){break n}c=z[a>>2];if(z[a+4>>2]-c>>>0>2){c=A[c+2|0]}else{c=0}if((c<<24>>24)-48>>>0>9){break n}}b=ag(a);break a}f=Fa-32|0;Fa=f;o:{if(!Ue(a,102)){break o}x[f+31|0]=0;c=z[a>>2];if((c|0)!=z[a+4>>2]){g=A[c|0]}else{g=0}g=g<<24>>24;c=0;p:{if((g|0)==114){break p}q:{if((g|0)!=82){if((g|0)==108){break q}if((g|0)!=76){break o}x[f+31|0]=1;e=1;c=1;break p}e=1;c=0;break p}x[f+31|0]=1;c=1}z[a>>2]=z[a>>2]+1;g=Yf(a);if(!g){break o}r:{switch(A[g+2|0]-2|0){case 2:ig(f+20|0,g);if(z[f+20>>2]==z[f+24>>2]){za(5793,2952,76,2742);r()}if(x[z[f+24>>2]-1|0]!=42){break o}break;case 0:break r;default:break o}}h=nf(a);z[f+16>>2]=h;if(!h){break o}z[f+12>>2]=0;s:{if(!e){break s}e=nf(a);z[f+12>>2]=e;if(!e){break o}if(!c){break s}b=z[f+16>>2];z[f+16>>2]=z[f+12>>2];z[f+12>>2]=b}Zf(f+20|0,g);b=Fa-16|0;Fa=b;g=Gf(a+408|0,28);h=A[f+31|0];e=z[f+24>>2];a=b;c=z[f+20>>2];z[a+8>>2]=c;z[a+12>>2]=e;i=z[f+12>>2];j=z[f+16>>2];z[a>>2]=c;z[a+4>>2]=e;b=If(g,67,0,1,1,1);z[b+12>>2]=i;z[b+8>>2]=j;z[b>>2]=57024;c=z[a>>2];e=z[a+4>>2];x[b+24|0]=h;z[b+16>>2]=c;z[b+20>>2]=e;Fa=a+16|0}Fa=f+32|0;break a}b=Re(d+196|0,2667);c=z[b+4>>2];z[d+72>>2]=z[b>>2];z[d+76>>2]=c;if(Se(a,d+72|0)){b=a+8|0;c=z[b+4>>2]-z[b>>2]>>2;while(1){if(!Ue(a,69)){e=bg(a);z[d+264>>2]=e;if(!e){break b}ff(b,d+264|0);continue}break}gf(d+264|0,a,c);c=Fa-16|0;Fa=c;e=Gf(a+408|0,20);b=z[d+268>>2];a=z[d+264>>2];z[c>>2]=a;z[c+4>>2]=b;z[c+8>>2]=a;z[c+12>>2]=b;b=Eg(e,0,c);Fa=c+16|0;break a}b=Re(d+188|0,3811);c=z[b+4>>2];z[d+64>>2]=z[b>>2];z[d+68>>2]=c;if(Se(a,d- -64|0)){c=Fa-32|0;Fa=c;z[c+28>>2]=2;b=Xe(a);z[c+24>>2]=b;t:{u:{if(!b){break u}b=nf(a);z[c+20>>2]=b;if(!b){break u}Ve(c+12|0,a,1);b=0;if(!Ue(a,69)){break t}e=Fa-16|0;Fa=e;f=Gf(a+408|0,24);g=z[c+20>>2];h=z[c+24>>2];b=z[c+16>>2];a=z[c+12>>2];z[e+8>>2]=a;z[e+12>>2]=b;i=z[c+28>>2];z[e>>2]=a;z[e+4>>2]=b;b=If(f,65,i,1,1,1);z[b+12>>2]=g;z[b+8>>2]=h;z[b>>2]=57560;a=z[e+4>>2];z[b+16>>2]=z[e>>2];z[b+20>>2]=a;Fa=e+16|0;break t}b=0}Fa=c+32|0;break a}b=Re(d+180|0,1173);c=z[b+4>>2];z[d+56>>2]=z[b>>2];z[d+60>>2]=c;if(Se(a,d+56|0)){b=nf(a);z[d+264>>2]=b;if(!b){break b}z[d+228>>2]=2;c=Fa-16|0;Fa=c;b=Gf(a+408|0,28);a=Re(c+8|0,6330);e=z[d+228>>2];f=z[d+264>>2];g=z[a+4>>2];z[c>>2]=z[a>>2];z[c+4>>2]=g;b=tg(b,c,f,e);Fa=c+16|0;break a}b=Re(d+172|0,2400);c=z[b+4>>2];z[d+48>>2]=z[b>>2];z[d+52>>2]=c;if(Se(a,d+48|0)){c=Fa-32|0;Fa=c;b=Xe(a);z[c+28>>2]=b;v:{w:{if(!b){break w}b=nf(a);z[c+24>>2]=b;if(!b){break w}Ve(c+16|0,a,1);b=a+8|0;e=z[b+4>>2];f=z[b>>2];while(1){if(Ue(a,95)){g=c+4|0;Ve(g,a,0);l=c,m=mf(a,g),z[l+12>>2]=m;ff(b,c+12|0);continue}break}l=c,m=Ue(a,112),x[l+12|0]=m;b=0;if(!Ue(a,69)){break v}gf(c+4|0,a,e-f>>2);e=Fa-32|0;Fa=e;h=Gf(a+408|0,36);i=z[c+24>>2];j=z[c+28>>2];f=z[c+20>>2];a=z[c+16>>2];z[e+24>>2]=a;z[e+28>>2]=f;g=z[c+8>>2];b=z[c+4>>2];z[e+16>>2]=b;z[e+20>>2]=g;k=A[c+12|0];z[e+8>>2]=a;z[e+12>>2]=f;z[e>>2]=b;z[e+4>>2]=g;b=If(h,55,0,1,1,1);z[b+12>>2]=i;z[b+8>>2]=j;z[b>>2]=57684;a=z[e+12>>2];z[b+16>>2]=z[e+8>>2];z[b+20>>2]=a;a=z[e>>2];f=z[e+4>>2];x[b+32|0]=k;z[b+24>>2]=a;z[b+28>>2]=f;Fa=e+32|0;break v}b=0}Fa=c+32|0;break a}b=Re(d+164|0,2112);c=z[b+4>>2];z[d+40>>2]=z[b>>2];z[d+44>>2]=c;if(Se(a,d+40|0)){b=nf(a);z[d+264>>2]=b;if(!b){break b}b=pf(a,d+264|0);break a}b=Re(d+156|0,3903);c=z[b+4>>2];z[d+32>>2]=z[b>>2];z[d+36>>2]=c;if(Se(a,d+32|0)){b=0;c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}if((c|0)==84){b=qf(a);z[d+264>>2]=b;if(!b){break b}a=Gf(a+408|0,12);c=z[d+264>>2];b=If(a,58,0,1,1,1);z[b+8>>2]=c;z[b>>2]=57792;break a}c=ag(a);z[d+264>>2]=c;if(!c){break a}b=cg(a,d+264|0);break a}b=Re(d+148|0,3964);c=z[b+4>>2];z[d+24>>2]=z[b>>2];z[d+28>>2]=c;if(Se(a,d+24|0)){b=a+8|0;c=z[b+4>>2]-z[b>>2]>>2;while(1){if(!Ue(a,69)){e=ef(a);z[d+264>>2]=e;if(!e){break b}ff(b,d+264|0);continue}break}gf(d+264|0,a,c);b=Fa-16|0;Fa=b;f=Gf(a+408|0,16);e=z[d+268>>2];c=z[d+264>>2];z[b>>2]=c;z[b+4>>2]=e;z[b+8>>2]=c;z[b+12>>2]=e;c=If(f,0,0,1,1,1);z[c>>2]=57904;e=z[b+4>>2];z[c+8>>2]=z[b>>2];z[c+12>>2]=e;Fa=b+16|0;z[d+228>>2]=c;b=cg(a,d+228|0);break a}b=Re(d+140|0,2645);c=z[b+4>>2];z[d+16>>2]=z[b>>2];z[d+20>>2]=c;if(Se(a,d+16|0)){c=Xe(a);z[d+228>>2]=c;b=0;if(!c){break a}c=a+8|0;e=z[c+4>>2]-z[c>>2]>>2;while(1){if(!Ue(a,69)){f=bg(a);z[d+264>>2]=f;if(!f){break a}ff(c,d+264|0);continue}break}gf(d+264|0,a,e);c=Fa-16|0;Fa=c;e=Gf(a+408|0,20);f=z[d+228>>2];b=z[d+268>>2];a=z[d+264>>2];z[c>>2]=a;z[c+4>>2]=b;z[c+8>>2]=a;z[c+12>>2]=b;b=Eg(e,f,c);Fa=c+16|0;break a}b=Re(d+132|0,1857);c=z[b+4>>2];z[d+8>>2]=z[b>>2];z[d+12>>2]=c;if(Se(a,d+8|0)){b=kf(a,1220);break a}b=Re(d+124|0,1217);c=z[b+4>>2];z[d>>2]=z[b>>2];z[d+4>>2]=c;if(Se(a,d)){b=nf(a);z[d+264>>2]=b;if(!b){break b}a=Gf(a+408|0,12);c=z[d+264>>2];b=If(a,68,0,1,1,1);z[b+8>>2]=c;z[b>>2]=58012;break a}if(Ue(a,117)){b=Ff(a);z[d+212>>2]=b;if(!b){break b}z[d+236>>2]=0;c=d+264|0;La[z[z[b>>2]+24>>2]](c,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=0;x:{if(!dg(c,Re(d+228|0,3188))){break x}y:{if(Ue(a,116)){e=Xe(a);break y}b=0;if(!Ue(a,122)){break x}e=nf(a)}z[d+236>>2]=e;b=1}c=a+8|0;f=z[c+4>>2]-z[c>>2]>>2;if(b){break f}while(1){if(Ue(a,69)){break e}b=ef(a);z[d+264>>2]=b;if(!b){break b}ff(c,d+264|0);continue}}b=0;e=Fa-48|0;Fa=e;z[e+44>>2]=0;c=Re(e+36|0,3984);g=z[c+4>>2];z[e+16>>2]=z[c>>2];z[e+20>>2]=g;z:{A:{if(Se(a,e+16|0)){c=kg(a);z[e+44>>2]=c;if(!c){break z}b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}if((b|0)==73){b=rf(a,0);z[e+32>>2]=b;if(!b){break A}l=e,m=sf(a,e+44|0,e+32|0),z[l+44>>2]=m}while(1){if(!Ue(a,69)){b=lg(a);z[e+32>>2]=b;if(!b){break A}l=e,m=mg(a,e+44|0,e+32|0),z[l+44>>2]=m;continue}break}b=ng(a);z[e+32>>2]=b;if(!b){break A}b=mg(a,e+44|0,e+32|0);break z}c=Re(e+24|0,1860);g=z[c+4>>2];z[e+8>>2]=z[c>>2];z[e+12>>2]=g;if(!Se(a,e+8|0)){b=ng(a);z[e+44>>2]=b;if(!b|!f){break z}b=og(a,e+44|0);break z}c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}B:{if((c<<24>>24)-48>>>0<=9){while(1){c=lg(a);z[e+32>>2]=c;if(!c){break A}C:{if(b){b=mg(a,e+44|0,e+32|0);z[e+44>>2]=b;break C}if(f){b=og(a,e+32|0);z[e+44>>2]=b;break C}z[e+44>>2]=c;b=c}if(!Ue(a,69)){continue}break B}}b=kg(a);z[e+44>>2]=b;if(!b){break A}b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}if((b|0)!=73){break B}b=rf(a,0);z[e+32>>2]=b;if(!b){break A}l=e,m=sf(a,e+44|0,e+32|0),z[l+44>>2]=m}b=ng(a);z[e+32>>2]=b;if(!b){break A}b=mg(a,e+44|0,e+32|0);break z}b=0}Fa=e+48|0;break a}a=wa()|0;x[z[d+228>>2]]=A[d+232|0];xa(a|0);r()}gf(d+228|0,a,e);if(!f){break d}break c}if(!e){break b}ff(c,d+236|0)}b=d+264|0;gf(b,a,f);z[d+228>>2]=1;b=$f(a,d+212|0,b,d+228|0);break a}if(z[d+232>>2]!=1){break a}}z[d+236>>2]=x[c+3|0]>>1;c=Fa-16|0;Fa=c;e=Gf(a+408|0,20);f=z[d+212>>2];b=z[d+232>>2];a=z[d+228>>2];z[c+8>>2]=a;z[c+12>>2]=b;g=z[d+236>>2];z[c>>2]=a;z[c+4>>2]=b;b=If(e,64,g,1,1,1);z[b+8>>2]=f;z[b>>2]=54824;a=z[c+4>>2];z[b+12>>2]=z[c>>2];z[b+16>>2]=a;Fa=c+16|0;break a}b=0}Fa=d+288|0;return b}function Xe(a){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;f=Fa-32|0;Fa=f;z[f+28>>2]=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}g=c<<24>>24;switch(g-65|0){case 18:break j;case 6:break k;case 2:break l;case 14:break m;case 17:break n;case 15:break o;case 19:break p;case 12:break q;case 0:break r;case 3:break s;case 52:break t;case 57:break u;case 38:break v;case 36:break w;case 35:break x;case 37:break y;case 46:break z;case 45:break A;case 56:break B;case 55:break C;case 44:break D;case 43:break E;case 41:break F;case 40:break G;case 51:break H;case 50:break I;case 39:break J;case 32:break K;case 34:break L;case 33:break M;case 54:break N;case 53:break O;case 10:case 21:case 49:break P;case 5:break e;case 20:break f;default:break i}}Q:{d=z[a+4>>2];c=z[a>>2];h=d-c|0;b=(g|0)==114;b=((b>>>0>>0?A[b+c|0]:0)|0)==86?b?2:1:b;if(b>>>0>>0){d=A[b+c|0]}else{d=0}b=((d|0)==75)+b|0;if(h>>>0>b>>>0){c=A[b+c|0]}else{c=0}switch((c<<24>>24&255)-68|0){case 0:break Q;case 2:break e;default:break f}}b=b+1|0;c=z[a>>2];if(b>>>0>2]-c>>>0){b=A[b+c|0]}else{b=0}b=b<<24>>24&255;c=b-111|0;if(c>>>0>9|!(1<>2]=z[a>>2]+1;e=kf(a,3499);break a}z[a>>2]=z[a>>2]+1;e=kf(a,1586);break a}z[a>>2]=z[a>>2]+1;e=kf(a,2648);break a}z[a>>2]=z[a>>2]+1;e=kf(a,2107);break a}z[a>>2]=z[a>>2]+1;e=kf(a,2100);break a}z[a>>2]=z[a>>2]+1;e=kf(a,2098);break a}z[a>>2]=z[a>>2]+1;e=kf(a,1342);break a}z[a>>2]=z[a>>2]+1;e=kf(a,1333);break a}z[a>>2]=z[a>>2]+1;e=kf(a,1422);break a}z[a>>2]=z[a>>2]+1;b=Fa-16|0;Fa=b;a=Gf(a+408|0,16);e=Re(b+8|0,1413);c=z[e+4>>2];z[b>>2]=z[e>>2];z[b+4>>2]=c;e=Lf(a,b);Fa=b+16|0;break a}z[a>>2]=z[a>>2]+1;e=kf(a,3115);break a}z[a>>2]=z[a>>2]+1;e=kf(a,3106);break a}z[a>>2]=z[a>>2]+1;e=kf(a,3096);break a}z[a>>2]=z[a>>2]+1;b=Fa-16|0;Fa=b;a=Gf(a+408|0,16);e=Re(b+8|0,3087);c=z[e+4>>2];z[b>>2]=z[e>>2];z[b+4>>2]=c;e=Lf(a,b);Fa=b+16|0;break a}z[a>>2]=z[a>>2]+1;e=kf(a,5229);break a}z[a>>2]=z[a>>2]+1;b=Fa-16|0;Fa=b;a=Gf(a+408|0,16);e=Re(b+8|0,5220);c=z[e+4>>2];z[b>>2]=z[e>>2];z[b+4>>2]=c;e=Lf(a,b);Fa=b+16|0;break a}z[a>>2]=z[a>>2]+1;e=kf(a,1558);break a}z[a>>2]=z[a>>2]+1;b=Fa-16|0;Fa=b;a=Gf(a+408|0,16);e=Re(b+8|0,3340);c=z[e+4>>2];z[b>>2]=z[e>>2];z[b+4>>2]=c;e=Lf(a,b);Fa=b+16|0;break a}z[a>>2]=z[a>>2]+1;e=kf(a,3335);break a}z[a>>2]=z[a>>2]+1;e=kf(a,5238);break a}z[a>>2]=z[a>>2]+1;e=kf(a,5616);break a}z[a>>2]=z[a>>2]+1;lf(f+20|0,a);if(z[f+20>>2]==z[f+24>>2]){break h}b=mf(a,f+20|0);z[f+28>>2]=b;break c}R:{S:{T:{U:{V:{W:{X:{Y:{Z:{_:{$:{aa:{ba:{ca:{da:{ea:{c=z[a>>2];if(z[a+4>>2]-c>>>0>1){c=A[c+1|0]}else{c=0}c=c<<24>>24;switch(c-79|0){case 1:case 2:case 3:case 4:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 19:case 24:case 27:case 28:case 29:case 30:case 34:case 35:break a;case 0:case 32:case 40:case 41:break e;case 33:break R;case 39:break S;case 5:case 37:break T;case 31:break U;case 20:break V;case 18:break W;case 38:break X;case 36:break Y;case 26:break Z;case 6:break _;case 25:break aa;case 23:break ba;case 22:break ca;case 21:break da;default:break ea}}switch(c-66|0){case 0:break _;case 4:break $;default:break a}}z[a>>2]=z[a>>2]+2;e=kf(a,5260);break a}z[a>>2]=z[a>>2]+2;e=kf(a,5249);break a}z[a>>2]=z[a>>2]+2;e=kf(a,5270);break a}z[a>>2]=z[a>>2]+2;e=kf(a,3201);break a}z[a>>2]=z[a>>2]+2;b=f+20|0;Ve(b,a,0);m=f,n=mf(a,b),z[m+16>>2]=n;if(!Ue(a,95)){break a}a=Gf(a+408|0,12);b=z[f+16>>2];e=If(a,29,0,1,1,1);z[e+8>>2]=b;z[e>>2]=60960;break a}x[f+15|0]=(c|0)==66;z[a>>2]=z[a>>2]+2;b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}fa:{if((b<<24>>24)-48>>>0<=9){b=f+20|0;Ve(b,a,0);m=f,n=mf(a,b),z[m+16>>2]=n;break fa}b=nf(a);z[f+16>>2]=b;if(!b){break a}}if(!Ue(a,95)){break a}a=Gf(a+408|0,16);b=z[f+16>>2];c=A[f+15|0];e=If(a,30,0,1,1,1);x[e+12|0]=c;z[e+8>>2]=b;z[e>>2]=61068;break a}z[a>>2]=z[a>>2]+2;e=kf(a,1620);break a}z[a>>2]=z[a>>2]+2;e=kf(a,1602);break a}z[a>>2]=z[a>>2]+2;e=kf(a,1594);break a}z[a>>2]=z[a>>2]+2;e=kf(a,2385);break a}z[a>>2]=z[a>>2]+2;e=kf(a,5714);break a}z[a>>2]=z[a>>2]+2;e=kf(a,1571);break a}b=of(a);break d}c=Fa-32|0;Fa=c;d=Re(c+24|0,1242);g=z[d+4>>2];z[c>>2]=z[d>>2];z[c+4>>2]=g;ga:{if(!Se(a,c)){break ga}ha:{d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}if(((d<<24>>24)-49&255)>>>0<=8){d=c+12|0;Ve(d,a,0);m=c,n=mf(a,d),z[m+20>>2]=n;if(!Ue(a,95)){break ga}if(Ue(a,112)){b=Gf(a+408|0,12);d=z[c+20>>2];b=If(b,28,0,1,1,1);z[b+8>>2]=d;z[b>>2]=61172;break ga}b=Xe(a);z[c+12>>2]=b;if(!b){break ha}b=Kg(a,c+12|0,c+20|0);break ga}if(!Ue(a,95)){d=nf(a);z[c+12>>2]=d;if(!d){break ga}if(!Ue(a,95)){break ga}b=Xe(a);z[c+20>>2]=b;if(!b){break ha}b=Kg(a,c+20|0,c+12|0);break ga}b=Xe(a);z[c+12>>2]=b;if(!b){break ha}b=Lg(Gf(a+408|0,16),z[c+12>>2],0);break ga}b=0}Fa=c+32|0;break d}z[a>>2]=z[a>>2]+2;b=Xe(a);z[f+20>>2]=b;if(!b){break a}b=pf(a,f+20|0);z[f+28>>2]=b;break c}c=Fa-16|0;Fa=c;ia:{if(!Ue(a,65)){break ia}z[c+12>>2]=0;d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}ja:{if((d<<24>>24)-48>>>0<=9){d=c+4|0;Ve(d,a,0);m=c,n=mf(a,d),z[m+12>>2]=n;if(Ue(a,95)){break ja}break ia}if(Ue(a,95)){break ja}d=nf(a);if(!d){break ia}if(!Ue(a,95)){break ia}z[c+12>>2]=d}b=Xe(a);z[c+4>>2]=b;if(!b){b=0;break ia}b=Gf(a+408|0,16);d=z[c+4>>2];g=z[c+12>>2];b=Wf(b,14,0,0,1);z[b+12>>2]=g;z[b+8>>2]=d;z[b>>2]=61384}Fa=c+16|0;break d}c=Fa-16|0;Fa=c;ka:{if(!Ue(a,77)){break ka}b=Xe(a);z[c+12>>2]=b;la:{if(!b){break la}b=Xe(a);z[c+8>>2]=b;if(!b){break la}b=Gf(a+408|0,16);d=z[c+12>>2];g=z[c+8>>2];b=Wf(b,13,A[g+5|0]>>>6|0,1,1);z[b+12>>2]=g;z[b+8>>2]=d;z[b>>2]=61488;break ka}b=0}Fa=c+16|0;break d}ma:{na:{b=z[a>>2];if(z[a+4>>2]-b>>>0>1){b=A[b+1|0]}else{b=0}b=b<<24>>24&255;switch(b-115|0){case 0:case 2:break i;case 1:break ma;default:break na}}if((b|0)==101){break i}}b=qf(a);z[f+28>>2]=b;if(!b){break h}if(!A[a+388|0]){break c}e=z[a>>2];if((e|0)!=z[a+4>>2]){e=A[e|0]}else{e=0}if((e|0)!=73){break c}b=rf(a,0);z[f+20>>2]=b;if(!b){break h}b=sf(a,f+28|0,f+20|0);z[f+28>>2]=b;break c}z[a>>2]=z[a>>2]+1;b=Xe(a);z[f+20>>2]=b;if(!b){break h}b=Gf(a+408|0,12);e=z[f+20>>2];b=Wf(b,11,A[e+5|0]>>>6|0,1,1);z[b+8>>2]=e;z[b>>2]=61716;z[f+28>>2]=b;break c}z[a>>2]=z[a>>2]+1;b=Xe(a);z[f+20>>2]=b;if(!b){break h}z[f+16>>2]=0;b=tf(a,f+20|0,f+16|0);z[f+28>>2]=b;break c}z[a>>2]=z[a>>2]+1;b=Xe(a);z[f+20>>2]=b;if(!b){break h}z[f+16>>2]=1;b=tf(a,f+20|0,f+16|0);z[f+28>>2]=b;break c}z[a>>2]=z[a>>2]+1;b=Xe(a);z[f+20>>2]=b;if(!b){break a}e=Fa-16|0;Fa=e;b=Gf(a+408|0,20);c=z[f+20>>2];d=Re(e+8|0,1176);g=z[d+4>>2];z[e>>2]=z[d>>2];z[e+4>>2]=g;b=Ng(b,c,e);Fa=e+16|0;z[f+28>>2]=b;break c}z[a>>2]=z[a>>2]+1;b=Xe(a);z[f+20>>2]=b;if(!b){break h}e=Fa-16|0;Fa=e;b=Gf(a+408|0,20);c=z[f+20>>2];d=Re(e+8|0,1072);g=z[d+4>>2];z[e>>2]=z[d>>2];z[e+4>>2]=g;b=Ng(b,c,e);Fa=e+16|0;z[f+28>>2]=b;break c}b=z[a>>2];if(z[a+4>>2]-b>>>0>1){b=A[b+1|0]}else{b=0}if((b|0)==116){break i}x[f+16|0]=0;b=uf(a,0,f+16|0);z[f+28>>2]=b;if(!b){break a}c=A[f+16|0];d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}if((d|0)==73){if(A[a+388|0]?0:c){break b}if(!c){ff(a+148|0,f+28|0)}b=rf(a,0);z[f+20>>2]=b;if(!b){break a}b=sf(a,f+28|0,f+20|0);z[f+28>>2]=b;break c}e=b;if(!c){break c}break a}d=Fa+-64|0;Fa=d;z[d+56>>2]=0;z[d+60>>2]=0;b=Re(d+48|0,1810);c=z[b+4>>2];z[d+16>>2]=z[b>>2];z[d+20>>2]=c;oa:{if(Se(a,d+16|0)){b=Re(d+40|0,1517);c=z[b+4>>2];z[d+56>>2]=z[b>>2];z[d+60>>2]=c;break oa}b=Re(d+32|0,1245);c=z[b+4>>2];z[d+8>>2]=z[b>>2];z[d+12>>2]=c;if(Se(a,d+8|0)){b=Re(d+40|0,2556);c=z[b+4>>2];z[d+56>>2]=z[b>>2];z[d+60>>2]=c;break oa}b=Re(d+24|0,3492);c=z[b+4>>2];z[d>>2]=z[b>>2];z[d+4>>2]=c;if(!Se(a,d)){break oa}b=Re(d+40|0,2575);c=z[b+4>>2];z[d+56>>2]=z[b>>2];z[d+60>>2]=c}c=cf(a,0);z[d+40>>2]=c;b=0;pa:{if(!c){break pa}b=c;if(z[d+56>>2]==z[d+60>>2]){break pa}c=Fa-16|0;Fa=c;h=Gf(a+408|0,20);b=z[d+60>>2];g=z[d+56>>2];z[c+8>>2]=g;z[c+12>>2]=b;i=z[d+40>>2];z[c>>2]=g;z[c+4>>2]=b;b=If(h,6,0,1,1,1);z[b>>2]=61600;g=z[c+4>>2];h=z[c>>2];z[b+16>>2]=i;z[b+8>>2]=h;z[b+12>>2]=g;Fa=c+16|0}Fa=d- -64|0;break d}e=0;break a}if((b|0)==79){break e}}b=vf(a);break d}d=Fa-128|0;Fa=d;m=d,n=Mf(a),z[m+124>>2]=n;z[d+120>>2]=0;b=Re(d+112|0,2436);c=z[b+4>>2];z[d+48>>2]=z[b>>2];z[d+52>>2]=c;qa:{ra:{sa:{if(Se(a,d+48|0)){m=d,n=kf(a,1348),z[m+120>>2]=n;break sa}b=Re(d+104|0,3981);c=z[b+4>>2];z[d+40>>2]=z[b>>2];z[d+44>>2]=c;if(Se(a,d+40|0)){b=nf(a);z[d+88>>2]=b;if(!b){break ra}if(!Ue(a,69)){break ra}b=Gf(a+408|0,12);c=z[d+88>>2];b=If(b,16,0,1,1,1);z[b+8>>2]=c;z[b>>2]=60308;z[d+120>>2]=b;break sa}b=Re(d+96|0,1239);c=z[b+4>>2];z[d+32>>2]=z[b>>2];z[d+36>>2]=c;if(!Se(a,d+32|0)){break sa}b=a+8|0;c=z[b+4>>2]-z[b>>2]>>2;while(1){if(!Ue(a,69)){g=Xe(a);z[d+88>>2]=g;if(!g){break ra}ff(b,d+88|0);continue}break}gf(d+88|0,a,c);c=Fa-16|0;Fa=c;h=Gf(a+408|0,16);b=z[d+92>>2];g=z[d+88>>2];z[c>>2]=g;z[c+4>>2]=b;z[c+8>>2]=g;z[c+12>>2]=b;b=If(h,17,0,1,1,1);z[b>>2]=60416;g=z[c+4>>2];z[b+8>>2]=z[c>>2];z[b+12>>2]=g;Fa=c+16|0;z[d+120>>2]=b}b=Re(d+80|0,1185);c=z[b+4>>2];z[d+24>>2]=z[b>>2];z[d+28>>2]=c;Se(a,d+24|0);b=0;if(!Ue(a,70)){break qa}Ue(a,89);b=Xe(a);z[d+76>>2]=b;if(!b){break ra}x[d+75|0]=0;b=a+8|0;c=z[b+4>>2]-z[b>>2]>>2;while(1){ta:{ua:{if(Ue(a,69)){break ua}if(Ue(a,118)){continue}g=Re(d- -64|0,4035);h=z[g+4>>2];z[d+16>>2]=z[g>>2];z[d+20>>2]=h;if(Se(a,d+16|0)){x[d+75|0]=1;break ua}g=Re(d+56|0,4038);h=z[g+4>>2];z[d+8>>2]=z[g>>2];z[d+12>>2]=h;if(!Se(a,d+8|0)){break ta}x[d+75|0]=2}gf(d+88|0,a,c);c=Fa-16|0;Fa=c;h=Gf(a+408|0,32);i=z[d+76>>2];b=z[d+92>>2];g=z[d+88>>2];z[c+8>>2]=g;z[c+12>>2]=b;j=z[d+120>>2];k=A[d+75|0];l=z[d+124>>2];z[c>>2]=g;z[c+4>>2]=b;b=Wf(h,15,0,1,0);z[b+8>>2]=i;z[b>>2]=60532;g=z[c+4>>2];h=z[c>>2];z[b+28>>2]=j;x[b+24|0]=k;z[b+20>>2]=l;z[b+12>>2]=h;z[b+16>>2]=g;Fa=c+16|0;break qa}g=Xe(a);z[d+88>>2]=g;if(!g){break ra}ff(b,d+88|0);continue}}b=0}Fa=d+128|0}z[f+28>>2]=b;if(!b){break a}}ff(a+148|0,f+28|0)}e=b}Fa=f+32|0;return e}function hb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;L=Fa-16|0;Fa=L;a:{if(C[a+16>>2]<=2){z[a+20>>2]=2;break a}b:{c=z[a+24>>2];if(z[c>>2]!=1){break b}c:{switch(z[c+52>>2]-1|0){case 1:if(!(z[c+104>>2]!=2|z[c+4>>2]!=1|(z[c+56>>2]!=2|z[c+108>>2]!=2))){E=a;a=z[a+24>>2];h=z[a+24>>2];p=z[a+148>>2];v=z[a+96>>2];n=z[a+44>>2];J=z[a+8>>2];a=z[a+12>>2];c=F(J,a)<<2;x=vd(c);A=vd(c);B=vd(c);d:{e:{f:{if(!(!B|(!x|!A))){g=-1<>2]&1;O=c-a|0;s=z[E>>2];if(!a|!J){break f}i=+G(0-t|0);b=i*.344+i*.714;g:{if(H(b)<2147483648){e=~~b;break g}e=-2147483648}b=i*1.772;h:{if(H(b)<2147483648){j=~~b;break h}j=-2147483648}b=i*1.402;i:{if(H(b)<2147483648){d=~~b;break i}d=-2147483648}a=x;h=A;c=B;while(1){u=z[n>>2];r=u+d|0;z[a>>2]=(r|0)>=0?(g|0)>(r|0)?r:g:0;r=u-e|0;z[h>>2]=(r|0)>=0?(g|0)>(r|0)?r:g:0;r=j+u|0;z[c>>2]=(r|0)>=0?(g|0)>(r|0)?r:g:0;c=c+4|0;h=h+4|0;a=a+4|0;n=n+4|0;o=o+1|0;if((J|0)!=(o|0)){continue}break}break e}le(x);le(A);le(B);break d}c=B;h=A;a=x}N=O&-2;if(N){K=s&1;P=J-K|0;i=+G(0-t|0);b=i*.344+i*.714;j:{if(H(b)<2147483648){l=~~b;break j}l=-2147483648}q=P&-2;d=q-1|0;b=i*1.772;k:{if(H(b)<2147483648){u=~~b;break k}u=-2147483648}j=N-1|0;d=d&-2;b=i*1.402;l:{if(H(b)<2147483648){r=~~b;break l}r=-2147483648}M=j&-2;s=d+2|0;I=J<<2;while(1){j=c+I|0;d=h+I|0;o=a+I|0;D=n+I|0;if(K){k=z[n>>2];e=k+r|0;z[a>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;e=k-l|0;z[h>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;e=k+u|0;z[c>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=z[v>>2];m=+G(z[p>>2]-t|0);b=m*1.402;m:{if(H(b)<2147483648){f=~~b;break m}f=-2147483648}e=z[D>>2];f=f+e|0;z[o>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+G(k-t|0);b=i*.344+m*.714;n:{if(H(b)<2147483648){f=~~b;break n}f=-2147483648}k=e-f|0;z[d>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;o:{if(H(b)<2147483648){f=~~b;break o}f=-2147483648}e=f+e|0;z[j>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;j=j+4|0;d=d+4|0;o=o+4|0;D=D+4|0;c=c+4|0;h=h+4|0;n=n+4|0;a=a+4|0}w=0;if(q){while(1){k=z[v>>2];m=+G(z[p>>2]-t|0);b=m*1.402;p:{if(H(b)<2147483648){f=~~b;break p}f=-2147483648}e=z[n>>2];f=f+e|0;z[a>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+G(k-t|0);b=i*.344+m*.714;q:{if(H(b)<2147483648){f=~~b;break q}f=-2147483648}k=e-f|0;z[h>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;r:{if(H(b)<2147483648){f=~~b;break r}f=-2147483648}e=f+e|0;z[c>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=z[v>>2];m=+G(z[p>>2]-t|0);b=m*1.402;s:{if(H(b)<2147483648){f=~~b;break s}f=-2147483648}e=z[n+4>>2];f=f+e|0;z[a+4>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+G(k-t|0);b=i*.344+m*.714;t:{if(H(b)<2147483648){f=~~b;break t}f=-2147483648}k=e-f|0;z[h+4>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;u:{if(H(b)<2147483648){f=~~b;break u}f=-2147483648}e=f+e|0;z[c+4>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=z[v>>2];m=+G(z[p>>2]-t|0);b=m*1.402;v:{if(H(b)<2147483648){f=~~b;break v}f=-2147483648}e=z[D>>2];f=f+e|0;z[o>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+G(k-t|0);b=i*.344+m*.714;w:{if(H(b)<2147483648){f=~~b;break w}f=-2147483648}k=e-f|0;z[d>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;x:{if(H(b)<2147483648){f=~~b;break x}f=-2147483648}e=f+e|0;z[j>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=z[v>>2];m=+G(z[p>>2]-t|0);b=m*1.402;y:{if(H(b)<2147483648){f=~~b;break y}f=-2147483648}e=z[D+4>>2];f=f+e|0;z[o+4>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+G(k-t|0);b=i*.344+m*.714;z:{if(H(b)<2147483648){f=~~b;break z}f=-2147483648}k=e-f|0;z[d+4>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;A:{if(H(b)<2147483648){f=~~b;break A}f=-2147483648}e=f+e|0;z[j+4>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;p=p+4|0;v=v+4|0;j=j+8|0;d=d+8|0;o=o+8|0;D=D+8|0;c=c+8|0;h=h+8|0;a=a+8|0;n=n+8|0;w=w+2|0;if(q>>>0>w>>>0){continue}break}e=s}else{e=0}if(e>>>0

>>0){k=z[v>>2];m=+G(z[p>>2]-t|0);b=m*1.402;B:{if(H(b)<2147483648){f=~~b;break B}f=-2147483648}e=z[n>>2];f=f+e|0;z[a>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+G(k-t|0);b=i*.344+m*.714;C:{if(H(b)<2147483648){f=~~b;break C}f=-2147483648}k=e-f|0;z[h>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;D:{if(H(b)<2147483648){f=~~b;break D}f=-2147483648}e=f+e|0;z[c>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=z[v>>2];f=o;m=+G(z[p>>2]-t|0);b=m*1.402;E:{if(H(b)<2147483648){o=~~b;break E}o=-2147483648}e=z[D>>2];o=o+e|0;z[f>>2]=(o|0)>=0?(g|0)>(o|0)?o:g:0;o=d;i=+G(k-t|0);b=i*.344+m*.714;F:{if(H(b)<2147483648){d=~~b;break F}d=-2147483648}d=e-d|0;z[o>>2]=(d|0)>=0?(g|0)>(d|0)?d:g:0;b=i*1.772;G:{if(H(b)<2147483648){d=~~b;break G}d=-2147483648}d=d+e|0;z[j>>2]=(d|0)>=0?(g|0)>(d|0)?d:g:0;p=p+4|0;v=v+4|0;c=c+4|0;h=h+4|0;n=n+4|0;a=a+4|0}c=c+I|0;h=h+I|0;a=a+I|0;n=n+I|0;y=y+2|0;if(N>>>0>y>>>0){continue}break}d=M+2|0}else{d=0}H:{if(d>>>0>=O>>>0){break H}r=J&-2;if(r){e=r-1&-2;o=0;while(1){j=z[v>>2];m=+G(z[p>>2]-t|0);b=m*1.402;I:{if(H(b)<2147483648){s=~~b;break I}s=-2147483648}d=z[n>>2];s=s+d|0;z[a>>2]=(s|0)>=0?(g|0)>(s|0)?s:g:0;i=+G(j-t|0);b=i*.344+m*.714;J:{if(H(b)<2147483648){j=~~b;break J}j=-2147483648}j=d-j|0;z[h>>2]=(j|0)>=0?(g|0)>(j|0)?j:g:0;b=i*1.772;K:{if(H(b)<2147483648){j=~~b;break K}j=-2147483648}d=j+d|0;z[c>>2]=(d|0)>=0?(g|0)>(d|0)?d:g:0;j=z[v>>2];m=+G(z[p>>2]-t|0);b=m*1.402;L:{if(H(b)<2147483648){s=~~b;break L}s=-2147483648}d=z[n+4>>2];s=s+d|0;z[a+4>>2]=(s|0)>=0?(g|0)>(s|0)?s:g:0;i=+G(j-t|0);b=i*.344+m*.714;M:{if(H(b)<2147483648){j=~~b;break M}j=-2147483648}j=d-j|0;z[h+4>>2]=(j|0)>=0?(g|0)>(j|0)?j:g:0;b=i*1.772;N:{if(H(b)<2147483648){j=~~b;break N}j=-2147483648}d=j+d|0;z[c+4>>2]=(d|0)>=0?(g|0)>(d|0)?d:g:0;p=p+4|0;v=v+4|0;c=c+8|0;h=h+8|0;a=a+8|0;n=n+8|0;o=o+2|0;if(r>>>0>o>>>0){continue}break}d=e+2|0}else{d=0}if(d>>>0>=J>>>0){break H}d=z[v>>2];e=a;m=+G(z[p>>2]-t|0);b=m*1.402;O:{if(H(b)<2147483648){j=~~b;break O}j=-2147483648}a=z[n>>2];j=j+a|0;z[e>>2]=(j|0)>=0?(g|0)>(j|0)?j:g:0;e=h;i=+G(d-t|0);b=i*.344+m*.714;P:{if(H(b)<2147483648){h=~~b;break P}h=-2147483648}h=a-h|0;z[e>>2]=(h|0)>=0?(g|0)>(h|0)?h:g:0;b=i*1.772;Q:{if(H(b)<2147483648){h=~~b;break Q}h=-2147483648}a=h+a|0;z[c>>2]=(a|0)>=0?(a|0)<(g|0)?a:g:0}le(z[z[E+24>>2]+44>>2]);a=z[E+24>>2];z[a+44>>2]=x;le(z[a+96>>2]);a=z[E+24>>2];z[a+96>>2]=A;le(z[a+148>>2]);c=z[E+24>>2];z[c+148>>2]=B;a=z[c+8>>2];z[c+112>>2]=a;z[c+60>>2]=a;a=z[c+12>>2];z[c+116>>2]=a;z[c- -64>>2]=a;a=z[c>>2];z[c+104>>2]=a;z[c+52>>2]=a;a=z[c+4>>2];z[c+108>>2]=a;z[c+56>>2]=a;z[E+20>>2]=1}break a}if(z[c+104>>2]!=2|z[c+4>>2]!=1|(z[c+56>>2]!=1|z[c+108>>2]!=1)){break b}u=a;c=z[a+24>>2];h=z[c+24>>2];n=z[c+148>>2];p=z[c+96>>2];w=z[c+44>>2];a=z[c+8>>2];K=z[c+12>>2];c=F(a,K)<<2;r=vd(c);s=vd(c);e=vd(c);R:{if(!(!e|(!r|!s))){if(K){E=z[u>>2]&1;M=a-E|0;f=1<>2];d=l+B|0;z[a>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;d=l-x|0;z[h>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;d=l+A|0;z[c>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;h=h+4|0;w=w+4|0;c=c+4|0;a=a+4|0}D=0;if(k){while(1){l=z[p>>2];m=+G(z[n>>2]-f|0);b=m*1.402;V:{if(H(b)<2147483648){g=~~b;break V}g=-2147483648}d=z[w>>2];y=g+d|0;z[a>>2]=(y|0)>=0?(q|0)>(y|0)?y:q:0;i=+G(l-f|0);b=i*.344+m*.714;W:{if(H(b)<2147483648){l=~~b;break W}l=-2147483648}l=d-l|0;z[h>>2]=(l|0)>=0?(q|0)>(l|0)?l:q:0;b=i*1.772;X:{if(H(b)<2147483648){l=~~b;break X}l=-2147483648}d=l+d|0;z[c>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;l=z[p>>2];m=+G(z[n>>2]-f|0);b=m*1.402;Y:{if(H(b)<2147483648){g=~~b;break Y}g=-2147483648}d=z[w+4>>2];y=g+d|0;z[a+4>>2]=(y|0)>=0?(q|0)>(y|0)?y:q:0;i=+G(l-f|0);b=i*.344+m*.714;Z:{if(H(b)<2147483648){l=~~b;break Z}l=-2147483648}l=d-l|0;z[h+4>>2]=(l|0)>=0?(q|0)>(l|0)?l:q:0;b=i*1.772;_:{if(H(b)<2147483648){l=~~b;break _}l=-2147483648}d=l+d|0;z[c+4>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;n=n+4|0;p=p+4|0;c=c+8|0;h=h+8|0;a=a+8|0;w=w+8|0;D=D+2|0;if(k>>>0>D>>>0){continue}break}d=j}else{d=0}if(d>>>0>>0){l=z[p>>2];m=+G(z[n>>2]-f|0);b=m*1.402;$:{if(H(b)<2147483648){g=~~b;break $}g=-2147483648}d=z[w>>2];y=g+d|0;z[a>>2]=(y|0)>=0?(q|0)>(y|0)?y:q:0;i=+G(l-f|0);b=i*.344+m*.714;aa:{if(H(b)<2147483648){l=~~b;break aa}l=-2147483648}l=d-l|0;z[h>>2]=(l|0)>=0?(q|0)>(l|0)?l:q:0;b=i*1.772;ba:{if(H(b)<2147483648){l=~~b;break ba}l=-2147483648}d=l+d|0;z[c>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;n=n+4|0;p=p+4|0;h=h+4|0;w=w+4|0;c=c+4|0;a=a+4|0}o=o+1|0;if((K|0)!=(o|0)){continue}break}}le(z[z[u+24>>2]+44>>2]);a=z[u+24>>2];z[a+44>>2]=r;le(z[a+96>>2]);a=z[u+24>>2];z[a+96>>2]=s;le(z[a+148>>2]);c=z[u+24>>2];z[c+148>>2]=e;a=z[c+8>>2];z[c+112>>2]=a;z[c+60>>2]=a;a=z[c+12>>2];z[c+116>>2]=a;z[c- -64>>2]=a;a=z[c>>2];z[c+104>>2]=a;z[c+52>>2]=a;a=z[c+4>>2];z[c+108>>2]=a;z[c+56>>2]=a;z[u+20>>2]=1;break R}le(r);le(s);le(e)}break a;case 0:break c;default:break b}}if(z[c+104>>2]!=1|z[c+4>>2]!=1|(z[c+56>>2]!=1|z[c+108>>2]!=1)){break b}c=z[a+24>>2];h=z[c+24>>2];w=z[c+148>>2];n=z[c+96>>2];p=z[c+44>>2];r=F(z[c+12>>2],z[c+8>>2]);c=r<<2;A=vd(c);B=vd(c);o=vd(c);ca:{if(!(!o|(!A|!B))){if(r){u=-1<>2];m=+G(z[w>>2]-s|0);b=m*1.402;da:{if(H(b)<2147483648){e=~~b;break da}e=-2147483648}j=z[p>>2];e=e+j|0;z[d>>2]=(e|0)>=0?(e|0)<(u|0)?e:u:0;i=+G(x-s|0);b=i*.344+m*.714;ea:{if(H(b)<2147483648){e=~~b;break ea}e=-2147483648}x=j-e|0;z[h>>2]=(x|0)>=0?(u|0)>(x|0)?x:u:0;b=i*1.772;fa:{if(H(b)<2147483648){e=~~b;break fa}e=-2147483648}j=e+j|0;z[c>>2]=(j|0)>=0?(j|0)<(u|0)?j:u:0;c=c+4|0;h=h+4|0;d=d+4|0;w=w+4|0;n=n+4|0;p=p+4|0;v=v+1|0;if((r|0)!=(v|0)){continue}break}}le(z[z[a+24>>2]+44>>2]);c=z[a+24>>2];z[c+44>>2]=A;le(z[c+96>>2]);c=z[a+24>>2];z[c+96>>2]=B;le(z[c+148>>2]);z[z[a+24>>2]+148>>2]=o;z[a+20>>2]=1;break ca}le(A);le(B);le(o)}break a}z[L+4>>2]=262;z[L>>2]=2115;Ld(z[12672],21815,L)}Fa=L+16|0}function ke(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=Fa-16|0;Fa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(a>>>0<=244){g=z[16090];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+64400|0;d=z[a+64408>>2];a=z[d+8>>2];o:{if((b|0)==(a|0)){m=64360,n=vo(c)&g,z[m>>2]=n;break o}z[a+12>>2]=b;z[b+8>>2]=a}a=d+8|0;b=c<<3;z[d+4>>2]=b|3;b=b+d|0;z[b+4>>2]=z[b+4>>2]|1;break a}k=z[16092];if(k>>>0>=h>>>0){break n}if(b){a=2<>2];a=z[e+8>>2];p:{if((b|0)==(a|0)){g=vo(d)&g;z[16090]=g;break p}z[a+12>>2]=b;z[b+8>>2]=a}z[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;z[c+4>>2]=d|1;z[a+e>>2]=d;if(k){b=(k&-8)+64400|0;f=z[16095];a=1<<(k>>>3);q:{if(!(a&g)){z[16090]=a|g;a=b;break q}a=z[b+8>>2]}z[b+8>>2]=f;z[a+12>>2]=f;z[f+12>>2]=b;z[f+8>>2]=a}a=e+8|0;z[16095]=c;z[16092]=d;break a}j=z[16091];if(!j){break n}c=z[(oo(j)<<2)+64664>>2];f=(z[c+4>>2]&-8)-h|0;b=c;while(1){r:{a=z[b+16>>2];if(!a){a=z[b+20>>2];if(!a){break r}}b=(z[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=z[c+24>>2];d=z[c+12>>2];if((d|0)!=(c|0)){a=z[c+8>>2];z[a+12>>2]=d;z[d+8>>2]=a;break b}b=c+20|0;a=z[b>>2];if(!a){a=z[c+16>>2];if(!a){break m}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=z[b>>2];if(a){continue}b=d+16|0;a=z[d+16>>2];if(a){continue}break}z[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break n}a=a+11|0;h=a&-8;j=z[16091];if(!j){break n}f=0-h|0;g=0;s:{if(h>>>0<256){break s}g=31;if(h>>>0>16777215){break s}a=I(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=z[(g<<2)+64664>>2];t:{u:{v:{if(!b){a=0;break v}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){w:{e=(z[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break w}d=b;f=e;if(e){break w}f=0;a=b;break u}e=z[b+20>>2];b=z[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break t}}while(1){b=(z[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=z[a+16>>2];if(b){a=b}else{a=z[a+20>>2]}if(a){continue}break}}if(!d|z[16092]-h>>>0<=f>>>0){break n}g=z[d+24>>2];c=z[d+12>>2];if((d|0)!=(c|0)){a=z[d+8>>2];z[a+12>>2]=c;z[c+8>>2]=a;break c}b=d+20|0;a=z[b>>2];if(!a){a=z[d+16>>2];if(!a){break l}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=z[b>>2];if(a){continue}b=c+16|0;a=z[c+16>>2];if(a){continue}break}z[e>>2]=0;break c}a=z[16092];if(a>>>0>=h>>>0){d=z[16095];b=a-h|0;x:{if(b>>>0>=16){c=d+h|0;z[c+4>>2]=b|1;z[a+d>>2]=b;z[d+4>>2]=h|3;break x}z[d+4>>2]=a|3;a=a+d|0;z[a+4>>2]=z[a+4>>2]|1;c=0;b=0}z[16092]=b;z[16095]=c;a=d+8|0;break a}i=z[16093];if(i>>>0>h>>>0){b=i-h|0;z[16093]=b;c=z[16096];a=c+h|0;z[16096]=a;z[a+4>>2]=b|1;z[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(z[16208]){c=z[16210]}else{z[16211]=-1;z[16212]=-1;z[16209]=4096;z[16210]=4096;z[16208]=l+12&-16^1431655768;z[16213]=0;z[16201]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=z[16200];if(d){c=z[16198];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}y:{if(!(A[64804]&4)){z:{A:{B:{C:{d=z[16096];if(d){a=64808;while(1){c=z[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break C}a=z[a+8>>2];if(a){continue}break}}c=je(0);if((c|0)==-1){break z}g=b;d=z[16209];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break z}d=z[16200];if(d){a=z[16198];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break z}}a=je(g);if((c|0)!=(a|0)){break B}break y}g=f&e-i;c=je(g);if((c|0)==(z[a>>2]+z[a+4>>2]|0)){break A}a=c}if((a|0)==-1){break z}if(h+48>>>0<=g>>>0){c=a;break y}c=z[16210];c=c+(j-g|0)&0-c;if((je(c)|0)==-1){break z}g=c+g|0;c=a;break y}if((c|0)!=-1){break y}}z[16201]=z[16201]|4}c=je(b);a=je(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break i}g=a-c|0;if(g>>>0<=h+40>>>0){break i}}a=z[16198]+g|0;z[16198]=a;if(a>>>0>C[16199]){z[16199]=a}D:{e=z[16096];if(e){a=64808;while(1){d=z[a>>2];b=z[a+4>>2];if((d+b|0)==(c|0)){break D}a=z[a+8>>2];if(a){continue}break}break k}a=z[16094];if(!(a>>>0<=c>>>0?a:0)){z[16094]=c}a=0;z[16203]=g;z[16202]=c;z[16098]=-1;z[16099]=z[16208];z[16205]=0;while(1){d=a<<3;b=d+64400|0;z[d+64408>>2]=b;z[d+64412>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=-8-c&7;b=d-a|0;z[16093]=b;a=a+c|0;z[16096]=a;z[a+4>>2]=b|1;z[(c+d|0)+4>>2]=40;z[16097]=z[16212];break j}if(z[a+12>>2]&8|(c>>>0<=e>>>0|d>>>0>e>>>0)){break k}z[a+4>>2]=b+g;a=-8-e&7;c=a+e|0;z[16096]=c;b=z[16093]+g|0;a=b-a|0;z[16093]=a;z[c+4>>2]=a|1;z[(b+e|0)+4>>2]=40;z[16097]=z[16212];break j}d=0;break b}c=0;break c}if(C[16094]>c>>>0){z[16094]=c}b=c+g|0;a=64808;E:{F:{G:{while(1){if((b|0)!=z[a>>2]){a=z[a+8>>2];if(a){continue}break G}break}if(!(A[a+12|0]&8)){break F}}a=64808;while(1){b=z[a>>2];if(b>>>0<=e>>>0){f=b+z[a+4>>2]|0;if(f>>>0>e>>>0){break E}}a=z[a+8>>2];continue}}z[a>>2]=c;z[a+4>>2]=z[a+4>>2]+g;j=(-8-c&7)+c|0;z[j+4>>2]=h|3;g=b+(-8-b&7)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){z[16096]=i;a=z[16093]+a|0;z[16093]=a;z[i+4>>2]=a|1;break d}if(z[16095]==(g|0)){z[16095]=i;a=z[16092]+a|0;z[16092]=a;z[i+4>>2]=a|1;z[a+i>>2]=a;break d}f=z[g+4>>2];if((f&3)!=1){break e}e=f&-8;if(f>>>0<=255){c=z[g+12>>2];b=z[g+8>>2];if((c|0)==(b|0)){m=64360,n=z[16090]&vo(f>>>3|0),z[m>>2]=n;break f}z[b+12>>2]=c;z[c+8>>2]=b;break f}h=z[g+24>>2];c=z[g+12>>2];if((g|0)!=(c|0)){b=z[g+8>>2];z[b+12>>2]=c;z[c+8>>2]=b;break g}b=g+20|0;f=z[b>>2];if(!f){f=z[g+16>>2];if(!f){break h}b=g+16|0}while(1){d=b;c=f;b=c+20|0;f=z[b>>2];if(f){continue}b=c+16|0;f=z[c+16>>2];if(f){continue}break}z[d>>2]=0;break g}d=g-40|0;a=-8-c&7;b=d-a|0;z[16093]=b;a=a+c|0;z[16096]=a;z[a+4>>2]=b|1;z[(c+d|0)+4>>2]=40;z[16097]=z[16212];a=(f+(39-f&7)|0)-47|0;d=a>>>0>>0?e:a;z[d+4>>2]=27;a=z[16205];z[d+16>>2]=z[16204];z[d+20>>2]=a;a=z[16203];z[d+8>>2]=z[16202];z[d+12>>2]=a;z[16204]=d+8;z[16203]=g;z[16202]=c;z[16205]=0;a=d+24|0;while(1){z[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break j}z[d+4>>2]=z[d+4>>2]&-2;f=d-e|0;z[e+4>>2]=f|1;z[d>>2]=f;if(f>>>0<=255){b=(f&-8)+64400|0;c=z[16090];a=1<<(f>>>3);H:{if(!(c&a)){z[16090]=a|c;a=b;break H}a=z[b+8>>2]}z[b+8>>2]=e;z[a+12>>2]=e;z[e+12>>2]=b;z[e+8>>2]=a;break j}a=31;if(f>>>0<=16777215){a=I(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}z[e+28>>2]=a;z[e+16>>2]=0;z[e+20>>2]=0;b=(a<<2)+64664|0;I:{d=z[16091];c=1<>2]=e;break J}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=z[b>>2];while(1){b=d;if((f|0)==(z[b+4>>2]&-8)){break I}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=z[c+16>>2];if(d){continue}break}z[c+16>>2]=e}z[e+24>>2]=b;z[e+12>>2]=e;z[e+8>>2]=e;break j}a=z[b+8>>2];z[a+12>>2]=e;z[b+8>>2]=e;z[e+24>>2]=0;z[e+12>>2]=b;z[e+8>>2]=a}a=z[16093];if(a>>>0<=h>>>0){break i}b=a-h|0;z[16093]=b;c=z[16096];a=c+h|0;z[16096]=a;z[a+4>>2]=b|1;z[c+4>>2]=h|3;a=c+8|0;break a}z[15614]=48;a=0;break a}c=0}if(!h){break f}d=z[g+28>>2];b=(d<<2)+64664|0;K:{if(z[b>>2]==(g|0)){z[b>>2]=c;if(c){break K}m=64364,n=z[16091]&vo(d),z[m>>2]=n;break f}z[h+(z[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break f}}z[c+24>>2]=h;b=z[g+16>>2];if(b){z[c+16>>2]=b;z[b+24>>2]=c}b=z[g+20>>2];if(!b){break f}z[c+20>>2]=b;z[b+24>>2]=c}a=a+e|0;g=e+g|0;f=z[g+4>>2]}z[g+4>>2]=f&-2;z[i+4>>2]=a|1;z[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+64400|0;c=z[16090];a=1<<(a>>>3);L:{if(!(c&a)){z[16090]=a|c;a=b;break L}a=z[b+8>>2]}z[b+8>>2]=i;z[a+12>>2]=i;z[i+12>>2]=b;z[i+8>>2]=a;break d}f=31;if(a>>>0<=16777215){b=I(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}z[i+28>>2]=f;z[i+16>>2]=0;z[i+20>>2]=0;b=(f<<2)+64664|0;M:{d=z[16091];c=1<>2]=i;break N}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=z[b>>2];while(1){b=c;if((z[c+4>>2]&-8)==(a|0)){break M}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=z[d+16>>2];if(c){continue}break}z[d+16>>2]=i}z[i+24>>2]=b;z[i+12>>2]=i;z[i+8>>2]=i;break d}a=z[b+8>>2];z[a+12>>2]=i;z[b+8>>2]=i;z[i+24>>2]=0;z[i+12>>2]=b;z[i+8>>2]=a}a=j+8|0;break a}O:{if(!g){break O}b=z[d+28>>2];a=(b<<2)+64664|0;P:{if(z[a>>2]==(d|0)){z[a>>2]=c;if(c){break P}j=vo(b)&j;z[16091]=j;break O}z[g+(z[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break O}}z[c+24>>2]=g;a=z[d+16>>2];if(a){z[c+16>>2]=a;z[a+24>>2]=c}a=z[d+20>>2];if(!a){break O}z[c+20>>2]=a;z[a+24>>2]=c}Q:{if(f>>>0<=15){a=f+h|0;z[d+4>>2]=a|3;a=a+d|0;z[a+4>>2]=z[a+4>>2]|1;break Q}z[d+4>>2]=h|3;e=d+h|0;z[e+4>>2]=f|1;z[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+64400|0;c=z[16090];a=1<<(f>>>3);R:{if(!(c&a)){z[16090]=a|c;a=b;break R}a=z[b+8>>2]}z[b+8>>2]=e;z[a+12>>2]=e;z[e+12>>2]=b;z[e+8>>2]=a;break Q}a=31;if(f>>>0<=16777215){a=I(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}z[e+28>>2]=a;z[e+16>>2]=0;z[e+20>>2]=0;b=(a<<2)+64664|0;S:{c=1<>2]=e;break T}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=z[b>>2];while(1){b=h;if((z[b+4>>2]&-8)==(f|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=z[c+16>>2];if(h){continue}break}z[c+16>>2]=e}z[e+24>>2]=b;z[e+12>>2]=e;z[e+8>>2]=e;break Q}a=z[b+8>>2];z[a+12>>2]=e;z[b+8>>2]=e;z[e+24>>2]=0;z[e+12>>2]=b;z[e+8>>2]=a}a=d+8|0;break a}U:{if(!i){break U}b=z[c+28>>2];a=(b<<2)+64664|0;V:{if(z[a>>2]==(c|0)){z[a>>2]=d;if(d){break V}m=64364,n=vo(b)&j,z[m>>2]=n;break U}z[i+(z[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break U}}z[d+24>>2]=i;a=z[c+16>>2];if(a){z[d+16>>2]=a;z[a+24>>2]=d}a=z[c+20>>2];if(!a){break U}z[d+20>>2]=a;z[a+24>>2]=d}W:{if(f>>>0<=15){a=f+h|0;z[c+4>>2]=a|3;a=a+c|0;z[a+4>>2]=z[a+4>>2]|1;break W}z[c+4>>2]=h|3;d=c+h|0;z[d+4>>2]=f|1;z[d+f>>2]=f;if(k){b=(k&-8)+64400|0;e=z[16095];a=1<<(k>>>3);X:{if(!(a&g)){z[16090]=a|g;a=b;break X}a=z[b+8>>2]}z[b+8>>2]=e;z[a+12>>2]=e;z[e+12>>2]=b;z[e+8>>2]=a}z[16095]=d;z[16092]=f}a=c+8|0}Fa=l+16|0;return a|0}function fb(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,o=0,p=G(0),q=0,r=0,s=G(0),t=0,u=0,v=0,w=G(0),D=G(0),E=G(0),I=0,J=G(0);k=Fa-8272|0;Fa=k;z[k+16>>2]=0;g=z[z[a>>2]>>2];c=ud(1,96);e=0;a:{if(!c){break a}z[c+76>>2]=1;b:{c:{d:{switch(((g|0)!=1375686655)<<1){case 0:z[c+88>>2]=204;z[c+84>>2]=205;z[c+80>>2]=206;z[c+16>>2]=207;z[c+4>>2]=208;z[c+28>>2]=209;z[c+24>>2]=210;z[c+20>>2]=211;z[c>>2]=212;z[c+92>>2]=213;z[c+44>>2]=214;z[c+40>>2]=215;z[c+36>>2]=216;z[c+32>>2]=217;z[c+12>>2]=218;z[c+8>>2]=219;f=_b();z[c+48>>2]=f;if(f){break c}break b;case 2:break d;default:break b}}z[c+88>>2]=220;z[c+84>>2]=221;z[c+80>>2]=222;z[c+16>>2]=223;z[c+4>>2]=224;z[c+92>>2]=225;z[c+44>>2]=226;z[c+40>>2]=227;z[c+36>>2]=228;z[c+32>>2]=229;z[c+28>>2]=230;z[c+24>>2]=231;z[c+20>>2]=232;z[c+12>>2]=233;z[c+8>>2]=234;z[c>>2]=235;f=ud(1,136);e:{if(f){g=_b();z[f>>2]=g;f:{if(!g){break f}z[f+108>>2]=0;z[f+112>>2]=0;x[f+124|0]=0;z[f+116>>2]=0;z[f+120>>2]=0;g=qd();z[f+4>>2]=g;if(!g){break f}g=qd();z[f+8>>2]=g;if(!g){break f}break e}Ac(f)}f=0}z[c+48>>2]=f;if(!f){break b}}z[c+72>>2]=106;z[c+64>>2]=106;z[c+60>>2]=0;z[c+52>>2]=0;z[c+56>>2]=0;z[c+68>>2]=106;e=c;break a}le(c);e=0}f=e;if(f){z[f+60>>2]=0;z[f+72>>2]=55}if(f){z[f+56>>2]=0;z[f+68>>2]=56}if(f){z[f+52>>2]=0;z[f- -64>>2]=57}c=k+20|0;if(c){c=Id(c,0,8248);z[c+8248>>2]=0;z[c+8200>>2]=-1;z[c+8204>>2]=-1}z[k+20>>2]=b;z[k+24>>2]=z[a+84>>2];c=z[a>>2];z[k+8>>2]=c;z[k+4>>2]=c;z[k+12>>2]=z[a+4>>2]-c;l=ob(1);if(l){if(l){z[l+4>>2]=0;z[l>>2]=k+4}c=z[k+12>>2];if(l){z[l+8>>2]=c;z[l+12>>2]=0}if(!(!l|!(A[l+68|0]&2))){z[l+16>>2]=58}if(l){z[l+24>>2]=59}if(l){z[l+28>>2]=60}}c=k+20|0;if(!(!f|!c)){g:{if(!z[f+76>>2]){sb(f+52|0,1,23721,0);d=0;break g}La[z[f+24>>2]](z[f+48>>2],0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=1}}h:{if(!d){Td(1974);pb(l);Bc(f);break h}d=k+16|0;c=0;i:{if(!l|!f){e=c}else{if(!z[f+76>>2]){sb(f+52|0,1,23802,0);e=0;break i}e=La[z[f>>2]](l,0,z[f+48>>2],0,d,0,f+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}if(!e){Td(2037);pb(l);Bc(f);ub(z[k+16>>2]);break h}d=z[k+16>>2];if(!(!z[f+76>>2]|(!f|!l))){c=La[z[f+4>>2]](z[f+48>>2],0,l,0,d,0,f+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!c){Td(6246);Bc(f);pb(l);ub(z[k+16>>2]);break h}c=0;if(!(!z[f+76>>2]|(!f|!l))){c=La[z[f+16>>2]](z[f+48>>2],0,l,0,f+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!c){Td(3744)}m=z[k+16>>2];c=z[m+16>>2];j:{k:{l:{d=z[m+20>>2];if((d|0)!=3){if((c|0)==3){c=z[m+24>>2];if(z[c>>2]!=z[c+4>>2]|z[c+52>>2]==1){break l}z[m+20>>2]=3;hb(m);break j}if(c>>>0>2){break l}break k}if(c>>>0<3){break k}hb(m);break j}if(!(z[k+8224>>2]==14|(d|0)!=5)){e=Fa-16|0;Fa=e;m:{n:{o:{if(C[m+16>>2]<4){break o}c=z[m+24>>2];d=z[c>>2];if((d|0)!=z[c+52>>2]|(d|0)!=z[c+104>>2]|(d|0)!=z[c+156>>2]){break o}d=z[c+4>>2];if((d|0)!=z[c+56>>2]|(d|0)!=z[c+108>>2]){break o}if((d|0)==z[c+160>>2]){break n}}z[e+4>>2]=619;z[e>>2]=2115;Ld(z[12672],21730,e);break m}q=F(z[c+12>>2],z[c+8>>2]);p:{if(!q){g=z[c+200>>2];break p}w=G(G(1)/G(-1<>2]^-1));D=G(G(1)/G(-1<>2]^-1));s=G(G(1)/G(-1<>2]^-1));J=G(G(1)/G(-1<>2]^-1));g=z[c+200>>2];t=z[c+148>>2];h=z[c+96>>2];v=z[c+44>>2];while(1){d=i<<2;n=d+v|0;p=G(G(1)-G(D*G(z[d+g>>2])));E=G(G(G(G(1)-G(w*G(z[n>>2])))*G(255))*p);q:{if(G(H(E))>2];d=d+h|0;r=z[d>>2];z[n>>2]=o;E=G(G(G(G(1)-G(J*G(r|0)))*G(255))*p);r:{if(G(H(E))>2]=o;p=G(G(G(G(1)-G(s*G(u|0)))*G(255))*p);s:{if(G(H(p))>2]=d;i=i+1|0;if((q|0)!=(i|0)){continue}break}}le(g);c=z[m+24>>2];z[c+24>>2]=8;z[c+128>>2]=8;z[c+76>>2]=8;z[c+200>>2]=0;z[m+20>>2]=1;c=z[m+16>>2]-1|0;z[m+16>>2]=c;if(c>>>0<4){break m}i=3;while(1){c=z[m+24>>2]+F(i,52)|0;z[c+48>>2]=z[c+100>>2];d=z[c+96>>2];z[c+40>>2]=z[c+92>>2];z[c+44>>2]=d;d=z[c+88>>2];z[c+32>>2]=z[c+84>>2];z[c+36>>2]=d;d=z[c+80>>2];z[c+24>>2]=z[c+76>>2];z[c+28>>2]=d;d=z[c+72>>2];z[c+16>>2]=z[c+68>>2];z[c+20>>2]=d;d=z[c+64>>2];z[c+8>>2]=z[c+60>>2];z[c+12>>2]=d;d=z[c+56>>2];z[c>>2]=z[c+52>>2];z[c+4>>2]=d;i=i+1|0;if(i>>>0>2]){continue}break}}Fa=e+16|0;break j}if((d|0)!=4){break j}o=Fa-16|0;Fa=o;t:{u:{v:{if(C[m+16>>2]<3){break v}d=z[m+24>>2];c=z[d>>2];if((c|0)!=z[d+52>>2]|(c|0)!=z[d+104>>2]){break v}c=z[d+4>>2];if((c|0)!=z[d+56>>2]){break v}if((c|0)==z[d+108>>2]){break u}}z[o+4>>2]=680;z[o>>2]=2115;Ld(z[12672],21772,o);break t}q=F(z[d+12>>2],z[d+8>>2]);if(q){g=z[d+24>>2];c=-1<>2]?0:g;h=z[d+84>>2]?0:g;v=z[d+148>>2];n=z[d+96>>2];u=z[d+44>>2];d=0;while(1){g=d<<2;i=g+v|0;p=G(z[i>>2]-t|0);e=g+n|0;w=G(z[e>>2]-h|0);r=g+u|0;D=G(z[r>>2]);s=G(G(G(p*G(1.4019900560379028))+G(G(w*G(-3680000008898787e-20))+D))+G(.5));w:{if(G(H(s))>2]=(c|0)<(g|0)?c:(g|0)>0?g:0;s=G(G(G(p*G(-.7141128182411194))+G(G(D*G(1.0003000497817993))+G(w*G(-.34412500262260437))))+G(.5));x:{if(G(H(s))>2]=(c|0)<(g|0)?c:(g|0)>0?g:0;p=G(G(G(p*G(-7999999979801942e-21))+G(G(D*G(.9998229742050171))+G(w*G(1.7720400094985962))))+G(.5));y:{if(G(H(p))>2]=(c|0)<(g|0)?c:(g|0)>0?g:0;d=d+1|0;if((q|0)!=(d|0)){continue}break}}z[m+20>>2]=1}Fa=o+16|0;break j}z[m+20>>2]=2}c=z[k+16>>2];d=z[c>>2];y[a+24>>1]=z[c+8>>2]-d;g=z[c+4>>2];y[a+26>>1]=z[c+12>>2]-g;x[a+29|0]=z[c+16>>2];i=0;e=z[c+24>>2];x[a+30|0]=z[e+32>>2]!=0;x[a+28|0]=z[e+24>>2];c=z[c+20>>2];z[a+48>>2]=g;z[a+44>>2]=d;z[a+80>>2]=c;if(f){c=La[z[f+84>>2]](z[f+48>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}else{c=0}z[a+76>>2]=z[c+40>>2];z[a+40>>2]=z[c+36>>2];d=z[c+48>>2];x[a+36|0]=z[d+24>>2]==1;z[a+68>>2]=1<>2];z[a+72>>2]=1<>2];z[a+60>>2]=z[c>>2];z[a- -64>>2]=z[c+4>>2];z[a+52>>2]=z[c+8>>2];z[a+56>>2]=z[c+12>>2];z[a+32>>2]=z[d+8>>2]-1;g=B[a+26>>1];d=B[a+24>>1];z:{if(!b){break z}e=b&3;A:{if(!e){c=b;break A}c=b;while(1){c=c-1|0;g=g+1>>>1|0;d=d+1>>>1|0;i=i+1|0;if((e|0)!=(i|0)){continue}break}}if(b>>>0<4){break z}while(1){g=(((g+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;d=(((d+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;c=c-4|0;if(c){continue}break}}m=a+12|0;v=A[a+28|0]+7>>>3|0;b=F(v,F(A[a+29|0],F(d,g)));i=z[a+12>>2];c=z[a+16>>2]-i|0;B:{if(b>>>0>c>>>0){eb(m,b-c|0);break B}if(b>>>0>=c>>>0){break B}z[a+16>>2]=b+i}if(g){o=d&-2;q=d&1;t=d-1|0;while(1){i=A[a+29|0];b=F(d,I);c=F(i,F(b,v));C:{if((i|0)==1){i=z[z[z[k+16>>2]+24>>2]+44>>2]+(b<<2)|0;if(A[a+28|0]<=8){if(!d){break C}e=c+z[m>>2]|0;c=0;b=0;if(t){while(1){h=z[i+(c<<2)>>2];h=(h|0)>=255?255:h;x[c+e|0]=(h|0)>0?h:0;n=c|1;h=z[i+(n<<2)>>2];h=(h|0)>=255?255:h;x[e+n|0]=(h|0)>0?h:0;c=c+2|0;b=b+2|0;if((o|0)!=(b|0)){continue}break}}if(!q){break C}b=z[i+(c<<2)>>2];b=(b|0)>=255?255:b;x[c+e|0]=(b|0)>0?b:0;break C}e=c+z[a+12>>2]|0;if(A[a+30|0]){if(!d){break C}c=0;b=0;if(t){while(1){h=z[i+(c<<2)>>2];h=(h|0)>=32767?32767:h;y[e+(c<<1)>>1]=(h|0)<=-32768?-32768:h;n=c|1;h=z[i+(n<<2)>>2];h=(h|0)>=32767?32767:h;y[e+(n<<1)>>1]=(h|0)<=-32768?-32768:h;c=c+2|0;b=b+2|0;if((o|0)!=(b|0)){continue}break}}if(!q){break C}b=z[i+(c<<2)>>2];b=(b|0)>=32767?32767:b;y[e+(c<<1)>>1]=(b|0)<=-32768?-32768:b;break C}if(!d){break C}c=0;b=0;if(t){while(1){h=z[i+(c<<2)>>2];h=(h|0)>=65535?65535:h;y[e+(c<<1)>>1]=(h|0)>0?h:0;n=c|1;h=z[i+(n<<2)>>2];h=(h|0)>=65535?65535:h;y[e+(n<<1)>>1]=(h|0)>0?h:0;c=c+2|0;b=b+2|0;if((o|0)!=(b|0)){continue}break}}if(!q){break C}b=z[i+(c<<2)>>2];b=(b|0)>=65535?65535:b;y[e+(c<<1)>>1]=(b|0)>0?b:0;break C}if(A[a+28|0]<=8){if(!d){break C}h=c+z[m>>2]|0;c=0;while(1){i=h+F(c,3)|0;e=b+c<<2;x[i|0]=z[e+z[z[z[k+16>>2]+24>>2]+44>>2]>>2];x[i+1|0]=z[e+z[z[z[k+16>>2]+24>>2]+96>>2]>>2];x[i+2|0]=z[e+z[z[z[k+16>>2]+24>>2]+148>>2]>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}break C}i=c+z[a+12>>2]|0;if(A[a+30|0]){if(!d){break C}c=z[z[k+16>>2]+24>>2];n=z[c+148>>2];u=z[c+96>>2];r=z[c+44>>2];c=0;while(1){e=i+F(c,6)|0;h=b+c<<2;j=z[h+r>>2];j=(j|0)>=32767?32767:j;y[e>>1]=(j|0)<=-32768?-32768:j;j=z[h+u>>2];j=(j|0)>=32767?32767:j;y[e+2>>1]=(j|0)<=-32768?-32768:j;j=e;e=z[h+n>>2];e=(e|0)>=32767?32767:e;y[j+4>>1]=(e|0)<=-32768?-32768:e;c=c+1|0;if((d|0)!=(c|0)){continue}break}break C}if(!d){break C}c=z[z[k+16>>2]+24>>2];n=z[c+148>>2];u=z[c+96>>2];r=z[c+44>>2];c=0;while(1){e=i+F(c,6)|0;h=b+c<<2;j=z[h+r>>2];j=(j|0)>=65535?65535:j;y[e>>1]=(j|0)>0?j:0;j=z[h+u>>2];j=(j|0)>=65535?65535:j;y[e+2>>1]=(j|0)>0?j:0;j=e;e=z[h+n>>2];e=(e|0)>=65535?65535:e;y[j+4>>1]=(e|0)>0?e:0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}I=I+1|0;if((I|0)!=(g|0)){continue}break}}pb(l);Bc(f);ub(z[k+16>>2])}Fa=k+8272|0}function Ni(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,E,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;d=a;f=c;c=0;a=0;b=0;h=e;n=h+((g|0)!=0)|0;e=n>>>1|0;a:{b:{if((k|0)!=8){if(!h){break a}if(!k){break b}b=7-k|0;p=((b>>>0<=7?b:0)<<2)+4|0;q=k&-4;o=k&3;r=k<<2;b=0;while(1){j=b<<3;m=F(b,i);c=0;l=0;if(k>>>0>=4){while(1){z[(c+j<<2)+f>>2]=z[(c+m<<2)+d>>2];a=c|1;z[(a+j<<2)+f>>2]=z[(a+m<<2)+d>>2];a=c|2;z[(a+j<<2)+f>>2]=z[(a+m<<2)+d>>2];a=c|3;z[(j+a<<2)+f>>2]=z[(a+m<<2)+d>>2];c=c+4|0;l=l+4|0;if((q|0)!=(l|0)){continue}break}}l=0;if(o){while(1){a=c;z[(c+j<<2)+f>>2]=z[(c+m<<2)+d>>2];c=c+1|0;l=l+1|0;if((o|0)!=(l|0)){continue}break}}if(a>>>0<=6){Id(((b<<5)+r|0)+f|0,0,p)}b=b+1|0;if((b|0)!=(h|0)){continue}break}break a}if(!h){break a}if((h|0)!=1){l=h&-2;while(1){a=(F(c,i)<<2)+d|0;m=z[a+4>>2];j=(c<<5)+f|0;z[j>>2]=z[a>>2];z[j+4>>2]=m;m=z[a+28>>2];z[j+24>>2]=z[a+24>>2];z[j+28>>2]=m;m=z[a+20>>2];z[j+16>>2]=z[a+16>>2];z[j+20>>2]=m;m=z[a+12>>2];z[j+8>>2]=z[a+8>>2];z[j+12>>2]=m;j=c|1;a=(j<<5)+f|0;j=(F(i,j)<<2)+d|0;m=z[j+28>>2];z[a+24>>2]=z[j+24>>2];z[a+28>>2]=m;m=z[j+20>>2];z[a+16>>2]=z[j+16>>2];z[a+20>>2]=m;m=z[j+12>>2];z[a+8>>2]=z[j+8>>2];z[a+12>>2]=m;m=z[j+4>>2];z[a>>2]=z[j>>2];z[a+4>>2]=m;c=c+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!(h&1)){break a}a=(c<<5)+f|0;b=(F(c,i)<<2)+d|0;c=z[b+4>>2];z[a>>2]=z[b>>2];z[a+4>>2]=c;c=z[b+28>>2];z[a+24>>2]=z[b+24>>2];z[a+28>>2]=c;c=z[b+20>>2];z[a+16>>2]=z[b+16>>2];z[a+20>>2]=c;c=z[b+12>>2];z[a+8>>2]=z[b+8>>2];z[a+12>>2]=c;break a}Id(f,0,h<<5)}j=h-e|0;c:{if(g){if(h>>>0<2){break c}b=0;if(n>>>0>=4){m=e>>>0<=2?2:e;c=0;a=1;while(1){c=(c<<6)+f|0;b=a;l=(a<<6)+f|0;z[c+32>>2]=z[c+32>>2]-(z[l>>2]+z[c>>2]>>1);z[c+36>>2]=z[c+36>>2]-(z[l+4>>2]+z[c+4>>2]>>1);z[c+40>>2]=z[c+40>>2]-(z[l+8>>2]+z[c+8>>2]>>1);z[c+44>>2]=z[c+44>>2]-(z[l+12>>2]+z[c+12>>2]>>1);z[c+48>>2]=z[c+48>>2]-(z[l+16>>2]+z[c+16>>2]>>1);z[c+52>>2]=z[c+52>>2]-(z[l+20>>2]+z[c+20>>2]>>1);z[c+56>>2]=z[c+56>>2]-(z[l+24>>2]+z[c+24>>2]>>1);z[c+60>>2]=z[c+60>>2]-(z[l+28>>2]+z[c+28>>2]>>1);c=a;a=c+1|0;if((m|0)!=(a|0)){continue}break}}a=1;l=h&1;if(!l){b=(b<<6)+f|0;z[b+32>>2]=z[b+32>>2]-z[b>>2];z[b+36>>2]=z[b+36>>2]-z[b+4>>2];z[b+40>>2]=z[b+40>>2]-z[b+8>>2];z[b+44>>2]=z[b+44>>2]-z[b+12>>2];z[b+48>>2]=z[b+48>>2]-z[b+16>>2];z[b+52>>2]=z[b+52>>2]-z[b+20>>2];z[b+56>>2]=z[b+56>>2]-z[b+24>>2];z[b+60>>2]=z[b+60>>2]-z[b+28>>2]}z[f>>2]=z[f>>2]+((z[f+32>>2]<<1)+2>>2);z[f+4>>2]=z[f+4>>2]+((z[f+36>>2]<<1)+2>>2);z[f+8>>2]=z[f+8>>2]+((z[f+40>>2]<<1)+2>>2);z[f+12>>2]=z[f+12>>2]+((z[f+44>>2]<<1)+2>>2);z[f+16>>2]=z[f+16>>2]+((z[f+48>>2]<<1)+2>>2);z[f+20>>2]=z[f+20>>2]+((z[f+52>>2]<<1)+2>>2);z[f+24>>2]=z[f+24>>2]+((z[f+56>>2]<<1)+2>>2);z[f+28>>2]=z[f+28>>2]+((z[f+60>>2]<<1)+2>>2);c=16;if(j>>>0>=2){while(1){b=(a<<6)+f|0;z[b>>2]=z[b>>2]+((z[b-32>>2]+z[b+32>>2]|0)+2>>2);z[b+4>>2]=z[b+4>>2]+((z[b-28>>2]+z[b+36>>2]|0)+2>>2);z[b+12>>2]=z[b+12>>2]+((z[b-20>>2]+z[b+44>>2]|0)+2>>2);z[b+8>>2]=z[b+8>>2]+((z[b-24>>2]+z[b+40>>2]|0)+2>>2);z[b+16>>2]=z[b+16>>2]+((z[b-16>>2]+z[b+48>>2]|0)+2>>2);z[b+20>>2]=z[b+20>>2]+((z[b-12>>2]+z[b+52>>2]|0)+2>>2);z[b+24>>2]=z[b+24>>2]+((z[b-8>>2]+z[b+56>>2]|0)+2>>2);z[b+28>>2]=z[b+28>>2]+((z[b-4>>2]+z[b+60>>2]|0)+2>>2);a=a+1|0;if((j|0)!=(a|0)){continue}break}c=j<<4}if(!l){break c}b=c<<2;a=b+f|0;z[a>>2]=z[a>>2]+((z[a-32>>2]<<1)+2>>2);c=(b|4)+f|0;z[c>>2]=z[c>>2]+((z[a-28>>2]<<1)+2>>2);c=(b|8)+f|0;z[c>>2]=z[c>>2]+((z[a-24>>2]<<1)+2>>2);c=(b|12)+f|0;z[c>>2]=z[c>>2]+((z[a-20>>2]<<1)+2>>2);c=(b|16)+f|0;z[c>>2]=z[c>>2]+((z[a-16>>2]<<1)+2>>2);c=(b|20)+f|0;z[c>>2]=z[c>>2]+((z[a-12>>2]<<1)+2>>2);c=(b|24)+f|0;z[c>>2]=z[c>>2]+((z[a-8>>2]<<1)+2>>2);b=(b|28)+f|0;z[b>>2]=z[b>>2]+((z[a-4>>2]<<1)+2>>2);break c}if((h|0)!=1){z[f>>2]=z[f>>2]-z[f+32>>2];z[f+4>>2]=z[f+4>>2]-z[f+36>>2];z[f+8>>2]=z[f+8>>2]-z[f+40>>2];z[f+12>>2]=z[f+12>>2]-z[f+44>>2];z[f+16>>2]=z[f+16>>2]-z[f+48>>2];z[f+20>>2]=z[f+20>>2]-z[f+52>>2];z[f+24>>2]=z[f+24>>2]-z[f+56>>2];z[f+28>>2]=z[f+28>>2]-z[f+60>>2];c=16;if(n>>>0>3){c=e>>>0<=2?2:e;a=1;while(1){b=(a<<6)+f|0;z[b>>2]=z[b>>2]-(z[b-32>>2]+z[b+32>>2]>>1);z[b+4>>2]=z[b+4>>2]-(z[b-28>>2]+z[b+36>>2]>>1);z[b+12>>2]=z[b+12>>2]-(z[b-20>>2]+z[b+44>>2]>>1);z[b+8>>2]=z[b+8>>2]-(z[b-24>>2]+z[b+40>>2]>>1);z[b+16>>2]=z[b+16>>2]-(z[b-16>>2]+z[b+48>>2]>>1);z[b+20>>2]=z[b+20>>2]-(z[b-12>>2]+z[b+52>>2]>>1);z[b+24>>2]=z[b+24>>2]-(z[b-8>>2]+z[b+56>>2]>>1);z[b+28>>2]=z[b+28>>2]-(z[b-4>>2]+z[b+60>>2]>>1);a=a+1|0;if((c|0)!=(a|0)){continue}break}c=c<<4}a=1;m=h&1;if(m){c=c<<2;b=c+f|0;z[b>>2]=z[b>>2]-z[b-32>>2];l=(c|4)+f|0;z[l>>2]=z[l>>2]-z[b-28>>2];l=(c|8)+f|0;z[l>>2]=z[l>>2]-z[b-24>>2];l=(c|12)+f|0;z[l>>2]=z[l>>2]-z[b-20>>2];l=(c|16)+f|0;z[l>>2]=z[l>>2]-z[b-16>>2];l=(c|20)+f|0;z[l>>2]=z[l>>2]-z[b-12>>2];l=(c|24)+f|0;z[l>>2]=z[l>>2]-z[b-8>>2];c=(c|28)+f|0;z[c>>2]=z[c>>2]-z[b-4>>2]}c=0;d:{if(j>>>0<2){b=0;break d}while(1){c=(c<<6)+f|0;b=a;l=(a<<6)+f|0;z[c+32>>2]=z[c+32>>2]+((z[c>>2]+z[l>>2]|0)+2>>2);z[c+36>>2]=z[c+36>>2]+((z[c+4>>2]+z[l+4>>2]|0)+2>>2);z[c+40>>2]=z[c+40>>2]+((z[c+8>>2]+z[l+8>>2]|0)+2>>2);z[c+44>>2]=z[c+44>>2]+((z[c+12>>2]+z[l+12>>2]|0)+2>>2);z[c+48>>2]=z[c+48>>2]+((z[c+16>>2]+z[l+16>>2]|0)+2>>2);z[c+52>>2]=z[c+52>>2]+((z[c+20>>2]+z[l+20>>2]|0)+2>>2);z[c+56>>2]=z[c+56>>2]+((z[c+24>>2]+z[l+24>>2]|0)+2>>2);z[c+60>>2]=z[c+60>>2]+((z[c+28>>2]+z[l+28>>2]|0)+2>>2);c=a;a=c+1|0;if((j|0)!=(a|0)){continue}break}}if(m){break c}a=(b<<6)+f|0;z[a+32>>2]=z[a+32>>2]+((z[a>>2]<<1)+2>>2);z[a+36>>2]=z[a+36>>2]+((z[a+4>>2]<<1)+2>>2);z[a+40>>2]=z[a+40>>2]+((z[a+8>>2]<<1)+2>>2);z[a+44>>2]=z[a+44>>2]+((z[a+12>>2]<<1)+2>>2);z[a+48>>2]=z[a+48>>2]+((z[a+16>>2]<<1)+2>>2);z[a+52>>2]=z[a+52>>2]+((z[a+20>>2]<<1)+2>>2);z[a+56>>2]=z[a+56>>2]+((z[a+24>>2]<<1)+2>>2);z[a+60>>2]=z[a+60>>2]+((z[a+28>>2]<<1)+2>>2);break c}z[f>>2]=z[f>>2]<<1;z[f+4>>2]=z[f+4>>2]<<1;z[f+8>>2]=z[f+8>>2]<<1;z[f+12>>2]=z[f+12>>2]<<1;z[f+16>>2]=z[f+16>>2]<<1;z[f+20>>2]=z[f+20>>2]<<1;z[f+24>>2]=z[f+24>>2]<<1;z[f+28>>2]=z[f+28>>2]<<1}e:{if((k|0)==8){k=!g<<3;f:{if(n>>>0<2){break f}g=e-1|0;c=(k<<2)+f|0;m=e&3;g:{if(!m){b=e;a=d;break g}l=0;n=i<<2;b=e;a=d;while(1){o=z[c+4>>2];z[a>>2]=z[c>>2];z[a+4>>2]=o;o=z[c+28>>2];z[a+24>>2]=z[c+24>>2];z[a+28>>2]=o;o=z[c+20>>2];z[a+16>>2]=z[c+16>>2];z[a+20>>2]=o;o=z[c+12>>2];z[a+8>>2]=z[c+8>>2];z[a+12>>2]=o;c=c- -64|0;b=b-1|0;a=a+n|0;l=l+1|0;if((m|0)!=(l|0)){continue}break}}if(g>>>0<3){break f}g=i<<2;while(1){l=z[c+4>>2];z[a>>2]=z[c>>2];z[a+4>>2]=l;l=z[c+28>>2];z[a+24>>2]=z[c+24>>2];z[a+28>>2]=l;l=z[c+20>>2];z[a+16>>2]=z[c+16>>2];z[a+20>>2]=l;l=z[c+12>>2];z[a+8>>2]=z[c+8>>2];z[a+12>>2]=l;l=z[c+92>>2];a=a+g|0;z[a+24>>2]=z[c+88>>2];z[a+28>>2]=l;l=z[c+84>>2];z[a+16>>2]=z[c+80>>2];z[a+20>>2]=l;l=z[c+76>>2];z[a+8>>2]=z[c+72>>2];z[a+12>>2]=l;l=z[c+68>>2];z[a>>2]=z[c+64>>2];z[a+4>>2]=l;l=z[c+156>>2];a=a+g|0;z[a+24>>2]=z[c+152>>2];z[a+28>>2]=l;l=z[c+148>>2];z[a+16>>2]=z[c+144>>2];z[a+20>>2]=l;l=z[c+140>>2];z[a+8>>2]=z[c+136>>2];z[a+12>>2]=l;l=z[c+132>>2];z[a>>2]=z[c+128>>2];z[a+4>>2]=l;l=z[c+220>>2];a=a+g|0;z[a+24>>2]=z[c+216>>2];z[a+28>>2]=l;l=z[c+212>>2];z[a+16>>2]=z[c+208>>2];z[a+20>>2]=l;l=z[c+204>>2];z[a+8>>2]=z[c+200>>2];z[a+12>>2]=l;l=z[c+196>>2];z[a>>2]=z[c+192>>2];z[a+4>>2]=l;a=a+g|0;c=c+256|0;b=b-4|0;if(b){continue}break}}if(!j){break e}a=(F(e,i)<<2)+d|0;c=((k^8)<<2)+f|0;d=j&3;if(d){b=0;f=i<<2;while(1){g=z[c+4>>2];z[a>>2]=z[c>>2];z[a+4>>2]=g;g=z[c+28>>2];z[a+24>>2]=z[c+24>>2];z[a+28>>2]=g;g=z[c+20>>2];z[a+16>>2]=z[c+16>>2];z[a+20>>2]=g;g=z[c+12>>2];z[a+8>>2]=z[c+8>>2];z[a+12>>2]=g;c=c- -64|0;j=j-1|0;a=a+f|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}if((e^-1)+h>>>0<3){break e}b=i<<2;while(1){d=z[c+4>>2];z[a>>2]=z[c>>2];z[a+4>>2]=d;d=z[c+28>>2];z[a+24>>2]=z[c+24>>2];z[a+28>>2]=d;d=z[c+20>>2];z[a+16>>2]=z[c+16>>2];z[a+20>>2]=d;d=z[c+12>>2];z[a+8>>2]=z[c+8>>2];z[a+12>>2]=d;d=z[c+92>>2];a=a+b|0;z[a+24>>2]=z[c+88>>2];z[a+28>>2]=d;d=z[c+84>>2];z[a+16>>2]=z[c+80>>2];z[a+20>>2]=d;d=z[c+76>>2];z[a+8>>2]=z[c+72>>2];z[a+12>>2]=d;d=z[c+68>>2];z[a>>2]=z[c+64>>2];z[a+4>>2]=d;d=z[c+156>>2];a=a+b|0;z[a+24>>2]=z[c+152>>2];z[a+28>>2]=d;d=z[c+148>>2];z[a+16>>2]=z[c+144>>2];z[a+20>>2]=d;d=z[c+140>>2];z[a+8>>2]=z[c+136>>2];z[a+12>>2]=d;d=z[c+132>>2];z[a>>2]=z[c+128>>2];z[a+4>>2]=d;d=z[c+220>>2];a=a+b|0;z[a+24>>2]=z[c+216>>2];z[a+28>>2]=d;d=z[c+212>>2];z[a+16>>2]=z[c+208>>2];z[a+20>>2]=d;d=z[c+204>>2];z[a+8>>2]=z[c+200>>2];z[a+12>>2]=d;d=z[c+196>>2];z[a>>2]=z[c+192>>2];z[a+4>>2]=d;a=a+b|0;c=c+256|0;j=j-4|0;if(j){continue}break}break e}Hb(f,d,j,e,i,!g,k)}Ka=0;return 0}function dd(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,A=0,B=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=G(0);K=z[a+28>>2];J=z[(z[K+76>>2]+F(b,5644)|0)+5584>>2];l=z[a+24>>2];N=z[l+24>>2];k=z[K+24>>2];g=(b>>>0)/(k>>>0)|0;I=z[z[a+20>>2]>>2];a=b-F(g,k)|0;k=z[K+12>>2];a=z[K+4>>2]+F(a,k)|0;b=z[l>>2];b=a>>>0>b>>>0?a:b;z[I>>2]=b;k=a+k|0;a=a>>>0>k>>>0?-1:k;k=z[l+8>>2];a=a>>>0>>0?a:k;z[I+8>>2]=a;a:{if(!((a|0)>(b|0)&(b|0)>=0)){sb(e,1,13962,0);break a}k=z[I+20>>2];a=g;g=z[K+16>>2];a=z[K+8>>2]+F(a,g)|0;b=z[l+4>>2];b=a>>>0>b>>>0?a:b;z[I+4>>2]=b;g=a+g|0;a=a>>>0>g>>>0?-1:g;l=z[l+12>>2];a=a>>>0>>0?a:l;z[I+12>>2]=a;if(!((a|0)>(b|0)&(b|0)>=0)){sb(e,1,13924,0);break a}b:{if(z[J+4>>2]){if(z[I+16>>2]){break b}return 1}sb(e,1,12142,0);break a}c:{d:{e:{while(1){z[N+36>>2]=0;a=z[N>>2];g=a>>31;y=a-1|0;b=z[I>>2];i=b;l=y+b|0;j=g-!a|0;b=j+(b>>31)|0;b=qo(l,i>>>0>l>>>0?b+1|0:b,a,g);f=b;z[k>>2]=b;l=z[N+4>>2];r=l>>31;i=l-1|0;b=z[I+4>>2];o=b;A=i+b|0;v=r-!l|0;b=v+(b>>31)|0;A=qo(A,o>>>0>A>>>0?b+1|0:b,l,r);z[k+4>>2]=A;b=z[I+8>>2];o=b;y=b+y|0;b=(b>>31)+j|0;a=qo(y,o>>>0>y>>>0?b+1|0:b,a,g);g=a;z[k+8>>2]=a;a=z[I+12>>2];z[k+16>>2]=V;b=v+(a>>31)|0;a=a+i|0;b=a>>>0>>0?b+1|0:b;a=qo(a,b,l,r);z[k+12>>2]=a;l=z[J+4>>2];z[k+20>>2]=l;b=z[K+80>>2];z[k+24>>2]=b>>>0>l>>>0?1:l-b|0;if(c){i=a-A|0;g=g-f|0;f:{if((a|0)==(A|0)){break f}po(i,0,g,0);if(!Ka){break f}break d}a=F(g,i);if(a>>>0>=1073741824){break d}z[k+44>>2]=a<<2}le(z[k+52>>2]);z[k+68>>2]=0;z[k+60>>2]=0;z[k+64>>2]=0;z[k+52>>2]=0;z[k+56>>2]=0;a=F(l,152);b=z[k+28>>2];g:{if(!b){b=td(a);z[k+28>>2]=b;if(!b){break a}z[k+32>>2]=a;Id(b,0,a);break g}if(a>>>0<=C[k+32>>2]){break g}b=xd(b,a);if(!b){sb(e,1,8638,0);le(z[k+28>>2]);z[k+28>>2]=0;z[k+32>>2]=0;break a}z[k+28>>2]=b;f=b;b=z[k+32>>2];Id(f+b|0,0,a-b|0);z[k+32>>2]=a}a=z[k+20>>2];if(a){R=J+28|0;l=z[k+28>>2];O=0;while(1){r=a-1|0;g=r&31;if((r&63)>>>0>=32){b=-1<>>32-g}L=f^-1;i=z[k>>2];g=L+i|0;A=b^-1;b=A+(i>>31)|0;b=g>>>0>>0?b+1|0:b;i=g;g=r&31;y=(r&63)>>>0>=32?b>>g:((1<>>g;z[l>>2]=y;b=z[k+4>>2];i=b;g=b+L|0;b=(b>>31)+A|0;b=g>>>0>>0?b+1|0:b;i=g;g=r&31;f=(r&63)>>>0>=32?b>>g:((1<>>g;z[l+4>>2]=f;b=z[k+8>>2];i=b;g=b+L|0;b=(b>>31)+A|0;b=g>>>0>>0?b+1|0:b;i=g;g=r&31;j=(r&63)>>>0>=32?b>>g:((1<>>g;z[l+8>>2]=j;b=z[k+12>>2];i=b;g=b+L|0;b=(b>>31)+A|0;b=g>>>0>>0?b+1|0:b;i=g;g=r&31;i=(r&63)>>>0>=32?b>>g:((1<>>g;z[l+12>>2]=i;o=j>>31;w=(O<<2)+J|0;v=z[w+812>>2];g=v&31;if((v&63)>>>0>=32){b=1<>>32-g}u=h;g=u+j|0;b=b+o|0;o=g-1|0;g=(g>>>0>>0?b+1|0:b)-!g|0;b=v&31;o=((v&63)>>>0>=32?g>>b:((1<>>b)<>31;w=z[w+944>>2];g=w&31;if((w&63)>>>0>=32){b=-1<>>32-g;g=-1<>>0>>0?b+1|0:b;g=w&31;b=((w&63)>>>0>=32?b>>g:((1<>>g)<>w:0;z[l+20>>2]=i;Q=y&-1<>v:0;z[l+16>>2]=g;h:{if(!g){break h}po(g,0,i,0);if(!Ka){break h}break d}S=F(g,i);if(S>>>0>=107374183){break d}M=F(S,40);if(O){w=w-1|0;v=v-1|0;b=P>>31;g=P+1|0;P=((g?b:b+1|0)&1)<<31|g>>>1;b=Q>>31;g=Q+1|0;Q=((g?b:b+1|0)&1)<<31|g>>>1;b=3}else{b=1}z[l+24>>2]=b;i=l+28|0;y=a;g=a&31;if((a&63)>>>0>=32){b=1<>>32-g}W=a;g=b;a=z[J+12>>2];u=a>>>0>>0?a:w;a=u&31;if((u&63)>>>0>=32){b=-1<>>32-a;a=-1<>2];B=a>>>0>>0?a:v;a=B&31;if((B&63)>>>0>=32){b=-1<>>32-a;a=-1<>2];f=b;a=b+L|0;b=(b>>31)+A|0;b=a>>>0>>0?b+1|0:b;f=a;a=r&31;E=(r&63)>>>0>=32?b>>a:((1<>>a;b=z[k>>2];f=b;a=b+L|0;b=(b>>31)+A|0;b=a>>>0>>0?b+1|0:b;f=a;a=r&31;h=(r&63)>>>0>=32?b>>a:((1<>>a;a=0;j=L;q=j;f=A;o=f;b=r;break i}a=U+1|0;f=a>>>1|0;j=r&31;if((r&63)>>>0>=32){b=f<>>32-j;f=f<>>0>>0?b+1|0:b;q=f;j=z[k+4>>2];f=j+f|0;o=b;b=b+(j>>31)|0;b=f>>>0>>0?b+1|0:b;j=f;f=y&31;E=(y&63)>>>0>=32?b>>f:((1<>>f;f=a&1;j=r&31;if((r&63)>>>0>=32){b=f<>>32-j;f=f<>2];s=h+j|0;f=f>>>0>j>>>0?b+1|0:b;b=f+(h>>31)|0;b=h>>>0>s>>>0?b+1|0:b;h=s;s=y&31;h=(y&63)>>>0>=32?b>>s:((1<>>s;b=y}s=b;m=z[k+8>>2];H=m>>31;t=z[k+12>>2];z[i+4>>2]=E;z[i>>2]=h;z[i+16>>2]=a;b=(t>>31)+o|0;o=q+t|0;b=o>>>0>>0?b+1|0:b;q=o;o=s&31;o=(s&63)>>>0>=32?b>>o:((1<>>o;z[i+12>>2]=o;b=f+H|0;f=j+m|0;b=f>>>0>>0?b+1|0:b;j=f;f=s&31;b=(s&63)>>>0>=32?b>>f:((1<>>f;z[i+8>>2]=b;j:{k:{l:{if(c){if((b|0)==(h|0)|(o|0)==(E|0)){break j}if(a){break l}b=0;break k}b=0;if(!z[J+20>>2]|!a){break k}}b=(a|0)==3?2:1}f=z[R+4>>2];T=1;a=(z[N+24>>2]+b|0)-z[R>>2]|0;m:{if((a|0)>=1024){T=898846567431158e293;if(a>>>0<2047){a=a-1023|0;break m}T=Infinity;a=((a|0)>=3069?3069:a)-2046|0;break m}if((a|0)>-1023){break m}T=2004168360008973e-307;if(a>>>0>4294965304){a=a+969|0;break m}T=0;a=((a|0)<=-2960?-2960:a)+1938|0}n(0,0);n(1,a+1023<<20);aa=i,ba=G(T*+p()*(+(f|0)*.00048828125+1)),D[aa+32>>2]=ba;z[i+28>>2]=(z[R>>2]+z[J+804>>2]|0)-1;a=z[i+20>>2];n:{if(!(a|!S)){a=td(M);z[i+20>>2]=a;if(!a){sb(e,1,8106,0);break a}Id(a,0,M);z[i+24>>2]=M;break n}if(M>>>0>C[i+24>>2]){a=xd(a,M);if(!a){sb(e,1,8106,0);le(z[i+20>>2]);z[i+20>>2]=0;z[i+24>>2]=0;break a}z[i+20>>2]=a;b=a;a=z[i+24>>2];Id(b+a|0,0,M-a|0);z[i+24>>2]=M}if(!S){break j}}a=z[i+20>>2];o=0;while(1){f=z[l+16>>2];b=(o>>>0)/(f>>>0)|0;f=o-F(b,f)|0;j=(f<>2];s=(j|0)>(s|0)?j:s;z[a>>2]=s;j=(b<>2];E=(j|0)>(E|0)?j:E;z[a+4>>2]=E;f=(f+1<>2];f=(f|0)<(j|0)?f:j;z[a+8>>2]=f;b=(b+1<>2];j=(b|0)<(j|0)?b:j;z[a+12>>2]=j;b=(f>>31)+_|0;h=f;f=f+Z|0;b=h>>>0>f>>>0?b+1|0:b;h=f;f=B&31;s=s>>B;h=((B&63)>>>0>=32?b>>f:((1<>>f)-s<>B;z[a+16>>2]=h;b=(j>>31)+Y|0;f=j+X|0;b=f>>>0>>0?b+1|0:b;j=f;f=u&31;E=E>>u;b=((u&63)>>>0>=32?b>>f:((1<>>f)-E<>u;z[a+20>>2]=b;j=F(b,h);po(d,0,j,0);if(Ka){sb(e,1,8187,0);break a}b=F(d,j);f=z[a+24>>2];o:{p:{if(!(f|!j)){f=td(b);z[a+24>>2]=f;if(!f){break a}Id(f,0,b);f=a+28|0;break p}if(b>>>0<=C[a+28>>2]){break o}f=xd(f,b);if(!f){le(z[a+24>>2]);z[a+24>>2]=0;z[a+28>>2]=0;sb(e,1,7712,0);break a}z[a+24>>2]=f;h=f;f=z[a+28>>2];Id(h+f|0,0,b-f|0);f=a+28|0}z[f>>2]=b}b=z[a+20>>2];f=z[a+16>>2];h=z[a+32>>2];q:{if(!h){b=jd(f,b,e);break q}b=ld(h,f,b,e)}z[a+32>>2]=b;b=z[a+20>>2];f=z[a+16>>2];h=z[a+36>>2];r:{if(!h){b=jd(f,b,e);break r}b=ld(h,f,b,e)}z[a+36>>2]=b;s:{if(!j){break s}f=0;if(!c){while(1){t=z[a+16>>2];q=(f>>>0)/(t>>>0)|0;b=z[a+24>>2]+(f<<6)|0;m=z[b>>2];t:{if(m){H=z[b+56>>2];$=z[b+4>>2];h=z[b+48>>2];le(z[b+60>>2]);z[b+56>>2]=0;z[b+60>>2]=0;z[b+48>>2]=0;z[b+52>>2]=0;z[b+40>>2]=0;z[b+44>>2]=0;z[b+32>>2]=0;z[b+36>>2]=0;z[b+24>>2]=0;z[b+28>>2]=0;z[b+16>>2]=0;z[b+20>>2]=0;z[b+8>>2]=0;z[b+12>>2]=0;z[b>>2]=m;z[b+48>>2]=h;if(h){Id(m,0,F(h,24))}z[b+4>>2]=$;z[b+56>>2]=H;break t}h=ud(10,24);z[b>>2]=h;if(!h){break a}z[b+48>>2]=10}h=s+(f-F(q,t)|0)|0;m=h<>2];z[b+8>>2]=(m|0)>(t|0)?m:t;q=q+E|0;m=q<>2];z[b+12>>2]=(m|0)>(t|0)?m:t;h=h+1<>2];z[b+16>>2]=(h|0)<(m|0)?h:m;m=b;b=q+1<>2];z[m+20>>2]=(b|0)<(h|0)?b:h;f=f+1|0;if((j|0)!=(f|0)){continue}break s}}while(1){q=z[a+16>>2];h=(f>>>0)/(q>>>0)|0;u:{b=z[a+24>>2]+F(f,52)|0;if(z[b+4>>2]){break u}m=ud(100,24);z[b+4>>2]=m;if(m){break u}break a}v:{if(z[b+8>>2]){break v}m=ud(100,24);z[b+8>>2]=m;if(m){break v}break a}q=s+(f-F(h,q)|0)|0;m=q<>2];m=(m|0)>(t|0)?m:t;z[b+12>>2]=m;h=h+E|0;t=h<>2];t=(t|0)>(H|0)?t:H;z[b+16>>2]=t;q=q+1<>2];q=(q|0)<(H|0)?q:H;z[b+20>>2]=q;h=h+1<>2];h=(h|0)<(H|0)?h:H;z[b+24>>2]=h;h=F(q-m|0,h-t|0)<<2;q=h+74|0;if(q>>>0>C[b+36>>2]){m=z[b>>2];if(m){le(m-1|0)}h=td(h+75|0);z[b>>2]=h;if(!h){break e}z[b+36>>2]=q;x[h|0]=0;z[b>>2]=z[b>>2]+1}f=f+1|0;if((j|0)!=(f|0)){continue}break}}a=a+40|0;o=o+1|0;if((S|0)!=(o|0)){continue}break}}R=R+8|0;i=i+36|0;U=U+1|0;if(U>>>0>2]){continue}break}l=l+152|0;a=r;O=O+1|0;if(O>>>0>2]){continue}break}}N=N+52|0;k=k+76|0;J=J+1080|0;V=V+1|0;if(V>>>0>2]){continue}break}return 1}z[b+36>>2]=0;return 0}sb(e,1,8234,0);break a}sb(e,1,7537,0)}return 0}function Vb(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,B=0,D=G(0),E=0,H=0,I=0,J=0,K=0,L=0,M=0;o=Fa-80|0;Fa=o;z[o+40>>2]=65424;u=F(z[a+108>>2],z[a+104>>2]);a:{b:{c:{l=z[a+8>>2];d:{if((l|0)!=8){j=0;if((l|0)!=256){break a}z[o+40>>2]=65497;break d}if(x[a+68|0]&1){break d}I=u&-2;J=u&1;K=o+77|0;L=o+76|0;M=o+72|0;l=65424;e:{f:{g:{while(1){h:{if((l|0)==65427){break h}i:{while(1){m=z[j+12>>2];n=m;l=z[j+8>>2];if(m|l){p=z[j+56>>2];m=l-p|0;l=n-(z[j+60>>2]+(l>>>0

>>0)|0)|0}else{m=0;l=0}if(!(l|m)){z[a+8>>2]=64;break h}if((qb(j,z[a+16>>2],2,k)|0)!=2){sb(k,1,7635,0);j=0;break a}lb(z[a+16>>2],o+36|0,2);l=z[o+36>>2];if(l>>>0<=1){sb(k,1,13272,0);j=0;break a}j:{if(z[o+40>>2]==32896){m=z[j+12>>2];n=m;l=z[j+8>>2];if(m|l){p=z[j+56>>2];m=l-p|0;l=n-(z[j+60>>2]+(l>>>0

>>0)|0)|0}else{m=0;l=0}if(!(l|m)){break j}l=z[o+36>>2]}n=z[a+8>>2];if(n&16){z[a+24>>2]=(z[a+24>>2]-l|0)-2}r=l-2|0;z[o+36>>2]=r;m=33872;q=z[o+40>>2];while(1){l=m;p=z[l>>2];if(p){m=l+12|0;if((p|0)!=(q|0)){continue}}break}if(!(n&z[l+4>>2])){sb(k,1,12181,0);j=0;break a}k:{if(C[a+20>>2]>=r>>>0){m=z[a+16>>2];break k}n=z[j+12>>2];q=n;m=z[j+8>>2];if(n|m){s=z[j+56>>2];n=m-s|0;m=q-(z[j+60>>2]+(m>>>0>>0)|0)|0}else{n=0;m=0}if(n>>>0>>0&(m|0)<=0|(m|0)<0){sb(k,1,12596,0);j=0;break a}m=xd(z[a+16>>2],z[o+36>>2]);if(!m){le(z[a+16>>2]);z[a+16>>2]=0;z[a+20>>2]=0;sb(k,1,11757,0);j=0;break a}z[a+16>>2]=m;r=z[o+36>>2];z[a+20>>2]=r}m=qb(j,m,r,k);if((m|0)!=z[o+36>>2]){sb(k,1,7635,0);j=0;break a}l=z[l+8>>2];if(!l){sb(k,1,26067,0);j=0;break a}if(!(La[l|0](a,0,z[a+16>>2],0,m,0,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){z[o+32>>2]=z[o+40>>2];sb(k,1,28597,o+32|0);j=0;break a}m=z[j+56>>2];q=z[o+36>>2];s=z[a+200>>2];r=z[s+40>>2];B=z[a+204>>2];t=F(B,40);l=r+t|0;v=z[l+20>>2];n=v+1|0;w=z[l+28>>2];l:{if(n>>>0<=w>>>0){l=z[l+24>>2];break l}D=G(G(w>>>0)+G(100));m:{if(D=G(0)){n=~~D>>>0;break m}n=0}z[l+28>>2]=n;l=xd(z[l+24>>2],F(n,24));r=z[s+40>>2];n=t+r|0;if(!l){break i}z[n+24>>2]=l;v=z[n+20>>2];n=v+1|0}l=F(v,24)+l|0;z[l+16>>2]=q+4;m=(m-q|0)-4|0;z[l+8>>2]=m;z[l+12>>2]=m>>31;y[l>>1]=p;l=r+t|0;z[l+20>>2]=n;n:{if((p|0)!=65424){break n}n=z[l+16>>2];if(n){l=n+F(z[l+12>>2],24)|0;z[l>>2]=m;z[l+4>>2]=0}l=(z[j+56>>2]-z[o+36>>2]|0)-4|0;m=z[a+52>>2];if(l>>>0<=C[a+48>>2]&(m|0)>=0|(m|0)>0){break n}z[a+48>>2]=l;z[a+52>>2]=0}if(A[a+68|0]&4){if((La[z[j+40>>2]](j,0,z[a+24>>2],0,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=z[a+24>>2]|Ka){sb(k,1,7635,0);j=0;break a}z[o+40>>2]=65427;break h}if((qb(j,z[a+16>>2],2,k)|0)!=2){sb(k,1,7635,0);j=0;break a}lb(z[a+16>>2],o+40|0,2);if(z[o+40>>2]!=65427){continue}break h}break}z[a+8>>2]=64;break h}le(z[n+24>>2]);a=z[s+40>>2]+F(B,40)|0;z[a+28>>2]=0;z[a+20>>2]=0;z[a+24>>2]=0;sb(k,1,9657,0);j=0;break a}m=z[j+12>>2];n=m;l=z[j+8>>2];if(m|l){p=z[j+56>>2];m=l-p|0;l=n-(z[j+60>>2]+(l>>>0

>>0)|0)|0}else{m=0;l=0}o:{if(!(l|m)&z[a+8>>2]==64){break o}p:{q:{l=A[a+68|0];if(!(l&4)){m=z[a+204>>2];n=z[a+156>>2];r:{s:{if(z[a+56>>2]){l=z[j+8>>2];if(l|z[j+12>>2]){l=l-z[j+56>>2]|0}else{l=0}break s}l=z[a+24>>2];if(l>>>0<2){break r}}l=l-2|0;z[a+24>>2]=l}m=n+F(m,5644)|0;v=m+5600|0;t=m+5596|0;if(!l){break q}n=z[j+12>>2];p=n;m=z[j+8>>2];if(n|m){q=z[j+56>>2];n=m-q|0;m=p-(z[j+60>>2]+(m>>>0>>0)|0)|0}else{n=0;m=0}if((m|0)<=0&l>>>0>n>>>0|(m|0)<0){if(z[a+184>>2]){sb(k,1,12641,0);j=0;break a}sb(k,2,12641,0)}m=z[a+24>>2];if(m>>>0>=4294967294){sb(k,1,4052,0);j=0;break a}n=z[t>>2];t:{if(n){p=z[v>>2];if(p>>>0>-3-m>>>0){sb(k,1,2783,0);j=0;break a}m=xd(n,(m+p|0)+2|0);if(m){z[t>>2]=m;break q}le(z[t>>2]);z[t>>2]=0;break t}m=td(m+2|0);z[t>>2]=m;if(m){break q}}sb(k,1,13420,0);j=0;break a}z[a+8>>2]=8;x[a+68|0]=l&250;break p}B=z[a+200>>2];if(B){w=z[j+56>>2];p=w-2|0;s=z[j+60>>2];q=s-(w>>>0<2)|0;r=z[B+40>>2];H=z[a+204>>2];E=F(H,40);m=r+E|0;n=z[m+16>>2]+F(z[m+12>>2],24)|0;z[n+8>>2]=p;z[n+12>>2]=q;q=n;n=s;s=z[a+24>>2];w=s+w|0;z[q+16>>2]=w;z[q+20>>2]=s>>>0>w>>>0?n+1|0:n;s=z[a+24>>2];n=z[m+20>>2];q=n+1|0;w=z[m+28>>2];u:{if(q>>>0<=w>>>0){m=z[m+24>>2];break u}D=G(G(w>>>0)+G(100));v:{if(D=G(0)){n=~~D>>>0;break v}n=0}z[m+28>>2]=n;m=xd(z[m+24>>2],F(n,24));r=z[B+40>>2];n=E+r|0;if(!m){break f}z[n+24>>2]=m;n=z[n+20>>2];q=n+1|0}m=F(n,24)+m|0;z[m+16>>2]=s+2;z[m+8>>2]=p;z[m+12>>2]=p>>31;y[m>>1]=65427;z[(r+E|0)+20>>2]=q}m=z[a+24>>2];w:{if(!l){l=0;break w}l=qb(j,z[t>>2]+z[v>>2]|0,m,k);m=z[a+24>>2]}z[a+8>>2]=(l|0)==(m|0)?8:64;z[v>>2]=z[v>>2]+l;l=A[a+68|0];if((l&9)!=1){break p}x[a+68|0]=l|8;if(z[j+28>>2]==98){break p}m=z[j+60>>2];q=m;l=z[j+56>>2];if((m&l)==-1){break p}s=z[a+204>>2];x:{while(1){m=0;if((qb(j,o+70|0,2,k)|0)!=2){break x}lb(o+70|0,o- -64|0,2);if(z[o+64>>2]!=65424){break x}n=7635;if((qb(j,o+70|0,2,k)|0)!=2){break c}lb(o+70|0,o+60|0,2);if(z[o+60>>2]!=10){n=13272;break c}z[o+60>>2]=8;p=qb(j,o+70|0,8,k);if((p|0)!=z[o+60>>2]){break c}if((p|0)!=8){n=9879;break c}lb(o+70|0,o+56|0,2);lb(M,o+52|0,4);lb(L,o+48|0,1);lb(K,o+44|0,1);if((s|0)!=z[o+56>>2]){n=z[o+52>>2];if(n>>>0<14){break x}n=n-12|0;z[o+52>>2]=n;n=La[z[j+40>>2]](j,0,n,0,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(!Ka&z[o+52>>2]==(n|0)){continue}break x}break}m=z[o+48>>2]==z[o+44>>2]}if(!(La[z[j+44>>2]](j,0,l,q,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break b}if(!m){break p}x[a+68|0]=A[a+68|0]&238|16;y:{if(!u){break y}n=z[a+156>>2];l=0;m=0;if((u|0)!=1){while(1){p=n+F(l,5644)|0;q=z[p+5592>>2];if(q){z[p+5592>>2]=q+1}p=n+F(l|1,5644)|0;q=z[p+5592>>2];if(q){z[p+5592>>2]=q+1}l=l+2|0;m=m+2|0;if((I|0)!=(m|0)){continue}break}}if(!J){break y}l=n+F(l,5644)|0;m=z[l+5592>>2];if(!m){break y}z[l+5592>>2]=m+1}sb(k,2,22603,0)}if(x[a+68|0]&1){break o}if((qb(j,z[a+16>>2],2,k)|0)!=2){if(!(!u|(u|0)!=(z[a+204>>2]+1|0))){j=z[a+156>>2];l=0;while(1){m=j+F(l,5644)|0;if(!(z[m+5588>>2]|z[m+5592>>2])){break e}l=l+1|0;if((u|0)!=(l|0)){continue}break}}sb(k,1,7635,0);j=0;break a}lb(z[a+16>>2],o+40|0,2);l=z[o+40>>2];if(x[a+68|0]&1){break g}if((l|0)!=65497){continue}break g}break}l=z[o+40>>2]}if(z[a+8>>2]==256|(l|0)!=65497){break d}z[a+8>>2]=256;z[a+204>>2]=0;break d}le(z[n+24>>2]);a=z[B+40>>2]+F(H,40)|0;z[a+28>>2]=0;z[a+20>>2]=0;z[a+24>>2]=0;sb(k,1,9657,0);j=0;break a}z[o+16>>2]=l;sb(k,4,24920,o+16|0);z[a+204>>2]=l;z[o+40>>2]=65497;z[a+8>>2]=256}p=z[a+156>>2];l=z[a+204>>2];z:{A:{if(x[a+68|0]&1){break A}B:{C:{if(l>>>0>=u>>>0){break C}j=p+F(l,5644)|0;while(1){if(z[j+5596>>2]){break C}l=l+1|0;z[a+204>>2]=l;j=j+5644|0;if((l|0)!=(u|0)){continue}break}break B}if((l|0)!=(u|0)){break A}}z[i>>2]=0;break z}D:{E:{j=p+F(l,5644)|0;if(z[j+5172>>2]){a=19731}else{if(!(A[j+5640|0]&2)){break D}s=j+5172|0;v=p+F(l,5644)|0;u=z[v+5160>>2];F:{if(!u){n=0;break F}m=z[v+5164>>2];q=0;n=0;j=0;if(u>>>0>=4){B=u&-4;r=0;while(1){t=j<<3;n=z[(m+(t|24)|0)+4>>2]+(z[(m+(t|16)|0)+4>>2]+(z[(m+(t|8)|0)+4>>2]+(z[(m+t|0)+4>>2]+n|0)|0)|0)|0;j=j+4|0;r=r+4|0;if((B|0)!=(r|0)){continue}break}}r=u&3;if(!r){break F}while(1){n=z[(m+(j<<3)|0)+4>>2]+n|0;j=j+1|0;q=q+1|0;if((r|0)!=(q|0)){continue}break}}j=td(n);z[s>>2]=j;if(j){break E}a=9841}sb(k,1,a,0);sb(k,1,21358,0);j=0;break a}p=p+F(l,5644)|0;z[p+5180>>2]=n;q=p+5164|0;n=z[p+5164>>2];r=v+5160|0;j=z[r>>2];if(j){m=0;l=0;while(1){u=l<<3;t=u+n|0;v=z[t>>2];if(v){Gd(z[s>>2]+m|0,v,z[t+4>>2]);j=u+z[q>>2]|0;t=z[j+4>>2];le(z[j>>2]);n=z[q>>2];j=u+n|0;z[j>>2]=0;z[j+4>>2]=0;m=m+t|0;j=z[r>>2]}l=l+1|0;if(l>>>0>>0){continue}break}}z[r>>2]=0;le(n);z[q>>2]=0;z[p+5168>>2]=z[s>>2];z[p+5176>>2]=z[p+5180>>2]}if(!dd(z[a+208>>2],z[a+204>>2],0,64,k)){sb(k,1,9462,0);j=0;break a}j=z[a+204>>2];z[o+4>>2]=F(z[a+104>>2],z[a+108>>2]);z[o>>2]=j+1;sb(k,4,26245,o);z[b>>2]=z[a+204>>2];z[i>>2]=1;if(c){b=ed(z[a+208>>2],0);z[c>>2]=b;j=0;if((b|0)==-1){break a}}b=z[z[z[a+208>>2]+20>>2]>>2];z[d>>2]=z[b>>2];z[e>>2]=z[b+4>>2];z[f>>2]=z[b+8>>2];z[g>>2]=z[b+12>>2];z[h>>2]=z[b+16>>2];z[a+8>>2]=z[a+8>>2]|128}j=1;break a}sb(k,1,n,0)}sb(k,1,9496,0);j=0}Fa=o+80|0;return j}function Ad(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0;s=z[a>>2];a:{if(s>>>0>>0|b>>>0>=d>>>0|b>>>0>=s>>>0){break a}s=z[a+4>>2];if(s>>>0>>0|c>>>0>=e>>>0|c>>>0>=s>>>0){break a}G=(c>>>0)/C[a+12>>2]|0;r=z[a+8>>2];H=(b>>>0)/(r>>>0)|0;B=c;while(1){s=z[a+12>>2];j=s;j=(c|0)==(B|0)?j-((c>>>0)%(j>>>0)|0)|0:j;y=e-B|0;q=j>>>0>>0?j:y;D=q&-4;v=q&3;K=q&-8;I=q&7;A=q-1|0;L=(g|0)==2&(q|0)==1;J=F(s-j|0,r);E=(F(B-c|0,h)<<2)+f|0;y=H;s=b;while(1){j=(b|0)==(s|0)?(F(r,H)-b|0)+r|0:r;k=d-s|0;p=j>>>0>>0?j:k;k=r-j|0;j=z[z[a+24>>2]+(F(z[a+16>>2],G)+y<<2)>>2];b:{c:{if(i){d:{e:{f:{g:{if(j){k=((J<<2)+j|0)+(k<<2)|0;j=s-b|0;if((g|0)==1){break d}l=(F(g,j)<<2)+E|0;if((p|0)==1){break e}if(L){break f}if((g|0)!=8|p>>>0<=7){break g}if(!q){break b}o=p&-4;n=0;while(1){j=0;if(o){while(1){z[(j<<5)+l>>2]=z[(j<<2)+k>>2];m=j|1;z[(m<<5)+l>>2]=z[(m<<2)+k>>2];m=j|2;z[(m<<5)+l>>2]=z[(m<<2)+k>>2];m=j|3;z[(m<<5)+l>>2]=z[(m<<2)+k>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}}h:{if(j>>>0>=p>>>0){break h}u=(j^-1)+p|0;m=0;w=p-j&3;if(w){while(1){z[(j<<5)+l>>2]=z[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((w|0)!=(m|0)){continue}break}}if(u>>>0<3){break h}while(1){z[(j<<5)+l>>2]=z[(j<<2)+k>>2];m=j+1|0;z[(m<<5)+l>>2]=z[(m<<2)+k>>2];m=j+2|0;z[(m<<5)+l>>2]=z[(m<<2)+k>>2];m=j+3|0;z[(m<<5)+l>>2]=z[(m<<2)+k>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}if((g|0)!=1){if(!q){break b}u=p&-4;o=p&3;k=(F(s-b|0,g)<<2)+E|0;n=0;while(1){i:{if(!p){break i}l=0;j=0;m=0;if(p>>>0>=4){while(1){z[(F(g,j)<<2)+k>>2]=0;z[(F(j|1,g)<<2)+k>>2]=0;z[(F(j|2,g)<<2)+k>>2]=0;z[(F(j|3,g)<<2)+k>>2]=0;j=j+4|0;m=m+4|0;if((u|0)!=(m|0)){continue}break}}if(!o){break i}while(1){z[(F(g,j)<<2)+k>>2]=0;j=j+1|0;l=l+1|0;if((o|0)!=(l|0)){continue}break}}k=(h<<2)+k|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}if(!q){break b}j=p<<2;k=(s-b<<2)+E|0;l=0;if(A>>>0>=7){while(1){t=Id(k,0,j);k=h<<2;k=Id(Id(Id(Id(Id(Id(Id(t+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0;l=l+8|0;if((K|0)!=(l|0)){continue}break}}l=0;if(!I){break b}while(1){k=Id(k,0,j)+(h<<2)|0;l=l+1|0;if((I|0)!=(l|0)){continue}break}break b}if(!q){break b}w=p&-4;u=p&3;x=p-1|0;o=0;break c}j=0;m=p&-4;if(m){while(1){z[(j<<3)+l>>2]=z[(j<<2)+k>>2];n=j|1;z[(n<<3)+l>>2]=z[(n<<2)+k>>2];n=j|2;z[(n<<3)+l>>2]=z[(n<<2)+k>>2];n=j|3;z[(n<<3)+l>>2]=z[(n<<2)+k>>2];j=j+4|0;if(m>>>0>j>>>0){continue}break}}if(j>>>0>=p>>>0){break b}n=(j^-1)+p|0;m=0;o=p-j&3;if(o){while(1){z[(j<<3)+l>>2]=z[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}if(n>>>0<3){break b}while(1){z[(j<<3)+l>>2]=z[(j<<2)+k>>2];m=j+1|0;z[(m<<3)+l>>2]=z[(m<<2)+k>>2];m=j+2|0;z[(m<<3)+l>>2]=z[(m<<2)+k>>2];m=j+3|0;z[(m<<3)+l>>2]=z[(m<<2)+k>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}break b}if(!q){break b}m=0;if(A>>>0>=3){while(1){z[l>>2]=z[k>>2];j=h<<2;l=j+l|0;t=k;k=r<<2;n=t+k|0;z[l>>2]=z[n>>2];l=j+l|0;n=k+n|0;z[l>>2]=z[n>>2];l=j+l|0;n=k+n|0;z[l>>2]=z[n>>2];k=k+n|0;l=j+l|0;m=m+4|0;if((D|0)!=(m|0)){continue}break}}j=0;if(!v){break b}while(1){z[l>>2]=z[k>>2];k=(r<<2)+k|0;l=(h<<2)+l|0;j=j+1|0;if((v|0)!=(j|0)){continue}break}break b}j=(j<<2)+E|0;if((p|0)!=4){if(!q){break b}l=p<<2;m=0;if(A>>>0>=3){while(1){o=Gd(j,k,l);j=r<<2;n=j+k|0;u=j+n|0;w=u+j|0;k=w+j|0;j=h<<2;j=Gd(Gd(Gd(j+o|0,n,l)+j|0,u,l)+j|0,w,l)+j|0;m=m+4|0;if((D|0)!=(m|0)){continue}break}}m=0;if(!v){break b}while(1){j=Gd(j,k,l);k=(r<<2)+k|0;j=j+(h<<2)|0;m=m+1|0;if((v|0)!=(m|0)){continue}break}break b}if(!q){break b}n=0;if(A>>>0>=3){while(1){l=z[k+4>>2];z[j>>2]=z[k>>2];z[j+4>>2]=l;l=z[k+12>>2];z[j+8>>2]=z[k+8>>2];z[j+12>>2]=l;m=r<<2;k=m+k|0;o=z[k+12>>2];l=h<<2;j=l+j|0;z[j+8>>2]=z[k+8>>2];z[j+12>>2]=o;o=z[k+4>>2];z[j>>2]=z[k>>2];z[j+4>>2]=o;k=k+m|0;o=z[k+12>>2];j=j+l|0;z[j+8>>2]=z[k+8>>2];z[j+12>>2]=o;o=z[k+4>>2];z[j>>2]=z[k>>2];z[j+4>>2]=o;k=k+m|0;o=z[k+12>>2];j=j+l|0;z[j+8>>2]=z[k+8>>2];z[j+12>>2]=o;o=z[k+4>>2];z[j>>2]=z[k>>2];z[j+4>>2]=o;k=k+m|0;j=j+l|0;n=n+4|0;if((D|0)!=(n|0)){continue}break}}l=0;if(!v){break b}while(1){m=z[k+4>>2];z[j>>2]=z[k>>2];z[j+4>>2]=m;m=z[k+12>>2];z[j+8>>2]=z[k+8>>2];z[j+12>>2]=m;k=(r<<2)+k|0;j=(h<<2)+j|0;l=l+1|0;if((v|0)!=(l|0)){continue}break}break b}if(!j){j=ud(1,F(z[a+8>>2],z[a+12>>2])<<2);if(!j){return 0}z[z[a+24>>2]+(F(z[a+16>>2],G)+y<<2)>>2]=j}k=((J<<2)+j|0)+(k<<2)|0;j=s-b|0;j:{k:{l:{m:{if((g|0)!=1){l=(F(g,j)<<2)+E|0;if((p|0)==1){break m}if((g|0)!=8|p>>>0<=7){break l}if(!q){break b}o=p&-4;n=0;while(1){j=0;if(o){while(1){z[(j<<2)+k>>2]=z[(j<<5)+l>>2];m=j|1;z[(m<<2)+k>>2]=z[(m<<5)+l>>2];m=j|2;z[(m<<2)+k>>2]=z[(m<<5)+l>>2];m=j|3;z[(m<<2)+k>>2]=z[(m<<5)+l>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}}n:{if(j>>>0>=p>>>0){break n}u=(j^-1)+p|0;m=0;w=p-j&3;if(w){while(1){z[(j<<2)+k>>2]=z[(j<<5)+l>>2];j=j+1|0;m=m+1|0;if((w|0)!=(m|0)){continue}break}}if(u>>>0<3){break n}while(1){z[(j<<2)+k>>2]=z[(j<<5)+l>>2];m=j+1|0;z[(m<<2)+k>>2]=z[(m<<5)+l>>2];m=j+2|0;z[(m<<2)+k>>2]=z[(m<<5)+l>>2];m=j+3|0;z[(m<<2)+k>>2]=z[(m<<5)+l>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}j=(j<<2)+E|0;if((p|0)==4){break k}if(!q){break b}l=p<<2;m=0;if(A>>>0>=3){while(1){k=Gd(k,j,l);t=j;j=h<<2;n=t+j|0;o=j+n|0;u=o+j|0;j=u+j|0;t=k;k=r<<2;k=Gd(Gd(Gd(t+k|0,n,l)+k|0,o,l)+k|0,u,l)+k|0;m=m+4|0;if((D|0)!=(m|0)){continue}break}}m=0;if(!v){break b}while(1){k=Gd(k,j,l);j=(h<<2)+j|0;k=k+(r<<2)|0;m=m+1|0;if((v|0)!=(m|0)){continue}break}break b}if(!q){break b}n=0;if(A>>>0>=3){while(1){z[k>>2]=z[l>>2];j=r<<2;k=j+k|0;t=l;l=h<<2;m=t+l|0;z[k>>2]=z[m>>2];k=j+k|0;m=l+m|0;z[k>>2]=z[m>>2];k=j+k|0;m=l+m|0;z[k>>2]=z[m>>2];k=j+k|0;l=l+m|0;n=n+4|0;if((D|0)!=(n|0)){continue}break}}j=0;if(!v){break b}while(1){z[k>>2]=z[l>>2];k=(r<<2)+k|0;l=(h<<2)+l|0;j=j+1|0;if((v|0)!=(j|0)){continue}break}break b}if(!q){break b}w=p&-4;u=p&3;o=0;break j}if(!q){break b}n=0;if(A>>>0>=3){while(1){l=z[j+4>>2];z[k>>2]=z[j>>2];z[k+4>>2]=l;l=z[j+12>>2];z[k+8>>2]=z[j+8>>2];z[k+12>>2]=l;m=h<<2;j=m+j|0;o=z[j+12>>2];l=r<<2;k=l+k|0;z[k+8>>2]=z[j+8>>2];z[k+12>>2]=o;o=z[j+4>>2];z[k>>2]=z[j>>2];z[k+4>>2]=o;j=j+m|0;o=z[j+12>>2];k=k+l|0;z[k+8>>2]=z[j+8>>2];z[k+12>>2]=o;o=z[j+4>>2];z[k>>2]=z[j>>2];z[k+4>>2]=o;j=j+m|0;o=z[j+12>>2];k=k+l|0;z[k+8>>2]=z[j+8>>2];z[k+12>>2]=o;o=z[j+4>>2];z[k>>2]=z[j>>2];z[k+4>>2]=o;j=j+m|0;k=k+l|0;n=n+4|0;if((D|0)!=(n|0)){continue}break}}l=0;if(!v){break b}while(1){m=z[j+4>>2];z[k>>2]=z[j>>2];z[k+4>>2]=m;m=z[j+12>>2];z[k+8>>2]=z[j+8>>2];z[k+12>>2]=m;j=(h<<2)+j|0;k=(r<<2)+k|0;l=l+1|0;if((v|0)!=(l|0)){continue}break}break b}while(1){o:{if(!p){break o}m=0;j=0;n=0;if(p>>>0>=4){while(1){z[(j<<2)+k>>2]=z[(F(g,j)<<2)+l>>2];x=j|1;z[(x<<2)+k>>2]=z[(F(g,x)<<2)+l>>2];x=j|2;z[(x<<2)+k>>2]=z[(F(g,x)<<2)+l>>2];x=j|3;z[(x<<2)+k>>2]=z[(F(g,x)<<2)+l>>2];j=j+4|0;n=n+4|0;if((w|0)!=(n|0)){continue}break}}if(!u){break o}while(1){z[(j<<2)+k>>2]=z[(F(g,j)<<2)+l>>2];j=j+1|0;m=m+1|0;if((u|0)!=(m|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;o=o+1|0;if((o|0)!=(q|0)){continue}break}break b}while(1){p:{if(!p){break p}m=0;j=0;n=0;if(x>>>0>=3){while(1){z[(F(g,j)<<2)+l>>2]=z[(j<<2)+k>>2];t=j|1;z[(F(t,g)<<2)+l>>2]=z[(t<<2)+k>>2];t=j|2;z[(F(t,g)<<2)+l>>2]=z[(t<<2)+k>>2];t=j|3;z[(F(t,g)<<2)+l>>2]=z[(t<<2)+k>>2];j=j+4|0;n=n+4|0;if((w|0)!=(n|0)){continue}break}}if(!u){break p}while(1){z[(F(g,j)<<2)+l>>2]=z[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((u|0)!=(m|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;o=o+1|0;if((o|0)!=(q|0)){continue}break}}y=y+1|0;s=p+s|0;if(s>>>0>>0){continue}break}G=G+1|0;B=q+B|0;if(B>>>0>>0){continue}break}}return 1}function Ui(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,E,F,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;H=H|0;I=I|0;var J=G(0),K=G(0),L=G(0);d=a;h=e;a:{if((e|0)==1){break a}b=Gd(c,d,h<<2);m=!g;j=b+(m<<2)|0;e=(g|0)!=0;o=(e<<2)+b|0;a=o+4|0;c=a;q=e+h|0;k=q>>>1|0;n=h-k|0;e=k-e|0;i=(e|0)>(n|0)?n:e;l=i>>>0>n>>>0?n:i;b:{if(!l){break b}D[o>>2]=G(G(D[j>>2]+D[o+4>>2])*G(-1.5861343145370483))+D[o>>2];c=o+12|0;e=1;if(l>>>0>4){while(1){J=D[c>>2];K=D[c+8>>2];D[c+4>>2]=G(G(J+K)*G(-1.5861343145370483))+D[c+4>>2];L=K;K=D[c+16>>2];D[c+12>>2]=G(G(L+K)*G(-1.5861343145370483))+D[c+12>>2];D[c+20>>2]=G(G(K+D[c+24>>2])*G(-1.5861343145370483))+D[c+20>>2];f=c-4|0;D[f>>2]=G(G(J+D[c-8>>2])*G(-1.5861343145370483))+D[f>>2];c=c+32|0;f=e+7|0;e=e+4|0;if(f>>>0>>0){continue}break}e=(l-5&-4)+5|0}if(e>>>0>=l>>>0){break b}f=e+1|0;if(l-e&1){e=c-4|0;D[e>>2]=G(G(D[c-8>>2]+D[c>>2])*G(-1.5861343145370483))+D[e>>2];e=f;c=c+8|0}if((f|0)==(l|0)){break b}while(1){J=D[c>>2];D[c+4>>2]=G(G(J+D[c+8>>2])*G(-1.5861343145370483))+D[c+4>>2];f=c-4|0;D[f>>2]=G(G(J+D[c-8>>2])*G(-1.5861343145370483))+D[f>>2];c=c+16|0;e=e+2|0;if((l|0)!=(e|0)){continue}break}}r=i>>>0>=n>>>0;if(!r){e=c-4|0;J=D[c-8>>2];D[e>>2]=G(G(J+J)*G(-1.5861343145370483))+D[e>>2]}c=j+4|0;e=c;f=n-m|0;p=(f|0)>(k|0)?k:f;m=k>>>0

>>0?k:p;c:{if(!m){break c}D[j>>2]=G(G(D[o>>2]+D[j+4>>2])*G(-.05298011749982834))+D[j>>2];e=j+12|0;f=1;if(m>>>0>4){while(1){J=D[e>>2];K=D[e+8>>2];D[e+4>>2]=G(G(J+K)*G(-.05298011749982834))+D[e+4>>2];L=K;K=D[e+16>>2];D[e+12>>2]=G(G(L+K)*G(-.05298011749982834))+D[e+12>>2];D[e+20>>2]=G(G(K+D[e+24>>2])*G(-.05298011749982834))+D[e+20>>2];i=e-4|0;D[i>>2]=G(G(J+D[e-8>>2])*G(-.05298011749982834))+D[i>>2];e=e+32|0;i=f+7|0;f=f+4|0;if(i>>>0>>0){continue}break}f=(m-5&-4)+5|0}if(f>>>0>=m>>>0){break c}i=f+1|0;if(m-f&1){f=e-4|0;D[f>>2]=G(G(D[e-8>>2]+D[e>>2])*G(-.05298011749982834))+D[f>>2];f=i;e=e+8|0}if((i|0)==(m|0)){break c}while(1){J=D[e>>2];D[e+4>>2]=G(G(J+D[e+8>>2])*G(-.05298011749982834))+D[e+4>>2];i=e-4|0;D[i>>2]=G(G(J+D[e-8>>2])*G(-.05298011749982834))+D[i>>2];e=e+16|0;f=f+2|0;if((m|0)!=(f|0)){continue}break}}i=k>>>0<=p>>>0;if(!i){f=e-4|0;J=D[e-8>>2];D[f>>2]=G(G(J+J)*G(-.05298011749982834))+D[f>>2]}d:{if(!l){break d}D[o>>2]=G(G(D[j>>2]+D[o+4>>2])*G(.8829110860824585))+D[o>>2];a=o+12|0;e=1;if(l>>>0>4){while(1){J=D[a>>2];K=D[a+8>>2];D[a+4>>2]=G(G(J+K)*G(.8829110860824585))+D[a+4>>2];L=K;K=D[a+16>>2];D[a+12>>2]=G(G(L+K)*G(.8829110860824585))+D[a+12>>2];D[a+20>>2]=G(G(K+D[a+24>>2])*G(.8829110860824585))+D[a+20>>2];f=a-4|0;D[f>>2]=G(G(J+D[a-8>>2])*G(.8829110860824585))+D[f>>2];a=a+32|0;f=e+7|0;e=e+4|0;if(f>>>0>>0){continue}break}e=(l-5&-4)+5|0}if(e>>>0>=l>>>0){break d}f=e+1|0;if(l-e&1){e=a-4|0;D[e>>2]=G(G(D[a-8>>2]+D[a>>2])*G(.8829110860824585))+D[e>>2];e=f;a=a+8|0}if((f|0)==(l|0)){break d}while(1){J=D[a>>2];D[a+4>>2]=G(G(J+D[a+8>>2])*G(.8829110860824585))+D[a+4>>2];f=a-4|0;D[f>>2]=G(G(J+D[a-8>>2])*G(.8829110860824585))+D[f>>2];a=a+16|0;e=e+2|0;if((l|0)!=(e|0)){continue}break}}if(!r){e=a-4|0;J=D[a-8>>2];D[e>>2]=G(G(J+J)*G(.8829110860824585))+D[e>>2]}e:{if(!m){break e}D[j>>2]=G(G(D[o>>2]+D[j+4>>2])*G(.4435068666934967))+D[j>>2];c=j+12|0;a=1;if(m>>>0>4){while(1){J=D[c>>2];K=D[c+8>>2];D[c+4>>2]=G(G(J+K)*G(.4435068666934967))+D[c+4>>2];L=K;K=D[c+16>>2];D[c+12>>2]=G(G(L+K)*G(.4435068666934967))+D[c+12>>2];D[c+20>>2]=G(G(K+D[c+24>>2])*G(.4435068666934967))+D[c+20>>2];e=c-4|0;D[e>>2]=G(G(J+D[c-8>>2])*G(.4435068666934967))+D[e>>2];c=c+32|0;e=a+7|0;a=a+4|0;if(e>>>0>>0){continue}break}a=(m-5&-4)+5|0}if(a>>>0>=m>>>0){break e}e=a+1|0;if(m-a&1){a=c-4|0;D[a>>2]=G(G(D[c-8>>2]+D[c>>2])*G(.4435068666934967))+D[a>>2];c=c+8|0;a=e}if((e|0)==(m|0)){break e}while(1){J=D[c>>2];D[c+4>>2]=G(G(J+D[c+8>>2])*G(.4435068666934967))+D[c+4>>2];e=c-4|0;D[e>>2]=G(G(J+D[c-8>>2])*G(.4435068666934967))+D[e>>2];c=c+16|0;a=a+2|0;if((m|0)!=(a|0)){continue}break}}if(!i){a=c-4|0;J=D[c-8>>2];D[a>>2]=G(G(J+J)*G(.4435068666934967))+D[a>>2]}f:{g:{h:{i:{if(g){c=0;e=k>>>0>>0?k:n;if(e>>>0<=3){a=b;break h}a=b;while(1){D[a>>2]=D[a>>2]*G(.8128930926322937);D[a+4>>2]=D[a+4>>2]*G(1.2301740646362305);D[a+8>>2]=D[a+8>>2]*G(.8128930926322937);D[a+12>>2]=D[a+12>>2]*G(1.2301740646362305);D[a+16>>2]=D[a+16>>2]*G(.8128930926322937);D[a+20>>2]=D[a+20>>2]*G(1.2301740646362305);D[a+24>>2]=D[a+24>>2]*G(.8128930926322937);D[a+28>>2]=D[a+28>>2]*G(1.2301740646362305);a=a+32|0;c=c+4|0;if(e>>>0>(c|3)>>>0){continue}break}break i}c=0;e=k>>>0>n>>>0?n:k;j:{if(e>>>0<=3){a=b;break j}a=b;while(1){D[a>>2]=D[a>>2]*G(1.2301740646362305);D[a+4>>2]=D[a+4>>2]*G(.8128930926322937);D[a+8>>2]=D[a+8>>2]*G(1.2301740646362305);D[a+12>>2]=D[a+12>>2]*G(.8128930926322937);D[a+16>>2]=D[a+16>>2]*G(1.2301740646362305);D[a+20>>2]=D[a+20>>2]*G(.8128930926322937);D[a+24>>2]=D[a+24>>2]*G(1.2301740646362305);D[a+28>>2]=D[a+28>>2]*G(.8128930926322937);a=a+32|0;c=c+4|0;if(e>>>0>(c|3)>>>0){continue}break}c=e&2147483644}if(c>>>0>>0){i=e+(c^-1)|0;l=e&3;if(l){f=0;while(1){D[a>>2]=D[a>>2]*G(1.2301740646362305);D[a+4>>2]=D[a+4>>2]*G(.8128930926322937);c=c+1|0;a=a+8|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}if(i>>>0>=3){while(1){D[a>>2]=D[a>>2]*G(1.2301740646362305);D[a+4>>2]=D[a+4>>2]*G(.8128930926322937);D[a+8>>2]=D[a+8>>2]*G(1.2301740646362305);D[a+12>>2]=D[a+12>>2]*G(.8128930926322937);D[a+16>>2]=D[a+16>>2]*G(1.2301740646362305);D[a+20>>2]=D[a+20>>2]*G(.8128930926322937);D[a+24>>2]=D[a+24>>2]*G(1.2301740646362305);D[a+28>>2]=D[a+28>>2]*G(.8128930926322937);a=a+32|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}c=e}K=G(1.2301740646362305);if(c>>>0>>0){break g}if(c>>>0>=k>>>0){break f}a=a+4|0;K=G(.8128930926322937);break g}c=e&2147483644}if(c>>>0>>0){i=e+(c^-1)|0;l=e&3;if(l){f=0;while(1){D[a>>2]=D[a>>2]*G(.8128930926322937);D[a+4>>2]=D[a+4>>2]*G(1.2301740646362305);c=c+1|0;a=a+8|0;f=f+1|0;if((l|0)!=(f|0)){continue}break}}if(i>>>0>=3){while(1){D[a>>2]=D[a>>2]*G(.8128930926322937);D[a+4>>2]=D[a+4>>2]*G(1.2301740646362305);D[a+8>>2]=D[a+8>>2]*G(.8128930926322937);D[a+12>>2]=D[a+12>>2]*G(1.2301740646362305);D[a+16>>2]=D[a+16>>2]*G(.8128930926322937);D[a+20>>2]=D[a+20>>2]*G(1.2301740646362305);D[a+24>>2]=D[a+24>>2]*G(.8128930926322937);D[a+28>>2]=D[a+28>>2]*G(1.2301740646362305);a=a+32|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}c=e}K=G(.8128930926322937);if(c>>>0>>0){break g}if(c>>>0>=n>>>0){break f}a=a+4|0;K=G(1.2301740646362305)}J=K;D[a>>2]=J*D[a>>2]}k:{if(q>>>0<2){break k}e=k&7;l:{if(k-1>>>0<7){a=d;break l}f=k&2147483640;c=0;a=d;while(1){z[a>>2]=z[j>>2];z[a+4>>2]=z[j+8>>2];z[a+8>>2]=z[j+16>>2];z[a+12>>2]=z[j+24>>2];z[a+16>>2]=z[j+32>>2];z[a+20>>2]=z[j+40>>2];z[a+24>>2]=z[j+48>>2];z[a+28>>2]=z[j+56>>2];j=j- -64|0;a=a+32|0;c=c+8|0;if((f|0)!=(c|0)){continue}break}}if(!e){break k}c=0;while(1){z[a>>2]=z[j>>2];j=j+8|0;a=a+4|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}if((n|0)<=0){break a}a=(k<<2)+d|0;c=(((g?0:-1)<<2)+b|0)+4|0;if((k^-1)+h>>>0>=7){b=n&-8;e=0;while(1){z[a>>2]=z[c>>2];z[a+4>>2]=z[c+8>>2];z[a+8>>2]=z[c+16>>2];z[a+12>>2]=z[c+24>>2];z[a+16>>2]=z[c+32>>2];z[a+20>>2]=z[c+40>>2];z[a+24>>2]=z[c+48>>2];z[a+28>>2]=z[c+56>>2];c=c- -64|0;a=a+32|0;e=e+8|0;if((b|0)!=(e|0)){continue}break}}b=n&7;if(!b){break a}e=0;while(1){z[a>>2]=z[c>>2];c=c+8|0;a=a+4|0;e=e+1|0;if((b|0)!=(e|0)){continue}break}}Ka=0;return 0}function hi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,C,E,G,H,I,J,K,L,M,N){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;C=C|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;L=L|0;M=M|0;N=N|0;b=0;c=0;g=0;e=0;d=Fa-18736|0;Fa=d;h=A[a+29|0];z[d+24>>2]=0;z[d+16>>2]=0;z[d+20>>2]=0;j=h>>>0>1?1:2;a:{if(!h){break a}b:{i=z[d+24>>2];b=z[d+20>>2];if(h>>>0<=(i-b|0)/36>>>0){if(h){e=b;b=F(h,36)-36|0;b=(b-((b>>>0)%36|0)|0)+36|0;b=Id(e,0,b)+b|0}z[d+20>>2]=b;break b}c:{g=z[d+16>>2];k=(b-g|0)/36|0;f=k+h|0;if(f>>>0<119304648){i=(i-g|0)/36|0;l=i<<1;i=i>>>0>=59652323?119304647:f>>>0>>0?l:f;if(i){if(i>>>0>=119304648){break c}e=qe(F(i,36))}f=F(k,36)+e|0;h=F(h,36)-36|0;h=(h-((h>>>0)%36|0)|0)+36|0;h=Id(f,0,h)+h|0;if((b|0)!=(g|0)){while(1){b=b-36|0;k=z[b+4>>2];f=f-36|0;z[f>>2]=z[b>>2];z[f+4>>2]=k;z[f+32>>2]=z[b+32>>2];k=z[b+28>>2];z[f+24>>2]=z[b+24>>2];z[f+28>>2]=k;k=z[b+20>>2];z[f+16>>2]=z[b+16>>2];z[f+20>>2]=k;k=z[b+12>>2];z[f+8>>2]=z[b+8>>2];z[f+12>>2]=k;if((b|0)!=(g|0)){continue}break}b=z[d+16>>2]}z[d+24>>2]=F(i,36)+e;z[d+20>>2]=h;z[d+16>>2]=f;if(b){le(b)}break b}gb();r()}Ya();r()}g=z[d+16>>2];b=A[a+29|0];if(!b){b=0;break a}h=B[a+26>>1];i=A[a+30|0];f=A[a+28|0];k=B[a+24>>1];while(1){e=F(c,36)+g|0;z[e+32>>2]=i;z[e+28>>2]=f;z[e+24>>2]=f;z[e+12>>2]=h;z[e+8>>2]=k;z[e>>2]=1;z[e+4>>2]=1;c=c+1|0;if((c|0)!=(b|0)){continue}break}}e=0;d:{e:{c=ud(1,36);if(c){z[c+16>>2]=b;z[c+20>>2]=j;f=ud(b,52);z[c+24>>2]=f;if(!f){break e}if(b){while(1){k=z[c+24>>2];f=k+F(e,52)|0;h=F(e,36)+g|0;z[f>>2]=z[h>>2];z[f+4>>2]=z[h+4>>2];j=z[h+8>>2];z[f+8>>2]=j;i=z[h+12>>2];z[f+12>>2]=i;z[f+16>>2]=z[h+16>>2];z[f+20>>2]=z[h+20>>2];z[f+24>>2]=z[h+24>>2];z[f+32>>2]=z[h+32>>2];if(!(!i|j>>>0<=4294967295/(i>>>0)>>>2>>>0)){f=z[c+16>>2];if(f){g=0;while(1){b=z[(z[c+24>>2]+F(g,52)|0)+44>>2];if(b){le(b);f=z[c+16>>2]}g=g+1|0;if(g>>>0>>0){continue}break}k=z[c+24>>2]}le(k);break e}h=vd(F(i,j)<<2);z[f+44>>2]=h;if(!h){b=z[c+24>>2];if(!b){break e}f=z[c+16>>2];if(f){g=0;while(1){b=z[(z[c+24>>2]+F(g,52)|0)+44>>2];if(b){le(b);f=z[c+16>>2]}g=g+1|0;if(g>>>0>>0){continue}break}b=z[c+24>>2]}le(b);break e}Id(h,0,F(z[f+8>>2],z[f+12>>2])<<2);e=e+1|0;if((e|0)!=(b|0)){continue}break}}}else{c=0}break d}b=z[c+28>>2];if(b){le(b)}le(c);c=0}h=c;z[h>>2]=z[a+68>>2];z[h+4>>2]=z[a+72>>2];b=B[a+24>>1];z[h+8>>2]=b;c=B[a+26>>1];z[h+12>>2]=c;f:{g:{e=A[a+28|0];if(e>>>0>=9){if(e>>>0>16){break f}e=z[a+4>>2];b=z[a>>2];if(!A[a+30|0]){break g}if((b|0)==(e|0)){break f}c=z[z[h+24>>2]+44>>2];while(1){z[c>>2]=y[b>>1];c=c+4|0;b=b+2|0;if((e|0)!=(b|0)){continue}break}break f}f=A[a+29|0];if((f|0)!=1){if(!f){break f}b=F(b,c);if(!b){break f}g=z[a>>2];k=b&2147483644;j=b&3;l=z[h+24>>2];c=0;m=b>>>0<4;while(1){i=z[(l+F(c,52)|0)+44>>2];b=0;e=0;if(!m){while(1){z[i+(b<<2)>>2]=A[g+(F(b,f)+c|0)|0];n=b|1;z[i+(n<<2)>>2]=A[g+(F(f,n)+c|0)|0];n=b|2;z[i+(n<<2)>>2]=A[g+(F(f,n)+c|0)|0];n=b|3;z[i+(n<<2)>>2]=A[g+(F(f,n)+c|0)|0];b=b+4|0;e=e+4|0;if((k|0)!=(e|0)){continue}break}}e=0;if(j){while(1){z[i+(b<<2)>>2]=A[g+(F(b,f)+c|0)|0];b=b+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}c=c+1|0;if((f|0)!=(c|0)){continue}break}break f}b=z[a>>2];f=z[a+4>>2];if((b|0)==(f|0)){break f}g=f+(b^-1)|0;c=z[z[h+24>>2]+44>>2];i=f-b&7;if(i){e=0;while(1){z[c>>2]=A[b|0];c=c+4|0;b=b+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}if(g>>>0<7){break f}while(1){z[c>>2]=A[b|0];z[c+4>>2]=A[b+1|0];z[c+8>>2]=A[b+2|0];z[c+12>>2]=A[b+3|0];z[c+16>>2]=A[b+4|0];z[c+20>>2]=A[b+5|0];z[c+24>>2]=A[b+6|0];z[c+28>>2]=A[b+7|0];c=c+32|0;b=b+8|0;if((f|0)!=(b|0)){continue}break}break f}if((b|0)==(e|0)){break f}c=z[z[h+24>>2]+44>>2];while(1){z[c>>2]=B[b>>1];c=c+4|0;b=b+2|0;if((e|0)!=(b|0)){continue}break}}b=d+28|0;if(b){b=Id(b,0,18708);z[b+18196>>2]=-1;z[b+18200>>2]=-1;z[b+18188>>2]=1;z[b+18192>>2]=1;z[b+5612>>2]=-1;z[b+5600>>2]=64;z[b+5592>>2]=6;z[b+5596>>2]=64;z[b+4788>>2]=0;z[b+18692>>2]=0;z[b+24>>2]=0}x[d+18718|0]=x[a+29|0]>1;z[d+72>>2]=z[a+52>>2];z[d+5620>>2]=z[a+32>>2]+1;z[d+5636>>2]=!A[a+36|0];e=z[a+44>>2];c=z[a+40>>2];b=e-c>>2;z[d+4816>>2]=b;h:{if((c|0)==(e|0)){break h}e=b>>>0<=1?1:b;j=e&3;g=0;b=0;if(e>>>0>=4){k=e&-4;f=d+4820|0;e=0;while(1){i=b<<2;D[i+f>>2]=D[c+i>>2];l=i|4;D[l+f>>2]=D[c+l>>2];l=i|8;D[l+f>>2]=D[c+l>>2];i=i|12;D[i+f>>2]=D[c+i>>2];b=b+4|0;e=e+4|0;if((k|0)!=(e|0)){continue}break}}if(!j){break h}while(1){e=b<<2;D[(e+d|0)+4820>>2]=D[c+e>>2];b=b+1|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}z[d+48>>2]=1;e=ud(1,96);b=0;i:{if(!e){break i}z[e+76>>2]=0;z[e+12>>2]=236;z[e+4>>2]=237;z[e+92>>2]=213;z[e+24>>2]=238;z[e+20>>2]=239;z[e+16>>2]=211;z[e+8>>2]=240;z[e>>2]=241;f=ud(1,232);c=0;j:{if(!f){break j}z[f>>2]=0;x[f+188|0]=A[f+188|0]&253;b=td(1e3);z[f+52>>2]=b;k:{if(!b){break k}z[f+56>>2]=1e3;b=qd();z[f+196>>2]=b;if(!b){break k}b=qd();z[f+192>>2]=b;if(!b){break k}b=0;g=Rd();l:{if(!g){break l}c=wb();if(!Ud(g,3923)){b=c;break l}g=Fd(g);if((g|0)<0){break l}b=c?c<<1:64;b=(b|0)>(g|0)?g:b}b=Ab(b);z[f+212>>2]=b;c=f;if(b){break j}b=Ab(0);z[f+212>>2]=b;if(!b){break k}c=f;break j}Rb(f);c=0}b=c;z[e+48>>2]=b;if(b){z[e+72>>2]=106;z[e+64>>2]=106;z[e+60>>2]=0;z[e+52>>2]=0;z[e+56>>2]=0;z[e+68>>2]=106;b=e;break i}le(e);b=0}c=b;if(b){z[b+56>>2]=0;z[b+68>>2]=89}if(c){z[c+52>>2]=0;z[c- -64>>2]=90}b=0;e=d+28|0;if(!(!c|!e|(z[c+76>>2]|!h))){b=La[z[c+20>>2]](z[c+48>>2],0,e,0,h,0,c+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}m:{if(!b){Qd(11327,42,1,z[12672]);Bc(c);ub(h);break m}g=a+12|0;f=z[a+4>>2]-z[a>>2]|0;e=z[a+16>>2];b=z[a+12>>2];i=e-b|0;n:{if(f>>>0>i>>>0){eb(g,f-i|0);b=z[a+12>>2];e=z[a+16>>2];break n}if(f>>>0>=i>>>0){break n}e=b+f|0;z[a+16>>2]=e}z[d+8>>2]=b;z[d+4>>2]=b;z[d+12>>2]=e-b;e=ob(0);if(e){if(e){z[e+4>>2]=0;z[e>>2]=d+4}if(e){z[e+8>>2]=z[d+12>>2];z[e+12>>2]=0}if(!(!e|!(x[e+68|0]&1))){z[e+20>>2]=91}if(e){z[e+24>>2]=59}if(e){z[e+28>>2]=60}}b=0;if(z[c+76>>2]|(!c|!e)){f=b}else{f=La[z[c>>2]](z[c+48>>2],0,e,0,h,0,c+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!f){Qd(8275,43,1,z[12672]);break m}if(z[c+76>>2]|(!c|!e)){f=b}else{f=La[z[c+4>>2]](z[c+48>>2],0,e,0,c+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!f){Qd(13743,35,1,z[12672]);break m}if(!(z[c+76>>2]|(!c|!e))){b=La[z[c+12>>2]](z[c+48>>2],0,e,0,c+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!b){Qd(8319,41,1,z[12672]);break m}b=z[d+8>>2]-z[d+4>>2]|0;e=z[a+12>>2];c=z[a+16>>2]-e|0;if(b>>>0>c>>>0){eb(g,b-c|0);break m}if(b>>>0>=c>>>0){break m}z[a+16>>2]=b+e}a=z[d+16>>2];if(a){z[d+20>>2]=a;le(a)}Fa=d+18736|0;Ka=0;return 0}function tl(a,b,c,d,e,f,g,h,i,j,k,m,o,r,s,t,u,v,w,y,B,C,D,E,G,I,J,K,L,M,N,O){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;k=k|0;m=m|0;o=o|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;I=I|0;J=J|0;K=K|0;L=L|0;M=M|0;N=N|0;O=O|0;var P=0,Q=0,R=0,S=0;n(0,c|0);n(1,d|0);h=a;P=+p();j=e;r=0;C=0;m=Fa-560|0;Fa=m;z[m+44>>2]=0;q(+P);a=l(1)|0;l(0)|0;a:{if((a|0)<0){s=1;u=1198;P=-P;q(+P);a=l(1)|0;l(0)|0;break a}if(i&2048){s=1;u=1201;break a}s=i&1;u=s?1204:1199;C=!s}b:{if((a&2146435072)==2146435072){a=s+3|0;ee(h,32,j,a,i&-65537);ae(h,u,s);b=k&32;ae(h,P!=P?b?2565:3999:b?3197:4028,3);ee(h,32,j,a,i^8192);o=(a|0)>(j|0)?a:j;break b}t=m+16|0;c:{d:{e:{P=Zd(P,m+44|0);P=P+P;if(P!=0){a=z[m+44>>2];z[m+44>>2]=a-1;v=k|32;if((v|0)!=97){break e}break c}v=k|32;if((v|0)==97){break c}f=z[m+44>>2];e=(g|0)<0?6:g;break d}f=a-29|0;z[m+44>>2]=f;P=P*268435456;e=(g|0)<0?6:g}g=(m+48|0)+((f|0)>=0?288:0)|0;b=g;while(1){a=P<4294967296&P>=0?~~P>>>0:0;z[b>>2]=a;b=b+4|0;P=(P-+(a>>>0))*1e9;if(P!=0){continue}break}f:{if((f|0)<=0){d=f;a=b;c=g;break f}c=g;d=f;while(1){y=(d|0)>=29?29:d;a=b-4|0;g:{if(c>>>0>a>>>0){break g}d=0;while(1){B=z[a>>2];w=y&31;if((y&63)>>>0>=32){o=B<>>32-w;w=B<>>0>>0?o+1|0:o,1e9,0);R=a,S=B-po(d,Ka,1e9,0)|0,z[R>>2]=S;a=a-4|0;if(c>>>0<=a>>>0){continue}break}if(!d){break g}c=c-4|0;z[c>>2]=d}while(1){a=b;if(c>>>0>>0){b=a-4|0;if(!z[b>>2]){continue}}break}d=z[m+44>>2]-y|0;z[m+44>>2]=d;b=a;if((d|0)>0){continue}break}}if((d|0)<0){r=((e+25>>>0)/9|0)+1|0;w=(v|0)==102;while(1){b=0-d|0;o=(b|0)>=9?9:b;h:{if(a>>>0<=c>>>0){b=z[c>>2];break h}y=1e9>>>o|0;B=-1<>2];z[b>>2]=d+(D>>>o|0);d=F(y,B&D);b=b+4|0;if(b>>>0>>0){continue}break}b=z[c>>2];if(!d){break h}z[a>>2]=d;a=a+4|0}d=o+z[m+44>>2]|0;z[m+44>>2]=d;c=(!b<<2)+c|0;b=w?g:c;a=a-b>>2>(r|0)?b+(r<<2)|0:a;if((d|0)<0){continue}break}}d=0;i:{if(a>>>0<=c>>>0){break i}d=F(g-c>>2,9);b=10;o=z[c>>2];if(o>>>0<10){break i}while(1){d=d+1|0;b=F(b,10);if(o>>>0>=b>>>0){continue}break}}b=(e-((v|0)!=102?d:0)|0)-((v|0)==103&(e|0)!=0)|0;if((b|0)<(F(a-g>>2,9)-9|0)){o=b+9216|0;r=(o|0)/9|0;f=((((f|0)<0?4:292)+m|0)+(r<<2)|0)-4048|0;b=10;o=o-F(r,9)|0;if((o|0)<=7){while(1){b=F(b,10);o=o+1|0;if((o|0)!=8){continue}break}}w=z[f>>2];r=(w>>>0)/(b>>>0)|0;o=w-F(b,r)|0;y=f+4|0;j:{if(!o&(y|0)==(a|0)){break j}k:{if(!(r&1)){P=9007199254740992;if(!(x[f-4|0]&1)|((b|0)!=1e9|c>>>0>=f>>>0)){break k}}P=9007199254740994}Q=(a|0)==(y|0)?1:1.5;y=b>>>1|0;Q=o>>>0>>0?.5:(y|0)==(o|0)?Q:1.5;if(!(A[u|0]!=45|C)){Q=-Q;P=-P}o=w-o|0;z[f>>2]=o;if(P+Q==P){break j}b=b+o|0;z[f>>2]=b;if(b>>>0>=1e9){while(1){z[f>>2]=0;f=f-4|0;if(f>>>0>>0){c=c-4|0;z[c>>2]=0}b=z[f>>2]+1|0;z[f>>2]=b;if(b>>>0>999999999){continue}break}}d=F(g-c>>2,9);b=10;o=z[c>>2];if(o>>>0<10){break j}while(1){d=d+1|0;b=F(b,10);if(o>>>0>=b>>>0){continue}break}}b=f+4|0;a=a>>>0>b>>>0?b:a}while(1){b=a;o=a>>>0<=c>>>0;if(!o){a=b-4|0;if(!z[a>>2]){continue}}break}l:{if((v|0)!=103){f=i&8;break l}a=e?e:1;f=(a|0)>(d|0)&(d|0)>-5;e=(f?d^-1:-1)+a|0;k=(f?-1:-2)+k|0;f=i&8;if(f){break l}a=-9;m:{if(o){break m}v=z[b-4>>2];if(!v){break m}o=10;a=0;if((v>>>0)%10|0){break m}while(1){f=a;a=a+1|0;o=F(o,10);if(!((v>>>0)%(o>>>0)|0)){continue}break}a=f^-1}o=F(b-g>>2,9);if((k&-33)==70){f=0;a=(a+o|0)-9|0;a=(a|0)>0?a:0;e=(a|0)>(e|0)?e:a;break l}f=0;a=((d+o|0)+a|0)-9|0;a=(a|0)>0?a:0;e=(a|0)>(e|0)?e:a}o=-1;w=e|f;if(((w?2147483645:2147483646)|0)<(e|0)){break b}v=(((w|0)!=0)+e|0)+1|0;y=k&-33;n:{if((y|0)==70){if((v^2147483647)<(d|0)){break b}a=(d|0)>0?d:0;break n}a=d>>31;a=de((a^d)-a|0,0,t);if((t-a|0)<=1){while(1){a=a-1|0;x[a|0]=48;if((t-a|0)<2){continue}break}}r=a-2|0;x[r|0]=k;x[a-1|0]=(d|0)<0?45:43;a=t-r|0;if((a|0)>(v^2147483647)){break b}}a=a+v|0;if((a|0)>(s^2147483647)){break b}k=a+s|0;ee(h,32,j,k,i);ae(h,u,s);ee(h,48,j,k,i^65536);o:{p:{q:{if((y|0)==70){a=m+16|0;d=a|8;f=a|9;o=c>>>0>g>>>0?g:c;c=o;while(1){a=de(z[c>>2],0,f);r:{if((c|0)!=(o|0)){if(m+16>>>0>=a>>>0){break r}while(1){a=a-1|0;x[a|0]=48;if(m+16>>>0>>0){continue}break}break r}if((a|0)!=(f|0)){break r}x[m+24|0]=48;a=d}ae(h,a,f-a|0);c=c+4|0;if(g>>>0>=c>>>0){continue}break}if(w){ae(h,5618,1)}if((e|0)<=0|b>>>0<=c>>>0){break q}while(1){a=de(z[c>>2],0,f);if(a>>>0>m+16>>>0){while(1){a=a-1|0;x[a|0]=48;if(m+16>>>0>>0){continue}break}}ae(h,a,(e|0)>=9?9:e);a=e-9|0;c=c+4|0;if(b>>>0<=c>>>0){break p}d=(e|0)>9;e=a;if(d){continue}break}break p}s:{if((e|0)<0){break s}o=b>>>0>c>>>0?b:c+4|0;a=m+16|0;d=a|8;g=a|9;b=c;while(1){a=de(z[b>>2],0,g);if((g|0)==(a|0)){x[m+24|0]=48;a=d}t:{if((b|0)!=(c|0)){if(m+16>>>0>=a>>>0){break t}while(1){a=a-1|0;x[a|0]=48;if(m+16>>>0>>0){continue}break}break t}ae(h,a,1);a=a+1|0;if(!(e|f)){break t}ae(h,5618,1)}s=a;a=g-a|0;ae(h,s,(a|0)<(e|0)?a:e);e=e-a|0;b=b+4|0;if(o>>>0<=b>>>0){break s}if((e|0)>=0){continue}break}}ee(h,48,e+18|0,18,0);ae(h,r,t-r|0);break o}a=e}ee(h,48,a+9|0,9,0)}ee(h,32,j,k,i^8192);o=(j|0)<(k|0)?k:j;break b}c=(k<<26>>31&9)+u|0;u:{if(g>>>0>11){break u}a=12-g|0;Q=16;while(1){Q=Q*16;a=a-1|0;if(a){continue}break}if(A[c|0]==45){P=-(Q+(-P-Q));break u}P=P+Q-Q}b=z[m+44>>2];a=b>>31;a=de((a^b)-a|0,0,t);if((t|0)==(a|0)){x[m+15|0]=48;a=m+15|0}d=s|2;f=k&32;b=z[m+44>>2];e=a-2|0;x[e|0]=k+15;x[a-1|0]=(b|0)<0?45:43;k=i&8;b=m+16|0;while(1){a=H(P)<2147483648?~~P:-2147483648;x[b|0]=f|A[a+51680|0];P=(P-+(a|0))*16;a=b;b=a+1|0;if(!(!((g|0)>0|k)&P==0|(b-(m+16|0)|0)!=1)){x[a+1|0]=46;b=a+2|0}if(P!=0){continue}break}o=-1;f=t-e|0;k=f+d|0;if((2147483645-k|0)<(g|0)){break b}o=m+16|0;a=b-o|0;g=g?(a-2|0)<(g|0)?g+2|0:a:a;b=k+g|0;ee(h,32,j,b,i);ae(h,c,d);ee(h,48,j,b,i^65536);ae(h,o,a);ee(h,48,g-a|0,0,0);ae(h,e,f);ee(h,32,j,b,i^8192);o=(b|0)>(j|0)?b:j}Fa=m+560|0;Ka=0;return o|0}function Wc(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;v=Fa-16|0;Fa=v;t=z[a+4>>2];P=z[t+76>>2]+F(b,5644)|0;G=z[a>>2];Q=1;Q=z[t+80>>2]?z[G+16>>2]:Q;Z=B[t>>1];_=z[P+420>>2];H=l;R=m;l=0;r=Fa-32|0;Fa=r;y=b;T=z[t+76>>2];U=z[(T+F(b,5644)|0)+420>>2];u=z[G+16>>2];w=td(F(u,528));a:{if(!w){break a}b:{b=td(u<<2);c:{if(!b){b=w;break c}a=Cc(G,z[t+76>>2],y,R);if(a){d:{if(!u){break d}n=w;if(u>>>0>=8){m=u&-8;while(1){p=s<<2;z[p+b>>2]=n;z[(p|4)+b>>2]=n+528;z[(p|8)+b>>2]=n+1056;z[(p|12)+b>>2]=n+1584;z[(p|16)+b>>2]=n+2112;z[(p|20)+b>>2]=n+2640;z[(p|24)+b>>2]=n+3168;z[(p|28)+b>>2]=n+3696;s=s+8|0;n=n+4224|0;q=q+8|0;if((m|0)!=(q|0)){continue}break}}m=u&7;if(!m){break d}while(1){z[(s<<2)+b>>2]=n;s=s+1|0;n=n+528|0;o=o+1|0;if((m|0)!=(o|0)){continue}break}}S=U+1|0;Dc(G,t,y,r+20|0,r+16|0,r+12|0,r+8|0,r+4|0,r,r+24|0,r+28|0,b);Y=z[r+28>>2];I=z[r+24>>2];x[a|0]=x[t+100|0]&1;V=F(u,I);W=F(V,Y);m=F(W,z[(F(y,5644)+T|0)+8>>2]);z[a+8>>2]=m;m=ud(m,2);z[a+4>>2]=m;if(!m){le(w);le(b);b=z[a+4>>2];if(b){le(b);z[a+4>>2]=0}if(!S){b=a;break c}p=0;q=a;while(1){n=z[q+200>>2];if(n){o=0;s=z[q+196>>2];if(s){while(1){b=z[n+12>>2];if(b){le(b);z[n+12>>2]=0;s=z[q+196>>2]}n=n+16|0;o=o+1|0;if(s>>>0>o>>>0){continue}break}n=z[q+200>>2]}le(n);z[q+200>>2]=0}q=q+240|0;b=(p|0)==(U|0);p=p+1|0;if(!b){continue}break}b=a;break c}m=z[G+24>>2];J=z[r+20>>2];z[a+204>>2]=J;K=z[r+12>>2];z[a+208>>2]=K;L=z[r+16>>2];z[a+212>>2]=L;M=z[r+8>>2];z[a+216>>2]=M;N=z[r+4>>2];z[a+228>>2]=N;O=z[r>>2];z[a+232>>2]=O;z[a+12>>2]=W;z[a+16>>2]=V;z[a+20>>2]=I;z[a+24>>2]=1;if(u){q=z[a+200>>2];p=m;while(1){n=z[(E<<2)+b>>2];z[q>>2]=z[p>>2];z[q+4>>2]=z[p+4>>2];D=z[q+8>>2];e:{if(!D){break e}o=z[q+12>>2];if((D|0)!=1){l=D&-2;s=0;while(1){z[o>>2]=z[n>>2];z[o+4>>2]=z[n+4>>2];z[o+8>>2]=z[n+8>>2];z[o+12>>2]=z[n+12>>2];z[o+16>>2]=z[n+16>>2];z[o+20>>2]=z[n+20>>2];z[o+24>>2]=z[n+24>>2];z[o+28>>2]=z[n+28>>2];o=o+32|0;n=n+32|0;s=s+2|0;if((l|0)!=(s|0)){continue}break}}if(!(D&1)){break e}z[o>>2]=z[n>>2];z[o+4>>2]=z[n+4>>2];z[o+8>>2]=z[n+8>>2];z[o+12>>2]=z[n+12>>2]}p=p+52|0;q=q+16|0;E=E+1|0;if((E|0)!=(u|0)){continue}break}}X=1;if(S>>>0>1){l=a;while(1){z[l+472>>2]=O;z[l+468>>2]=N;z[l+456>>2]=M;z[l+452>>2]=L;z[l+448>>2]=K;z[l+444>>2]=J;z[l+264>>2]=1;z[l+260>>2]=I;z[l+256>>2]=V;z[l+252>>2]=W;if(u){q=z[l+440>>2];E=0;p=m;while(1){n=z[(E<<2)+b>>2];z[q>>2]=z[p>>2];z[q+4>>2]=z[p+4>>2];D=z[q+8>>2];f:{if(!D){break f}o=z[q+12>>2];if((D|0)!=1){S=D&-2;s=0;while(1){z[o>>2]=z[n>>2];z[o+4>>2]=z[n+4>>2];z[o+8>>2]=z[n+8>>2];z[o+12>>2]=z[n+12>>2];z[o+16>>2]=z[n+16>>2];z[o+20>>2]=z[n+20>>2];z[o+24>>2]=z[n+24>>2];z[o+28>>2]=z[n+28>>2];o=o+32|0;n=n+32|0;s=s+2|0;if((S|0)!=(s|0)){continue}break}}if(!(D&1)){break f}z[o>>2]=z[n>>2];z[o+4>>2]=z[n+4>>2];z[o+8>>2]=z[n+8>>2];z[o+12>>2]=z[n+12>>2]}p=p+52|0;q=q+16|0;E=E+1|0;if((E|0)!=(u|0)){continue}break}}p=z[l+8>>2];z[l+244>>2]=z[l+4>>2];z[l+248>>2]=p;p=(U|0)!=(X|0);l=l+240|0;X=X+1|0;if(p){continue}break}}le(w);le(b);l=F(y,5644);if(!(A[(l+T|0)+5640|0]&4)){break b}b=B[t>>1];g:{if(b>>>0>=3){if((H|0)==1|b>>>0<7){break g}break b}if((H|0)!=1){break b}}m=z[t+76>>2]+F(y,5644)|0;b=z[m+428>>2];z[m+496>>2]=z[m+424>>2];z[m+500>>2]=b;z[m+492>>2]=0;z[m+544>>2]=O;z[m+540>>2]=N;z[m+536>>2]=M;z[m+532>>2]=K;z[m+528>>2]=L;z[m+524>>2]=J;z[m+520>>2]=I;z[m+504>>2]=0;z[m+516>>2]=z[m+440>>2];b=z[m+436>>2];z[m+508>>2]=z[m+432>>2];z[m+512>>2]=b;z[m+460>>2]=z[m+456>>2];l=z[m+420>>2];if(l-1>>>0>4294967293){l=a;break a}n=m+424|0;o=1;while(1){b=z[n+152>>2];z[n+220>>2]=z[n+148>>2];z[n+224>>2]=b;z[n+228>>2]=0;z[n+268>>2]=O;z[n+264>>2]=N;z[n+260>>2]=M;z[n+256>>2]=K;z[n+252>>2]=L;z[n+248>>2]=J;z[n+244>>2]=I;b=z[n+164>>2];z[n+236>>2]=z[n+160>>2];z[n+240>>2]=b;b=z[n+156>>2];z[n+232>>2]=b;z[n+184>>2]=z[n+180>>2];z[n+216>>2]=b>>>0>C[n+84>>2]?b:0;n=n+148|0;b=(l|0)==(o|0);o=o+1|0;if(!b){continue}break}l=a;break a}le(w)}le(b);break a}b=z[t+76>>2];w=z[(b+l|0)+420>>2];if((w|0)==-1){l=a;break a}b=b+F(y,5644)|0;n=b+424|0;m=z[b+4>>2];l=z[b+8>>2];o=0;while(1){z[n+92>>2]=u;z[n+76>>2]=0;z[n+80>>2]=0;z[n+88>>2]=Y;z[n+84>>2]=l;z[n+68>>2]=0;z[n+72>>2]=0;z[n+120>>2]=O;z[n+116>>2]=N;z[n+112>>2]=M;z[n+108>>2]=K;z[n+104>>2]=L;z[n+100>>2]=J;z[n+96>>2]=I;z[n+36>>2]=m;n=n+148|0;b=(o|0)==(w|0);o=o+1|0;if(!b){continue}break}l=a}Fa=r+32|0;b=l;h:{if(!b){a=0;break h}p=_+1|0;a=0;z[f>>2]=0;i:{j:{if(!H){if(!Q){break j}k=0;w=(Z|0)==4;while(1){l=1;i=0;a=0;h=b;while(1){Gc(b,t,y,a,k,j,0);if(z[h+84>>2]==-1){a=0;break i}if(Ic(h)){while(1){if(C[h+40>>2]>>0){a=0;z[v+12>>2]=0;if(!Xc(c,P,h,e,v+12|0,g,0,R)){break i}a=z[v+12>>2];z[f>>2]=a+z[f>>2];g=g-a|0;i=a+i|0;e=a+e|0}if(Ic(h)){continue}break}}a=z[t+80>>2];if(!(!a|a>>>0>=i>>>0)){a=0;break i}h=h+240|0;m=l&w;a=1;l=0;if(m){continue}break}k=k+1|0;if((Q|0)!=(k|0)){continue}break}break i}Gc(b,t,y,k,i,j,H);j=b+F(k,240)|0;if(z[j+84>>2]==-1){break i}if(!(!h|!z[h>>2])){i=td(Fc(G,t,y)<<2);z[h+8>>2]=i;if(!i){break i}}if(!Ic(j)){break j}i=b+F(k,240)|0;if(!h){while(1){if(C[i+40>>2]>>0){a=0;z[v+12>>2]=0;if(!Xc(c,P,j,e,v+12|0,g,H,R)){break i}a=z[v+12>>2];z[f>>2]=a+z[f>>2];z[c+840>>2]=z[c+840>>2]+1;g=g-a|0;e=a+e|0}a=1;if(Ic(j)){continue}break i}}while(1){if(C[i+40>>2]>>0){a=0;z[v+12>>2]=0;if(!Xc(c,P,j,e,v+12|0,g,H,R)){break i}a=z[v+12>>2];z[f>>2]=a+z[f>>2];if(z[h>>2]){z[z[h+8>>2]+(z[h+4>>2]<<2)>>2]=a;z[h+4>>2]=z[h+4>>2]+1}g=g-a|0;z[c+840>>2]=z[c+840>>2]+1;e=a+e|0}if(Ic(j)){continue}break}}a=1}Ec(b,p)}Fa=v+16|0;return a}function Jj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,B,D,E,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;var L=0,M=0;b=Fa-160|0;Fa=b;a:{if(e>>>0<=35){f=0;sb(g,1,13319,0);break a}d=e-36|0;h=(d>>>0)/3|0;if((F(h,3)|0)!=(d|0)){f=0;sb(g,1,13319,0);break a}d=z[a+72>>2];e=b+156|0;lb(c,e,2);y[a+80>>1]=z[b+156>>2];lb(c+2|0,d+8|0,4);lb(c+6|0,d+12|0,4);lb(c+10|0,d,4);lb(c+14|0,d+4|0,4);lb(c+18|0,a+92|0,4);lb(c+22|0,a+96|0,4);lb(c+26|0,a+84|0,4);lb(c+30|0,a+88|0,4);lb(c+34|0,e,2);b:{c:{d:{e=z[b+156>>2];if(e>>>0<=16384){z[d+16>>2]=e;if((e|0)!=(h|0)){z[b+132>>2]=h;z[b+128>>2]=e;sb(g,1,29804,b+128|0);f=0;break a}e=z[d+4>>2];i=z[d+12>>2];j=z[d+8>>2];f=z[d>>2];if(!(e>>>0>>0&j>>>0>f>>>0)){z[b+120>>2]=i-e;z[b+124>>2]=0-(e>>>0>i>>>0);z[b+112>>2]=j-f;z[b+116>>2]=0-(f>>>0>j>>>0);sb(g,1,29366,b+112|0);f=0;break a}k=z[a+92>>2];l=z[a+96>>2];if(!(l?k:0)){z[b+4>>2]=l;z[b>>2]=k;sb(g,1,30372,b);f=0;break a}e:{m=z[a+84>>2];f:{if(m>>>0>f>>>0){break f}k=k+m|0;if(f>>>0>=(k>>>0>>0?-1:k)>>>0){break f}k=z[a+88>>2];if(k>>>0>e>>>0){break f}l=k+l|0;if(e>>>0<(k>>>0>l>>>0?-1:l)>>>0){break e}}f=0;sb(g,1,8044,0);break a}g:{if(z[a+224>>2]){break g}k=z[a+216>>2];if(!k){break g}l=z[a+220>>2];if(!l){break g}f=j-f|0;e=i-e|0;if((f|0)==(k|0)&(e|0)==(l|0)){break g}z[b+108>>2]=e;z[b+104>>2]=f;z[b+100>>2]=l;z[b+96>>2]=k;sb(g,1,28644,b+96|0);f=0;break a}e=ud(h,52);z[d+24>>2]=e;if(!e){break d}h:{if(!z[d+16>>2]){break h}f=b+152|0;lb(c+36|0,f,1);h=z[b+152>>2];l=h>>>7|0;z[e+32>>2]=l;m=(h&127)+1|0;z[e+24>>2]=m;j=z[a+224>>2];lb(c+37|0,f,1);z[e>>2]=z[b+152>>2];lb(c+38|0,f,1);h=z[b+152>>2];z[e+4>>2]=h;f=0;k=z[e>>2];if(k-256>>>0<4294967041){i=0;break b}if(!h){i=0;break b}i=0;if(h>>>0>255){break b}h=z[e+24>>2];if(h>>>0>31){break c}z[e+36>>2]=0;z[e+40>>2]=z[a+160>>2];i=1;if(C[d+16>>2]<=1){break h}l=j?0:l;j=j?0:m;c=c+39|0;while(1){lb(c,b+152|0,1);k=z[b+152>>2];h=k>>>7|0;z[e+84>>2]=h;k=(k&127)+1|0;z[e+76>>2]=k;if(!((j|0)==(k|0)&(h|0)==(l|0)|(z[a+224>>2]|A[a+188|0]&4))){z[b+84>>2]=h;z[b+80>>2]=k;z[b+76>>2]=i;z[b+72>>2]=l;z[b+68>>2]=j;z[b+64>>2]=i;sb(g,2,29602,b- -64|0)}h=b+152|0;lb(c+1|0,h,1);z[e+52>>2]=z[b+152>>2];lb(c+2|0,h,1);h=z[b+152>>2];z[e+56>>2]=h;k=z[e+52>>2];if(!h|k-256>>>0<4294967041|h>>>0>=256){break b}h=z[e+76>>2];if(h>>>0>=32){break c}c=c+3|0;z[e+88>>2]=0;z[e+92>>2]=z[a+160>>2];e=e+52|0;i=i+1|0;if(i>>>0>2]){continue}break}}f=0;c=z[a+92>>2];if(!c){break a}e=z[a+96>>2];if(!e){break a}o=c-1|0;k=z[a+84>>2];h=z[d+8>>2]-k|0;i=o+h|0;l=c>>31;p=l-!c|0;j=p+(h>>31)|0;h=qo(i,h>>>0>i>>>0?j+1|0:j,c,l);z[a+104>>2]=h;q=e-1|0;m=z[a+88>>2];i=z[d+12>>2]-m|0;j=q+i|0;n=e>>31;r=n-!e|0;s=r+(i>>31)|0;i=qo(j,i>>>0>j>>>0?s+1|0:s,e,n);z[a+108>>2]=i;if(!(!(!h|!i)&h>>>0<=65535/(i>>>0)>>>0)){z[b+20>>2]=i;z[b+16>>2]=h;sb(g,1,28758,b+16|0);break a}j=F(h,i);i:{if(A[a+68|0]&2){z[a+28>>2]=(z[a+28>>2]-k>>>0)/(c>>>0);z[a+32>>2]=(z[a+32>>2]-m>>>0)/(e>>>0);h=z[a+36>>2]-k|0;i=o+h|0;k=(h>>31)+p|0;L=a,M=qo(i,h>>>0>i>>>0?k+1|0:k,c,l),z[L+36>>2]=M;c=z[a+40>>2]-m|0;h=c+q|0;i=(c>>31)+r|0;L=a,M=qo(h,c>>>0>h>>>0?i+1|0:i,e,n),z[L+40>>2]=M;break i}z[a+28>>2]=0;z[a+32>>2]=0;z[a+40>>2]=i;z[a+36>>2]=h}c=ud(j,5644);z[a+156>>2]=c;if(!c){sb(g,1,9767,0);break a}c=ud(z[d+16>>2],1080);z[z[a+12>>2]+5584>>2]=c;if(!z[z[a+12>>2]+5584>>2]){sb(g,1,9767,0);break a}c=ud(10,20);z[z[a+12>>2]+5616>>2]=c;c=z[a+12>>2];if(!z[c+5616>>2]){sb(g,1,9767,0);break a}z[c+5624>>2]=10;c=ud(10,20);z[z[a+12>>2]+5628>>2]=c;c=z[a+12>>2];if(!z[c+5628>>2]){sb(g,1,9767,0);break a}z[c+5636>>2]=10;e=z[d+16>>2];j:{if(!e){break j}h=z[d+24>>2];c=0;if((e|0)!=1){i=e&-2;while(1){k=h+F(c,52)|0;if(!z[k+32>>2]){z[(z[z[a+12>>2]+5584>>2]+F(c,1080)|0)+1076>>2]=1<>2]-1}k=c|1;l=h+F(k,52)|0;if(!z[l+32>>2]){z[(z[z[a+12>>2]+5584>>2]+F(k,1080)|0)+1076>>2]=1<>2]-1}c=c+2|0;f=f+2|0;if((i|0)!=(f|0)){continue}break}}if(!(e&1)){break j}e=h+F(c,52)|0;if(z[e+32>>2]){break j}z[(z[z[a+12>>2]+5584>>2]+F(c,1080)|0)+1076>>2]=1<>2]-1}if(j){c=z[a+156>>2];f=0;while(1){e=ud(z[d+16>>2],1080);z[c+5584>>2]=e;if(!e){f=0;sb(g,1,9767,0);break a}c=c+5644|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}z[a+8>>2]=4;p=z[d+16>>2];if(p){c=z[a+88>>2];f=z[a+96>>2];e=c+F(f,z[a+108>>2]-1|0)|0;f=e+f|0;e=e>>>0>f>>>0?-1:f;f=z[d+12>>2];q=e>>>0>>0?e:f;e=z[a+84>>2];f=z[a+92>>2];a=e+F(f,z[a+104>>2]-1|0)|0;f=a+f|0;a=a>>>0>f>>>0?-1:f;f=z[d+8>>2];r=a>>>0>>0?a:f;a=z[d+4>>2];k=a>>>0>>0?c:a;a=z[d>>2];l=a>>>0>>0?e:a;a=z[d+24>>2];c=0;while(1){f=z[a+4>>2];g=f-1|0;m=0-!f|0;d=m;e=d+1|0;d=g+k|0;e=d>>>0>>0?e:m;s=ro(d,e,f,0);z[a+20>>2]=s;h=z[a>>2];i=h-1|0;n=0-!h|0;d=n;e=d+1|0;d=i+l|0;e=d>>>0>>0?e:n;t=ro(d,e,h,0);z[a+16>>2]=t;d=z[a+40>>2];e=d&31;if((d&63)>>>0>=32){e=-1<>>32-e}j=j^-1;e=e^-1;o=e;v=m+1|0;u=m;m=g+q|0;g=g>>>0>m>>>0?v:u;u=e+1|0;e=ro(m,g,f,0)-s|0;f=e+j|0;g=e>>>0>f>>>0?u:o;m=d&31;e=m;d=(d&63)>>>0>=32;z[a+12>>2]=d?g>>>e|0:((1<>>e;e=i+r|0;f=e>>>0>>0?n+1|0:n;f=(ro(e,f,h,0)-t|0)+j|0;g=f>>>0>>0?o+1|0:o;e=m;z[a+8>>2]=d?g>>>e|0:((1<>>e;a=a+52|0;c=c+1|0;if((p|0)!=(c|0)){continue}break}}f=1;break a}z[b+144>>2]=e;sb(g,1,20974,b+144|0);f=0;break a}f=0;z[d+16>>2]=0;sb(g,1,9767,0);break a}z[b+52>>2]=h;z[b+48>>2]=i;sb(g,1,30680,b+48|0);break a}z[b+40>>2]=h;z[b+36>>2]=k;z[b+32>>2]=i;sb(g,1,28978,b+32|0)}Fa=b+160|0;Ka=0;return f|0}function Ti(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;E=E|0;H=H|0;I=I|0;J=J|0;f=c;b=0;h=0;d=0;m=0;a:{if((e|0)==1){break a}n=((g|0)!=0)+e|0;c=n>>>1|0;s=e-c|0;b:{c:{if((k|0)!=8){if(!e){break b}if(!k){break c}b=7-k|0;m=((b>>>0<=7?b:0)<<2)+4|0;l=k&-4;o=k&3;j=k<<2;while(1){r=d<<3;q=F(d,i);b=0;p=0;if(k>>>0>=4){while(1){z[(b+r<<2)+f>>2]=z[(b+q<<2)+a>>2];h=b|1;z[(h+r<<2)+f>>2]=z[(h+q<<2)+a>>2];h=b|2;z[(h+r<<2)+f>>2]=z[(h+q<<2)+a>>2];h=b|3;z[(r+h<<2)+f>>2]=z[(h+q<<2)+a>>2];b=b+4|0;p=p+4|0;if((l|0)!=(p|0)){continue}break}}p=0;if(o){while(1){h=b;z[(b+r<<2)+f>>2]=z[(b+q<<2)+a>>2];b=b+1|0;p=p+1|0;if((o|0)!=(p|0)){continue}break}}if(h>>>0<=6){Id(((d<<5)+j|0)+f|0,0,m)}d=d+1|0;if((d|0)!=(e|0)){continue}break}break b}if(!e){break b}if((e|0)!=1){h=e&-2;while(1){l=(F(b,i)<<2)+a|0;d=z[l+4>>2];j=(b<<5)+f|0;z[j>>2]=z[l>>2];z[j+4>>2]=d;d=z[l+28>>2];z[j+24>>2]=z[l+24>>2];z[j+28>>2]=d;d=z[l+20>>2];z[j+16>>2]=z[l+16>>2];z[j+20>>2]=d;d=z[l+12>>2];z[j+8>>2]=z[l+8>>2];z[j+12>>2]=d;d=b|1;l=(d<<5)+f|0;j=(F(d,i)<<2)+a|0;d=z[j+28>>2];z[l+24>>2]=z[j+24>>2];z[l+28>>2]=d;d=z[j+20>>2];z[l+16>>2]=z[j+16>>2];z[l+20>>2]=d;d=z[j+12>>2];z[l+8>>2]=z[j+8>>2];z[l+12>>2]=d;d=z[j+4>>2];z[l>>2]=z[j>>2];z[l+4>>2]=d;b=b+2|0;m=m+2|0;if((h|0)!=(m|0)){continue}break}}if(!(e&1)){break b}h=(b<<5)+f|0;d=(F(b,i)<<2)+a|0;b=z[d+4>>2];z[h>>2]=z[d>>2];z[h+4>>2]=b;b=z[d+28>>2];z[h+24>>2]=z[d+24>>2];z[h+28>>2]=b;b=z[d+20>>2];z[h+16>>2]=z[d+16>>2];z[h+20>>2]=b;b=z[d+12>>2];z[h+8>>2]=z[d+8>>2];z[h+12>>2]=b;break b}Id(f,0,e<<5)}d=0;o=!g;h=(o<<5)+f|0;b=(g|0)!=0;m=(b<<5)+f|0;l=m+32|0;b=c-b|0;j=(b|0)>(s|0)?s:b;Lb(h,l,s,j,G(-1.5861343145370483));g=h+32|0;b=s-o|0;b=(b|0)>(c|0)?c:b;Lb(m,g,c,b,G(-.05298011749982834));Lb(h,l,s,j,G(.8829110860824585));Lb(m,g,c,b,G(.4435068666934967));if(s){while(1){b=m+(d<<6)|0;D[b>>2]=D[b>>2]*G(1.2301740646362305);D[b+4>>2]=D[b+4>>2]*G(1.2301740646362305);D[b+8>>2]=D[b+8>>2]*G(1.2301740646362305);D[b+12>>2]=D[b+12>>2]*G(1.2301740646362305);D[b+16>>2]=D[b+16>>2]*G(1.2301740646362305);D[b+20>>2]=D[b+20>>2]*G(1.2301740646362305);D[b+24>>2]=D[b+24>>2]*G(1.2301740646362305);D[b+28>>2]=D[b+28>>2]*G(1.2301740646362305);d=d+1|0;if((s|0)!=(d|0)){continue}break}}d:{e:{if(n>>>0>=2){d=0;while(1){b=(d<<6)+h|0;D[b>>2]=D[b>>2]*G(.8128930926322937);D[b+4>>2]=D[b+4>>2]*G(.8128930926322937);D[b+8>>2]=D[b+8>>2]*G(.8128930926322937);D[b+12>>2]=D[b+12>>2]*G(.8128930926322937);D[b+16>>2]=D[b+16>>2]*G(.8128930926322937);D[b+20>>2]=D[b+20>>2]*G(.8128930926322937);D[b+24>>2]=D[b+24>>2]*G(.8128930926322937);D[b+28>>2]=D[b+28>>2]*G(.8128930926322937);d=d+1|0;if((c|0)!=(d|0)){continue}break}if((k|0)!=8){break e}l=c-1|0;k=c&3;f:{if(!k){d=c;b=a;break f}m=0;j=i<<2;d=c;b=a;while(1){g=z[h+4>>2];z[b>>2]=z[h>>2];z[b+4>>2]=g;g=z[h+28>>2];z[b+24>>2]=z[h+24>>2];z[b+28>>2]=g;g=z[h+20>>2];z[b+16>>2]=z[h+16>>2];z[b+20>>2]=g;g=z[h+12>>2];z[b+8>>2]=z[h+8>>2];z[b+12>>2]=g;h=h- -64|0;d=d-1|0;b=b+j|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}if(l>>>0<3){break d}j=i<<2;while(1){g=z[h+4>>2];z[b>>2]=z[h>>2];z[b+4>>2]=g;g=z[h+28>>2];z[b+24>>2]=z[h+24>>2];z[b+28>>2]=g;g=z[h+20>>2];z[b+16>>2]=z[h+16>>2];z[b+20>>2]=g;g=z[h+12>>2];z[b+8>>2]=z[h+8>>2];z[b+12>>2]=g;g=b+j|0;b=z[h+92>>2];z[g+24>>2]=z[h+88>>2];z[g+28>>2]=b;b=z[h+84>>2];z[g+16>>2]=z[h+80>>2];z[g+20>>2]=b;b=z[h+76>>2];z[g+8>>2]=z[h+72>>2];z[g+12>>2]=b;b=z[h+68>>2];z[g>>2]=z[h+64>>2];z[g+4>>2]=b;b=z[h+156>>2];g=g+j|0;z[g+24>>2]=z[h+152>>2];z[g+28>>2]=b;b=z[h+148>>2];z[g+16>>2]=z[h+144>>2];z[g+20>>2]=b;b=z[h+140>>2];z[g+8>>2]=z[h+136>>2];z[g+12>>2]=b;b=z[h+132>>2];z[g>>2]=z[h+128>>2];z[g+4>>2]=b;b=z[h+220>>2];g=g+j|0;z[g+24>>2]=z[h+216>>2];z[g+28>>2]=b;b=z[h+212>>2];z[g+16>>2]=z[h+208>>2];z[g+20>>2]=b;b=z[h+204>>2];z[g+8>>2]=z[h+200>>2];z[g+12>>2]=b;b=z[h+196>>2];z[g>>2]=z[h+192>>2];z[g+4>>2]=b;b=g+j|0;h=h+256|0;d=d-4|0;if(d){continue}break}break d}if((k|0)==8){break d}}Hb(f,a,s,c,i,o,k);break a}if(!s){break a}b=(8-(o<<3)<<2)+f|0;h=(F(c,i)<<2)+a|0;f=s&3;if(f){g=0;d=i<<2;while(1){a=z[b+4>>2];z[h>>2]=z[b>>2];z[h+4>>2]=a;a=z[b+28>>2];z[h+24>>2]=z[b+24>>2];z[h+28>>2]=a;a=z[b+20>>2];z[h+16>>2]=z[b+16>>2];z[h+20>>2]=a;a=z[b+12>>2];z[h+8>>2]=z[b+8>>2];z[h+12>>2]=a;b=b- -64|0;s=s-1|0;h=d+h|0;g=g+1|0;if((f|0)!=(g|0)){continue}break}}if((c^-1)+e>>>0<3){break a}c=i<<2;while(1){a=z[b+4>>2];z[h>>2]=z[b>>2];z[h+4>>2]=a;a=z[b+28>>2];z[h+24>>2]=z[b+24>>2];z[h+28>>2]=a;a=z[b+20>>2];z[h+16>>2]=z[b+16>>2];z[h+20>>2]=a;a=z[b+12>>2];z[h+8>>2]=z[b+8>>2];z[h+12>>2]=a;a=z[b+92>>2];d=c+h|0;z[d+24>>2]=z[b+88>>2];z[d+28>>2]=a;a=z[b+84>>2];z[d+16>>2]=z[b+80>>2];z[d+20>>2]=a;a=z[b+76>>2];z[d+8>>2]=z[b+72>>2];z[d+12>>2]=a;a=z[b+68>>2];z[d>>2]=z[b+64>>2];z[d+4>>2]=a;a=z[b+156>>2];d=c+d|0;z[d+24>>2]=z[b+152>>2];z[d+28>>2]=a;a=z[b+148>>2];z[d+16>>2]=z[b+144>>2];z[d+20>>2]=a;a=z[b+140>>2];z[d+8>>2]=z[b+136>>2];z[d+12>>2]=a;a=z[b+132>>2];z[d>>2]=z[b+128>>2];z[d+4>>2]=a;a=z[b+220>>2];d=c+d|0;z[d+24>>2]=z[b+216>>2];z[d+28>>2]=a;a=z[b+212>>2];z[d+16>>2]=z[b+208>>2];z[d+20>>2]=a;a=z[b+204>>2];z[d+8>>2]=z[b+200>>2];z[d+12>>2]=a;a=z[b+196>>2];z[d>>2]=z[b+192>>2];z[d+4>>2]=a;h=c+d|0;b=b+256|0;s=s-4|0;if(s){continue}break}}Ka=0;return 0}function wj(a,b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,u,v,w,y,A,C,E,I,K,N,O,P,Q,R){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;k=k|0;l=l|0;m=m|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;C=C|0;E=E|0;I=I|0;K=K|0;N=N|0;O=O|0;P=P|0;Q=Q|0;R=R|0;var S=G(0),T=G(0),U=0,V=G(0),W=G(0),X=0;b=0;q=0;o=Fa-16|0;Fa=o;f=a;v=z[a+156>>2];p=z[a+72>>2];l=z[p+16>>2];a=z[p+24>>2];j=z[a+24>>2];i=z[a+4>>2];h=z[a>>2];d=z[c+56>>2];a=z[c+60>>2];u=z[f+104>>2];s=z[f+108>>2];a:{if(!s){s=0;b=z[f+156>>2];break a}if(!u){u=0;b=z[f+156>>2];break a}V=G(G(+(d>>>0)+ +(a|0)*4294967296)/G(F(s,u)>>>0));g=1;k=x[f+180|0]&1?148:149;U=+(F(j,l)>>>0);W=G(F(h,i)<<3>>>0);while(1){d=b+1|0;a=0;if(g){while(1){c=a;a=a+1|0;S=(n(2,La[k|0](v,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0),t());l=z[v+8>>2];b:{if(!l){break b}T=G(S/G(l>>>0));j=z[f+84>>2];i=z[f+92>>2];h=j+F(i,a)|0;g=z[p+8>>2];h=(g|0)>(h|0)?h:g;g=j+F(c,i)|0;c=z[p>>2];X=U*+(h-((c|0)<(g|0)?g:c)>>>0);i=z[f+88>>2];h=z[f+96>>2];g=i+F(h,d)|0;c=z[p+12>>2];j=(c|0)>(g|0)?g:c;g=i+F(b,h)|0;c=z[p+4>>2];X=X*+(j-((c|0)<(g|0)?g:c)>>>0);g=v+20|0;if((l|0)!=1){c=l&-2;w=0;while(1){S=D[g>>2];if(S>G(0)){D[g>>2]=G(X/+G(S*W))-T}S=D[g+4>>2];if(S>G(0)){D[g+4>>2]=G(X/+G(S*W))-T}g=g+8|0;w=w+2|0;if((c|0)!=(w|0)){continue}break}}if(!(l&1)){break b}S=D[g>>2];if(!(S>G(0))){break b}D[g>>2]=G(X/+G(S*W))-T}v=v+5644|0;u=z[f+104>>2];if(u>>>0>a>>>0){continue}break}s=z[f+108>>2];g=u}else{g=0}b=d;if(b>>>0>>0){continue}break}b=z[f+156>>2];if(!s){s=0;break a}if(!u){u=0;break a}W=G(V+G(2));a=b;while(1){m=0;while(1){S=D[a+20>>2];c:{if(!(S>G(0))){break c}S=G(S-V);D[a+20>>2]=S;if(!(S>2]=1106247680}g=a+24|0;i=z[a+8>>2];d:{if(i-3>>>0>4294967293){break d}if((i|0)!=3){h=(i&-2)-4|0;d=0;while(1){c=d;S=D[g>>2];e:{if(!(S>G(0))){break e}T=G(S-V);D[g>>2]=T;S=D[g-4>>2];if(!(T>2]=S+G(20)}S=D[g+4>>2];f:{if(!(S>G(0))){break f}T=G(S-V);D[g+4>>2]=T;S=D[g>>2];if(!(T>2]=S+G(20)}d=c+2|0;g=g+8|0;if((c|0)!=(h|0)){continue}break}}if(!(i&1)){break d}S=D[g>>2];g:{if(!(S>G(0))){break g}T=G(S-V);D[g>>2]=T;S=D[g-4>>2];if(!(T>2]=S+G(20)}g=g+4|0}S=D[g>>2];h:{if(!(S>G(0))){break h}T=G(S-W);D[g>>2]=T;S=D[g-4>>2];if(!(T>2]=S+G(20)}a=a+5644|0;m=m+1|0;if((m|0)!=(u|0)){continue}break}q=q+1|0;if((q|0)!=(s|0)){continue}break}}i=z[p+16>>2];if(i){a=z[f+96>>2];h=a-1|0;k=0-!a|0;a=z[f+92>>2];d=a-1|0;j=0-!a|0;g=z[p+24>>2];w=0;r=0;l=0;while(1){m=z[g+24>>2];c=z[g+4>>2];a=c+h|0;p=ro(a,a>>>0>>0?k+1|0:k,c,0);c=z[g>>2];a=c+d|0;c=po(m,0,po(p,0,ro(a,a>>>0>>0?j+1|0:j,c,0),0),Ka);r=r+c|0;a=Ka+l|0;l=c>>>0>r>>>0?a+1|0:a;g=g+52|0;w=w+1|0;if((i|0)!=(w|0)){continue}break}U=(+(r>>>0)+ +(l>>>0)*4294967296)*1.4*.125;i:{if(U<0x10000000000000000&U>=0){l=H(U)>=1?~~(U>0?J(L(U*2.3283064365386963e-10),4294967295):M((U-+(~~U>>>0>>>0))*2.3283064365386963e-10))>>>0:0;a=~~U>>>0;break i}l=0;a=0}r=a+500|0;if(r>>>0<500){l=l+1|0}}else{r=500;l=0}s=F(s,u);if(s){d=0;g=b;w=0;if(s>>>0>=4){h=s&-4;v=0;while(1){a=z[g+5592>>2];c=a>>>0>>0?w:a;a=z[g+11236>>2];c=a>>>0>>0?c:a;a=z[g+16880>>2];c=a>>>0>>0?c:a;a=z[g+22524>>2];w=a>>>0>>0?c:a;g=g+22576|0;v=v+4|0;if((h|0)!=(v|0)){continue}break}}c=s&3;if(c){while(1){a=z[g+5592>>2];w=a>>>0>>0?w:a;g=g+5644|0;d=d+1|0;if((c|0)!=(d|0)){continue}break}}p=F(w,12)}else{p=0}if((B[f+80>>1]-3&65535)>>>0>=4){q=z[z[f+72>>2]+16>>2];j=q-1|0;if(!s|!q){a=12}else{h=q&-2;c=q&1;k=q-1|0;v=0;u=0;while(1){i=z[(F(u,5644)+b|0)+5584>>2];g=0;m=0;if(k){while(1){w=5;d=5;a=i+F(g,1080)|0;if(x[a|0]&1){d=z[a+4>>2]+5|0}a=i+F(g|1,1080)|0;if(x[a|0]&1){w=z[a+4>>2]+5|0}a=d>>>0>>0?v:d;v=a>>>0>w>>>0?a:w;g=g+2|0;m=m+2|0;if((h|0)!=(m|0)){continue}break}}if(c){w=5;a=i+F(g,1080)|0;if(x[a|0]&1){w=z[a+4>>2]+5|0}v=v>>>0>w>>>0?v:w}u=u+1|0;if((s|0)!=(u|0)){continue}break}i=q&-2;h=q&1;a=0;q=0;while(1){m=z[(F(q,5644)+b|0)+5584>>2];g=0;u=0;if(k){while(1){w=5;d=5;c=m+F(g,1080)|0;if(x[c|0]&1){d=z[c+4>>2]+5|0}c=m+F(g|1,1080)|0;if(x[c|0]&1){w=z[c+4>>2]+5|0}a=a>>>0>d>>>0?a:d;a=a>>>0>w>>>0?a:w;g=g+2|0;u=u+2|0;if((i|0)!=(u|0)){continue}break}}if(h){w=5;c=m+F(g,1080)|0;if(x[c|0]&1){w=z[c+4>>2]+5|0}a=a>>>0>w>>>0?a:w}q=q+1|0;if((s|0)!=(q|0)){continue}break}a=(a+v|0)+12|0}p=p+F(a,j)|0}j=l+1|0;j:{k:{if(s){i=s&3;w=0;l:{if(s>>>0<4){g=0;break l}h=s&-4;g=0;d=0;while(1){a=z[b+420>>2];c=a>>>0>>0?g:a;a=z[b+6064>>2];c=a>>>0>>0?c:a;a=z[b+11708>>2];c=a>>>0>>0?c:a;a=z[b+17352>>2];g=a>>>0>>0?c:a;b=b+22576|0;d=d+4|0;if((h|0)!=(d|0)){continue}break}}if(i){while(1){a=z[b+420>>2];g=a>>>0>>0?g:a;b=b+5644|0;w=w+1|0;if((i|0)!=(w|0)){continue}break}}a=(F(g,9)+p|0)+13|0;b=a;if(!z[f+60>>2]){break j}c=f+80|0;g=0;w=0;while(1){b=Fc(z[f+72>>2],c,w);g=b>>>0>>0?g:b;w=w+1|0;if(w>>>0>2],z[f+108>>2])>>>0){continue}break}break k}g=0;a=p+13|0;b=a;if(!z[f+60>>2]){break j}}d=g+16381|0;c=d>>>0<16381;b=F(g,5)+a|0;a=(b+F(ro(d,c,16382,0),6)|0)+1|0;z[f- -64>>2]=a;b=a+b|0}a=b;a=a+r|0;b=b>>>0>a>>>0?j:l;c=a;a=!b&(a|0)==-1|(b|0)!=0;c=a?-1:c;b=a?0:b;z[f+48>>2]=c;a=td(c);z[f+44>>2]=a;m:{if(!a){z[o>>2]=(b&1048575)<<12|c>>>20;sb(e,1,19664,o);g=0;break m}g=1;if(!z[f+16>>2]){break m}a=td(F(z[f+40>>2],6));z[f+32>>2]=a;if(!a){g=0;break m}z[f+36>>2]=a}Fa=o+16|0;Ka=0;return g|0}function $d(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,v=0,w=0,B=0,C=0,D=0,G=0,H=0;j=Fa-80|0;Fa=j;z[j+76>>2]=b;H=j+55|0;u=j+56|0;a:{b:{c:{d:while(1){h=0;e:while(1){k=b;if((s^2147483647)<(h|0)){break c}s=h+s|0;f:{g:{h:{h=k;i=A[h|0];if(i){while(1){i:{b=i&255;j:{if(!b){b=h;break j}if((b|0)!=37){break i}i=h;while(1){if(A[i+1|0]!=37){b=i;break j}h=h+1|0;o=A[i+2|0];b=i+2|0;i=b;if((o|0)==37){continue}break}}h=h-k|0;G=s^2147483647;if((h|0)>(G|0)){break c}if(a){ae(a,k,h)}if(h){continue e}z[j+76>>2]=b;h=b+1|0;r=-1;if(!(A[b+2|0]!=36|x[b+1|0]-48>>>0>=10)){r=x[b+1|0]-48|0;w=1;h=b+3|0}z[j+76>>2]=h;p=0;i=x[h|0];b=i-32|0;k:{if(b>>>0>31){o=h;break k}o=h;b=1<>2]=o;p=b|p;i=x[h+1|0];b=i-32|0;if(b>>>0>=32){break k}h=o;b=1<>>0>=10)){b=x[i|0]-48|0;i=o+3|0;w=1;n:{if(!a){z[(b<<2)+e>>2]=10;b=0;break n}b=z[(b<<3)+d>>2]}break m}if(w){break h}if(!a){z[j+76>>2]=i;w=0;t=0;break l}b=z[c>>2];z[c>>2]=b+4;w=0;b=z[b>>2]}z[j+76>>2]=i;t=b;if((b|0)>=0){break l}t=0-t|0;p=p|8192;break l}t=be(j+76|0);if((t|0)<0){break c}i=z[j+76>>2]}h=0;m=-1;o:{if(A[i|0]!=46){b=i;C=0;break o}if(A[i+1|0]==42){b=i+2|0;p:{if(!(A[i+3|0]!=36|x[i+2|0]-48>>>0>=10)){b=x[b|0]-48|0;q:{if(!a){z[(b<<2)+e>>2]=10;m=0;break q}m=z[(b<<3)+d>>2]}b=i+4|0;break p}if(w){break h}if(!a){m=0;break p}i=z[c>>2];z[c>>2]=i+4;m=z[i>>2]}z[j+76>>2]=b;C=(m^-1)>>>31|0;break o}z[j+76>>2]=i+1;m=be(j+76|0);b=z[j+76>>2];C=1}while(1){v=h;n=28;D=b;h=x[b|0];if(h-123>>>0<4294967238){break b}b=D+1|0;h=A[(h+F(v,58)|0)+51151|0];if(h-1>>>0<8){continue}break}z[j+76>>2]=b;r:{if((h|0)!=27){if(!h){break b}if((r|0)>=0){if(!a){z[(r<<2)+e>>2]=h;continue d}h=(r<<3)+d|0;i=z[h+4>>2];z[j+64>>2]=z[h>>2];z[j+68>>2]=i;break r}if(!a){break f}ce(j- -64|0,h,c,g);break r}if((r|0)>=0){break b}h=0;if(!a){continue e}}n=-1;if(A[a|0]&32){break a}i=p&-65537;p=p&8192?i:p;r=0;B=1188;o=u;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{h=x[D|0];h=v?(h&15)==3?h&-33:h:h;switch(h-88|0){case 11:break s;case 9:case 13:case 14:case 15:break t;case 27:break y;case 12:case 17:break B;case 23:break C;case 0:case 32:break D;case 24:break E;case 22:break F;case 29:break G;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break H}}I:{switch(h-65|0){case 0:case 4:case 5:case 6:break t;case 2:break w;case 1:case 3:break g;default:break I}}if((h|0)==83){break x}break g}i=z[j+64>>2];n=z[j+68>>2];B=1188;break A}h=0;J:{switch(v&255){case 0:z[z[j+64>>2]>>2]=s;continue e;case 1:z[z[j+64>>2]>>2]=s;continue e;case 2:k=z[j+64>>2];z[k>>2]=s;z[k+4>>2]=s>>31;continue e;case 3:y[z[j+64>>2]>>1]=s;continue e;case 4:x[z[j+64>>2]]=s;continue e;case 6:z[z[j+64>>2]>>2]=s;continue e;case 7:break J;default:continue e}}k=z[j+64>>2];z[k>>2]=s;z[k+4>>2]=s>>31;continue e}m=m>>>0<=8?8:m;p=p|8;h=120}k=u;D=h&32;i=z[j+64>>2];n=z[j+68>>2];if(i|n){while(1){k=k-1|0;x[k|0]=D|A[(i&15)+51680|0];v=!n&i>>>0>15|(n|0)!=0;i=(n&15)<<28|i>>>4;n=n>>>4|0;if(v){continue}break}}if(!(z[j+64>>2]|z[j+68>>2])|!(p&8)){break z}B=(h>>>4|0)+1188|0;r=2;break z}h=u;k=z[j+68>>2];n=k;i=z[j+64>>2];if(k|i){while(1){h=h-1|0;x[h|0]=i&7|48;v=!n&i>>>0>7|(n|0)!=0;i=(n&7)<<29|i>>>3;n=n>>>3|0;if(v){continue}break}}k=h;if(!(p&8)){break z}h=u-k|0;m=(h|0)<(m|0)?m:h+1|0;break z}i=z[j+64>>2];h=z[j+68>>2];n=h;if((h|0)<0){k=0-(((i|0)!=0)+n|0)|0;n=k;i=0-i|0;z[j+64>>2]=i;z[j+68>>2]=k;r=1;B=1188;break A}if(p&2048){r=1;B=1189;break A}r=p&1;B=r?1190:1188}k=de(i,n,u)}if((m|0)<0?C:0){break c}p=C?p&-65537:p;h=z[j+64>>2];i=z[j+68>>2];if(!(m|(h|i)!=0)){k=u;m=0;break g}h=!(h|i)+(u-k|0)|0;m=(h|0)<(m|0)?m:h;break g}h=z[j+64>>2];k=h?h:5729;h=m>>>0>=2147483647?2147483647:m;o=Yd(k,0,h);h=o?o-k|0:h;o=h+k|0;if((m|0)>=0){p=i;m=h;break g}p=i;m=h;if(A[o|0]){break c}break g}if(m){i=z[j+64>>2];break v}h=0;ee(a,32,t,0,p);break u}z[j+12>>2]=0;z[j+8>>2]=z[j+64>>2];i=j+8|0;z[j+64>>2]=i;m=-1}h=0;K:{while(1){k=z[i>>2];if(!k){break K}k=ie(j+4|0,k);o=(k|0)<0;if(!(o|k>>>0>m-h>>>0)){i=i+4|0;h=h+k|0;if(m>>>0>h>>>0){continue}break K}break}if(o){break a}}n=61;if((h|0)<0){break b}ee(a,32,t,h,p);if(!h){h=0;break u}o=0;i=z[j+64>>2];while(1){k=z[i>>2];if(!k){break u}k=ie(j+4|0,k);o=k+o|0;if(o>>>0>h>>>0){break u}ae(a,j+4|0,k);i=i+4|0;if(h>>>0>o>>>0){continue}break}}ee(a,32,t,h,p^8192);h=(h|0)<(t|0)?t:h;continue e}if((m|0)<0?C:0){break c}n=61;q(+E[j+64>>3]);k=l(1)|0;h=La[f|0](a,0,l(0)|0,k,t,0,m,0,p,0,h,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if((h|0)>=0){continue e}break b}x[j+55|0]=z[j+64>>2];m=1;k=H;p=i;break g}i=A[h+1|0];h=h+1|0;continue}}n=s;if(a){break a}if(!w){break f}h=1;while(1){a=z[(h<<2)+e>>2];if(a){ce((h<<3)+d|0,a,c,g);n=1;h=h+1|0;if((h|0)!=10){continue}break a}break}n=1;if(h>>>0>=10){break a}while(1){if(z[(h<<2)+e>>2]){break h}h=h+1|0;if((h|0)!=10){continue}break}break a}n=28;break b}o=o-k|0;m=(m|0)>(o|0)?m:o;if((m|0)>(r^2147483647)){break c}n=61;i=m+r|0;h=(i|0)<(t|0)?t:i;if((G|0)<(h|0)){break b}ee(a,32,h,i,p);ae(a,B,r);ee(a,48,h,i,p^65536);ee(a,48,m,o,0);ae(a,k,o);ee(a,32,h,i,p^8192);continue}break}break}n=0;break a}n=61}z[15614]=n;n=-1}Fa=j+80|0;return n}function Yc(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,B=0,D=0;p=Fa-32|0;Fa=p;z[p+24>>2]=f;v=z[(F(z[d+28>>2],76)+b|0)+28>>2];s=z[d+32>>2];a:{b:{if(z[d+40>>2]){break b}q=v+F(s,152)|0;if(!z[q+24>>2]){break b}k=q+28|0;while(1){c:{if(z[k+12>>2]==z[k+4>>2]|z[k+8>>2]==z[k>>2]){break c}b=z[d+36>>2];if(b>>>0>=C[k+24>>2]/40>>>0){sb(i,1,8088,0);break a}b=z[k+20>>2]+F(b,40)|0;kd(z[b+32>>2]);kd(z[b+36>>2]);o=F(z[b+20>>2],z[b+16>>2]);if(!o){break c}b=z[b+24>>2];if(o>>>0>=8){m=o&-8;j=0;while(1){z[b+40>>2]=0;z[b+44>>2]=0;z[b+488>>2]=0;z[b+492>>2]=0;z[b+424>>2]=0;z[b+428>>2]=0;z[b+360>>2]=0;z[b+364>>2]=0;z[b+296>>2]=0;z[b+300>>2]=0;z[b+232>>2]=0;z[b+236>>2]=0;z[b+168>>2]=0;z[b+172>>2]=0;z[b+104>>2]=0;z[b+108>>2]=0;b=b+512|0;j=j+8|0;if((m|0)!=(j|0)){continue}break}}j=0;o=o&7;if(!o){break c}while(1){z[b+40>>2]=0;z[b+44>>2]=0;b=b- -64|0;j=j+1|0;if((o|0)!=(j|0)){continue}break}}k=k+36|0;l=l+1|0;if(l>>>0>2]){continue}break}}o=f;d:{if(!(A[c|0]&2)){break d}if(h>>>0<=5){sb(i,2,10089,0);break d}if(!(A[f|0]==255&A[f+1|0]==145)){sb(i,2,10131,0);break d}o=f+6|0;z[p+24>>2]=o}m=td(20);if(!m){break a}e:{if(x[a+108|0]&1){t=a+40|0;o=z[a+40>>2];q=a+44|0;break e}if(A[c+5640|0]&2){t=c+5168|0;o=z[c+5168>>2];q=c+5180|0;break e}z[p+28>>2]=(f+h|0)-o;t=p+24|0;q=p+28|0}a=z[q>>2];z[m+12>>2]=0;z[m+16>>2]=0;z[m+8>>2]=o;z[m>>2]=o;z[m+4>>2]=a+o;if(!Uc(m,1)){Vc(m);a=z[m+8>>2]-z[m>>2]|0;_a(m);b=a+o|0;f:{if(!(A[c|0]&4)){break f}if(z[t>>2]+(z[q>>2]-b|0)>>>0<=1){sb(i,2,10520,0);break f}if(!(A[b|0]==255&A[b+1|0]==146)){sb(i,2,10562,0);break f}b=b+2|0}z[q>>2]=z[q>>2]+(z[t>>2]-b|0);z[t>>2]=b;z[e>>2]=0;z[g>>2]=z[p+24>>2]-f;y=1;break a}w=v+F(s,152)|0;if(z[w+24>>2]){a=w+28|0;while(1){b=z[d+36>>2];h=z[a+20>>2];v=a;g:{if(z[a+12>>2]==z[a+4>>2]|z[a+8>>2]==z[a>>2]){break g}s=h+F(b,40)|0;B=F(z[s+20>>2],z[s+16>>2]);if(!B){break g}k=z[s+24>>2];a=0;while(1){h:{i:{if(!z[k+40>>2]){b=pd(m,z[s+32>>2],a,z[d+40>>2]+1|0);break i}b=Uc(m,1)}if(!b){z[k+36>>2]=0;break h}if(!z[k+40>>2]){b=0;while(1){h=b;b=b+1|0;if(!pd(m,z[s+36>>2],a,h)){continue}break}b=z[v+28>>2];z[k+32>>2]=3;z[k+24>>2]=b;z[k+28>>2]=(b-h|0)+1}b=1;j:{if(!Uc(m,1)){break j}b=2;if(!Uc(m,1)){break j}b=Uc(m,2);if((b|0)!=3){b=b+3|0;break j}b=Uc(m,5);if((b|0)!=31){b=b+6|0;break j}b=Uc(m,7)+37|0}z[k+36>>2]=b;b=0;while(1){h=b;b=b+1|0;if(Uc(m,1)){continue}break}z[k+32>>2]=h+z[k+32>>2];k:{h=z[k+40>>2];l:{if(!h){h=z[(z[c+5584>>2]+F(z[d+28>>2],1080)|0)+16>>2];if(!z[k+48>>2]){b=xd(z[k>>2],240);if(!b){break k}z[k>>2]=b;Id(b+F(z[k+48>>2],24)|0,0,240);z[k+48>>2]=10}b=z[k>>2];z[b>>2]=0;z[b+4>>2]=0;z[b+16>>2]=0;z[b+20>>2]=0;z[b+8>>2]=0;z[b+12>>2]=0;z[b+12>>2]=h&4?1:h&1?10:109;l=0;break l}b=z[k>>2];l=h-1|0;j=b+F(l,24)|0;if(z[j+4>>2]!=z[j+12>>2]){break l}j=z[(z[c+5584>>2]+F(z[d+28>>2],1080)|0)+16>>2];l=z[k+48>>2];if(l>>>0>>0){l=l+10|0;b=xd(b,F(l,24));if(!b){break k}z[k>>2]=b;Id(b+F(z[k+48>>2],24)|0,0,240);z[k+48>>2]=l;b=z[k>>2]}b=F(h,24)+b|0;z[b>>2]=0;z[b+4>>2]=0;z[b+16>>2]=0;z[b+20>>2]=0;z[b+8>>2]=0;z[b+12>>2]=0;l=1;m:{if(j&4){break m}l=109;if(!(j&1)){break m}l=z[b-12>>2];l=(l|0)==1?2:(l|0)==10?2:1}z[b+12>>2]=l;l=h}h=z[k+36>>2];if(A[(z[c+5584>>2]+F(z[d+28>>2],1080)|0)+16|0]&64){while(1){u=F(l,24);n=l?h:1;z[(u+z[k>>2]|0)+16>>2]=n;r=z[k+32>>2];j=0;b=h;if(n>>>0>=2){while(1){j=j+1|0;n=b>>>0>3;b=b>>>1|0;if(n){continue}break}}b=j+r|0;if(b>>>0>=33){z[p+16>>2]=b;sb(i,1,30813,p+16|0);break k}j=Uc(m,b);b=z[k>>2];n=u+b|0;z[n+20>>2]=j;h=h-z[n+16>>2]|0;if((h|0)<=0){break h}r=z[(z[c+5584>>2]+F(z[d+28>>2],1080)|0)+16>>2];j=z[k+48>>2];if(j>>>0>>0){j=j+10|0;b=xd(b,F(j,24));if(!b){break k}z[k>>2]=b;Id(b+F(z[k+48>>2],24)|0,0,240);z[k+48>>2]=j;b=z[k>>2]}l=l+1|0;j=F(l,24)+b|0;z[j>>2]=0;z[j+4>>2]=0;z[j+16>>2]=0;z[j+20>>2]=0;z[j+8>>2]=0;z[j+12>>2]=0;n=1;n:{if(r&4){break n}n=109;if(!(r&1)){break n}b=z[(b+u|0)+12>>2];n=(b|0)==1?2:(b|0)==10?2:1}z[j+12>>2]=n;continue}}while(1){u=F(l,24);j=u+z[k>>2]|0;b=z[j+12>>2]-z[j+4>>2]|0;b=(b|0)<(h|0)?b:h;z[j+16>>2]=b;n=z[k+32>>2];j=0;if(b>>>0>=2){while(1){j=j+1|0;r=b>>>0>3;b=b>>>1|0;if(r){continue}break}}b=j+n|0;if(b>>>0>=33){z[p>>2]=b;sb(i,1,30813,p);break k}j=Uc(m,b);b=z[k>>2];n=u+b|0;z[n+20>>2]=j;h=h-z[n+16>>2]|0;if((h|0)<=0){break h}r=z[(z[c+5584>>2]+F(z[d+28>>2],1080)|0)+16>>2];j=z[k+48>>2];if(j>>>0>>0){j=j+10|0;b=xd(b,F(j,24));if(!b){break k}z[k>>2]=b;Id(b+F(z[k+48>>2],24)|0,0,240);z[k+48>>2]=j;b=z[k>>2]}l=l+1|0;j=F(l,24)+b|0;z[j>>2]=0;z[j+4>>2]=0;z[j+16>>2]=0;z[j+20>>2]=0;z[j+8>>2]=0;z[j+12>>2]=0;n=1;o:{if(r&4){break o}n=109;if(!(r&1)){break o}b=z[(b+u|0)+12>>2];n=(b|0)==1?2:(b|0)==10?2:1}z[j+12>>2]=n;continue}}_a(m);break a}k=k- -64|0;a=a+1|0;if((B|0)!=(a|0)){continue}break}}a=v+36|0;D=D+1|0;if(D>>>0>2]){continue}break}}if(!Vc(m)){_a(m);break a}a=z[m+8>>2]-z[m>>2]|0;_a(m);b=a+o|0;p:{if(!(A[c|0]&4)){break p}if(z[t>>2]+(z[q>>2]-b|0)>>>0<=1){sb(i,2,10520,0);break p}if(!(A[b|0]==255&A[b+1|0]==146)){sb(i,2,10562,0);break p}b=b+2|0}z[q>>2]=z[q>>2]+(z[t>>2]-b|0);z[t>>2]=b;y=1;z[e>>2]=1;z[g>>2]=z[p+24>>2]-f}Fa=p+32|0;return y}function ic(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,A=0,B=0,D=0,E=0,G=0;s=Fa-16|0;Fa=s;v=F(z[a+104>>2],z[a+108>>2]);a:{if(!v){d=1;break a}A=z[a+208>>2];b:{c:{d:{while(1){e:{if(z[a+204>>2]!=(d|0)){sb(c,1,5488,0);break e}k=z[a+108>>2];m=z[a+104>>2];B=d+1|0;z[s>>2]=B;z[s+4>>2]=F(k,m);sb(c,4,21150,s);z[a+12>>2]=0;k=z[a+208>>2];z[k+12>>2]=z[(z[a+156>>2]+F(d,5644)|0)+5592>>2];z[a+8>>2]=0;if(!cd(k,z[a+204>>2],c)){break e}f:{f=z[a+208>>2];n=z[z[f+24>>2]+16>>2];if(!n){break f}d=0;if((v|0)==1){k=z[z[A+24>>2]+24>>2];m=z[z[z[A+20>>2]>>2]+20>>2];g=0;if(n>>>0>=4){j=n&-4;l=0;while(1){h=z[(k+F(d,52)|0)+44>>2];i=m+F(d,76)|0;z[i+40>>2]=0;z[i+36>>2]=h;h=d|1;i=z[(k+F(h,52)|0)+44>>2];h=m+F(h,76)|0;z[h+40>>2]=0;z[h+36>>2]=i;h=d|2;i=z[(k+F(h,52)|0)+44>>2];h=m+F(h,76)|0;z[h+40>>2]=0;z[h+36>>2]=i;h=d|3;i=z[(k+F(h,52)|0)+44>>2];h=m+F(h,76)|0;z[h+40>>2]=0;z[h+36>>2]=i;d=d+4|0;l=l+4|0;if((j|0)!=(l|0)){continue}break}}n=n&3;if(!n){break f}while(1){l=z[(k+F(d,52)|0)+44>>2];j=m+F(d,76)|0;z[j+40>>2]=0;z[j+36>>2]=l;d=d+1|0;g=g+1|0;if((n|0)!=(g|0)){continue}break}break f}while(1){if(bd(z[z[z[A+20>>2]>>2]+20>>2]+F(d,76)|0)){d=d+1|0;f=z[a+208>>2];if(d>>>0>2]+16>>2]){continue}break f}break}d=0;sb(c,1,5572,0);if(e){break c}break a}g=0;d=0;k=z[f+24>>2];n=z[k+16>>2];if(n){m=z[k+24>>2];k=z[z[z[f+20>>2]>>2]+20>>2];while(1){f=d;d=z[m+24>>2];d=(d>>>3|0)+((d&7)!=0)|0;d=f+F(F(z[k+12>>2]-z[k+4>>2]|0,z[k+8>>2]-z[k>>2]|0),(d|0)==3?4:d)|0;k=k+76|0;m=m+52|0;g=g+1|0;if((n|0)!=(g|0)){continue}break}}m=d;if((v|0)!=1){g:{if(m>>>0>E>>>0){E=m;k=xd(e,m);if(k){break g}if(e){le(e)}d=0;sb(c,1,9211,0);break a}k=e;if(e){break g}d=0;break a}n=z[a+208>>2];d=z[n+24>>2];if(z[d+16>>2]){t=0;e=k;while(1){q=z[d+24>>2]+F(t,52)|0;g=z[q>>2];l=g>>31;j=g-1|0;r=z[d>>2];f=z[d+8>>2]-r|0;i=f;h=j+f|0;o=l-!g|0;f=o+(f>>31)|0;f=qo(h,h>>>0>>0?f+1|0:f,g,l);h=f;w=z[z[z[n+20>>2]>>2]+20>>2]+F(t,76)|0;p=z[w+8>>2];f=z[w>>2];i=p-f|0;u=h-i|0;G=z[q+44>>2];o=(r>>31)+o|0;j=j+r|0;o=j>>>0>>0?o+1|0:o;r=f-qo(j,o,g,l)|0;j=z[w+4>>2];g=z[q+4>>2];l=z[d+4>>2];o=l;d=g+l|0;D=g>>31;l=D+(l>>31)|0;l=d>>>0>>0?l+1|0:l;d=(F(h,j-qo(d-1|0,l-!d|0,g,D)|0)+r<<2)+G|0;g=z[w+12>>2];l=g-j|0;h:{i:{j:{k:{h=z[q+24>>2];h=(h>>>3|0)+((h&7)!=0)|0;switch(((h|0)==3?4:h)-1|0){case 1:break i;case 0:break j;case 3:break k;default:break h}}if((g|0)==(j|0)|(f|0)==(p|0)){break h}h=i&-8;j=i&7;i=p+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){z[e>>2]=z[d>>2];z[e+4>>2]=z[d+4>>2];z[e+8>>2]=z[d+8>>2];z[e+12>>2]=z[d+12>>2];z[e+16>>2]=z[d+16>>2];z[e+20>>2]=z[d+20>>2];z[e+24>>2]=z[d+24>>2];z[e+28>>2]=z[d+28>>2];e=e+32|0;d=d+32|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){z[e>>2]=z[d>>2];e=e+4|0;d=d+4|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(u<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}break h}g=(g|0)==(j|0)|(f|0)==(p|0);if(z[q+32>>2]){if(g){break h}h=i&-8;j=i&7;i=p+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){x[e|0]=z[d>>2];x[e+1|0]=z[d+4>>2];x[e+2|0]=z[d+8>>2];x[e+3|0]=z[d+12>>2];x[e+4|0]=z[d+16>>2];x[e+5|0]=z[d+20>>2];x[e+6|0]=z[d+24>>2];x[e+7|0]=z[d+28>>2];d=d+32|0;e=e+8|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){x[e|0]=z[d>>2];d=d+4|0;e=e+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(u<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}break h}if(g){break h}h=i&-8;j=i&7;i=p+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){x[e|0]=z[d>>2];x[e+1|0]=z[d+4>>2];x[e+2|0]=z[d+8>>2];x[e+3|0]=z[d+12>>2];x[e+4|0]=z[d+16>>2];x[e+5|0]=z[d+20>>2];x[e+6|0]=z[d+24>>2];x[e+7|0]=z[d+28>>2];d=d+32|0;e=e+8|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){x[e|0]=z[d>>2];d=d+4|0;e=e+1|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(u<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}break h}g=(g|0)==(j|0)|(f|0)==(p|0);if(z[q+32>>2]){if(g){break h}h=i&-8;j=i&7;i=p+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){y[e>>1]=z[d>>2];y[e+2>>1]=z[d+4>>2];y[e+4>>1]=z[d+8>>2];y[e+6>>1]=z[d+12>>2];y[e+8>>1]=z[d+16>>2];y[e+10>>1]=z[d+20>>2];y[e+12>>1]=z[d+24>>2];y[e+14>>1]=z[d+28>>2];e=e+16|0;d=d+32|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){y[e>>1]=z[d>>2];e=e+2|0;d=d+4|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(u<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}break h}if(g){break h}h=i&-8;j=i&7;i=p+(f^-1)|0;g=0;while(1){f=0;if(i>>>0>=7){while(1){y[e>>1]=z[d>>2];y[e+2>>1]=z[d+4>>2];y[e+4>>1]=z[d+8>>2];y[e+6>>1]=z[d+12>>2];y[e+8>>1]=z[d+16>>2];y[e+10>>1]=z[d+20>>2];y[e+12>>1]=z[d+24>>2];y[e+14>>1]=z[d+28>>2];e=e+16|0;d=d+32|0;f=f+8|0;if((h|0)!=(f|0)){continue}break}}f=0;if(j){while(1){y[e>>1]=z[d>>2];e=e+2|0;d=d+4|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}d=(u<<2)+d|0;g=g+1|0;if((l|0)!=(g|0)){continue}break}}t=t+1|0;d=z[n+24>>2];if(t>>>0>2]){continue}break}n=z[a+208>>2]}if(!gd(n,k,m)){break b}e=k}if(!jc(a,b,c)){break e}d=B;if((v|0)!=(d|0)){continue}break d}break}d=0;if(e){break c}break a}d=1;if(!e){break a}}le(e);break a}d=0;sb(c,1,5525,0);le(k)}Fa=s+16|0;return d}function Zi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,D,E,H,I,J,K,L){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;A=A|0;B=B|0;D=D|0;E=E|0;H=H|0;I=I|0;J=J|0;K=K|0;L=L|0;var M=G(0);m=0;k=0;l=0;o=Fa-48|0;Fa=o;g=a;z[a+8>>2]=1;a:{b:{c:{if((qb(c,o+40|0,2,e)|0)!=2){break c}lb(o+40|0,o+44|0,2);if(z[o+44>>2]!=65359){break c}z[g+8>>2]=2;a=z[c+56>>2];d=a-2|0;b=z[c+60>>2]-(a>>>0<2)|0;a=z[g+200>>2];z[a>>2]=d;z[a+4>>2]=b;z[o+16>>2]=d;z[o+20>>2]=b;sb(e,4,27407,o+16|0);i=z[g+200>>2];h=z[i>>2];d=z[i+24>>2];a=d+1|0;b=z[i+32>>2];if(a>>>0<=b>>>0){f=z[i+28>>2];break b}M=G(G(b>>>0)+G(100));d:{if(M=G(0)){a=~~M>>>0;break d}a=0}z[i+32>>2]=a;f=xd(z[i+28>>2],F(a,24));if(f){z[i+28>>2]=f;d=z[i+24>>2];a=d+1|0;break b}le(z[i+28>>2]);z[i+32>>2]=0;z[i+24>>2]=0;z[i+28>>2]=0;sb(e,1,9693,0)}sb(e,1,31289,0);a=0;break a}b=F(d,24)+f|0;z[b+16>>2]=2;z[b+8>>2]=h;z[b+12>>2]=h>>31;y[b>>1]=65359;z[i+24>>2]=a;if((qb(c,z[g+16>>2],2,e)|0)!=2){sb(e,1,7635,0);a=0;break a}lb(z[g+16>>2],o+40|0,2);e:{f:{f=z[o+40>>2];if((f|0)!=65424){while(1){d=33872;if(f>>>0<=65279){z[o>>2]=f;sb(e,1,7432,o);a=0;break a}while(1){a=d;b=z[a>>2];if(b){d=a+12|0;if((b|0)!=(f|0)){continue}}break}g:{h:{if(b){break h}n=2;sb(e,2,9641,0);d=7635;i:{j:{if((qb(c,z[g+16>>2],2,e)|0)!=2){break j}while(1){lb(z[g+16>>2],o+44|0,2);b=33872;f=z[o+44>>2];if(f>>>0>=65280){while(1){a=b;i=z[a>>2];if(i){b=a+12|0;if((f|0)!=(i|0)){continue}}break}if(!(z[a+4>>2]&z[g+8>>2])){d=12181;break j}if(i){if((i|0)==65424){z[o+40>>2]=65424;break g}h=z[c+56>>2];j=z[g+200>>2];a=z[j+24>>2];f=a+1|0;b=z[j+32>>2];if(f>>>0<=b>>>0){d=z[j+28>>2];break i}M=G(G(b>>>0)+G(100));k:{if(M=G(0)){a=~~M>>>0;break k}a=0}z[j+32>>2]=a;d=xd(z[j+28>>2],F(a,24));if(d){z[j+28>>2]=d;a=z[j+24>>2];f=a+1|0;break i}le(z[j+28>>2]);z[j+32>>2]=0;z[j+24>>2]=0;z[j+28>>2]=0;d=9693;break j}n=n+2|0}if((qb(c,z[g+16>>2],2,e)|0)==2){continue}break}}sb(e,1,d,0);sb(e,1,23666,0);a=0;break a}b=F(a,24)+d|0;z[b+16>>2]=n;a=h-n|0;z[b+8>>2]=a;z[b+12>>2]=a>>31;y[b>>1]=0;z[j+24>>2]=f;z[o+40>>2]=i;f=33872;while(1){a=f;b=z[a>>2];if(!b){break h}f=a+12|0;if((b|0)!=(i|0)){continue}break}}if(!(z[a+4>>2]&z[g+8>>2])){sb(e,1,12181,0);a=0;break a}if((qb(c,z[g+16>>2],2,e)|0)!=2){sb(e,1,7635,0);a=0;break a}lb(z[g+16>>2],o+36|0,2);d=z[o+36>>2];if(d>>>0<=1){sb(e,1,13298,0);a=0;break a}d=d-2|0;z[o+36>>2]=d;f=z[g+16>>2];if(C[g+20>>2]>>0){f=xd(f,d);if(!f){le(z[g+16>>2]);z[g+16>>2]=0;z[g+20>>2]=0;sb(e,1,11757,0);a=0;break a}z[g+16>>2]=f;d=z[o+36>>2];z[g+20>>2]=d}d=qb(c,f,d,e);if((d|0)!=z[o+36>>2]){sb(e,1,7635,0);a=0;break a}if(!(La[z[a+8>>2]](g,0,z[g+16>>2],0,d,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){sb(e,1,7653,0);a=0;break a}h=z[c+56>>2];i=z[o+36>>2];j=z[g+200>>2];f=z[j+24>>2];n=f+1|0;a=z[j+32>>2];l:{if(n>>>0<=a>>>0){d=z[j+28>>2];break l}M=G(G(a>>>0)+G(100));m:{if(M=G(0)){a=~~M>>>0;break m}a=0}z[j+32>>2]=a;d=xd(z[j+28>>2],F(a,24));if(!d){break e}z[j+28>>2]=d;f=z[j+24>>2];n=f+1|0}d=F(f,24)+d|0;z[d+16>>2]=i+4;a=(h-i|0)-4|0;z[d+8>>2]=a;z[d+12>>2]=a>>31;y[d>>1]=b;z[j+24>>2]=n;if((qb(c,z[g+16>>2],2,e)|0)!=2){sb(e,1,7635,0);a=0;break a}l=(b|0)==65372?1:l;m=(b|0)==65362?1:m;k=(b|0)==65361?1:k;lb(z[g+16>>2],o+40|0,2);f=z[o+40>>2];if((f|0)!=65424){continue}}break}if(k){break f}}sb(e,1,11569,0);a=0;break a}if(!m){sb(e,1,11615,0);a=0;break a}if(!l){sb(e,1,11661,0);a=0;break a}b=0;n=0;k=0;j=Fa-16|0;Fa=j;l=1;n:{if(!(x[g+188|0]&1)){break n}o:{f=z[g+112>>2];if(!f){break o}p:{while(1){a=z[g+116>>2]+(k<<3)|0;d=z[a>>2];if(d){h=z[a+4>>2];a=b-h|0;a=a>>>0<=b>>>0?a:0;if(b>>>0>>0){f=h-b|0;d=b+d|0;while(1){if(f>>>0<4){break p}lb(d,j+12|0,4);i=z[j+12>>2];h=f-4|0;b=i>>>0>h>>>0;a=b?i-h|0:a;f=h-i|0;n=i+n|0;d=((b?0:i)+d|0)+4|0;if(h>>>0>i>>>0){continue}break}f=z[g+112>>2]}b=a}k=k+1|0;if(k>>>0>>0){continue}break}if(!b){break o}l=0;sb(e,1,8615,0);break n}l=0;sb(e,1,12429,0);break n}b=td(n);z[g+136>>2]=b;if(!b){l=0;sb(e,1,10269,0);break n}z[g+124>>2]=n;m=z[g+116>>2];q:{a=z[g+112>>2];if(a){f=0;b=0;n=0;while(1){h=n<<3;d=h+m|0;i=z[d>>2];if(i){a=z[g+136>>2]+b|0;d=z[d+4>>2];r:{if(d>>>0<=f>>>0){Gd(a,i,d);b=b+d|0;f=f-d|0;break r}Gd(a,i,f);b=b+f|0;m=d-f|0;if(m){f=f+i|0;while(1){if(m>>>0<4){break q}lb(f,j+8|0,4);f=f+4|0;d=z[g+136>>2]+b|0;i=m-4|0;a=z[j+8>>2];if(i>>>0>>0){Gd(d,f,i);b=b+i|0;f=z[j+8>>2]-i|0;break r}Gd(d,f,a);a=z[j+8>>2];b=a+b|0;f=a+f|0;m=i-a|0;if(m){continue}break}}f=0}le(z[h+z[g+116>>2]>>2]);m=z[g+116>>2];a=h+m|0;z[a>>2]=0;z[a+4>>2]=0;a=z[g+112>>2]}n=n+1|0;if(n>>>0>>0){continue}break}n=z[g+124>>2];b=z[g+136>>2]}z[g+144>>2]=n;z[g+120>>2]=b;z[g+112>>2]=0;le(m);z[g+116>>2]=0;break n}l=0;sb(e,1,12429,0)}Fa=j+16|0;if(!l){sb(e,1,21384,0);a=0;break a}sb(e,4,26096,0);a=z[g+200>>2];z[a+8>>2]=z[c+56>>2]-2;z[a+12>>2]=0;z[g+8>>2]=8;a=1;break a}le(z[j+28>>2]);z[j+32>>2]=0;z[j+24>>2]=0;z[j+28>>2]=0;sb(e,1,9693,0);a=0}Fa=o+48|0;Ka=0;return a|0}function Df(a){var b=0,c=0,d=0,e=0,f=0,g=0;d=Fa-304|0;Fa=d;a:{if(!Ue(a,76)){break a}b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}switch((c<<24>>24)-65|0){case 19:break a;case 37:break j;case 46:break k;case 45:break l;case 56:break m;case 55:break n;case 44:break o;case 43:break p;case 41:break q;case 40:break r;case 51:break s;case 50:break t;case 39:break u;case 32:break v;case 34:break w;case 33:break x;case 54:break y;case 20:break d;case 3:break e;case 0:break f;case 30:break g;case 36:break h;case 35:break i;default:break c}}z[a>>2]=z[a>>2]+1;b=Re(d+296|0,1586);c=z[b+4>>2];z[d>>2]=z[b>>2];z[d+4>>2]=c;b=fg(a,d);break a}c=Re(d+288|0,4045);e=z[c+4>>2];z[d+16>>2]=z[c>>2];z[d+20>>2]=e;if(Se(a,d+16|0)){z[d+148>>2]=0;b=gg(a,d+148|0);break a}c=Re(d+280|0,4041);e=z[c+4>>2];z[d+8>>2]=z[c>>2];z[d+12>>2]=e;if(!Se(a,d+8|0)){break a}z[d+148>>2]=1;b=gg(a,d+148|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+272|0,2107);c=z[b+4>>2];z[d+24>>2]=z[b>>2];z[d+28>>2]=c;b=fg(a,d+24|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+264|0,2100);c=z[b+4>>2];z[d+32>>2]=z[b>>2];z[d+36>>2]=c;b=fg(a,d+32|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+256|0,2098);c=z[b+4>>2];z[d+40>>2]=z[b>>2];z[d+44>>2]=c;b=fg(a,d+40|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+248|0,1342);c=z[b+4>>2];z[d+48>>2]=z[b>>2];z[d+52>>2]=c;b=fg(a,d+48|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+240|0,1333);c=z[b+4>>2];z[d+56>>2]=z[b>>2];z[d+60>>2]=c;b=fg(a,d+56|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+232|0,32277);c=z[b+4>>2];z[d+64>>2]=z[b>>2];z[d+68>>2]=c;b=fg(a,d- -64|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+224|0,1246);c=z[b+4>>2];z[d+72>>2]=z[b>>2];z[d+76>>2]=c;b=fg(a,d+72|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+216|0,2736);c=z[b+4>>2];z[d+80>>2]=z[b>>2];z[d+84>>2]=c;b=fg(a,d+80|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+208|0,2642);c=z[b+4>>2];z[d+88>>2]=z[b>>2];z[d+92>>2]=c;b=fg(a,d+88|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+200|0,2664);c=z[b+4>>2];z[d+96>>2]=z[b>>2];z[d+100>>2]=c;b=fg(a,d+96|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+192|0,2663);c=z[b+4>>2];z[d+104>>2]=z[b>>2];z[d+108>>2]=c;b=fg(a,d+104|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+184|0,5229);c=z[b+4>>2];z[d+112>>2]=z[b>>2];z[d+116>>2]=c;b=fg(a,d+112|0);break a}z[a>>2]=z[a>>2]+1;b=Re(d+176|0,5220);c=z[b+4>>2];z[d+120>>2]=z[b>>2];z[d+124>>2]=c;b=fg(a,d+120|0);break a}z[a>>2]=z[a>>2]+1;e=Fa-16|0;Fa=e;z:{if(z[a+4>>2]-z[a>>2]>>>0<9){break z}c=e+8|0;b=z[a>>2];z[c+4>>2]=b+8;z[c>>2]=b;b=z[c>>2];g=z[c+4>>2];A:{while(1){if((b|0)==(g|0)){break A}f=x[b|0];b=b+1|0;if(f-48>>>0<10|(f|32)-97>>>0<6){continue}break}b=0;break z}z[a>>2]=z[a>>2]+8;b=0;if(!Ue(a,69)){break z}b=Fa-16|0;Fa=b;g=Gf(a+408|0,16);f=z[c+4>>2];c=z[c>>2];a=b;z[a>>2]=c;z[a+4>>2]=f;z[a+8>>2]=c;z[a+12>>2]=f;b=If(g,74,0,1,1,1);z[b>>2]=55456;c=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=c;Fa=a+16|0}Fa=e+16|0;break a}z[a>>2]=z[a>>2]+1;e=Fa-16|0;Fa=e;B:{if(z[a+4>>2]-z[a>>2]>>>0<17){break B}c=e+8|0;b=z[a>>2];z[c+4>>2]=b+16;z[c>>2]=b;b=z[c>>2];g=z[c+4>>2];C:{while(1){if((b|0)==(g|0)){break C}f=x[b|0];b=b+1|0;if(f-48>>>0<10|(f|32)-97>>>0<6){continue}break}b=0;break B}z[a>>2]=z[a>>2]+16;b=0;if(!Ue(a,69)){break B}b=Fa-16|0;Fa=b;g=Gf(a+408|0,16);f=z[c+4>>2];c=z[c>>2];a=b;z[a>>2]=c;z[a+4>>2]=f;z[a+8>>2]=c;z[a+12>>2]=f;b=If(g,75,0,1,1,1);z[b>>2]=55568;c=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=c;Fa=a+16|0}Fa=e+16|0;break a}z[a>>2]=z[a>>2]+1;e=Fa-16|0;Fa=e;D:{if(z[a+4>>2]-z[a>>2]>>>0<33){break D}c=e+8|0;b=z[a>>2];z[c+4>>2]=b+32;z[c>>2]=b;b=z[c>>2];g=z[c+4>>2];E:{while(1){if((b|0)==(g|0)){break E}f=x[b|0];b=b+1|0;if(f-48>>>0<10|(f|32)-97>>>0<6){continue}break}b=0;break D}z[a>>2]=z[a>>2]+32;b=0;if(!Ue(a,69)){break D}b=Fa-16|0;Fa=b;g=Gf(a+408|0,16);f=z[c+4>>2];c=z[c>>2];a=b;z[a>>2]=c;z[a+4>>2]=f;z[a+8>>2]=c;z[a+12>>2]=f;b=If(g,76,0,1,1,1);z[b>>2]=55680;c=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=c;Fa=a+16|0}Fa=e+16|0;break a}b=Re(d+168|0,3909);c=z[b+4>>2];z[d+128>>2]=z[b>>2];z[d+132>>2]=c;if(!Se(a,d+128|0)){break b}b=Te(a);if(!b){break b}if(Ue(a,69)){break a}break b}c=Xe(a);z[d+148>>2]=c;if(!c){break a}if(!Ue(a,69)){break a}a=Gf(a+408|0,12);c=z[d+148>>2];b=If(a,70,0,1,1,1);z[b+8>>2]=c;z[b>>2]=55792;break a}c=Re(d+160|0,2572);e=z[c+4>>2];z[d+136>>2]=z[c>>2];z[d+140>>2]=e;if(!Se(a,d+136|0)){break b}Ue(a,48);if(!Ue(a,69)){break a}b=kf(a,1852);break a}c=z[a>>2];if(z[a+4>>2]-c>>>0>1){c=A[c+1|0]}else{c=0}if((c|0)!=108){break a}c=Uf(a,0);z[d+148>>2]=c;if(!c){break a}if(!Ue(a,69)){break a}a=Gf(a+408|0,12);c=z[d+148>>2];b=If(a,71,0,1,1,1);z[b+8>>2]=c;z[b>>2]=56708;break a}b=Xe(a);z[d+156>>2]=b;if(!b){break b}Ve(d+148|0,a,1);b=0;if(z[d+148>>2]==z[d+152>>2]){break a}if(!Ue(a,69)){break a}b=Fa-16|0;Fa=b;f=Gf(a+408|0,20);g=z[d+156>>2];c=z[d+152>>2];e=z[d+148>>2];a=b;z[a>>2]=e;z[a+4>>2]=c;z[a+8>>2]=e;z[a+12>>2]=c;b=If(f,72,0,1,1,1);z[b+8>>2]=g;z[b>>2]=56812;c=z[a+4>>2];z[b+12>>2]=z[a>>2];z[b+16>>2]=c;Fa=a+16|0;break a}b=0}Fa=d+304|0;return b}function Kc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=z[a+32>>2];a:{if(b){break a}e=z[a+16>>2];b:{if((e|0)>5){f=e;break b}f=z[a+20>>2];c:{d:{if((f|0)>=5){d=z[a>>2];b=z[d>>2];z[a>>2]=d+4;i=f-4|0;break d}if((f|0)<=0){b=-1;break c}c=z[a>>2];e:{if((f|0)==1){d=c;b=0;h=-1;break e}h=-1;b=0;while(1){d=c+1|0;z[a>>2]=d;c=A[c|0];g=f-1|0;z[a+20>>2]=g;h=(255<>>0>2;c=d;f=g;if(j){continue}break}}z[a>>2]=d+1;b=(255<>2]=i}d=z[a+24>>2];c=b>>>24|0;z[a+24>>2]=(c|0)==255;h=b>>>8&255;i=(h|0)==255;f=d;d=b&255;g=(d|0)==255;b=b>>>16&255;j=(b|0)==255;k=(i+(f+g|0)|0)+j|0;f=(e-k|0)+32|0;z[a+16>>2]=f;l=z[a+12>>2];d=c|(b|(h|d<<(g?7:8))<<(i?7:8))<<(j?7:8);c=(k-e|0)+32|0;e=c&31;if((c&63)>>>0>=32){c=d<>>32-e;d=d<>2]=d|z[a+8>>2];z[a+12>>2]=c|l;b=0;if((f|0)<6){break a}}b=z[a+28>>2];c=z[(b<<2)+38416>>2];g=z[a+8>>2];d=z[a+12>>2];e=d;f:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break f}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}z[a+16>>2]=f;z[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;z[a+12>>2]=c;e=z[a+44>>2]|d>>31;z[a+40>>2]=z[a+40>>2]&-64|d;z[a+44>>2]=e;b=1;if((f|0)<6){break a}b=z[a+28>>2];c=z[(b<<2)+38416>>2];g=z[a+8>>2];d=z[a+12>>2];e=d;g:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break g}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}z[a+16>>2]=f;z[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;z[a+12>>2]=c;e=z[a+44>>2];z[a+40>>2]=z[a+40>>2]&-8065|d<<7;z[a+44>>2]=d>>31<<7|d>>>25|e;b=2;if((f|0)<6){break a}b=z[a+28>>2];c=z[(b<<2)+38416>>2];g=z[a+8>>2];d=z[a+12>>2];e=d;h:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break h}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}z[a+16>>2]=f;z[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;z[a+12>>2]=c;e=z[a+44>>2];z[a+40>>2]=z[a+40>>2]&-1032193|d<<14;z[a+44>>2]=d>>31<<14|d>>>18|e;b=3;if((f|0)<6){break a}b=z[a+28>>2];c=z[(b<<2)+38416>>2];g=z[a+8>>2];d=z[a+12>>2];e=d;i:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break i}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}z[a+16>>2]=f;z[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;z[a+12>>2]=c;e=z[a+44>>2];z[a+40>>2]=z[a+40>>2]&-132120577|d<<21;z[a+44>>2]=d>>31<<21|d>>>11|e;b=4;if((f|0)<6){break a}b=z[a+28>>2];c=z[(b<<2)+38416>>2];g=z[a+8>>2];d=z[a+12>>2];e=d;j:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break j}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}z[a+16>>2]=f;z[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;z[a+12>>2]=c;e=z[a+44>>2]&-4;z[a+40>>2]=z[a+40>>2]&268435455|d<<28;z[a+44>>2]=d>>31<<28|d>>>4|e;b=5;if((f|0)<6){break a}b=z[a+28>>2];c=z[(b<<2)+38416>>2];g=z[a+8>>2];d=z[a+12>>2];e=d;k:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break k}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}z[a+16>>2]=f;z[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;z[a+12>>2]=c;e=z[a+44>>2]&-505;z[a+40>>2]=z[a+40>>2];z[a+44>>2]=d<<3|e;b=6;if((f|0)<6){break a}b=z[a+28>>2];c=z[(b<<2)+38416>>2];g=z[a+8>>2];d=z[a+12>>2];e=d;l:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break l}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}z[a+16>>2]=f;z[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;z[a+12>>2]=c;e=z[a+44>>2]&-64513;z[a+40>>2]=z[a+40>>2];z[a+44>>2]=d<<10|e;b=7;if((f|0)<6){break a}b=z[a+28>>2];c=z[(b<<2)+38416>>2];g=z[a+8>>2];d=z[a+12>>2];e=d;m:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break m}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}z[a+16>>2]=f;z[a+28>>2]=b;f=c&31;if((c&63)>>>0>=32){c=g<>>32-f|e<>2]=f;z[a+12>>2]=c;f=z[a+44>>2]&-8257537;z[a+40>>2]=z[a+40>>2];z[a+44>>2]=d<<17|f;b=8}z[a+32>>2]=b-1;f=z[a+44>>2];c=f>>>7|0;d=z[a+40>>2];z[a+40>>2]=(f&127)<<25|d>>>7;z[a+44>>2]=c;return d&127}function Xc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,B=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0;o=Fa-80|0;Fa=o;m=z[(z[a+20>>2]+F(z[c+28>>2],76)|0)+28>>2];v=z[c+40>>2];s=z[c+36>>2];t=z[c+32>>2];a:{if(A[b|0]&2){if(f>>>0<=5){if((g|0)!=1){break a}z[o+68>>2]=6;z[o+64>>2]=f;sb(h,1,26167,o- -64|0);break a}x[d|0]=255;x[d+1|0]=145;x[d+2|0]=0;x[d+3|0]=4;x[d+4|0]=z[a+840>>2]>>>8;x[d+5|0]=z[a+840>>2];f=f-6|0;a=d+6|0}else{a=d}r=a;b:{c:{d:{e:{f:{g:{if(v){break g}k=m+F(t,152)|0;if(!z[k+24>>2]){break g}j=k+28|0;i=F(s,40);while(1){h:{if(z[j+12>>2]==z[j+4>>2]|z[j+8>>2]==z[j>>2]){break h}a=F(z[k+20>>2],z[k+16>>2]);if(a>>>0<=s>>>0){break f}a=i+z[j+20>>2]|0;kd(z[a+32>>2]);kd(z[a+36>>2]);l=F(z[a+20>>2],z[a+16>>2]);if(!l){break h}c=0;while(1){n=z[a+24>>2]+F(c,52)|0;z[n+40>>2]=0;nd(z[a+36>>2],c,z[j+28>>2]-z[n+28>>2]|0);c=c+1|0;if((l|0)!=(c|0)){continue}break}}j=j+36|0;p=p+1|0;if(p>>>0>2]){continue}break}}i=td(20);if(!i){break a}z[i+12>>2]=0;z[i+16>>2]=8;z[i+8>>2]=r;z[i>>2]=r;z[i+4>>2]=f+r;Sc(i,1);u=m+F(t,152)|0;m=u+28|0;if(z[u+24>>2]){I=v+1|0;J=F(s,40);a=m;while(1){t=a;i:{if(z[a+12>>2]==z[a+4>>2]|z[a+8>>2]==z[a>>2]){break i}a=F(z[u+20>>2],z[u+16>>2]);if(a>>>0<=s>>>0){break e}w=z[t+20>>2]+J|0;E=F(z[w+20>>2],z[w+16>>2]);if(!E){break i}c=z[w+24>>2];a=0;while(1){if(!(z[c+40>>2]|!z[z[c+4>>2]+F(v,24)>>2])){nd(z[w+32>>2],a,v)}c=c+52|0;a=a+1|0;if((E|0)!=(a|0)){continue}break}if(!E){break i}n=z[w+24>>2];y=0;while(1){B=z[n+4>>2]+F(v,24)|0;j:{if(!z[n+40>>2]){od(i,z[w+32>>2],y,I);break j}Sc(i,z[B>>2]!=0)}c=z[B>>2];k:{if(!c){break k}if(!z[n+40>>2]){z[n+32>>2]=3;od(i,z[w+36>>2],y,999);c=z[B>>2]}l:{m:{switch(c-1|0){case 0:Sc(i,0);break l;case 1:Tc(i,2,2);break l;default:break m}}if(c>>>0<=5){Tc(i,c-3|12,4);break l}if(c>>>0<=36){Tc(i,c-6|480,9);break l}if(c>>>0>164){break l}Tc(i,c-37|65408,16)}a=0;j=0;k=0;p=z[n+40>>2];D=p+z[B>>2]|0;n:{if(p>>>0>=D>>>0){break n}K=D-1|0;q=z[n+8>>2]+F(p,24)|0;while(1){j=j+1|0;a=z[q+16>>2]+a|0;if(!(!(x[q+20|0]&1)&(p|0)!=(K|0))){c=0;l=0;if((a|0)>=2){while(1){l=l+1|0;G=a>>>0>3;a=a>>>1|0;if(G){continue}break}}if((j|0)>=2){while(1){a=c;c=a+1|0;G=j>>>0>3;j=j>>>1|0;if(G){continue}break}a=a^-1}else{a=0}a=(a+(l-z[n+32>>2]|0)|0)+1|0;k=(a|0)<(k|0)?k:a;j=0;a=0}q=q+24|0;p=p+1|0;if((D|0)!=(p|0)){continue}break}c=k;if((c|0)<=0){break n}while(1){Sc(i,1);l=c>>>0>1;c=c-1|0;if(l){continue}break}}Sc(i,0);z[n+32>>2]=z[n+32>>2]+k;p=z[n+40>>2];if(D>>>0<=p>>>0){break k}q=z[n+8>>2]+F(p,24)|0;while(1){c=j+1|0;a=z[q+16>>2]+a|0;o:{if(!(x[q+20|0]&1|((z[n+40>>2]+z[B>>2]|0)-1|0)==(p|0))){j=c;break o}j=0;l=0;if((c|0)>=2){while(1){l=l+1|0;k=c>>>0>3;c=c>>>1|0;if(k){continue}break}}Tc(i,a,z[n+32>>2]+l|0);a=0}q=q+24|0;p=p+1|0;if((D|0)!=(p|0)){continue}break}}n=n+52|0;y=y+1|0;if((E|0)!=(y|0)){continue}break}}a=t+36|0;H=H+1|0;if(H>>>0>2]){continue}break}}k=z[i+12>>2];a=k<<8&65280;z[i+12>>2]=a;z[i+16>>2]=(a|0)==65280?7:8;c=z[i+8>>2];a=0;p:{if(c>>>0>=C[i+4>>2]){break p}z[i+8>>2]=c+1;x[c|0]=k;a=1;if(z[i+16>>2]!=7){break p}k=z[i+12>>2];a=k<<8&65280;z[i+12>>2]=a;z[i+16>>2]=(a|0)==65280?7:8;c=z[i+8>>2];a=0;if(c>>>0>=C[i+4>>2]){break p}z[i+8>>2]=c+1;x[c|0]=k;a=1}if(!a){_a(i);break a}a=z[i+8>>2]-z[i>>2]|0;_a(i);c=f-a|0;l=a+r|0;if(A[b|0]&4){if(c>>>0<=1){if((g|0)!=1){break a}z[o+20>>2]=2;z[o+16>>2]=c;sb(h,1,26167,o+16|0);break a}x[l|0]=255;x[l+1|0]=146;l=l+2|0;c=c-2|0}if(!z[u+24>>2]){break c}if((g|0)==1){break d}k=0;f=F(s,40);g=F(v,24);while(1){q:{if(z[m+12>>2]==z[m+4>>2]|z[m+8>>2]==z[m>>2]){break q}a=f+z[m+20>>2]|0;r=F(z[a+20>>2],z[a+16>>2]);if(!r){break q}j=z[a+24>>2];b=0;while(1){a=g+z[j+4>>2]|0;t=z[a>>2];if(t){a=z[a+4>>2];if(c>>>0>>0){b=0;break b}z[j+40>>2]=t+z[j+40>>2];l=a+l|0;c=c-a|0}j=j+52|0;b=b+1|0;if((r|0)!=(b|0)){continue}break}}m=m+36|0;k=k+1|0;if(k>>>0>2]){continue}break}break c}z[o+52>>2]=a;z[o+48>>2]=s;sb(h,1,7555,o+48|0);break a}z[o+36>>2]=a;z[o+32>>2]=s;sb(h,1,7555,o+32|0);break a}k=0;f=F(s,40);g=F(v,24);while(1){r:{if(z[m+12>>2]==z[m+4>>2]|z[m+8>>2]==z[m>>2]){break r}a=f+z[m+20>>2]|0;r=F(z[a+20>>2],z[a+16>>2]);if(!r){break r}j=z[a+24>>2];q=0;while(1){b=g+z[j+4>>2]|0;if(z[b>>2]){a=z[b+4>>2];if(c>>>0>>0){b=1;break b}a=Gd(l,z[b+16>>2],a);z[j+40>>2]=z[j+40>>2]+z[b>>2];b=z[b+4>>2];c=c-b|0;l=a+b|0}j=j+52|0;q=q+1|0;if((r|0)!=(q|0)){continue}break}}m=m+36|0;k=k+1|0;if(k>>>0>2]){continue}break}}z[e>>2]=z[e>>2]+(l-d|0);L=1;break a}if(!b){break a}z[o+4>>2]=a;z[o>>2]=c;sb(h,1,26167,o)}Fa=o+80|0;return L}function Gc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,A=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;h=33696;q=z[b+76>>2];i=(q+F(c,5644)|0)+F(d,148)|0;p=i;a:{b:{switch(z[i+460>>2]){default:h=33756;break a;case 0:h=33708;break a;case 3:h=33720;break a;case 1:h=33732;break a;case 4:break a;case 2:break b}}h=33744}n=h+4|0;h=F(d,240)+a|0;z[h+44>>2]=1;z[h+84>>2]=z[p+460>>2];o=h+48|0;c:{d:{if(!(x[b+100|0]&1)){break d}j=B[b>>1];if((j-3&65535)>>>0<4){break c}if(j>>>0>=1024){if((g|0)==1){break c}if(j>>>0>=2460){break d}break c}if((g|0)==1){break c}}z[o>>2]=z[i+496>>2];z[h+60>>2]=z[i+512>>2];z[h+52>>2]=z[i+500>>2];z[h- -64>>2]=z[i+516>>2];z[h+68>>2]=z[i+492>>2];z[h+56>>2]=z[i+508>>2];z[h+72>>2]=z[i+504>>2];z[h+76>>2]=z[i+520>>2];z[h+100>>2]=z[i+524>>2];z[h+108>>2]=z[i+532>>2];z[h+104>>2]=z[i+528>>2];z[h+112>>2]=z[i+536>>2];return}if((f|0)<=2){k=(F(c,5644)+q|0)+F(d,148)|0;r=k+512|0;s=k+496|0;t=k+516|0;u=k+500|0;v=k+508|0;w=k+492|0;y=k+520|0;A=k+504|0;D=k+536|0;E=k+528|0;l=F(d,240)+a|0;G=l+60|0;H=l- -64|0;I=l+52|0;J=l+56|0;K=l+68|0;L=l+76|0;M=l+72|0;N=l+112|0;O=l+104|0;m=f;while(1){h=s;g=o;i=r;j=G;e:{f:{g:{h:{i:{m=m+1|0;switch(x[m+n|0]-67|0){case 15:break f;case 13:break g;case 9:break h;case 0:break i;default:break e}}h=u;g=I;i=t;j=H;break f}h=w;g=K;i=v;j=J;break f}h=A;g=M;i=y;j=L;if(C[p+460>>2]<2){break f}z[l+100>>2]=z[k+524>>2];z[l+108>>2]=z[k+532>>2];h=E;g=O;i=D;j=N}z[g>>2]=z[h>>2];z[j>>2]=z[i>>2]}if((m|0)!=3){continue}break}}j:{if(e){if((f|0)<0){break j}e=(F(c,5644)+q|0)+F(d,148)|0;g=F(d,240)+a|0;i=g- -64|0;h=1;while(1){a=f;k:{l:{m:{n:{o:{j=f+n|0;switch(x[j|0]-67|0){case 13:break l;case 9:break m;case 15:break n;case 0:break o;default:break k}}f=z[e+556>>2];z[g+52>>2]=f-1;z[i>>2]=f;break k}f=z[e+552>>2];z[o>>2]=f-1;z[g+60>>2]=f;break k}f=z[e+548>>2];z[g+68>>2]=f-1;z[g+56>>2]=f;break k}if(C[p+460>>2]<=1){f=z[e+560>>2];z[g+72>>2]=f-1;z[g+76>>2]=f;break k}f=z[e+564>>2];m=z[e+540>>2];z[g+100>>2]=f-(((f>>>0)%(m>>>0)|0)+m|0);z[g+104>>2]=f;f=z[e+568>>2];m=z[e+544>>2];z[g+108>>2]=f-(((f>>>0)%(m>>>0)|0)+m|0);z[g+112>>2]=f}f=(h|0)!=1;h=0;p:{if(f){break p}h=1;q:{r:{switch(x[j|0]-67|0){case 15:f=z[e+552>>2];if((f|0)==z[e+512>>2]){h=0;if(!Hc(a-1|0,b,c,d,n)){break p}f=z[e+496>>2];z[o>>2]=f;h=1;f=f+1|0;z[g+60>>2]=f;z[e+552>>2]=f;break p}z[o>>2]=f;f=f+1|0;z[g+60>>2]=f;z[e+552>>2]=f;break q;case 0:f=z[e+556>>2];if((f|0)==z[e+516>>2]){h=0;if(!Hc(a-1|0,b,c,d,n)){break p}f=z[e+500>>2];z[g+52>>2]=f;h=1;f=f+1|0;z[i>>2]=f;z[e+556>>2]=f;break p}z[g+52>>2]=f;f=f+1|0;z[i>>2]=f;z[e+556>>2]=f;break q;case 9:f=z[e+548>>2];if((f|0)==z[e+508>>2]){h=0;if(!Hc(a-1|0,b,c,d,n)){break p}f=z[e+492>>2];z[g+68>>2]=f;h=1;f=f+1|0;z[g+56>>2]=f;z[e+548>>2]=f;break p}z[g+68>>2]=f;f=f+1|0;z[g+56>>2]=f;z[e+548>>2]=f;break q;case 13:break r;default:break p}}if(C[p+460>>2]<=1){f=z[e+560>>2];if((f|0)==z[e+520>>2]){h=0;if(!Hc(a-1|0,b,c,d,n)){break p}f=z[e+504>>2];z[g+72>>2]=f;h=1;f=f+1|0;z[g+76>>2]=f;z[e+560>>2]=f;break p}z[g+72>>2]=f;f=f+1|0;z[g+76>>2]=f;z[e+560>>2]=f;break q}f=z[e+564>>2];if(f>>>0>=C[e+528>>2]){f=z[e+568>>2];s:{if(f>>>0>=C[e+536>>2]){h=0;if(!Hc(a-1|0,b,c,d,n)){break p}f=z[e+532>>2];z[g+108>>2]=f;h=z[e+544>>2];f=h+f-(f>>>0)%(h>>>0)|0;h=1;break s}z[g+108>>2]=f;h=z[e+544>>2];f=h+f-(f>>>0)%(h>>>0)|0;h=0}z[g+112>>2]=f;z[e+568>>2]=f;f=z[e+524>>2];z[g+100>>2]=f;j=z[e+540>>2];f=j+f-(f>>>0)%(j>>>0)|0;z[g+104>>2]=f;z[e+564>>2]=f;break p}z[g+100>>2]=f;h=z[e+540>>2];f=h+f-(f>>>0)%(h>>>0)|0;z[g+104>>2]=f;z[e+564>>2]=f}h=0}f=a-1|0;if((a|0)>0){continue}break}break j}if((f|0)<0){break j}b=(F(c,5644)+q|0)+F(d,148)|0;c=F(d,240)+a|0;g=c- -64|0;while(1){a=f;t:{u:{switch(x[f+n|0]-67|0){case 0:d=z[b+500>>2];z[c+52>>2]=d;d=d+1|0;z[g>>2]=d;z[b+556>>2]=d;break t;case 15:d=z[b+496>>2];z[o>>2]=d;d=d+1|0;z[c+60>>2]=d;z[b+552>>2]=d;break t;case 9:d=z[b+492>>2];z[c+68>>2]=d;d=d+1|0;z[c+56>>2]=d;z[b+548>>2]=d;break t;case 13:break u;default:break t}}if(C[p+460>>2]<=1){d=z[b+504>>2];z[c+72>>2]=d;d=d+1|0;z[c+76>>2]=d;z[b+560>>2]=d;break t}d=z[b+532>>2];e=z[b+524>>2];z[c+100>>2]=e;f=z[b+540>>2];e=f+e-(e>>>0)%(f>>>0)|0;z[c+104>>2]=e;z[c+108>>2]=d;f=z[b+544>>2];d=f+d-(d>>>0)%(f>>>0)|0;z[c+112>>2]=d;z[b+564>>2]=e;z[b+568>>2]=d}f=a-1|0;if((a|0)>0){continue}break}}}function ij(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,D,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;var K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;b=0;c=a;z[a+40>>2]=0;Q=F(z[a+108>>2],z[a+104>>2]);if(Q){l=c+80|0;o=z[c+72>>2];y=z[c+156>>2];while(1){J=0;d=z[l+16>>2];e=z[l+24>>2];f=(b>>>0)/(e>>>0)|0;a=z[l+8>>2]+F(d,f)|0;d=a+d|0;d=a>>>0>d>>>0?-1:d;g=z[o+12>>2];t=d>>>0>>0?d:g;g=z[l+12>>2];d=b;b=z[l+4>>2]+F(g,b-F(e,f)|0)|0;e=b+g|0;e=b>>>0>e>>>0?-1:e;f=z[o+8>>2];u=e>>>0>>0?e:f;e=z[o+4>>2];v=a>>>0>e>>>0?a:e;a=z[o>>2];w=a>>>0>>0?b:a;H=z[l+76>>2];P=z[o+16>>2];a:{if(!P){i=2147483647;m=0;a=0;j=2147483647;break a}B=z[(F(d,5644)+H|0)+5584>>2];D=z[o+24>>2];i=2147483647;m=0;a=0;j=2147483647;while(1){p=z[D+4>>2];b=p-1|0;f=0-!p|0;e=f;g=e+1|0;e=b+t|0;g=e>>>0>>0?g:f;R=ro(e,g,p,0);q=z[D>>2];g=q-1|0;h=0-!q|0;e=h;k=e+1|0;e=g+u|0;k=e>>>0>>0?k:h;e=ro(e,k,q,0);b=b+v|0;f=b>>>0>>0?f+1|0:f;f=ro(b,f,p,0);b=g+w|0;g=b>>>0>>0?h+1|0:h;S=ro(b,g,q,0);I=z[B+4>>2];b=I;b:{if(a>>>0>=b>>>0){b=a;if(!I){break b}}g=e;n=0;E=0;a=0;while(1){k=(n^-1)+I|0;e=k&31;if((k&63)>>>0>=32){h=-1<>>32-e}G=r^-1;e=G;s=e+g|0;x=h^-1;h=x;K=e>>>0>s>>>0?h+1|0:h;e=k&31;L=(E<<2)+B|0;r=z[L+812>>2];h=r&31;if((r&63)>>>0>=32){h=-1<>>32-h}M=M^-1;N=K>>>e|0;e=((1<>>e;K=(k&63)>>>0>=32;N=K?N:e;s=M+N|0;e=h^-1;h=s>>>0>>0?e+1|0:e;e=r&31;O=(r&63)>>>0>=32?h>>>e|0:((1<>>e;h=x+1|0;s=G+S|0;M=s>>>0>>0?h:x;e=k&31;s=K?M>>>e|0:((1<>>e;M=(s|0)!=(N|0)?O-(s>>>r|0)&-1>>>r:0;N=G+R|0;K=N>>>0>>0?h:x;s=z[L+944>>2];h=s&31;if((s&63)>>>0>=32){h=-1<>>32-h}L=L^-1;O=((1<>>e;N=(k&63)>>>0>=32;O=N?K>>>e|0:O;K=L+O|0;e=h^-1;h=K>>>0>>0?e+1|0:e;e=s&31;L=(s&63)>>>0>=32?h>>>e|0:((1<>>e;h=f+G|0;x=h>>>0>>0?x+1|0:x;e=k&31;e=N?x>>>e|0:((1<>>e;e=F((e|0)!=(O|0)?L-(e>>>s|0)&-1>>>s:0,M);m=e>>>0>m>>>0?e:m;h=k+s|0;e=h&31;if((h&63)>>>0>=32){h=p<>>32-e;e=p<>>0>j>>>0?j:e;h=k+r|0;e=h&31;if((h&63)>>>0>=32){h=q<>>32-e;e=q<>>0>i>>>0?i:e;n=n+1|0;E=E+1|0;a=E?a:a+1|0;if(a|(E|0)!=(I|0)){continue}break}a=b}B=B+1080|0;D=D+52|0;J=J+1|0;if((P|0)!=(J|0)){continue}break}}b=F(d,5644)+H|0;e=z[b+420>>2];c:{if(A[b+5640|0]&4){a=z[b+428>>2];z[b+496>>2]=z[b+424>>2];z[b+500>>2]=a;z[b+492>>2]=0;z[b+544>>2]=j;z[b+540>>2]=i;z[b+536>>2]=t;z[b+532>>2]=v;z[b+528>>2]=u;z[b+524>>2]=w;z[b+520>>2]=m;z[b+504>>2]=0;z[b+516>>2]=z[b+440>>2];a=z[b+436>>2];z[b+508>>2]=z[b+432>>2];z[b+512>>2]=a;z[b+460>>2]=z[b+456>>2];if(e-1>>>0>4294967293){break c}b=b+424|0;a=1;while(1){f=z[b+152>>2];z[b+220>>2]=z[b+148>>2];z[b+224>>2]=f;z[b+228>>2]=0;z[b+268>>2]=j;z[b+264>>2]=i;z[b+260>>2]=t;z[b+256>>2]=v;z[b+252>>2]=u;z[b+248>>2]=w;z[b+244>>2]=m;f=z[b+164>>2];z[b+236>>2]=z[b+160>>2];z[b+240>>2]=f;f=z[b+156>>2];z[b+232>>2]=f;z[b+184>>2]=z[b+180>>2];z[b+216>>2]=f>>>0>C[b+84>>2]?f:0;b=b+148|0;f=(a|0)==(e|0);a=a+1|0;if(!f){continue}break}break c}if((e|0)==-1){break c}f=F(d,5644)+H|0;b=f+424|0;g=z[f+4>>2];f=z[f+8>>2];n=0;while(1){z[b+92>>2]=P;z[b+76>>2]=0;z[b+80>>2]=0;z[b+88>>2]=a;z[b+84>>2]=f;z[b+68>>2]=0;z[b+72>>2]=0;z[b+120>>2]=j;z[b+116>>2]=i;z[b+112>>2]=t;z[b+108>>2]=v;z[b+104>>2]=u;z[b+100>>2]=w;z[b+96>>2]=m;z[b+36>>2]=g;b=b+148|0;h=(e|0)!=(n|0);n=n+1|0;if(h){continue}break}}b=0;a=0;while(1){e=nc(l,b,d);z[c+40>>2]=e+z[c+40>>2];a=a+e|0;b=b+1|0;if(b>>>0<=C[y+420>>2]){continue}break}z[y+5592>>2]=a;y=y+5644|0;b=d+1|0;if((Q|0)!=(b|0)){continue}break}}a=1;Ka=0;return a|0}function Xl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;c=0;b=Fa-16|0;Fa=b;a:{b:{c:{d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}d=d<<24>>24;if((d|0)!=71){if((d|0)!=84){break a}d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{d=z[a>>2];if(z[a+4>>2]-d>>>0>1){d=A[d+1|0]}else{d=0}d=d<<24>>24;switch(d-65|0){case 2:break h;case 8:break j;case 0:break m;case 1:case 3:case 4:case 5:case 6:break d;case 7:break f;default:break n}}switch(d-83|0){case 4:break g;case 0:break i;case 1:break k;case 3:break l;case 2:break d;default:break e}}z[a>>2]=z[a>>2]+2;c=ef(a);z[b+4>>2]=c;if(!c){break b}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6387);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}z[a>>2]=z[a>>2]+2;c=Xe(a);z[b+4>>2]=c;if(!c){break b}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6539);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}z[a>>2]=z[a>>2]+2;c=Xe(a);z[b+4>>2]=c;if(!c){break b}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6571);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}z[a>>2]=z[a>>2]+2;c=Xe(a);z[b+4>>2]=c;if(!c){break b}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6418);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}z[a>>2]=z[a>>2]+2;c=Xe(a);z[b+4>>2]=c;if(!c){break b}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6507);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}z[a>>2]=z[a>>2]+2;d=Xe(a);z[b+12>>2]=d;if(!d){break a}Ve(b+4|0,a,1);if(z[b+4>>2]==z[b+8>>2]){break a}if(!Ue(a,95)){break a}c=Xe(a);z[b+4>>2]=c;if(!c){break b}a=Gf(a+408|0,16);d=z[b+4>>2];e=z[b+12>>2];c=If(a,21,0,1,1,1);z[c+12>>2]=e;z[c+8>>2]=d;z[c>>2]=53052;break a}z[a>>2]=z[a>>2]+2;d=cf(a,0);z[b+4>>2]=d;if(!d){break a}c=We(a,6432,b+4|0);break a}z[a>>2]=z[a>>2]+2;d=cf(a,0);z[b+4>>2]=d;if(!d){break a}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6466);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}if((d|0)==99){break c}}z[a>>2]=z[a>>2]+1;d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}if(yf(a)){break a}c=Te(a);z[b+4>>2]=c;if(!c){break b}if((d&255)==118){d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6611);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6607);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}o:{p:{q:{d=z[a>>2];if(z[a+4>>2]-d>>>0>1){d=A[d+1|0]}else{d=0}d=d<<24>>24;switch(d-82|0){case 1:case 2:case 3:break a;case 0:break p;case 4:break q;default:break o}}z[a>>2]=z[a>>2]+2;d=cf(a,0);z[b+4>>2]=d;if(!d){break a}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6551);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}z[a>>2]=z[a>>2]+2;d=cf(a,0);z[b+4>>2]=d;if(!d){break a}c=zf(a,b+12|0);d=Ue(a,95);if(!c){c=0;if(!d){break a}}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6362);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}if((d|0)!=73){break a}z[a>>2]=z[a>>2]+2;z[b+4>>2]=0;if(Af(a,b+4|0)|!z[b+4>>2]){break a}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6692);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}z[a>>2]=z[a>>2]+2;if(yf(a)){break a}if(yf(a)){break a}c=Te(a);z[b+4>>2]=c;if(!c){break b}d=Fa-16|0;Fa=d;c=Gf(a+408|0,20);a=Re(d+8|0,6580);e=z[b+4>>2];f=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=f;c=Hf(c,d,e);Fa=d+16|0;break a}c=0}Fa=b+16|0;Ka=0;return c|0}function hl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,A,C,D,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;A=A|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;b=0;j=0;a:{b:{c:{d=c;d:{if(!e|(!a|!c)){break d}if(z[e+16>>2]-16385>>>0<=4294950911){sb(g,1,11370,0);a=0;break a}if(!Tb(z[a>>2],d,e,g)){break d}z[a+64>>2]=1;z[a+56>>2]=1785737760;z[a+60>>2]=0;b=td(4);z[a+68>>2]=b;if(!b){break c}z[b>>2]=1785737760;b=z[e+16>>2];z[a+20>>2]=b;l=td(F(b,12));z[a+72>>2]=l;if(!l){break c}z[a+16>>2]=z[e+12>>2]-z[e+4>>2];z[a+12>>2]=z[e+8>>2]-z[e>>2];f=z[e+24>>2];c=z[f+24>>2];z[a+24>>2]=(c+(z[f+32>>2]<<7)|0)-1;h=z[e+16>>2];e:{if(h>>>0<2){break e}i=h-1|0;k=i&3;b=1;if(h-2>>>0>=3){m=i&-4;while(1){i=f+F(b,52)|0;if((c|0)!=z[i+24>>2]){z[a+24>>2]=255}if((c|0)!=z[i+76>>2]){z[a+24>>2]=255}if((c|0)!=z[i+128>>2]){z[a+24>>2]=255}if((c|0)!=z[i+180>>2]){z[a+24>>2]=255}b=b+4|0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}if(!k){break e}i=0;while(1){if((c|0)!=z[(f+F(b,52)|0)+24>>2]){z[a+24>>2]=255}b=b+1|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}}b=0;z[a+36>>2]=0;z[a+28>>2]=7;z[a+32>>2]=0;f:{if(!h){break f}if((h|0)!=1){i=h&-2;k=0;while(1){c=f+F(b,52)|0;z[(l+F(b,12)|0)+8>>2]=(z[c+24>>2]+(z[c+32>>2]<<7)|0)-1;j=b|1;c=f+F(j,52)|0;z[(l+F(j,12)|0)+8>>2]=(z[c+24>>2]+(z[c+32>>2]<<7)|0)-1;b=b+2|0;k=k+2|0;if((i|0)!=(k|0)){continue}break}}if(!(h&1)){break f}c=l+F(b,12)|0;b=f+F(b,52)|0;z[c+8>>2]=(z[b+24>>2]+(z[b+32>>2]<<7)|0)-1}g:{h:{if(z[e+32>>2]){z[a+40>>2]=2;b=0;break h}z[a+40>>2]=1;b=z[e+20>>2];if(b-1>>>0>2){break g}b=b+15|0}z[a+48>>2]=b}i:{if(!h){break i}c=0;i=0;k=0;b=0;if(h>>>0>=4){o=h&-4;j=0;while(1){p=b|1;l=B[(f+F(p,52)|0)+48>>1];q=b|2;m=B[(f+F(q,52)|0)+48>>1];r=b|3;n=B[(f+F(r,52)|0)+48>>1];s=p;p=B[(f+F(b,52)|0)+48>>1];i=n?r:m?q:l?s:p?b:i;k=(((((p|0)!=0)+k|0)+((l|0)!=0)|0)+((m|0)!=0)|0)+((n|0)!=0)|0;b=b+4|0;j=j+4|0;if((o|0)!=(j|0)){continue}break}}j=h&3;if(j){while(1){l=B[(f+F(b,52)|0)+48>>1];i=l?b:i;b=b+1|0;k=((l|0)!=0)+k|0;c=c+1|0;if((j|0)!=(c|0)){continue}break}}b=25646;j:{k:{switch(k|0){case 0:break i;case 1:break k;default:break j}}b=25489;c=z[a+48>>2]-16|0;if(c>>>0>2){break j}b=24091;c=z[(c<<2)+34304>>2];if(h>>>0<=c>>>0){break j}b=25563;if(c>>>0>i>>>0){break j}b=td(8);z[a+116>>2]=b;if(!b){break b}h=td(F(z[e+16>>2],6));b=z[a+116>>2];z[b>>2]=h;if(!h){break b}g=z[e+16>>2];y[b+4>>1]=g;b=0;if(c-1>>>0>=3){l=c&-4;j=0;while(1){f=h+F(b,6)|0;i=b|1;y[f+4>>1]=i;y[f+2>>1]=0;y[f>>1]=b;f=h+F(i,6)|0;k=b|2;y[f+4>>1]=k;y[f+2>>1]=0;y[f>>1]=i;f=h+F(k,6)|0;i=b|3;y[f+4>>1]=i;y[f+2>>1]=0;y[f>>1]=k;f=h+F(i,6)|0;b=b+4|0;y[f+4>>1]=b;y[f+2>>1]=0;y[f>>1]=i;j=j+4|0;if((l|0)!=(j|0)){continue}break}}k=c&3;i=0;while(1){j=h+F(b,6)|0;f=b+1|0;y[j+4>>1]=f;y[j+2>>1]=0;y[j>>1]=b;b=f;i=i+1|0;if((k|0)!=(i|0)){continue}break}if(c>>>0>=g>>>0){break i}b=c+1|0;e=z[e+24>>2];if(g-c&1){f=B[(e+F(c,52)|0)+48>>1];i=h+F(c,6)|0;y[i>>1]=c;y[i+4>>1]=f?0:-1;y[i+2>>1]=f?1:-1;c=b}if((b|0)==(g|0)){break i}while(1){i=e+F(c,52)|0;f=B[i+48>>1];b=h+F(c,6)|0;y[b>>1]=c;y[b+4>>1]=f?0:-1;y[b+2>>1]=f?1:-1;f=B[i+100>>1];y[b+6>>1]=c+1;y[b+10>>1]=f?0:-1;y[b+8>>1]=f?1:-1;c=c+2|0;if((g|0)!=(c|0)){continue}break}break i}sb(g,2,b,0)}z[a+44>>2]=0;z[a+52>>2]=0;z[a+96>>2]=z[d+18692>>2];b=1}a=b;break a}sb(g,1,11483,0);a=0;break a}sb(g,1,11439,0);a=0}Ka=0;return a|0}function Mb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=z[a>>2];f=z[a+12>>2]<<5;h=e+f|0;l=e-f|0;e=z[a+16>>2];i=z[a+28>>2];j=z[a+20>>2];m=z[a+8>>2];a:{b:{if(b&15|d>>>0<8|h&15){if(e>>>0>=j>>>0){break a}c:{switch(d-1|0){case 1:f=e+1|0;if(j-e&1){g=h+(e<<6)|0;D[g>>2]=D[(e<<2)+b>>2];D[g+4>>2]=D[(c+e<<2)+b>>2];e=f}if((f|0)==(j|0)){break a}while(1){f=h+(e<<6)|0;D[f>>2]=D[(e<<2)+b>>2];D[f+4>>2]=D[(c+e<<2)+b>>2];f=e+1|0;g=h+(f<<6)|0;D[g>>2]=D[(f<<2)+b>>2];D[g+4>>2]=D[(c+f<<2)+b>>2];e=e+2|0;if((j|0)!=(e|0)){continue}break};break a;case 0:break c;default:break b}}g=(e^-1)+j|0;k=j-e&3;if(k){f=0;while(1){D[h+(e<<6)>>2]=D[(e<<2)+b>>2];e=e+1|0;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if(g>>>0<3){break a}while(1){D[h+(e<<6)>>2]=D[(e<<2)+b>>2];f=e+1|0;D[h+(f<<6)>>2]=D[(f<<2)+b>>2];f=e+2|0;D[h+(f<<6)>>2]=D[(f<<2)+b>>2];f=e+3|0;D[h+(f<<6)>>2]=D[(f<<2)+b>>2];e=e+4|0;if((j|0)!=(e|0)){continue}break}break a}if(e>>>0>=j>>>0){break a}while(1){f=h+(e<<6)|0;D[f>>2]=D[(e<<2)+b>>2];g=c+e|0;D[f+4>>2]=D[(g<<2)+b>>2];g=c+g|0;D[f+8>>2]=D[(g<<2)+b>>2];g=c+g|0;D[f+12>>2]=D[(g<<2)+b>>2];g=c+g|0;D[f+16>>2]=D[(g<<2)+b>>2];g=c+g|0;D[f+20>>2]=D[(g<<2)+b>>2];g=c+g|0;D[f+24>>2]=D[(g<<2)+b>>2];D[f+28>>2]=D[(c+g<<2)+b>>2];e=e+1|0;if((j|0)!=(e|0)){continue}break}break a}while(1){f=h+(e<<6)|0;D[f>>2]=D[(e<<2)+b>>2];g=c+e|0;D[f+4>>2]=D[(g<<2)+b>>2];g=c+g|0;D[f+8>>2]=D[(g<<2)+b>>2];d:{if((d|0)==3){break d}g=c+g|0;D[f+12>>2]=D[(g<<2)+b>>2];if((d|0)==4){break d}g=c+g|0;D[f+16>>2]=D[(g<<2)+b>>2];if((d|0)==5){break d}g=c+g|0;D[f+20>>2]=D[(g<<2)+b>>2];if((d|0)==6){break d}g=c+g|0;D[f+24>>2]=D[(g<<2)+b>>2];if((d|0)==7){break d}D[f+28>>2]=D[(c+g<<2)+b>>2]}e=e+1|0;if((j|0)!=(e|0)){continue}break}}f=l+32|0;e=z[a+24>>2];b=(m<<2)+b|0;e:{if(b&15|d>>>0<8|f&15){if(e>>>0>=i>>>0){break e}f:{switch(d-1|0){case 1:a=e+1|0;if(i-e&1){d=f+(e<<6)|0;D[d>>2]=D[b+(e<<2)>>2];D[d+4>>2]=D[b+(c+e<<2)>>2];e=a}if((a|0)==(i|0)){break e}while(1){a=f+(e<<6)|0;D[a>>2]=D[b+(e<<2)>>2];D[a+4>>2]=D[b+(c+e<<2)>>2];a=e+1|0;d=f+(a<<6)|0;D[d>>2]=D[b+(a<<2)>>2];D[d+4>>2]=D[b+(a+c<<2)>>2];e=e+2|0;if((i|0)!=(e|0)){continue}break};break e;case 0:a=(e^-1)+i|0;d=i-e&3;if(d){c=0;while(1){D[f+(e<<6)>>2]=D[b+(e<<2)>>2];e=e+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(a>>>0<3){break e}while(1){D[f+(e<<6)>>2]=D[b+(e<<2)>>2];a=e+1|0;D[f+(a<<6)>>2]=D[b+(a<<2)>>2];a=e+2|0;D[f+(a<<6)>>2]=D[b+(a<<2)>>2];a=e+3|0;D[f+(a<<6)>>2]=D[b+(a<<2)>>2];e=e+4|0;if((i|0)!=(e|0)){continue}break};break e;default:break f}}while(1){a=f+(e<<6)|0;D[a>>2]=D[b+(e<<2)>>2];h=c+e|0;D[a+4>>2]=D[b+(h<<2)>>2];h=c+h|0;D[a+8>>2]=D[b+(h<<2)>>2];g:{if((d|0)==3){break g}h=c+h|0;D[a+12>>2]=D[b+(h<<2)>>2];if((d|0)==4){break g}h=c+h|0;D[a+16>>2]=D[b+(h<<2)>>2];if((d|0)==5){break g}h=c+h|0;D[a+20>>2]=D[b+(h<<2)>>2];if((d|0)==6){break g}h=c+h|0;D[a+24>>2]=D[b+(h<<2)>>2];if((d|0)==7){break g}D[a+28>>2]=D[b+(c+h<<2)>>2]}e=e+1|0;if((i|0)!=(e|0)){continue}break}break e}if(e>>>0>=i>>>0){break e}while(1){a=f+(e<<6)|0;D[a>>2]=D[b+(e<<2)>>2];d=c+e|0;D[a+4>>2]=D[b+(d<<2)>>2];d=c+d|0;D[a+8>>2]=D[b+(d<<2)>>2];d=c+d|0;D[a+12>>2]=D[b+(d<<2)>>2];d=c+d|0;D[a+16>>2]=D[b+(d<<2)>>2];d=c+d|0;D[a+20>>2]=D[b+(d<<2)>>2];d=c+d|0;D[a+24>>2]=D[b+(d<<2)>>2];D[a+28>>2]=D[b+(c+d<<2)>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}}}function $b(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;f=Fa-176|0;Fa=f;a:{if(b&384){Qd(12940,11,1,c);break a}b:{if(!(b&1)){break b}g=z[a+72>>2];if(!g){break b}d=Fa-80|0;Fa=d;Qd(6889,13,1,c);x[d+79|0]=0;x[d+78|0]=9;e=z[g+4>>2];z[d+68>>2]=z[g>>2];z[d+72>>2]=e;i=d+78|0;z[d+64>>2]=i;Ld(c,20458,d- -64|0);e=z[g+12>>2];z[d+52>>2]=z[g+8>>2];z[d+56>>2]=e;z[d+48>>2]=i;Ld(c,20423,d+48|0);z[d+36>>2]=z[g+16>>2];z[d+32>>2]=i;Ld(c,20181,d+32|0);if(!(!z[g+24>>2]|!z[g+16>>2])){while(1){l=d+78|0;z[d+16>>2]=l;z[d+20>>2]=h;Ld(c,6921,d+16|0);i=z[g+24>>2];e=Fa-48|0;Fa=e;x[e+46|0]=9;x[e+47|0]=0;x[e+45|0]=9;j=F(h,52)+i|0;i=z[j+4>>2];z[e+36>>2]=z[j>>2];z[e+40>>2]=i;i=e+45|0;z[e+32>>2]=i;Ld(c,20113,e+32|0);z[e+20>>2]=z[j+24>>2];z[e+16>>2]=i;Ld(c,20375,e+16|0);z[e+4>>2]=z[j+32>>2];z[e>>2]=i;Ld(c,20348,e);Fa=e+48|0;z[d>>2]=l;Ld(c,6799,d);h=h+1|0;if(h>>>0>2]){continue}break}}Qd(6807,2,1,c);Fa=d+80|0}if(!(!(b&2)|!z[a+72>>2])){Qd(7028,36,1,c);e=z[a+88>>2];z[f+160>>2]=z[a+84>>2];z[f+164>>2]=e;Ld(c,20440,f+160|0);e=z[a+96>>2];z[f+144>>2]=z[a+92>>2];z[f+148>>2]=e;Ld(c,20095,f+144|0);e=z[a+108>>2];z[f+128>>2]=z[a+104>>2];z[f+132>>2]=e;Ld(c,20332,f+128|0);ac(z[a+12>>2],z[z[a+72>>2]+16>>2],c);Qd(6807,2,1,c)}c:{if(!(b&8)|!z[a+72>>2]){break c}e=F(z[a+104>>2],z[a+108>>2]);if(!e){break c}d=z[a+156>>2];while(1){ac(d,z[z[a+72>>2]+16>>2],c);d=d+5644|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}if(!(b&16)){break a}h=z[a+200>>2];Qd(6990,37,1,c);e=z[h>>2];b=z[h+4>>2];a=z[h+12>>2];z[f+120>>2]=z[h+8>>2];z[f+124>>2]=a;z[f+112>>2]=e;z[f+116>>2]=b;Ld(c,12529,f+112|0);Qd(6972,17,1,c);if(!(!z[h+28>>2]|!z[h+24>>2])){d=0;while(1){a=z[h+28>>2]+F(d,24)|0;g=B[a>>1];e=z[a+8>>2];b=z[a+12>>2];z[f+96>>2]=z[a+16>>2];z[f+88>>2]=e;z[f+92>>2]=b;z[f+80>>2]=g;Ld(c,20301,f+80|0);d=d+1|0;if(d>>>0>2]){continue}break}}Qd(6805,4,1,c);g=z[h+40>>2];d:{if(!g){break d}e=z[h+36>>2];if(!e){break d}a=0;d=0;if(e>>>0>=4){b=e&-4;while(1){a=z[(g+F(d|3,40)|0)+4>>2]+(z[(g+F(d|2,40)|0)+4>>2]+(z[(g+F(d|1,40)|0)+4>>2]+(z[(g+F(d,40)|0)+4>>2]+a|0)|0)|0)|0;d=d+4|0;m=m+4|0;if((b|0)!=(m|0)){continue}break}}b=e&3;if(b){while(1){a=z[(g+F(d,40)|0)+4>>2]+a|0;d=d+1|0;n=n+1|0;if((b|0)!=(n|0)){continue}break}}if(!a){break d}Qd(6955,16,1,c);if(z[h+36>>2]){k=z[h+40>>2];i=0;while(1){j=F(i,40);m=z[(j+k|0)+4>>2];z[f+68>>2]=m;z[f+64>>2]=i;Ld(c,20387,f- -64|0);k=z[h+40>>2];e:{if(!m){break e}d=0;if(!z[(j+k|0)+16>>2]){break e}while(1){l=z[(j+z[h+40>>2]|0)+16>>2]+F(d,24)|0;n=z[l>>2];g=z[l+4>>2];e=z[l+8>>2];b=z[l+12>>2];a=z[l+20>>2];z[f+56>>2]=z[l+16>>2];z[f+60>>2]=a;z[f+48>>2]=e;z[f+52>>2]=b;z[f+40>>2]=n;z[f+44>>2]=g;z[f+32>>2]=d;Ld(c,24854,f+32|0);d=d+1|0;if((m|0)!=(d|0)){continue}break}k=z[h+40>>2]}a=j+k|0;f:{if(!z[a+24>>2]){break f}d=0;if(!z[a+20>>2]){break f}while(1){a=z[(j+k|0)+24>>2]+F(d,24)|0;g=B[a>>1];e=z[a+8>>2];b=z[a+12>>2];z[f+16>>2]=z[a+16>>2];z[f+8>>2]=e;z[f+12>>2]=b;z[f>>2]=g;Ld(c,20301,f);d=d+1|0;k=z[h+40>>2];if(d>>>0>2]){continue}break}}i=i+1|0;if(i>>>0>2]){continue}break}}Qd(6805,4,1,c)}Qd(6807,2,1,c)}Fa=f+176|0}function ak(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=a;h=Fa-112|0;Fa=h;g=1024;a:{b:{a=ud(1,1024);if(a){l=h+92|0;j=h+108|0;while(1){c:{d:{e:{if((qb(c,h+104|0,8,e)|0)!=8){break e}lb(h+104|0,h+88|0,4);lb(j,l,4);i=8;f:{g:{h:{i:{switch(z[h+88>>2]){case 0:f=z[c+8>>2];k=z[c+12>>2];if(f|k){m=z[c+56>>2];b=f-m|0;f=k-(z[c+60>>2]+(f>>>0>>0)|0)|0}else{b=0;f=0}if(b>>>0<4294967288&(f|0)<=0|(f|0)<0){break h}sb(e,1,22017,0);break e;case 1:break i;default:break f}}if((qb(c,h+104|0,8,e)|0)!=8){break e}lb(h+104|0,h+100|0,4);if(!z[h+100>>2]){break g}sb(e,1,22017,0);break e}z[h+88>>2]=b+8;break f}lb(j,h+88|0,4);i=16}b=z[h+92>>2];if((b|0)==1785737827){b=z[d+100>>2];if(b&4){z[d+100>>2]=b|8;break e}sb(e,1,12460,0);le(a);a=0;break a}f=z[h+88>>2];if(!f){sb(e,1,8953,0);le(a);a=0;break a}if(f>>>0>>0){z[h+4>>2]=b;z[h>>2]=f;sb(e,1,28571,h);break b}j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{if((b|0)<=1668246641){if((b|0)==1651532643){break q}if((b|0)==1667523942){break o}if((b|0)!=1668112752){break s}k=34288;break n}if((b|0)<=1783635999){if((b|0)==1668246642){break r}k=34256;if((b|0)==1768449138){break n}if((b|0)!=1718909296){break s}k=34232;break l}if((b|0)==1885564018){break p}if((b|0)==1783636e3){break m}k=34240;if((b|0)==1785737832){break l}}b=z[d+100>>2];if(b&1){break j}sb(e,1,7226,0);le(a);a=0;break a}k=34264;break n}k=34272;break n}k=34280;break n}k=34296}z[h+76>>2]=b&255;z[h+64>>2]=b>>>24;z[h+72>>2]=b>>>8&255;z[h+68>>2]=b>>>16&255;sb(e,2,7175,h- -64|0);f=f-i|0;if(A[d+100|0]&4){break k}b=z[h+92>>2];z[h+48>>2]=b>>>24;z[h+60>>2]=b&255;z[h+52>>2]=b>>>16&255;z[h+56>>2]=b>>>8&255;sb(e,2,19598,h+48|0);z[d+100>>2]=z[d+100>>2]|2147483647;b=La[z[c+40>>2]](c,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(!Ka&(b|0)==(f|0)){continue}sb(e,1,9542,0);le(a);a=0;break a}k=34224}f=f-i|0}b=z[c+8>>2];m=z[c+12>>2];if(b|m){n=z[c+56>>2];i=b-n|0;b=m-(z[c+60>>2]+(b>>>0>>0)|0)|0}else{i=0;b=0}if((b|0)<=0&f>>>0>i>>>0|(b|0)<0){d=z[h+88>>2];b=z[h+92>>2];g=z[c+8>>2];if(g|z[c+12>>2]){c=g-z[c+56>>2]|0}else{c=0}z[h+40>>2]=c;z[h+36>>2]=f;z[h+32>>2]=b&255;z[h+20>>2]=b>>>24;z[h+16>>2]=d;z[h+28>>2]=b>>>8&255;z[h+24>>2]=b>>>16&255;sb(e,1,31313,h+16|0);break b}if(f>>>0<=g>>>0){b=a;break c}g=f;b=xd(a,f);if(b){break c}le(a);sb(e,1,7357,0);a=0;break a}if(!(b&2)){sb(e,1,7296,0);le(a);a=0;break a}z[d+100>>2]=b|2147483647;b=f-i|0;f=La[z[c+40>>2]](c,0,b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(!Ka&(b|0)==(f|0)){continue}if(!(A[d+100|0]&8)){break d}sb(e,2,9542,0)}le(a);a=1;break a}sb(e,1,9542,0);le(a);a=0;break a}if((qb(c,b,f,e)|0)!=(f|0)){sb(e,1,9592,0);le(b);a=0;break a}a=b;if(La[z[k+4>>2]](d,0,b,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0){continue}break}le(a);a=0;break a}sb(e,1,11707,0);a=0;break a}le(a);a=0}Fa=h+112|0;Ka=0;return a|0}function le(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;b=z[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=z[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=b>>>3|0;b=z[d+12>>2];c=z[d+8>>2];if((b|0)==(c|0)){i=64360,j=z[16090]&vo(e),z[i>>2]=j;break b}z[c+12>>2]=b;z[b+8>>2]=c;break b}g=z[d+24>>2];b=z[d+12>>2];if((d|0)!=(b|0)){c=z[d+8>>2];z[c+12>>2]=b;z[b+8>>2]=c;break c}e=d+20|0;c=z[e>>2];if(!c){c=z[d+16>>2];if(!c){break d}e=d+16|0}while(1){h=e;b=c;e=b+20|0;c=z[e>>2];if(c){continue}e=b+16|0;c=z[b+16>>2];if(c){continue}break}z[h>>2]=0;break c}b=z[f+4>>2];if((b&3)!=3){break b}z[16092]=a;z[f+4>>2]=b&-2;z[d+4>>2]=a|1;z[f>>2]=a;return}b=0}if(!g){break b}c=z[d+28>>2];e=(c<<2)+64664|0;e:{if(z[e>>2]==(d|0)){z[e>>2]=b;if(b){break e}i=64364,j=z[16091]&vo(c),z[i>>2]=j;break b}z[g+(z[g+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}z[b+24>>2]=g;c=z[d+16>>2];if(c){z[b+16>>2]=c;z[c+24>>2]=b}c=z[d+20>>2];if(!c){break b}z[b+20>>2]=c;z[c+24>>2]=b}if(d>>>0>=f>>>0){break a}b=z[f+4>>2];if(!(b&1)){break a}f:{g:{h:{i:{if(!(b&2)){if(z[16096]==(f|0)){z[16096]=d;a=z[16093]+a|0;z[16093]=a;z[d+4>>2]=a|1;if(z[16095]!=(d|0)){break a}z[16092]=0;z[16095]=0;return}if(z[16095]==(f|0)){z[16095]=d;a=z[16092]+a|0;z[16092]=a;z[d+4>>2]=a|1;z[a+d>>2]=a;return}a=(b&-8)+a|0;if(b>>>0<=255){e=b>>>3|0;b=z[f+12>>2];c=z[f+8>>2];if((b|0)==(c|0)){i=64360,j=z[16090]&vo(e),z[i>>2]=j;break g}z[c+12>>2]=b;z[b+8>>2]=c;break g}g=z[f+24>>2];b=z[f+12>>2];if((f|0)!=(b|0)){c=z[f+8>>2];z[c+12>>2]=b;z[b+8>>2]=c;break h}e=f+20|0;c=z[e>>2];if(!c){c=z[f+16>>2];if(!c){break i}e=f+16|0}while(1){h=e;b=c;e=b+20|0;c=z[e>>2];if(c){continue}e=b+16|0;c=z[b+16>>2];if(c){continue}break}z[h>>2]=0;break h}z[f+4>>2]=b&-2;z[d+4>>2]=a|1;z[a+d>>2]=a;break f}b=0}if(!g){break g}c=z[f+28>>2];e=(c<<2)+64664|0;j:{if(z[e>>2]==(f|0)){z[e>>2]=b;if(b){break j}i=64364,j=z[16091]&vo(c),z[i>>2]=j;break g}z[g+(z[g+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}z[b+24>>2]=g;c=z[f+16>>2];if(c){z[b+16>>2]=c;z[c+24>>2]=b}c=z[f+20>>2];if(!c){break g}z[b+20>>2]=c;z[c+24>>2]=b}z[d+4>>2]=a|1;z[a+d>>2]=a;if(z[16095]!=(d|0)){break f}z[16092]=a;return}if(a>>>0<=255){b=(a&-8)+64400|0;c=z[16090];a=1<<(a>>>3);k:{if(!(c&a)){z[16090]=a|c;a=b;break k}a=z[b+8>>2]}z[b+8>>2]=d;z[a+12>>2]=d;z[d+12>>2]=b;z[d+8>>2]=a;return}c=31;if(a>>>0<=16777215){b=I(a>>>8|0);c=((a>>>38-b&1)-(b<<1)|0)+62|0}z[d+28>>2]=c;z[d+16>>2]=0;z[d+20>>2]=0;b=(c<<2)+64664|0;l:{m:{e=z[16091];h=1<>2]=d;z[d+24>>2]=b;break n}c=a<<((c|0)!=31?25-(c>>>1|0)|0:0);b=z[b>>2];while(1){e=b;if((z[b+4>>2]&-8)==(a|0)){break m}b=c>>>29|0;c=c<<1;h=e+(b&4)|0;b=z[h+16>>2];if(b){continue}break}z[h+16>>2]=d;z[d+24>>2]=e}z[d+12>>2]=d;z[d+8>>2]=d;break l}a=z[e+8>>2];z[a+12>>2]=d;z[e+8>>2]=d;z[d+24>>2]=0;z[d+12>>2]=e;z[d+8>>2]=a}a=z[16098]-1|0;z[16098]=a?a:-1}}function Cj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,D,E,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;d=0;b=Fa-112|0;Fa=b;z[b+104>>2]=0;a:{if((e|0)!=8){sb(g,1,9879,0);sb(g,1,9879,0);break a}lb(c,a+204|0,2);lb(c+2|0,b+108|0,4);lb(c+6|0,b+100|0,1);lb(c+7|0,b+104|0,1);e=z[a+204>>2];i=z[a+104>>2];if(e>>>0>=F(i,z[a+108>>2])>>>0){z[b+96>>2]=e;sb(g,1,20737,b+96|0);break a}h=(e>>>0)/(i>>>0)|0;d=z[a+156>>2];c=z[b+100>>2];b:{f=z[a+44>>2];if((f|0)>=0&(e|0)!=(f|0)){break b}f=z[(d+F(e,5644)|0)+5588>>2]+1|0;if((f|0)==(c|0)){break b}z[b+88>>2]=f;z[b+84>>2]=c;z[b+80>>2]=e;sb(g,1,20761,b+80|0);d=0;break a}z[(d+F(e,5644)|0)+5588>>2]=c;c:{c=z[b+108>>2];if(c-1>>>0<=12){if((c|0)!=12){break c}z[b+48>>2]=12;sb(g,2,26284,b+48|0);c=z[b+108>>2]}if(!c){sb(g,4,24580,0);z[a+56>>2]=1}d:{e:{f:{g:{j=d+F(e,5644)|0;d=z[j+5592>>2];if(d){c=z[b+100>>2];if(c>>>0>>0){break g}z[b+36>>2]=d;z[b+32>>2]=c;sb(g,1,11934,b+32|0);z[a+56>>2]=1;d=0;break a}f=z[b+104>>2];if(f){break f}break d}f=z[b+104>>2];if(!f){break e}}d=(A[a+68|0]>>>4&1)+f|0;z[b+104>>2]=d;c=z[b+100>>2];f=j+5592|0;j=z[f>>2];if(c>>>0>j-1>>>0){z[b+4>>2]=j;z[b>>2]=c;sb(g,1,11835,b);z[a+56>>2]=1;d=0;break a}if(c>>>0>=d>>>0){z[b+20>>2]=d;z[b+16>>2]=c;sb(g,1,12034,b+16|0);z[a+56>>2]=1;d=0;break a}z[f>>2]=d}if((z[b+100>>2]+1|0)!=(d|0)){break d}x[a+68|0]=A[a+68|0]|1}c=z[b+108>>2];z[a+8>>2]=16;z[a+24>>2]=z[a+56>>2]?0:c-12|0;c=z[a+44>>2];h:{if((c|0)==-1){c=e-F(h,i)|0;d=4;if(c>>>0>2]|c>>>0>=C[a+36>>2]|h>>>0>2]){break h}d=(h>>>0>=C[a+40>>2])<<2;break h}d=((c|0)!=z[a+204>>2])<<2}x[a+68|0]=d|A[a+68|0]&251;d=1;c=z[a+200>>2];if(!c){break a}f=z[c+40>>2];e=z[a+204>>2];c=f+F(e,40)|0;z[c>>2]=e;z[c+12>>2]=z[b+100>>2];h=z[b+104>>2];if(h){z[c+4>>2]=h;z[c+8>>2]=z[b+104>>2];e=z[b+104>>2];c=z[c+16>>2];if(!c){c=ud(e,24);z[(z[z[a+200>>2]+40>>2]+F(z[a+204>>2],40)|0)+16>>2]=c;if(c){break a}d=0;sb(g,1,19776,0);break a}c=xd(c,F(e,24));e=z[z[a+200>>2]+40>>2]+F(z[a+204>>2],40)|0;if(!c){le(z[e+16>>2]);d=0;z[(z[z[a+200>>2]+40>>2]+F(z[a+204>>2],40)|0)+16>>2]=0;sb(g,1,19776,0);break a}z[e+16>>2]=c;break a}i:{c=z[c+16>>2];if(c){break i}z[(F(e,40)+f|0)+8>>2]=10;c=ud(10,24);f=z[z[a+200>>2]+40>>2];e=z[a+204>>2];h=f+F(e,40)|0;z[h+16>>2]=c;if(c){break i}d=0;z[h+8>>2]=0;sb(g,1,19776,0);break a}h=z[b+100>>2];e=F(e,40)+f|0;if(h>>>0>2]){break a}f=e;e=h+1|0;z[f+8>>2]=e;c=xd(c,F(e,24));e=z[z[a+200>>2]+40>>2]+F(z[a+204>>2],40)|0;if(!c){le(z[e+16>>2]);d=0;a=z[z[a+200>>2]+40>>2]+F(z[a+204>>2],40)|0;z[a+8>>2]=0;z[a+16>>2]=0;sb(g,1,19776,0);break a}z[e+16>>2]=c;break a}z[b+64>>2]=c;sb(g,1,26553,b- -64|0);d=0}Fa=b+112|0;Ka=0;return d|0}function oe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+b|0;c=z[a+4>>2];a:{b:{if(c&1){break b}if(!(c&3)){break a}c=z[a>>2];b=c+b|0;c:{d:{e:{a=a-c|0;if((a|0)!=z[16095]){if(c>>>0<=255){d=z[a+8>>2];e=z[a+12>>2];if((d|0)!=(e|0)){break e}i=64360,j=z[16090]&vo(c>>>3|0),z[i>>2]=j;break b}g=z[a+24>>2];c=z[a+12>>2];if((c|0)!=(a|0)){d=z[a+8>>2];z[d+12>>2]=c;z[c+8>>2]=d;break c}e=a+20|0;d=z[e>>2];if(!d){d=z[a+16>>2];if(!d){break d}e=a+16|0}while(1){h=e;c=d;e=c+20|0;d=z[e>>2];if(d){continue}e=c+16|0;d=z[c+16>>2];if(d){continue}break}z[h>>2]=0;break c}c=z[f+4>>2];if((c&3)!=3){break b}z[16092]=b;z[f+4>>2]=c&-2;z[a+4>>2]=b|1;z[f>>2]=b;return}z[d+12>>2]=e;z[e+8>>2]=d;break b}c=0}if(!g){break b}d=z[a+28>>2];e=(d<<2)+64664|0;f:{if(z[e>>2]==(a|0)){z[e>>2]=c;if(c){break f}i=64364,j=z[16091]&vo(d),z[i>>2]=j;break b}z[g+(z[g+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}z[c+24>>2]=g;d=z[a+16>>2];if(d){z[c+16>>2]=d;z[d+24>>2]=c}d=z[a+20>>2];if(!d){break b}z[c+20>>2]=d;z[d+24>>2]=c}g:{h:{i:{j:{c=z[f+4>>2];if(!(c&2)){if(z[16096]==(f|0)){z[16096]=a;b=z[16093]+b|0;z[16093]=b;z[a+4>>2]=b|1;if(z[16095]!=(a|0)){break a}z[16092]=0;z[16095]=0;return}if(z[16095]==(f|0)){z[16095]=a;b=z[16092]+b|0;z[16092]=b;z[a+4>>2]=b|1;z[a+b>>2]=b;return}b=(c&-8)+b|0;if(c>>>0<=255){e=c>>>3|0;c=z[f+12>>2];d=z[f+8>>2];if((c|0)==(d|0)){i=64360,j=z[16090]&vo(e),z[i>>2]=j;break h}z[d+12>>2]=c;z[c+8>>2]=d;break h}g=z[f+24>>2];c=z[f+12>>2];if((f|0)!=(c|0)){d=z[f+8>>2];z[d+12>>2]=c;z[c+8>>2]=d;break i}e=f+20|0;d=z[e>>2];if(!d){d=z[f+16>>2];if(!d){break j}e=f+16|0}while(1){h=e;c=d;e=c+20|0;d=z[e>>2];if(d){continue}e=c+16|0;d=z[c+16>>2];if(d){continue}break}z[h>>2]=0;break i}z[f+4>>2]=c&-2;z[a+4>>2]=b|1;z[a+b>>2]=b;break g}c=0}if(!g){break h}d=z[f+28>>2];e=(d<<2)+64664|0;k:{if(z[e>>2]==(f|0)){z[e>>2]=c;if(c){break k}i=64364,j=z[16091]&vo(d),z[i>>2]=j;break h}z[g+(z[g+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break h}}z[c+24>>2]=g;d=z[f+16>>2];if(d){z[c+16>>2]=d;z[d+24>>2]=c}d=z[f+20>>2];if(!d){break h}z[c+20>>2]=d;z[d+24>>2]=c}z[a+4>>2]=b|1;z[a+b>>2]=b;if(z[16095]!=(a|0)){break g}z[16092]=b;return}if(b>>>0<=255){c=(b&-8)+64400|0;d=z[16090];b=1<<(b>>>3);l:{if(!(d&b)){z[16090]=b|d;b=c;break l}b=z[c+8>>2]}z[c+8>>2]=a;z[b+12>>2]=a;z[a+12>>2]=c;z[a+8>>2]=b;return}d=31;if(b>>>0<=16777215){c=I(b>>>8|0);d=((b>>>38-c&1)-(c<<1)|0)+62|0}z[a+28>>2]=d;z[a+16>>2]=0;z[a+20>>2]=0;c=(d<<2)+64664|0;m:{e=z[16091];h=1<>2]=a;z[a+24>>2]=c;break n}d=b<<((d|0)!=31?25-(d>>>1|0)|0:0);c=z[c>>2];while(1){e=c;if((z[c+4>>2]&-8)==(b|0)){break m}c=d>>>29|0;d=d<<1;h=e+(c&4)|0;c=z[h+16>>2];if(c){continue}break}z[h+16>>2]=a;z[a+24>>2]=e}z[a+12>>2]=a;z[a+8>>2]=a;return}b=z[e+8>>2];z[b+12>>2]=a;z[e+8>>2]=a;z[a+24>>2]=0;z[a+12>>2]=e;z[a+8>>2]=b}}function fc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;q=Fa-16|0;Fa=q;a:{if(!c){sb(d,1,25451,0);break a}y=z[c+16>>2];h=z[a+72>>2];if(y>>>0>2]){sb(d,1,24455,0);break a}g=z[a+104>>2];f=F(g,z[a+108>>2]);if(f>>>0<=e>>>0){z[q>>2]=e;z[q+4>>2]=f-1;sb(d,1,31995,q);g=0;break a}f=(e>>>0)/(g>>>0)|0;i=e-F(f,g)|0;g=z[a+84>>2]+F(i,z[a+92>>2])|0;z[c>>2]=g;h=z[h>>2];r=g>>>0>h>>>0?g:h;z[c>>2]=r;g=z[a+84>>2]+F(z[a+92>>2],i+1|0)|0;z[c+8>>2]=g;h=z[z[a+72>>2]+8>>2];g=g>>>0>>0?g:h;z[c+8>>2]=g;h=z[a+88>>2]+F(f,z[a+96>>2])|0;z[c+4>>2]=h;i=z[z[a+72>>2]+4>>2];s=h>>>0>i>>>0?h:i;z[c+4>>2]=s;f=z[a+88>>2]+F(z[a+96>>2],f+1|0)|0;z[c+12>>2]=f;h=z[z[a+72>>2]+12>>2];f=f>>>0>>0?f:h;z[c+12>>2]=f;h=z[a+72>>2];l=z[h+16>>2];if(l){B=f;D=f>>31;E=g;G=g>>31;H=s>>31;I=r>>31;J=z[h+24>>2];g=z[c+24>>2];while(1){h=z[(J+F(p,52)|0)+40>>2];z[g+40>>2]=h;k=z[g>>2];t=k>>31;A=t-!k|0;m=I+A|0;u=k-1|0;f=r+u|0;m=f>>>0>>0?m+1|0:m;v=qo(f,m,k,t);z[g+16>>2]=v;j=z[g+4>>2];n=j>>31;m=n-!j|0;f=H+m|0;o=j-1|0;i=s+o|0;f=i>>>0>>0?f+1|0:f;w=qo(i,f,j,n);z[g+20>>2]=w;i=h&31;if((h&63)>>>0>=32){f=-1<>>32-i;i=-1<>>0>o>>>0?m+1|0:m;j=qo(o,m,j,n);f=(j>>31)+f|0;n=j;j=i+j|0;f=n>>>0>j>>>0?f+1|0:f;n=j;j=h&31;j=(h&63)>>>0>=32?f>>j:((1<>>j;f=x+(w>>31)|0;o=j;n=i+w|0;f=n>>>0>>0?f+1|0:f;j=h&31;z[g+12>>2]=o-((h&63)>>>0>=32?f>>j:((1<>>j);f=G+A|0;j=u+E|0;f=j>>>0>>0?f+1|0:f;k=qo(j,f,k,t);f=x+(k>>31)|0;k=i+k|0;f=k>>>0>>0?f+1|0:f;j=k;k=h&31;k=(h&63)>>>0>=32?f>>k:((1<>>k;f=x+(v>>31)|0;j=i;i=i+v|0;f=j>>>0>i>>>0?f+1|0:f;j=k;k=i;i=h&31;z[g+8>>2]=j-((h&63)>>>0>=32?f>>i:((1<>>i);g=g+52|0;p=p+1|0;if((p|0)!=(l|0)){continue}break}}if(l>>>0>>0){g=z[c+24>>2];while(1){f=F(l,52);le(z[(f+g|0)+44>>2]);g=z[c+24>>2];z[(f+g|0)+44>>2]=0;l=l+1|0;if(l>>>0>2]){continue}break}z[c+16>>2]=z[z[a+72>>2]+16>>2]}g=z[a+76>>2];if(g){ub(g)}f=tb();z[a+76>>2]=f;g=0;if(!f){break a}vb(c,f);z[a+44>>2]=e;if(!sd(z[a+192>>2],124,d)){break a}f=z[a+192>>2];h=z[f>>2];l=z[f+8>>2];b:{if(h){g=1;if((h|0)!=1){i=h&-2;p=0;while(1){e=0;c:{if(!g){break c}e=0;if(!(La[z[l>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break c}e=(La[z[l+4>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}g=e;l=l+8|0;p=p+2|0;if((i|0)!=(p|0)){continue}break}}d:{e:{if(h&1){if(!g){break e}g=(La[z[l>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[f>>2]=0;if(!(g&1)){break d}break b}z[f>>2]=0}ub(z[a+72>>2]);g=0;z[a+72>>2]=0;break a}z[f>>2]=0}g=ec(a,c)}Fa=q+16|0;return g}function gd(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=z[a+24>>2];h=z[i+16>>2];if(h){e=z[i+24>>2];d=z[z[z[a+20>>2]>>2]+20>>2];while(1){j=f;f=z[e+24>>2];f=(f>>>3|0)+((f&7)!=0)|0;f=j+F(F(z[d+12>>2]-z[d+4>>2]|0,z[d+8>>2]-z[d>>2]|0),(f|0)==3?4:f)|0;d=d+76|0;e=e+52|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}d=(c|0)==(f|0);if(!(!h|(c|0)!=(f|0))){h=z[i+24>>2];f=z[z[z[a+20>>2]>>2]+20>>2];a=0;while(1){c=F(z[f+12>>2]-z[f+4>>2]|0,z[f+8>>2]-z[f>>2]|0);a:{b:{c:{d:{d=z[h+24>>2];d=(d>>>3|0)+((d&7)!=0)|0;switch(((d|0)==3?4:d)-1|0){case 3:break b;case 1:break c;case 0:break d;default:break a}}d=z[f+36>>2];if(z[h+32>>2]){if(!c){break a}if(c>>>0>=8){g=c&-8;e=0;while(1){z[d>>2]=x[b|0];z[d+4>>2]=x[b+1|0];z[d+8>>2]=x[b+2|0];z[d+12>>2]=x[b+3|0];z[d+16>>2]=x[b+4|0];z[d+20>>2]=x[b+5|0];z[d+24>>2]=x[b+6|0];z[d+28>>2]=x[b+7|0];d=d+32|0;b=b+8|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){z[d>>2]=x[b|0];d=d+4|0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}break a}if(!c){break a}if(c>>>0>=8){g=c&-8;e=0;while(1){z[d>>2]=A[b|0];z[d+4>>2]=A[b+1|0];z[d+8>>2]=A[b+2|0];z[d+12>>2]=A[b+3|0];z[d+16>>2]=A[b+4|0];z[d+20>>2]=A[b+5|0];z[d+24>>2]=A[b+6|0];z[d+28>>2]=A[b+7|0];d=d+32|0;b=b+8|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){z[d>>2]=A[b|0];d=d+4|0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}break a}d=z[f+36>>2];if(z[h+32>>2]){if(!c){break a}if(c>>>0>=8){g=c&-8;e=0;while(1){z[d>>2]=y[b>>1];z[d+4>>2]=y[b+2>>1];z[d+8>>2]=y[b+4>>1];z[d+12>>2]=y[b+6>>1];z[d+16>>2]=y[b+8>>1];z[d+20>>2]=y[b+10>>1];z[d+24>>2]=y[b+12>>1];z[d+28>>2]=y[b+14>>1];d=d+32|0;b=b+16|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){z[d>>2]=y[b>>1];d=d+4|0;b=b+2|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}break a}if(!c){break a}if(c>>>0>=8){g=c&-8;e=0;while(1){z[d>>2]=B[b>>1];z[d+4>>2]=B[b+2>>1];z[d+8>>2]=B[b+4>>1];z[d+12>>2]=B[b+6>>1];z[d+16>>2]=B[b+8>>1];z[d+20>>2]=B[b+10>>1];z[d+24>>2]=B[b+12>>1];z[d+28>>2]=B[b+14>>1];d=d+32|0;b=b+16|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){z[d>>2]=B[b>>1];d=d+4|0;b=b+2|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}break a}if(!c){break a}d=z[f+36>>2];if(c>>>0>=8){g=c&-8;e=0;while(1){z[d>>2]=z[b>>2];z[d+4>>2]=z[b+4>>2];z[d+8>>2]=z[b+8>>2];z[d+12>>2]=z[b+12>>2];z[d+16>>2]=z[b+16>>2];z[d+20>>2]=z[b+20>>2];z[d+24>>2]=z[b+24>>2];z[d+28>>2]=z[b+28>>2];d=d+32|0;b=b+32|0;e=e+8|0;if((g|0)!=(e|0)){continue}break}}e=0;c=c&7;if(!c){break a}while(1){z[d>>2]=z[b>>2];d=d+4|0;b=b+4|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}f=f+76|0;h=h+52|0;d=1;a=a+1|0;if(a>>>0>2]){continue}break}}return d}return!c}function Jb(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=z[a+8>>2];h=e+z[a+4>>2]|0;a:{if(!z[a+12>>2]){if((h|0)<2|(d|0)<=0){break a}m=h&-4;n=h&3;q=h&1;r=e+1|0;s=h-4>>>1|0;g=z[a>>2];f=h-1|0;t=g+(f<<2)|0;u=F(c,e)<<2;v=h>>>0<4;w=f>>>0<3;x=F(f>>>1|0,c)<<2;while(1){f=z[b+u>>2];e=z[b>>2]-(f+1>>1)|0;k=0;a=0;if(!v){while(1){l=a+1|0;y=z[(F(l,c)<<2)+b>>2];i=z[(F(a+r|0,c)<<2)+b>>2];o=k<<2;z[o+g>>2]=e;j=e;e=y-((f+i|0)+2>>2)|0;z[g+(o|4)>>2]=(j+e>>1)+f;k=k+2|0;j=(a|0)!=(s|0);f=i;a=l;if(j){continue}break}}z[g+(k<<2)>>2]=e;if(q){a=z[b+x>>2]-(f+1>>1)|0;z[t>>2]=a;e=a+e>>1;a=-2}else{a=-1}z[(a+h<<2)+g>>2]=e+f;e=0;a=0;f=0;if(!w){while(1){z[(F(a,c)<<2)+b>>2]=z[g+(a<<2)>>2];i=a|1;z[(F(i,c)<<2)+b>>2]=z[g+(i<<2)>>2];i=a|2;z[(F(i,c)<<2)+b>>2]=z[g+(i<<2)>>2];i=a|3;z[(F(i,c)<<2)+b>>2]=z[g+(i<<2)>>2];a=a+4|0;f=f+4|0;if((m|0)!=(f|0)){continue}break}}if(n){while(1){z[(F(a,c)<<2)+b>>2]=z[g+(a<<2)>>2];a=a+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}b=b+4|0;p=p+1|0;if((p|0)!=(d|0)){continue}break}break a}b:{switch(h-1|0){case 0:if((d|0)<=0){break a}if(d>>>0>=4){c=d&-4;a=0;while(1){z[b>>2]=z[b>>2]/2;z[b+4>>2]=z[b+4>>2]/2;z[b+8>>2]=z[b+8>>2]/2;z[b+12>>2]=z[b+12>>2]/2;b=b+16|0;a=a+4|0;if((c|0)!=(a|0)){continue}break}}c=d&3;if(!c){break a}a=0;while(1){z[b>>2]=z[b>>2]/2;b=b+4|0;a=a+1|0;if((c|0)!=(a|0)){continue}break};break a;case 1:if((d|0)<=0){break a}a=z[a>>2];e=F(c,e)<<2;while(1){g=b+e|0;i=z[b>>2]-(z[g>>2]+1>>1)|0;z[a+4>>2]=i;g=i+z[g>>2]|0;z[a>>2]=g;z[b>>2]=g;z[(c<<2)+b>>2]=z[a+4>>2];b=b+4|0;f=f+1|0;if((f|0)!=(d|0)){continue}break};break a;default:break b}}if((h|0)<3|(d|0)<=0){break a}q=h&-4;n=h&3;r=h&1;j=z[a>>2];s=(j+(h<<2)|0)-4|0;a=h-2|0;t=j+(a<<2)|0;f=h|-2;u=((f+h|0)-3>>>1|0)+1|0;v=F(c,e)<<2;w=(a+f|0)+1>>>0<2;x=F((h>>>1|0)-1|0,c)<<2;while(1){m=b+v|0;f=z[m+(c<<2)>>2];a=z[m>>2];e=z[b>>2]-((f+a|0)+2>>2)|0;z[j>>2]=e+a;k=1;a=1;if(!w){while(1){y=z[(F(a,c)<<2)+b>>2];i=a+1|0;g=z[m+(F(i,c)<<2)>>2];o=j+(k<<2)|0;z[o>>2]=e;l=e;e=y-((f+g|0)+2>>2)|0;z[o+4>>2]=(l+e>>1)+f;k=k+2|0;l=(a|0)!=(u|0);a=i;f=g;if(l){continue}break}}z[j+(k<<2)>>2]=e;c:{if(!r){a=z[b+x>>2]-(f+1>>1)|0;z[t>>2]=(e+a>>1)+f;break c}a=e+f|0}z[s>>2]=a;e=0;a=0;f=0;if(h>>>0>=4){while(1){z[(F(a,c)<<2)+b>>2]=z[j+(a<<2)>>2];g=a|1;z[(F(g,c)<<2)+b>>2]=z[j+(g<<2)>>2];g=a|2;z[(F(g,c)<<2)+b>>2]=z[j+(g<<2)>>2];g=a|3;z[(F(g,c)<<2)+b>>2]=z[j+(g<<2)>>2];a=a+4|0;f=f+4|0;if((q|0)!=(f|0)){continue}break}}if(n){while(1){z[(F(a,c)<<2)+b>>2]=z[j+(a<<2)>>2];a=a+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}b=b+4|0;p=p+1|0;if((p|0)!=(d|0)){continue}break}}}function Sj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,D,E,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;d=0;j=0;b=Fa-16|0;Fa=b;a=z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2];a:{if(e>>>0<=1){sb(g,1,11181,0);c=0;break a}lb(c,b+12|0,2);if(z[b+12>>2]){sb(g,2,12860,0);c=1;break a}if(e>>>0<=6){sb(g,1,11181,0);c=0;break a}lb(c+2|0,b+8|0,1);i=z[a+5628>>2];f=i;b:{c:{d:{h=z[a+5632>>2];if(!h){break d}k=z[b+8>>2];while(1){if((k|0)==z[f>>2]){break d}f=f+20|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}break c}if((d|0)!=(h|0)){break b}}if((h|0)==z[a+5636>>2]){d=h+10|0;z[a+5636>>2]=d;d=xd(i,F(d,20));if(!d){le(z[a+5628>>2]);z[a+5636>>2]=0;z[a+5628>>2]=0;z[a+5632>>2]=0;sb(g,1,11246,0);c=0;break a}z[a+5628>>2]=d;f=z[a+5632>>2];Id(d+F(f,20)|0,0,F(z[a+5636>>2]-f|0,20));i=z[a+5628>>2];h=z[a+5632>>2]}f=F(h,20)+i|0;j=1}z[f>>2]=z[b+8>>2];lb(c+3|0,b+12|0,2);if(z[b+12>>2]){sb(g,2,12860,0);c=1;break a}lb(c+5|0,b+4|0,2);d=z[b+4>>2];if(d>>>0>=2){sb(g,2,8678,0);c=1;break a}h=e-7|0;if(d){c=c+7|0;i=0;while(1){if(h>>>0<=2){sb(g,1,11181,0);c=0;break a}lb(c,b+12|0,1);if(z[b+12>>2]!=1){sb(g,2,12363,0);c=1;break a}lb(c+1|0,b,2);d=z[b>>2];e=d&32767;z[f+4>>2]=e;k=h-3|0;h=(d>>>15|0)+1|0;l=F(h,e)+2|0;if(k>>>0>>0){sb(g,1,11181,0);c=0;break a}c=c+3|0;d=0;if(e){while(1){lb(c,b+12|0,h);if(z[b+12>>2]!=(d|0)){sb(g,2,13503,0);c=1;break a}c=c+h|0;d=d+1|0;if(d>>>0>2]){continue}break}}lb(c,b,2);d=z[b>>2];e=d&32767;z[b>>2]=e;if((e|0)!=z[f+4>>2]){sb(g,2,8991,0);c=1;break a}h=(d>>>15|0)+1|0;m=F(h,e)+3|0;l=k-l|0;if(m>>>0>l>>>0){sb(g,1,11181,0);c=0;break a}c=c+2|0;d=0;if(e){while(1){lb(c,b+12|0,h);if(z[b+12>>2]!=(d|0)){sb(g,2,13503,0);c=1;break a}c=c+h|0;d=d+1|0;if(d>>>0>2]){continue}break}}lb(c,b+12|0,3);h=z[b+12>>2];z[f+8>>2]=0;z[f+12>>2]=0;x[f+16|0]=!(h&65536)|A[f+16|0]&254;k=h&255;z[b+8>>2]=k;e:{if(!k){break e}n=z[a+5620>>2];if(n){d=z[a+5616>>2];e=0;while(1){if((k|0)==z[d+8>>2]){z[f+8>>2]=d;break e}d=d+20|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}sb(g,1,11181,0);c=0;break a}h=h>>>8&255;z[b+8>>2]=h;f:{if(!h){break f}k=z[a+5620>>2];if(k){d=z[a+5616>>2];e=0;while(1){if((h|0)==z[d+8>>2]){z[f+12>>2]=d;break f}d=d+20|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}sb(g,1,11181,0);c=0;break a}h=l-m|0;c=c+3|0;i=i+1|0;if(i>>>0>2]){continue}break}}if(h){sb(g,1,11181,0);c=0;break a}c=1;if(!j){break a}z[a+5632>>2]=z[a+5632>>2]+1;c=1}a=c;Fa=b+16|0;Ka=0;return a|0}function tj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,D,E,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;f=0;g=0;h=0;b=z[a+52>>2];i=z[a+72>>2];d=z[i+16>>2];j=d+6|0;a:{if(j>>>0>C[a+56>>2]){b=xd(b,j);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,10947,0);a=0;break a}z[a+56>>2]=j;z[a+52>>2]=b}kb(b,65400,2);kb(b+2|0,d+4|0,2);kb(b+4|0,z[i+16>>2],2);if(z[i+16>>2]){d=b+6|0;b=z[i+24>>2];while(1){kb(d,z[b+24>>2]-1|z[b+32>>2]<<7,1);b=b+52|0;d=d+1|0;g=g+1|0;if(g>>>0>2]){continue}break}}b:{if((rb(c,z[a+52>>2],j,e)|0)!=(j|0)){break b}j=z[a+156>>2];k=z[a+204>>2];g=j+F(k,5644)|0;if(z[g+5620>>2]){l=g+5620|0;d=z[g+5616>>2];while(1){b=z[a+52>>2];m=z[d+16>>2];i=m+10|0;if(i>>>0>C[a+56>>2]){b=xd(b,i);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,10012,0);a=0;break a}z[a+56>>2]=i;z[a+52>>2]=b}kb(b,65396,2);kb(b+2|0,m+8|0,2);kb(b+4|0,0,2);kb(b+6|0,A[d+8|0]|z[d+4>>2]<<8|z[d>>2]<<10,2);kb(b+8|0,0,2);Gd(b+10|0,z[d+12>>2],z[d+16>>2]);if((rb(c,z[a+52>>2],i,e)|0)!=(i|0)){break b}d=d+20|0;f=f+1|0;if(f>>>0>2]){continue}break}}c:{if(z[g+5632>>2]){l=g+5632|0;f=z[(j+F(k,5644)|0)+5628>>2];j=0;while(1){d=z[a+52>>2];b=z[f+4>>2];h=b>>>0>255;g=b<<1<>>0>C[a+56>>2]){d=xd(d,i);if(!d){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,11207,0);a=0;break a}z[a+56>>2]=i;z[a+52>>2]=d}b=h?2:1;kb(d,65397,2);kb(d+2|0,g+17|0,2);g=0;kb(d+4|0,0,2);kb(d+6|0,z[f>>2],1);kb(d+7|0,0,2);kb(d+9|0,1,2);kb(d+11|0,1,1);m=h<<15;kb(d+12|0,m|z[f+4>>2],2);d=d+14|0;h=0;k=0;if(z[f+4>>2]){while(1){kb(d,h,b);d=b+d|0;h=h+1|0;k=z[f+4>>2];if(h>>>0>>0){continue}break}}kb(d,k|m,2);d=d+2|0;if(z[f+4>>2]){while(1){kb(d,g,b);d=b+d|0;g=g+1|0;if(g>>>0>2]){continue}break}}b=(x[f+16|0]&1)<<16^65536;g=z[f+8>>2];if(g){b=z[g+8>>2]|b}g=z[f+12>>2];if(g){b=z[g+8>>2]<<8|b}kb(d,b,3);if((rb(c,z[a+52>>2],i,e)|0)!=(i|0)){break c}f=f+20|0;j=j+1|0;if(j>>>0>2]){continue}break}}b=z[a+52>>2];d=z[a+156>>2];g=z[a+204>>2];i=d+F(g,5644)|0;h=z[i+5632>>2];f=h+5|0;if(f>>>0>C[a+56>>2]){b=xd(b,f);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,10178,0);break c}z[a+56>>2]=f;z[a+52>>2]=b}kb(b,65399,2);kb(b+2|0,h+3|0,2);h=1;i=i+5632|0;kb(b+4|0,z[i>>2],1);if(z[i>>2]){b=b+5|0;d=z[(d+F(g,5644)|0)+5628>>2];g=0;while(1){kb(b,z[d>>2],1);d=d+20|0;b=b+1|0;g=g+1|0;if(g>>>0>2]){continue}break}}if((rb(c,z[a+52>>2],f,e)|0)==(f|0)){break b}}h=0}a=h}Ka=0;return a|0}function Qc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:{n=F(e,3);h=z[b>>2]>>>n|0;if(h&2097168){break a}h=h&495;if(!h){break a}l=(A[h+z[a+108>>2]|0]<<2)+a|0;z[a+104>>2]=l+28;k=z[l+28>>2];i=z[k>>2];h=z[a+4>>2]-i|0;z[a+4>>2]=h;j=z[a>>2];b:{if(j>>>16>>>0>>0){m=z[k+4>>2];z[a+4>>2]=i;h=h>>>0>>0;z[l+28>>2]=z[k+(h?8:12)>>2];k=h?m:!m;h=z[a+8>>2];while(1){c:{if(h){break c}h=z[a+16>>2];m=h+1|0;l=A[h+1|0];if(A[h|0]==255){if(l>>>0>=144){z[a+12>>2]=z[a+12>>2]+1;j=j+65280|0;h=8;break c}z[a+16>>2]=m;j=(l<<9)+j|0;h=7;break c}z[a+16>>2]=m;h=8;j=(l<<8)+j|0}h=h-1|0;z[a+8>>2]=h;j=j<<1;z[a>>2]=j;i=i<<1;z[a+4>>2]=i;if(i>>>0<32768){continue}break}h=i;break b}j=j-(i<<16)|0;z[a>>2]=j;if(!(h&32768)){m=z[k+4>>2];i=h>>>0>>0;z[l+28>>2]=z[k+(i?12:8)>>2];k=i?!m:m;i=z[a+8>>2];while(1){d:{if(i){break d}i=z[a+16>>2];m=i+1|0;l=A[i+1|0];if(A[i|0]==255){if(l>>>0>=144){z[a+12>>2]=z[a+12>>2]+1;j=j+65280|0;i=8;break d}z[a+16>>2]=m;j=(l<<9)+j|0;i=7;break d}z[a+16>>2]=m;i=8;j=(l<<8)+j|0}i=i-1|0;z[a+8>>2]=i;j=j<<1;z[a>>2]=j;h=h<<1;z[a+4>>2]=h;if(h>>>0<32768){continue}break}break b}k=z[k+4>>2]}e:{if(!k){break e}o=b-4|0;i=z[b>>2];k=z[b+4>>2]>>>n+17&4|(z[o>>2]>>>n+19&1|(i>>>n+16&64|i>>>n&170|i>>>(e?n+12|0:14)&16));m=(A[k+42048|0]<<2)+a|0;z[a+104>>2]=m+28;l=z[m+28>>2];i=z[l>>2];h=h-i|0;z[a+4>>2]=h;p=A[k+42304|0];f:{if(j>>>16>>>0>>0){k=z[l+4>>2];z[a+4>>2]=i;h=h>>>0>>0;z[m+28>>2]=z[l+(h?8:12)>>2];l=h?k:!k;h=z[a+8>>2];while(1){g:{if(h){break g}h=z[a+16>>2];m=h+1|0;k=A[h+1|0];if(A[h|0]==255){if(k>>>0>=144){z[a+12>>2]=z[a+12>>2]+1;j=j+65280|0;h=8;break g}z[a+16>>2]=m;j=(k<<9)+j|0;h=7;break g}z[a+16>>2]=m;h=8;j=(k<<8)+j|0}h=h-1|0;z[a+8>>2]=h;j=j<<1;z[a>>2]=j;i=i<<1;z[a+4>>2]=i;if(i>>>0<32768){continue}break}break f}k=j-(i<<16)|0;z[a>>2]=k;if(!(h&32768)){j=z[l+4>>2];i=h>>>0>>0;z[m+28>>2]=z[l+(i?12:8)>>2];l=i?!j:j;j=z[a+8>>2];while(1){h:{if(j){break h}j=z[a+16>>2];m=j+1|0;i=A[j+1|0];if(A[j|0]==255){if(i>>>0>=144){z[a+12>>2]=z[a+12>>2]+1;k=k+65280|0;j=8;break h}z[a+16>>2]=m;k=(i<<9)+k|0;j=7;break h}z[a+16>>2]=m;j=8;k=(i<<8)+k|0}j=j-1|0;z[a+8>>2]=j;k=k<<1;z[a>>2]=k;h=h<<1;z[a+4>>2]=h;if(h>>>0<32768){continue}break}break f}l=z[l+4>>2]}a=c;c=l^p;z[a>>2]=c?0-d|0:d;z[o>>2]=z[o>>2]|32<>2]=z[b>>2]|(c<<19|16)<>2]=z[b+4>>2]|8<>2]=z[a+4>>2]|32768;z[a>>2]=z[a>>2]|c<<31|65536;a=a-4|0;z[a>>2]=z[a>>2]|131072}if((e|0)!=3){break e}a=(f<<2)+b|0;z[a+4>>2]=z[a+4>>2]|1;z[a>>2]=z[a>>2]|c<<18|2;a=a-4|0;z[a>>2]=z[a>>2]|4}z[b>>2]=z[b>>2]|2097152<>2]>>>m|0;if(g&2097168){break a}k=(A[z[a+108>>2]+(g&495)|0]<<2)+a|0;z[a+104>>2]=k+28;j=z[k+28>>2];h=z[j>>2];g=z[a+4>>2]-h|0;z[a+4>>2]=g;i=z[a>>2];b:{if(i>>>16>>>0>>0){l=z[j+4>>2];z[a+4>>2]=h;g=g>>>0>>0;z[k+28>>2]=z[j+(g?8:12)>>2];j=g?l:!l;g=z[a+8>>2];while(1){c:{if(g){break c}g=z[a+16>>2];l=g+1|0;k=A[g+1|0];if(A[g|0]==255){if(k>>>0>=144){z[a+12>>2]=z[a+12>>2]+1;i=i+65280|0;g=8;break c}z[a+16>>2]=l;i=(k<<9)+i|0;g=7;break c}z[a+16>>2]=l;g=8;i=(k<<8)+i|0}g=g-1|0;z[a+8>>2]=g;i=i<<1;z[a>>2]=i;h=h<<1;z[a+4>>2]=h;if(h>>>0<32768){continue}break}g=h;break b}i=i-(h<<16)|0;z[a>>2]=i;if(!(g&32768)){l=z[j+4>>2];h=g>>>0>>0;z[k+28>>2]=z[j+(h?12:8)>>2];j=h?!l:l;h=z[a+8>>2];while(1){d:{if(h){break d}h=z[a+16>>2];l=h+1|0;k=A[h+1|0];if(A[h|0]==255){if(k>>>0>=144){z[a+12>>2]=z[a+12>>2]+1;i=i+65280|0;h=8;break d}z[a+16>>2]=l;i=(k<<9)+i|0;h=7;break d}z[a+16>>2]=l;h=8;i=(k<<8)+i|0}h=h-1|0;z[a+8>>2]=h;i=i<<1;z[a>>2]=i;g=g<<1;z[a+4>>2]=g;if(g>>>0<32768){continue}break}break b}j=z[j+4>>2]}if(!j){break a}n=b-4|0;h=z[b>>2];o=z[b+4>>2]>>>m+17&4|(z[n>>2]>>>m+19&1|(h>>>m+16&64|h>>>m&170|h>>>(e?m+12|0:14)&16));l=(A[o+42048|0]<<2)+a|0;z[a+104>>2]=l+28;k=z[l+28>>2];h=z[k>>2];g=g-h|0;z[a+4>>2]=g;e:{if(i>>>16>>>0>>0){j=z[k+4>>2];z[a+4>>2]=h;g=g>>>0>>0;z[l+28>>2]=z[k+(g?8:12)>>2];k=g?j:!j;g=z[a+8>>2];while(1){f:{if(g){break f}g=z[a+16>>2];l=g+1|0;j=A[g+1|0];if(A[g|0]==255){if(j>>>0>=144){z[a+12>>2]=z[a+12>>2]+1;i=i+65280|0;g=8;break f}z[a+16>>2]=l;i=(j<<9)+i|0;g=7;break f}z[a+16>>2]=l;g=8;i=(j<<8)+i|0}g=g-1|0;z[a+8>>2]=g;i=i<<1;z[a>>2]=i;h=h<<1;z[a+4>>2]=h;if(h>>>0<32768){continue}break}break e}j=i-(h<<16)|0;z[a>>2]=j;if(!(g&32768)){i=z[k+4>>2];h=g>>>0>>0;z[l+28>>2]=z[k+(h?12:8)>>2];k=h?!i:i;i=z[a+8>>2];while(1){g:{if(i){break g}i=z[a+16>>2];l=i+1|0;h=A[i+1|0];if(A[i|0]==255){if(h>>>0>=144){z[a+12>>2]=z[a+12>>2]+1;j=j+65280|0;i=8;break g}z[a+16>>2]=l;j=(h<<9)+j|0;i=7;break g}z[a+16>>2]=l;i=8;j=(h<<8)+j|0}i=i-1|0;z[a+8>>2]=i;j=j<<1;z[a>>2]=j;g=g<<1;z[a+4>>2]=g;if(g>>>0<32768){continue}break}break e}k=z[k+4>>2]}g=0-d|0;h=d;d=A[o+42304|0]^k;z[c>>2]=d?g:h;z[n>>2]=z[n>>2]|32<>2]=z[b>>2]|(d<<19|16)<>2]=z[b+4>>2]|8<>2]<<2)+b|0;z[c+4>>2]=z[c+4>>2]|32768;z[c>>2]=z[c>>2]|d<<31|65536;c=c-4|0;z[c>>2]=z[c>>2]|131072}if((e|0)!=3){break a}a=(z[a+124>>2]<<2)+b|0;z[a+4>>2]=z[a+4>>2]|4;z[a+12>>2]=z[a+12>>2]|1;z[a+8>>2]=z[a+8>>2]|d<<18|2}}function Uf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=Fa-160|0;Fa=c;if(b){z[a+336>>2]=z[a+332>>2]}b=Re(c+152|0,1629);e=z[b+4>>2];z[c+32>>2]=z[b>>2];z[c+36>>2]=e;a:{b:{if(Se(a,c+32|0)){b=0;Ve(c+84|0,a,0);if(!Ue(a,95)){break b}b=Fa-16|0;Fa=b;g=Gf(a+408|0,16);d=z[c+88>>2];a=b;e=z[c+84>>2];z[a>>2]=e;z[a+4>>2]=d;z[a+8>>2]=e;z[a+12>>2]=d;b=If(g,47,0,1,1,1);z[b>>2]=55900;e=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=e;Fa=a+16|0;break b}b=Re(c+144|0,2735);e=z[b+4>>2];z[c+24>>2]=z[b>>2];z[c+28>>2]=e;if(Se(a,c+24|0)){h=a+332|0;b=h;b=z[b+4>>2]-z[b>>2]>>2;g=c+136|0;z[g>>2]=a+392;z[g+4>>2]=z[a+392>>2];z[a+392>>2]=b;j=ug(c+84|0,a);e=a+8|0;b=e;d=z[b+4>>2]-z[b>>2]>>2;c:{d:{e:{while(1){f:{b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}if((b|0)!=84){break f}b=Re(c+76|0,2439);f=z[a>>2];if(z[a+4>>2]-f>>>0>1){f=A[f+1|0]}else{f=0}f=f<<24>>24;g:{h:{i=z[b+4>>2]-z[b>>2]|0;if(!i){break h}f=Yd(z[b>>2],f,i);if(!f){break h}b=f-z[b>>2]|0;break g}b=-1}if((b|0)==-1){break f}z[16214]=0;b=qa(306,a|0)|0;f=z[16214];z[16214]=0;if((f|0)==1){break c}z[c+76>>2]=b;if(!b){break e}ff(e,c+76|0);continue}break}z[16214]=0;Ca(303,c+76|0,a|0,d|0);b=z[16214];z[16214]=0;i:{if((b|0)!=1){if(z[c+80>>2]){break i}z[16214]=0;va(307,h|0);b=z[16214];z[16214]=0;if((b|0)!=1){break i}}break a}b=Re(c+68|0,4032);f=z[b+4>>2];z[c+8>>2]=z[b>>2];z[c+12>>2]=f;if(!Se(a,c+8|0)){while(1){z[16214]=0;b=qa(304,a|0)|0;f=z[16214];z[16214]=0;if((f|0)==1){break a}z[c+60>>2]=b;if(!b){break e}ff(e,c+60|0);if(!Ue(a,69)){continue}break}}b=0;z[16214]=0;Ca(303,c+60|0,a|0,d|0);e=z[16214];z[16214]=0;if((e|0)==1){break a}Ve(c+52|0,a,0);if(!Ue(a,95)){break d}d=Fa-48|0;Fa=d;k=Gf(a+408|0,32);f=z[c+80>>2];a=z[c+76>>2];z[d+40>>2]=a;z[d+44>>2]=f;h=z[c+64>>2];b=z[c+60>>2];z[d+32>>2]=b;z[d+36>>2]=h;i=z[c+56>>2];e=z[c+52>>2];z[d+24>>2]=e;z[d+28>>2]=i;z[d+16>>2]=a;z[d+20>>2]=f;z[d+8>>2]=b;z[d+12>>2]=h;z[d>>2]=e;z[d+4>>2]=i;b=If(k,48,0,1,1,1);z[b>>2]=56600;a=z[d+20>>2];z[b+8>>2]=z[d+16>>2];z[b+12>>2]=a;a=z[d+12>>2];z[b+16>>2]=z[d+8>>2];z[b+20>>2]=a;a=z[d+4>>2];z[b+24>>2]=z[d>>2];z[b+28>>2]=a;Fa=d+48|0;break d}b=0}wg(j);z[z[g>>2]>>2]=z[g+4>>2];break b}break a}b=Re(c+44|0,3814);e=z[b+4>>2];z[c+16>>2]=z[b>>2];z[c+20>>2]=e;b=0;if(!Se(a,c+16|0)){break b}Ve(c+84|0,a,0);if(!Ue(a,95)){break b}b=Fa-16|0;Fa=b;e=Gf(a+408|0,16);a=b;b=Re(a+8|0,5928);d=z[b+4>>2];z[a>>2]=z[b>>2];z[a+4>>2]=d;b=Lf(e,a);Fa=a+16|0}Fa=c+160|0;return b}a=wa()|0;wg(j);z[z[g>>2]>>2]=z[g+4>>2];xa(a|0);r()}function Yb(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Fa-208|0;Fa=h;j=z[a+72>>2];a:{if(!(!(z[z[a+156>>2]+5596>>2]?z[a+104>>2]!=1|z[a+108>>2]!=1:1)|z[a+8>>2]==8)){sb(g,1,24499,0);break a}l=z[b+16>>2];b:{if(!l){break b}k=z[b+24>>2];if(l>>>0>=4){m=l&-4;while(1){z[(F(i,52)+k|0)+40>>2]=z[a+160>>2];z[(F(i|1,52)+k|0)+40>>2]=z[a+160>>2];z[(F(i|2,52)+k|0)+40>>2]=z[a+160>>2];z[(F(i|3,52)+k|0)+40>>2]=z[a+160>>2];i=i+4|0;n=n+4|0;if((m|0)!=(n|0)){continue}break}}l=l&3;if(!l){break b}while(1){z[(F(i,52)+k|0)+40>>2]=z[a+160>>2];i=i+1|0;o=o+1|0;if((l|0)!=(o|0)){continue}break}}if(!(c|d|e|f)){sb(g,4,13588,0);z[a+28>>2]=0;z[a+32>>2]=0;c=z[a+108>>2];z[a+36>>2]=z[a+104>>2];z[a+40>>2]=c;z[b>>2]=z[j>>2];z[b+4>>2]=z[j+4>>2];z[b+8>>2]=z[j+8>>2];z[b+12>>2]=z[j+12>>2];i=Zb(b,g);break a}if((c|0)<0){z[h>>2]=c;sb(g,1,27240,h);i=0;break a}i=z[j+8>>2];if(i>>>0>>0){z[h+20>>2]=i;z[h+16>>2]=c;sb(g,1,27708,h+16|0);i=0;break a}i=z[j>>2];c:{if(i>>>0>c>>>0){z[h+196>>2]=i;z[h+192>>2]=c;sb(g,2,28060,h+192|0);z[a+28>>2]=0;c=z[j>>2];break c}z[a+28>>2]=(c-z[a+84>>2]>>>0)/C[a+92>>2]}z[b>>2]=c;if((d|0)<0){z[h+32>>2]=d;sb(g,1,27176,h+32|0);i=0;break a}c=z[j+12>>2];if(c>>>0>>0){z[h+52>>2]=c;z[h+48>>2]=d;sb(g,1,27535,h+48|0);i=0;break a}c=z[j+4>>2];d:{if(c>>>0>d>>>0){z[h+180>>2]=c;z[h+176>>2]=d;sb(g,2,27885,h+176|0);z[a+32>>2]=0;d=z[j+4>>2];break d}z[a+32>>2]=(d-z[a+88>>2]>>>0)/C[a+96>>2]}z[b+4>>2]=d;i=0;if((e|0)<=0){z[h+64>>2]=e;sb(g,1,27110,h- -64|0);break a}c=z[j>>2];if(c>>>0>e>>>0){z[h+84>>2]=c;z[h+80>>2]=e;sb(g,1,27971,h+80|0);break a}c=z[j+8>>2];e:{if(c>>>0>>0){z[h+164>>2]=c;z[h+160>>2]=e;sb(g,2,27620,h+160|0);z[a+36>>2]=z[a+104>>2];e=z[j+8>>2];break e}c=z[a+92>>2];k=e-z[a+84>>2]|0;l=k;d=c+k|0;m=c>>31;k=m+(k>>31)|0;k=d>>>0>>0?k+1|0:k;p=a,q=qo(d-1|0,k-!d|0,c,m),z[p+36>>2]=q}z[b+8>>2]=e;if((f|0)<=0){z[h+96>>2]=f;sb(g,1,27043,h+96|0);break a}c=z[j+4>>2];if(c>>>0>f>>>0){z[h+116>>2]=c;z[h+112>>2]=f;sb(g,1,27795,h+112|0);break a}c=z[j+12>>2];f:{if(c>>>0>>0){z[h+148>>2]=c;z[h+144>>2]=f;sb(g,2,27446,h+144|0);z[a+40>>2]=z[a+108>>2];f=z[j+12>>2];break f}c=z[a+96>>2];e=f-z[a+88>>2]|0;i=e;d=c+i|0;j=c>>31;e=j+(i>>31)|0;e=d>>>0>>0?e+1|0:e;p=a,q=qo(d-1|0,e-!d|0,c,j),z[p+40>>2]=q}z[b+12>>2]=f;x[a+68|0]=A[a+68|0]|2;i=Zb(b,g);if(!i){i=0;break a}a=z[b>>2];c=z[b+4>>2];d=z[b+12>>2];z[h+136>>2]=z[b+8>>2];z[h+140>>2]=d;z[h+128>>2]=a;z[h+132>>2]=c;sb(g,4,20504,h+128|0)}Fa=h+208|0;return i}function Wi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;b=a;if(C[a+44>>2]>=8){d=z[b+40>>2];j=8;while(1){i=z[b+12>>2]<<5;k=z[b>>2];e=z[b+36>>2];a=z[b+16>>2];g=z[b+20>>2];a:{if(a>>>0>=g>>>0){break a}h=i+k|0;c=a+1|0;if(g-a&1){f=h+(a<<6)|0;a=(F(a,e)<<2)+d|0;l=z[a+4>>2];z[f>>2]=z[a>>2];z[f+4>>2]=l;l=z[a+28>>2];z[f+24>>2]=z[a+24>>2];z[f+28>>2]=l;l=z[a+20>>2];z[f+16>>2]=z[a+16>>2];z[f+20>>2]=l;l=z[a+12>>2];z[f+8>>2]=z[a+8>>2];z[f+12>>2]=l;a=c}if((c|0)==(g|0)){break a}while(1){c=(F(a,e)<<2)+d|0;l=z[c+4>>2];f=h+(a<<6)|0;z[f>>2]=z[c>>2];z[f+4>>2]=l;l=z[c+28>>2];z[f+24>>2]=z[c+24>>2];z[f+28>>2]=l;l=z[c+20>>2];z[f+16>>2]=z[c+16>>2];z[f+20>>2]=l;l=z[c+12>>2];z[f+8>>2]=z[c+8>>2];z[f+12>>2]=l;f=a+1|0;c=h+(f<<6)|0;f=(F(e,f)<<2)+d|0;l=z[f+28>>2];z[c+24>>2]=z[f+24>>2];z[c+28>>2]=l;l=z[f+20>>2];z[c+16>>2]=z[f+16>>2];z[c+20>>2]=l;l=z[f+12>>2];z[c+8>>2]=z[f+8>>2];z[c+12>>2]=l;l=z[f+4>>2];z[c>>2]=z[f>>2];z[c+4>>2]=l;a=a+2|0;if((g|0)!=(a|0)){continue}break}}a=z[b+24>>2];g=z[b+28>>2];b:{if(a>>>0>=g>>>0){break b}h=(k-i|0)+32|0;i=(F(e,z[b+8>>2])<<2)+d|0;c=a+1|0;if(g-a&1){f=h+(a<<6)|0;a=i+(F(a,e)<<2)|0;k=z[a+4>>2];z[f>>2]=z[a>>2];z[f+4>>2]=k;k=z[a+28>>2];z[f+24>>2]=z[a+24>>2];z[f+28>>2]=k;k=z[a+20>>2];z[f+16>>2]=z[a+16>>2];z[f+20>>2]=k;k=z[a+12>>2];z[f+8>>2]=z[a+8>>2];z[f+12>>2]=k;a=c}if((c|0)==(g|0)){break b}while(1){c=i+(F(a,e)<<2)|0;k=z[c+4>>2];f=h+(a<<6)|0;z[f>>2]=z[c>>2];z[f+4>>2]=k;k=z[c+28>>2];z[f+24>>2]=z[c+24>>2];z[f+28>>2]=k;k=z[c+20>>2];z[f+16>>2]=z[c+16>>2];z[f+20>>2]=k;k=z[c+12>>2];z[f+8>>2]=z[c+8>>2];z[f+12>>2]=k;f=a+1|0;c=h+(f<<6)|0;f=i+(F(e,f)<<2)|0;k=z[f+28>>2];z[c+24>>2]=z[f+24>>2];z[c+28>>2]=k;k=z[f+20>>2];z[c+16>>2]=z[f+16>>2];z[c+20>>2]=k;k=z[f+12>>2];z[c+8>>2]=z[f+8>>2];z[c+12>>2]=k;k=z[f+4>>2];z[c>>2]=z[f>>2];z[c+4>>2]=k;a=a+2|0;if((g|0)!=(a|0)){continue}break}}Nb(b);a=0;if(z[b+32>>2]){while(1){c=z[b>>2]+(a<<5)|0;f=z[c+4>>2];e=(F(z[b+36>>2],a)<<2)+d|0;z[e>>2]=z[c>>2];z[e+4>>2]=f;f=z[c+28>>2];z[e+24>>2]=z[c+24>>2];z[e+28>>2]=f;f=z[c+20>>2];z[e+16>>2]=z[c+16>>2];z[e+20>>2]=f;f=z[c+12>>2];z[e+8>>2]=z[c+8>>2];z[e+12>>2]=f;a=a+1|0;if(a>>>0>2]){continue}break}}d=d+32|0;j=j+8|0;if(j>>>0<=C[b+44>>2]){continue}break}}le(z[b>>2]);le(b);Ka=0;return 0}function Dc(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,D=0,E=0,G=0,H=0;A=z[(z[b+76>>2]+F(c,5644)|0)+5584>>2];B=z[a+24>>2];n=z[b+24>>2];m=(c>>>0)/(n>>>0)|0;c=z[b+4>>2]+F(z[b+12>>2],c-F(m,n)|0)|0;n=z[a>>2];z[d>>2]=c>>>0>n>>>0?c:n;n=c+z[b+12>>2]|0;c=c>>>0>n>>>0?-1:n;n=z[a+8>>2];z[e>>2]=c>>>0>>0?c:n;c=z[b+8>>2]+F(m,z[b+16>>2])|0;m=z[a+4>>2];z[f>>2]=c>>>0>m>>>0?c:m;b=c+z[b+16>>2]|0;b=b>>>0>>0?-1:b;c=z[a+12>>2];z[g>>2]=b>>>0>>0?b:c;z[j>>2]=0;z[k>>2]=0;z[h>>2]=2147483647;z[i>>2]=2147483647;if(z[a+16>>2]){while(1){b=l?z[(H<<2)+l>>2]:0;c=z[B+4>>2];u=c-1|0;p=z[g>>2];n=u+p|0;v=0-!c|0;m=v;n=ro(n,n>>>0

>>0?m+1|0:m,c,0);x=z[B>>2];D=x-1|0;s=z[e>>2];p=D+s|0;y=0-!x|0;m=y;p=ro(p,p>>>0>>0?m+1|0:m,x,0);m=v;s=z[f>>2];u=s+u|0;u=ro(u,s>>>0>u>>>0?m+1|0:m,c,0);m=y;v=z[d>>2];c=v+D|0;m=ro(c,c>>>0>>0?m+1|0:m,x,0);c=z[A+4>>2];if(c>>>0>C[k>>2]){z[k>>2]=c;c=z[A+4>>2]}if(c){D=n;y=0;x=p;v=m;E=0;while(1){m=(E<<2)+A|0;n=z[m+944>>2];p=z[m+812>>2];s=0;if(b){z[b+4>>2]=n;z[b>>2]=p;s=b+8|0}c=c-1|0;b=p+c|0;a:{if(b>>>0>31){break a}m=z[B>>2];if(m>>>0>-1>>>b>>>0){break a}o=z[h>>2];b=m<>2]=b>>>0>o>>>0?o:b}b=c+n|0;b:{if(b>>>0>31){break b}m=z[B+4>>2];if(m>>>0>-1>>>b>>>0){break b}o=z[i>>2];b=m<>2]=b>>>0>o>>>0?o:b}b=0;o=c&31;if((c&63)>>>0>=32){m=-1<>>32-o}w=q^-1;o=w+D|0;G=m^-1;m=G+y|0;m=o>>>0>>0?m+1|0:m;t=0;q=o;o=c&31;q=(c&63)>>>0>=32?m>>>o|0:((1<>>o;o=n&31;if((n&63)>>>0>=32){m=1<>>32-o}o=q+r|0;m=m+t|0;t=o-1|0;o=(o>>>0>>0?m+1|0:m)-!o|0;m=n&31;o=(n&63)>>>0>=32?o>>>m|0:((1<>>m;m=y+G|0;r=o;t=u+w|0;m=t>>>0>>0?m+1|0:m;o=c&31;m=(c&63)>>>0>=32?m>>>o|0:((1<>>o;o=(m|0)!=(q|0)?r-(m>>>n|0)&-1>>>n:0;m=y+G|0;n=x+w|0;m=n>>>0>>0?m+1|0:m;t=0;q=n;n=c&31;q=(c&63)>>>0>=32?m>>>n|0:((1<>>n;n=p&31;if((p&63)>>>0>=32){m=1<>>32-n}n=q+r|0;m=m+t|0;t=n-1|0;n=(n>>>0>>0?m+1|0:m)-!n|0;m=p&31;n=(p&63)>>>0>=32?n>>>m|0:((1<>>m;m=y+G|0;r=n;w=v+w|0;m=w>>>0>>0?m+1|0:m;n=c&31;m=(c&63)>>>0>=32?m>>>n|0:((1<>>n;m=(m|0)!=(q|0)?r-(m>>>p|0)&-1>>>p:0;if(s){z[s+4>>2]=o;z[s>>2]=m;b=s+8|0}m=F(m,o);if(m>>>0>C[j>>2]){z[j>>2]=m}E=E+1|0;if(E>>>0>2]){continue}break}}B=B+52|0;A=A+1080|0;H=H+1|0;if(H>>>0>2]){continue}break}}}function Gb(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;r=z[a+4>>2];l=z[b>>2];j=z[b+8>>2];k=z[b+28>>2];o=z[b+36>>2];h=z[b+20>>2];f=h-1|0;a:{if(f){m=f&1;b:{if((h|0)==2){b=k;break b}s=f&-2;b=k;while(1){i=z[b+160>>2]-z[b+152>>2]|0;g=g>>>0>i>>>0?g:i;i=z[b+164>>2]-z[b+156>>2]|0;g=g>>>0>i>>>0?g:i;i=z[b+312>>2]-z[b+304>>2]|0;g=g>>>0>i>>>0?g:i;i=z[b+316>>2]-z[b+308>>2]|0;g=g>>>0>i>>>0?g:i;b=b+304|0;e=e+2|0;if((s|0)!=(e|0)){continue}break}}if(m){e=z[b+160>>2]-z[b+152>>2]|0;e=e>>>0>>0?g:e;b=z[b+164>>2]-z[b+156>>2]|0;g=b>>>0>>0?e:b}e=0;if(g>>>0>134217727){break a}}s=g<<5;m=wd(s);if(m?0:g){break a}c:{d:{if(f){l=j-l|0;k=k+F(f,152)|0;b=h-2|0;i=(r|0)<2;while(1){g=b;b=k;k=b-152|0;u=z[k>>2];v=z[k+8>>2];p=z[b+12>>2];n=z[b+4>>2];h=p-n|0;j=n&1;w=z[b>>2];f=z[b+8>>2]-w|0;e:{if(!(!i&f>>>0>15)){b=0;if(f>>>0>=8){e=!j;while(1){La[c|0]((b<<2)+o|0,0,m,0,h,0,e,0,l,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+8|0;if(f>>>0>(b|7)>>>0){continue}break}}if(b>>>0>=f>>>0){break e}La[c|0]((b<<2)+o|0,0,m,0,h,0,!j,0,l,0,f-b|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;break e}x=z[k+12>>2]-z[k+4>>2]|0;A=h-x|0;q=f>>>0>>0?f:r;t=(f>>>0)/(q>>>0)&-8;e=0;while(1){b=td(40);if(!b){break d}y=wd(s);z[b>>2]=y;if(!y){Db(a);le(b);e=0;break c}z[b+36>>2]=c;z[b+24>>2]=o;z[b+20>>2]=l;z[b+16>>2]=h;z[b+12>>2]=j;z[b+8>>2]=x;z[b+4>>2]=A;z[b+28>>2]=F(e,t);e=e+1|0;z[b+32>>2]=(e|0)==(q|0)?f:F(t,e);Cb(a,111,b);if((e|0)!=(q|0)){continue}break}Db(a)}j=w&1;f:{if(!(!i&h>>>0>1)){if((n|0)==(p|0)){break f}e=!j;b=0;if((h|0)!=1){n=h&-2;j=0;while(1){La[d|0]((F(b,l)<<2)+o|0,0,m,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;La[d|0]((F(l,b|1)<<2)+o|0,0,m,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+2|0;j=j+2|0;if((n|0)!=(j|0)){continue}break}}if(!(h&1)){break f}La[d|0]((F(b,l)<<2)+o|0,0,m,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;break f}t=v-u|0;u=f-t|0;n=h>>>0>>0?h:r;v=n-1|0;q=(h>>>0)/(n>>>0)|0;e=0;while(1){b=td(40);if(!b){break d}p=wd(s);z[b>>2]=p;if(!p){Db(a);le(b);e=0;break c}z[b+36>>2]=d;z[b+24>>2]=o;z[b+20>>2]=l;z[b+16>>2]=f;z[b+12>>2]=j;z[b+8>>2]=t;z[b+4>>2]=u;z[b+28>>2]=F(e,q);p=(e|0)==(v|0);e=e+1|0;z[b+32>>2]=p?h:F(q,e);Cb(a,112,b);if((e|0)!=(n|0)){continue}break}Db(a)}b=g-1|0;if(g){continue}break}}e=1;break c}Db(a);e=0}le(m)}return e}function pc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=tb();z[a+72>>2]=e;if(!e){sb(d,1,5455,0);return 0}vb(c,e);e=z[c+24>>2];a:{if(!e){break a}f=z[c+16>>2];if(!f){break a}c=0;if((f|0)!=1){h=f&-2;while(1){g=F(c,52);i=g+e|0;k=z[i+44>>2];if(k){z[(g+z[z[a+72>>2]+24>>2]|0)+44>>2]=k;z[i+44>>2]=0}g=F(c|1,52);i=g+e|0;k=z[i+44>>2];if(k){z[(g+z[z[a+72>>2]+24>>2]|0)+44>>2]=k;z[i+44>>2]=0}c=c+2|0;j=j+2|0;if((h|0)!=(j|0)){continue}break}}if(!(f&1)){break a}c=F(c,52);e=c+e|0;f=z[e+44>>2];if(!f){break a}z[(c+z[z[a+72>>2]+24>>2]|0)+44>>2]=f;z[e+44>>2]=0}b:{c:{if(!sd(z[a+196>>2],130,d)){break c}if(!sd(z[a+196>>2],131,d)){break c}if(!sd(z[a+196>>2],132,d)){break c}h=z[a+196>>2];g=z[h>>2];f=z[h+8>>2];d:{e:{if(g){c=1;if((g|0)!=1){i=g&-2;j=0;while(1){e=0;f:{if(!c){break f}e=0;if(!(La[z[f>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break f}e=(La[z[f+4>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}c=e;f=f+8|0;j=j+2|0;if((i|0)!=(j|0)){continue}break}}if(g&1){if(!c){break d}c=(La[z[f>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[h>>2]=0;if(c&1){break e}break c}z[h>>2]=0}if(!sd(z[a+192>>2],133,d)){break c}if(!sd(z[a+192>>2],134,d)){break c}if(!sd(z[a+192>>2],135,d)){break c}if(!sd(z[a+192>>2],136,d)){break c}if(!sd(z[a+192>>2],137,d)){break c}if(!sd(z[a+192>>2],138,d)){break c}if(!sd(z[a+192>>2],139,d)){break c}g:{if(!z[a+16>>2]){break g}if(!sd(z[a+192>>2],140,d)){break c}if(B[a+80>>1]!=4){break g}if(!sd(z[a+192>>2],141,d)){break c}}if(!sd(z[a+192>>2],142,d)){break c}if(z[a+100>>2]){if(!sd(z[a+192>>2],143,d)){break c}}if((B[a+80>>1]&33024)==33024){if(!sd(z[a+192>>2],144,d)){break c}}if(z[a+200>>2]){if(!sd(z[a+192>>2],145,d)){break c}}if(!sd(z[a+192>>2],146,d)){break c}if(!sd(z[a+192>>2],147,d)){break c}e=z[a+192>>2];h=z[e>>2];c=z[e+8>>2];if(!h){break b}f=1;if((h|0)!=1){i=h&-2;g=0;while(1){j=0;if(f){j=(La[z[c>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}f=0;if(j){f=(La[z[c+4>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}c=c+8|0;g=g+2|0;if((i|0)!=(g|0)){continue}break}}if(h&1){if(!f){z[e>>2]=0;return 0}f=(La[z[c>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[e>>2]=0;return f}z[h>>2]=0}return 0}z[e>>2]=0;return 1}function xc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Fa-144|0;Fa=f;a:{b:{i=z[b+8>>2];c:{if(!i){g=z[b+12>>2];break c}e=z[a+16>>2];h=B[i+4>>1];g=z[b+12>>2];if(!(!g|!z[g+12>>2])){e=A[g+18|0]}d:{if(h){i=z[i>>2];b=0;while(1){d=i+F(b,6)|0;k=B[d>>1];if(k>>>0>=e>>>0){z[f+132>>2]=e;z[f+128>>2]=k;sb(c,1,28353,f+128|0);k=0;break a}e:{d=B[d+4>>1];if(!(!d|(d|0)==65535)){d=d-1|0;if(d>>>0>=e>>>0){break e}}b=b+1|0;if((h|0)==(b|0)){break d}continue}break}z[f+116>>2]=e;z[f+112>>2]=d;sb(c,1,28353,f+112|0);k=0;break a}if(e){break b}break c}if(!h){break b}while(1){e=e-1|0;b=0;while(1){if(B[i+F(b,6)>>1]!=(e|0)){b=b+1|0;if((h|0)!=(b|0)){continue}break b}break}if((h|0)==(b&65535)){break b}if(e){continue}break}}k=1;if(!g){break a}i=z[g+12>>2];if(!i){break a}f:{e=A[g+18|0];g:{if(e){b=0;h=1;while(1){g=z[a+16>>2];d=B[i+(b<<2)>>1];if(g>>>0<=d>>>0){z[f+100>>2]=g;z[f+96>>2]=d;sb(c,1,28353,f+96|0);h=0}b=b+1|0;if((e|0)!=(b|0)){continue}break}g=ud(e,4);if(!g){break g}h:{if(!e){break h}b=0;while(1){d=i+(b<<2)|0;l=A[d+2|0];i:{if(l>>>0>=2){z[f+20>>2]=l;z[f+16>>2]=b;sb(c,1,26514,f+16|0);h=0;break i}d=A[d+3|0];if(d>>>0>=e>>>0){z[f+80>>2]=d;sb(c,1,26458,f+80|0);h=0;break i}m=(l|0)!=1;j=(d<<2)+g|0;if(!(m|!z[j>>2])){z[f+32>>2]=d;sb(c,1,25389,f+32|0);h=0;break i}if(!(!d|l)){z[f+52>>2]=d;z[f+48>>2]=b;sb(c,1,26321,f+48|0);h=0;break i}if(!((b|0)==(d|0)|m)){z[f+72>>2]=d;z[f+68>>2]=b;z[f+64>>2]=b;sb(c,1,26357,f- -64|0);h=0;break i}z[j>>2]=1}b=b+1|0;if((e|0)!=(b|0)){continue}break}if(!e){break h}b=0;while(1){d=b<<2;if(!(z[d+g>>2]|!A[(d+i|0)+2|0])){z[f>>2]=b;sb(c,1,25017,f);h=0}b=b+1|0;if((e|0)!=(b|0)){continue}break}}if(!h){le(g);k=0;break a}if(!e|z[a+16>>2]!=1){break f}b=0;a=0;while(1){if(z[(b<<2)+g>>2]){a=a+1|0;b=a&65535;if(e>>>0>b>>>0){continue}break f}break}d=0;sb(c,2,22821,0);a=0;b=0;if(e>>>0>=4){l=e&252;h=0;while(1){c=a<<2;j=c+i|0;x[j+3|0]=b;x[j+2|0]=1;j=i+(c|4)|0;x[j+3|0]=b|1;x[j+2|0]=1;j=i+(c|8)|0;x[j+3|0]=b|2;x[j+2|0]=1;c=i+(c|12)|0;x[c+3|0]=b|3;x[c+2|0]=1;b=b+4|0;a=a+4|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}c=e&3;if(!c){break f}while(1){e=i+(a<<2)|0;x[e+3|0]=b;x[e+2|0]=1;b=b+1|0;a=a+1|0;d=d+1|0;if((c|0)!=(d|0)){continue}break}break f}g=ud(e,4);if(g){break f}}k=0;sb(c,1,26776,0);break a}le(g);break a}k=0;sb(c,1,22872,0)}Fa=f+144|0;return k}function aj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;g=0;j=0;b=Fa-80|0;Fa=b;z[b+76>>2]=1;f=z[a+200>>2];d=z[f+40>>2];a:{b:{if(d){break b}d=F(z[a+108>>2],z[a+104>>2]);z[f+36>>2]=d;d=ud(d,40);f=z[a+200>>2];z[f+40>>2]=d;if(!d){f=0;break a}if(!z[f+36>>2]){break b}while(1){f=0;i=F(g,40);d=i+d|0;z[d+20>>2]=0;z[d+28>>2]=100;h=ud(100,24);k=z[a+200>>2];d=z[k+40>>2];z[(i+d|0)+24>>2]=h;if(!h){break a}g=g+1|0;if(g>>>0>2]){continue}break}}h=z[a+44>>2];c:{if(!z[d+16>>2]){break c}d:{d=F(h,40)+d|0;if(!z[d+4>>2]){d=z[a+52>>2];g=d+1|0;f=d;d=z[a+48>>2]+2|0;f=d>>>0<2?g:f;if(nb(c,d,f)){break d}f=0;sb(e,1,12224,0);break a}d=z[d+16>>2];f=z[d>>2];d=z[d+4>>2];i=d+1|0;g=d;d=f+2|0;f=d>>>0<2?i:g;if(nb(c,d,f)){break d}f=0;sb(e,1,12224,0);break a}if(z[a+8>>2]!=256){break c}z[a+8>>2]=8}i=F(z[a+108>>2],z[a+104>>2]);e:{if(!i){break e}f=z[a+156>>2];d=0;if(i>>>0>=8){k=i&-8;g=0;while(1){z[(f+F(d,5644)|0)+5588>>2]=-1;z[(f+F(d|1,5644)|0)+5588>>2]=-1;z[(f+F(d|2,5644)|0)+5588>>2]=-1;z[(f+F(d|3,5644)|0)+5588>>2]=-1;z[(f+F(d|4,5644)|0)+5588>>2]=-1;z[(f+F(d|5,5644)|0)+5588>>2]=-1;z[(f+F(d|6,5644)|0)+5588>>2]=-1;z[(f+F(d|7,5644)|0)+5588>>2]=-1;d=d+8|0;g=g+8|0;if((k|0)!=(g|0)){continue}break}}g=i&7;if(!g){break e}while(1){z[(f+F(d,5644)|0)+5588>>2]=-1;d=d+1|0;j=j+1|0;if((g|0)!=(j|0)){continue}break}}f=0;if(!Vb(a,b+72|0,0,b+68|0,b- -64|0,b+60|0,b+56|0,b+52|0,b+76|0,c,e)){break a}i=h+1|0;while(1){f:{if(!z[b+76>>2]){break f}d=z[b+72>>2];if(!Wb(a,d,0,0,c,e)){break a}j=z[a+104>>2];k=z[a+108>>2];g=d+1|0;z[b+32>>2]=g;z[b+36>>2]=F(j,k);sb(e,4,26137,b+32|0);if(!tc(z[a+208>>2],z[z[a+76>>2]+24>>2])){break a}f=z[a+156>>2]+F(d,5644)|0;j=z[f+5596>>2];if(j){le(j);z[f+5596>>2]=0;z[f+5600>>2]=0}z[b+16>>2]=g;sb(e,4,32234,b+16|0);if((d|0)==(h|0)){d=z[a+200>>2];f=z[d+8>>2];d=z[d+12>>2];h=d+1|0;g=d;d=f+2|0;f=d>>>0<2?h:g;if(nb(c,d,f)){break f}f=0;sb(e,1,12224,0);break a}z[b+4>>2]=i;z[b>>2]=g;sb(e,2,28286,b);f=0;if(Vb(a,b+72|0,0,b+68|0,b- -64|0,b+60|0,b+56|0,b+52|0,b+76|0,c,e)){continue}break a}break}f=uc(a,e)}Fa=b+80|0;Ka=0;return f|0}function ul(a,b,c,d,e,f,g,h,i,j,k,l,m,o,q,r,s,t,u,v,w,x,y,A,B,C,D,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;k=k|0;l=l|0;m=m|0;o=o|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;var K=0,L=0;b=z[c>>2]+7&-8;z[c>>2]=b+16;j=a;g=z[b>>2];e=z[b+4>>2];a=z[b+12>>2];o=a;k=Fa-32|0;Fa=k;a=a&2147483647;d=a;c=a-1006698496|0;f=a-1140785152|0;b=z[b+8>>2];a=b;a:{if((c|0)==(f|0)&a>>>0>>0|c>>>0>>0){c=b<<4|e>>>28;a=o<<4|b>>>28;b=e&268435455;if((b|0)==134217728&(g|0)!=0|b>>>0>134217728){a=a+1073741824|0;c=c+1|0;a=c?a:a+1|0;break a}a=a+1073741824|0;if(g|(b|0)!=134217728){break a}d=a+1|0;b=a;a=c&1;c=a+c|0;a=c>>>0>>0?d:b;break a}if(!(!a&(d|0)==2147418112?!(e|g):d>>>0<2147418112)){c=b<<4|e>>>28;a=(o<<4|b>>>28)&524287|2146959360;break a}c=0;a=2146435072;if(d>>>0>1140785151){break a}a=0;q=d>>>16|0;if(q>>>0<15249){break a}c=g;a=e;h=o&65535|65536;f=h;i=b;l=q-15233|0;b:{if(l&64){h=l+-64|0;d=h&31;if((h&63)>>>0>=32){a=c<>>32-d|a<>>0>=32){d=i<>>32-m|h<>>0>=32){d=0;i=a>>>i|0}else{d=a>>>i|0;i=((1<>>i}i=i|m;h=d|h;m=l&31;if((l&63)>>>0>=32){d=c<>>32-m|a<>2]=c;z[k+20>>2]=a;z[k+24>>2]=i;z[k+28>>2]=h;c=15361-q|0;c:{if(c&64){c=c+-64|0;a=c&31;if((c&63)>>>0>=32){d=0;g=f>>>a|0}else{d=f>>>a|0;g=((1<>>a}e=d;b=0;f=0;break c}if(!c){break c}i=64-c|0;h=i&31;a=c&31;if((c&63)>>>0>=32){d=0;e=e>>>a|0}else{d=e>>>a|0;e=((1<>>a}if((i&63)>>>0>=32){a=b<>>32-h|f<>>0>=32){a=0;b=f>>>d|0}else{a=f>>>d|0;b=((1<>>d}f=a}z[k>>2]=g;z[k+4>>2]=e;z[k+8>>2]=b;z[k+12>>2]=f;b=z[k+8>>2];a=z[k+12>>2]<<4|b>>>28;c=b<<4;b=z[k+4>>2];c=c|b>>>28;b=b&268435455;d=z[k>>2]|(z[k+16>>2]|z[k+24>>2]|(z[k+20>>2]|z[k+28>>2]))!=0;if((b|0)==134217728&(d|0)!=0|b>>>0>134217728){c=c+1|0;a=c?a:a+1|0;break a}if(d|(b|0)!=134217728){break a}b=c;c=c+(c&1)|0;a=b>>>0>c>>>0?a+1|0:a}Fa=k+32|0;n(0,c|0);n(1,o&-2147483648|a);K=j,L=+p(),E[K>>3]=L;Ka=0;return 0}function yc(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,o=0,p=0,q=0,r=0,s=0;p=Fa-16|0;Fa=p;o=z[a+24>>2];a:{b:{c:{d:{e:{i=z[b+12>>2];j=A[i+18|0];if(j){r=z[i+12>>2];s=z[i>>2];g=z[i+4>>2];n=z[i+8>>2];while(1){if(z[(F(B[(e<<2)+r>>1],52)+o|0)+44>>2]){d=d+1|0;e=d&65535;if(j>>>0>e>>>0){continue}break e}break}z[p>>2]=e;sb(c,1,28515,p);a=0;break a}i=td(F(j,52));if(!i){break d}break b}i=td(F(j,52));if(i){break c}}sb(c,1,28463,0);a=0;break a}if(!j){break b}e=0;while(1){d=(e<<2)+r|0;h=B[d>>1];f=F(A[d+2|0]?A[d+3|0]:e,52)+i|0;d=F(h,52)+o|0;h=z[d+4>>2];z[f>>2]=z[d>>2];z[f+4>>2]=h;z[f+48>>2]=z[d+48>>2];h=z[d+44>>2];z[f+40>>2]=z[d+40>>2];z[f+44>>2]=h;h=z[d+36>>2];z[f+32>>2]=z[d+32>>2];z[f+36>>2]=h;h=z[d+28>>2];z[f+24>>2]=z[d+24>>2];z[f+28>>2]=h;h=z[d+20>>2];z[f+16>>2]=z[d+16>>2];z[f+20>>2]=h;h=z[d+12>>2];z[f+8>>2]=z[d+8>>2];z[f+12>>2]=h;f=F(e,52)+i|0;d=vd(F(z[d+8>>2],z[d+12>>2])<<2);z[f+44>>2]=d;if(!d){if(e&65535){while(1){e=e-1|0;a=e&65535;le(z[(F(a,52)+i|0)+44>>2]);if(a){continue}break}}le(i);sb(c,1,28463,0);a=0;break a}z[f+24>>2]=A[e+n|0];z[f+32>>2]=A[e+g|0];e=e+1|0;if((j|0)!=(e|0)){continue}break}if(!j){break b}n=B[z[b+12>>2]+16>>1];h=n-1|0;while(1){e=F(q,52)+i|0;b=F(z[e+12>>2],z[e+8>>2]);d=(q<<2)+r|0;c=z[(F(B[d>>1],52)+o|0)+44>>2];f:{if(!A[d+2|0]){if(!b){break f}f=z[e+44>>2];e=0;d=0;if(b>>>0>=4){l=b&-4;k=0;while(1){g=d<<2;z[g+f>>2]=z[c+g>>2];m=g|4;z[m+f>>2]=z[c+m>>2];m=g|8;z[m+f>>2]=z[c+m>>2];g=g|12;z[g+f>>2]=z[c+g>>2];d=d+4|0;k=k+4|0;if((l|0)!=(k|0)){continue}break}}b=b&3;if(!b){break f}while(1){g=d<<2;z[g+f>>2]=z[c+g>>2];d=d+1|0;e=e+1|0;if((b|0)!=(e|0)){continue}break}break f}if(!b){break f}f=A[d+3|0];g=z[(F(f,52)+i|0)+44>>2];d=0;if((b|0)!=1){m=b&-2;e=0;while(1){l=d<<2;k=z[l+c>>2];z[g+l>>2]=z[(f+F((k|0)>=0?(k|0)<(n|0)?k:h:0,j)<<2)+s>>2];l=l|4;k=z[l+c>>2];z[g+l>>2]=z[(f+F((k|0)>=0?(k|0)<(n|0)?k:h:0,j)<<2)+s>>2];d=d+2|0;e=e+2|0;if((m|0)!=(e|0)){continue}break}}if(!(b&1)){break f}b=c;c=d<<2;b=z[b+c>>2];z[c+g>>2]=z[(f+F((b|0)>=0?(b|0)<(n|0)?b:h:0,j)<<2)+s>>2]}q=q+1|0;if((q|0)!=(j|0)){continue}break}}b=z[a+16>>2];if(b){e=0;while(1){c=z[(F(e,52)+o|0)+44>>2];if(c){le(c)}e=e+1|0;if((b|0)!=(e|0)){continue}break}}le(o);z[a+16>>2]=j;z[a+24>>2]=i;a=1}Fa=p+16|0;return a}function Tj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;k=0;j=Fa-16|0;Fa=j;d=a;i=z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2];a:{if(!e){sb(g,1,10152,0);break a}a=z[d+72>>2];k=1;lb(c,j+8|0,1);f=z[j+8>>2];if(f>>>0>=2){sb(g,2,23559,0);break a}if((f+1|0)!=(e|0)){k=0;sb(g,2,10152,0);break a}e=z[a+16>>2];b:{if(!e){break b}k=z[i+5584>>2];if(e>>>0>=8){a=e&-8;b=0;while(1){z[k+1076>>2]=0;z[k+8636>>2]=0;z[k+7556>>2]=0;z[k+6476>>2]=0;z[k+5396>>2]=0;z[k+4316>>2]=0;z[k+3236>>2]=0;z[k+2156>>2]=0;k=k+8640|0;b=b+8|0;if((a|0)!=(b|0)){continue}break}}a=e&7;if(!a){break b}b=0;while(1){z[k+1076>>2]=0;k=k+1080|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}a=z[i+5608>>2];if(a){le(a);z[i+5608>>2]=0;f=z[j+8>>2]}if(!f){k=1;break a}g=0;while(1){c=c+1|0;lb(c,j+12|0,1);c:{if(!z[i+5632>>2]){break c}f=z[i+5628>>2];if(z[f>>2]!=z[j+12>>2]){break c}a=z[f+4>>2];e=z[d+72>>2];if((a|0)!=z[e+16>>2]){break c}h=z[f+8>>2];if(h){k=0;b=F(a,a);if(z[h+16>>2]!=(F(b,z[(z[h>>2]<<2)+33808>>2])|0)){break a}a=td(b<<2);z[i+5608>>2]=a;if(!a){break a}La[z[(z[h>>2]<<2)+34160>>2]](z[h+12>>2],0,a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}f=z[f+12>>2];if(!f){break c}k=0;b=z[e+16>>2];if(z[f+16>>2]!=(F(b,z[(z[f>>2]<<2)+33808>>2])|0)){break a}a=td(b<<2);if(!a){break a}La[z[(z[f>>2]<<2)+34176>>2]](z[f+12>>2],0,a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=z[e+16>>2];d:{if(!b){break d}f=b&7;k=z[i+5584>>2];e:{if(b>>>0<8){b=a;break e}e=b&-8;h=0;b=a;while(1){z[k+1076>>2]=z[b>>2];z[k+2156>>2]=z[b+4>>2];z[k+3236>>2]=z[b+8>>2];z[k+4316>>2]=z[b+12>>2];z[k+5396>>2]=z[b+16>>2];z[k+6476>>2]=z[b+20>>2];z[k+7556>>2]=z[b+24>>2];z[k+8636>>2]=z[b+28>>2];k=k+8640|0;b=b+32|0;h=h+8|0;if((e|0)!=(h|0)){continue}break}}h=0;if(!f){break d}while(1){z[k+1076>>2]=z[b>>2];k=k+1080|0;b=b+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}le(a)}k=1;g=g+1|0;if(g>>>0>2]){continue}break}}Fa=j+16|0;Ka=0;return k|0}function zc(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,o=0,p=0,q=0,r=0;f=Fa-80|0;Fa=f;h=z[b+8>>2];m=z[h>>2];n=B[h+4>>1];if(n){h=0;r=n-2&65535;o=1;while(1){p=F(h,6)+m|0;i=B[p>>1];d=z[a+16>>2];a:{if(i>>>0>=d>>>0){z[f+20>>2]=d;z[f+16>>2]=i;sb(c,2,20238,f+16|0);break a}e=B[p+4>>1];if((e+1&65535)>>>0<=1){y[(z[a+24>>2]+F(i,52)|0)+48>>1]=B[p+2>>1];break a}q=e-1|0;l=q&65535;if(d>>>0<=l>>>0){z[f+4>>2]=d;z[f>>2]=l;sb(c,2,20197,f);break a}b:{if(B[p+2>>1]|(i|0)==(l|0)){break b}e=z[a+24>>2];d=e+F(i,52)|0;z[f+72>>2]=z[d+48>>2];g=z[d+44>>2];j=f- -64|0;z[j>>2]=z[d+40>>2];z[j+4>>2]=g;g=z[d+36>>2];z[f+56>>2]=z[d+32>>2];z[f+60>>2]=g;g=z[d+28>>2];z[f+48>>2]=z[d+24>>2];z[f+52>>2]=g;g=z[d+20>>2];z[f+40>>2]=z[d+16>>2];z[f+44>>2]=g;g=z[d+12>>2];z[f+32>>2]=z[d+8>>2];z[f+36>>2]=g;g=z[d+4>>2];z[f+24>>2]=z[d>>2];z[f+28>>2]=g;g=F(l,52);e=g+e|0;z[d+48>>2]=z[e+48>>2];k=z[e+44>>2];z[d+40>>2]=z[e+40>>2];z[d+44>>2]=k;k=z[e+36>>2];z[d+32>>2]=z[e+32>>2];z[d+36>>2]=k;k=z[e+28>>2];z[d+24>>2]=z[e+24>>2];z[d+28>>2]=k;k=z[e+20>>2];z[d+16>>2]=z[e+16>>2];z[d+20>>2]=k;k=z[e+12>>2];z[d+8>>2]=z[e+8>>2];z[d+12>>2]=k;k=z[e+4>>2];z[d>>2]=z[e>>2];z[d+4>>2]=k;e=z[f+28>>2];d=g+z[a+24>>2]|0;z[d>>2]=z[f+24>>2];z[d+4>>2]=e;z[d+48>>2]=z[f+72>>2];e=z[j+4>>2];z[d+40>>2]=z[j>>2];z[d+44>>2]=e;e=z[f+60>>2];z[d+32>>2]=z[f+56>>2];z[d+36>>2]=e;e=z[f+52>>2];z[d+24>>2]=z[f+48>>2];z[d+28>>2]=e;e=z[f+44>>2];z[d+16>>2]=z[f+40>>2];z[d+20>>2]=e;e=z[f+36>>2];z[d+8>>2]=z[f+32>>2];z[d+12>>2]=e;if(h+1>>>0>=n>>>0){break b}e=o;if((h^-1)+n&1){e=q;d=F(o,6)+m|0;j=B[d>>1];c:{if((j|0)!=(i|0)){e=i;if((j|0)!=(l|0)){break c}}y[d>>1]=e}e=o+1|0}if((h&65535)==(r|0)){break b}while(1){d=q;j=F(e,6)+m|0;g=B[j>>1];d:{if((g|0)!=(i|0)){d=i;if((g|0)!=(l|0)){break d}}y[j>>1]=d}d=q;g=B[j+6>>1];e:{if((g|0)!=(i|0)){d=i;if((g|0)!=(l|0)){break e}}y[j+6>>1]=d}e=e+2|0;if((e&65535)!=(n|0)){continue}break}}y[(z[a+24>>2]+F(i,52)|0)+48>>1]=B[p+2>>1]}o=o+1|0;h=h+1|0;if((n|0)!=(h|0)){continue}break}h=z[b+8>>2];m=z[h>>2]}if(m){le(m);h=z[b+8>>2]}le(h);z[b+8>>2]=0;Fa=f+80|0}function rf(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,o=0,p=0,q=0;f=Fa-48|0;Fa=f;a:{c=0;b:{if(!Ue(a,73)){break b}if(b){c=a+332|0;z[c+4>>2]=z[c>>2];z[f+20>>2]=a+288;ff(c,f+20|0);z[a+292>>2]=z[a+288>>2]}g=a+332|0;n=a+8|0;c=n;p=z[c+4>>2]-z[c>>2]>>2;c:{d:{while(1){if(!Ue(a,69)){if(b){c=af(f+20|0);e:{if(z[g>>2]==(g+12|0)){Ef(z[g>>2],z[g+4>>2],z[c>>2]);z[c+4>>2]=z[c>>2]+(z[g+4>>2]-z[g>>2]&-4);z[g+4>>2]=z[g>>2];break e}z[c>>2]=z[g>>2];z[c+4>>2]=z[g+4>>2];z[c+8>>2]=z[g+8>>2];z[g+8>>2]=g+28;j=g+12|0;z[g+4>>2]=j;z[g>>2]=j}j=c;z[16214]=0;c=qa(302,a|0)|0;d=z[16214];z[16214]=0;if((d|0)==1){break a}z[f+16>>2]=c;q=wf(g,j);if(!c){break d}ff(n,f+16|0);z[f+12>>2]=c;if(A[c+4|0]==37){d=z[c+12>>2];z[f+4>>2]=z[c+8>>2];z[f+8>>2]=d;c=Fa-16|0;Fa=c;h=Gf(a+408|0,16);d=z[f+8>>2];e=z[f+4>>2];z[c>>2]=e;z[c+4>>2]=d;z[c+8>>2]=e;z[c+12>>2]=d;d=If(h,36,0,1,1,1);z[d>>2]=59536;e=z[c+4>>2];z[d+8>>2]=z[c>>2];z[d+12>>2]=e;k=(A[d+5|0]|A[d+6|0]<<8)&-4033;h=k|2688;x[d+5|0]=h;x[d+6|0]=h>>>8;i=d+8|0;e=z[i>>2];m=z[i>>2]+(z[i+4>>2]<<2)|0;while(1){o=(e|0)==(m|0);if(!o){l=z[e>>2];e=e+4|0;if(((A[l+5|0]|A[l+6|0]<<8)&768)==256){continue}}break}if(o){h=k|2432;x[d+5|0]=h;x[d+6|0]=h>>>8}e=z[i>>2];k=e+(z[i+4>>2]<<2)|0;while(1){m=(e|0)==(k|0);if(!m){l=z[e>>2];e=e+4|0;if(((A[l+5|0]|A[l+6|0]<<8)&3072)==1024){continue}}break}if(m){h=h&-3073|1024;x[d+5|0]=h;x[d+6|0]=h>>>8}e=z[i>>2];l=e+(z[i+4>>2]<<2)|0;while(1){k=(e|0)==(l|0);if(!k){i=z[e>>2];e=e+4|0;if(((A[i+5|0]|A[i+6|0]<<8)&192)==64){continue}}break}if(k){e=h&65343|64;x[d+5|0]=e;x[d+6|0]=e>>>8}Fa=c+16|0;z[f+12>>2]=d}z[16214]=0;c=qa(305,q|0)|0;d=z[16214];z[16214]=0;if((d|0)!=1){ff(z[c>>2],f+12|0);Ze(j);continue}break a}c=ef(a);z[f+20>>2]=c;if(!c){break c}ff(n,f+20|0);continue}break}gf(f+20|0,a,p);b=Fa-16|0;Fa=b;j=Gf(a+408|0,16);a=z[f+24>>2];c=z[f+20>>2];z[b>>2]=c;z[b+4>>2]=a;z[b+8>>2]=c;z[b+12>>2]=a;a=If(j,39,0,1,1,1);z[a>>2]=59644;c=z[b+4>>2];z[a+8>>2]=z[b>>2];z[a+12>>2]=c;Fa=b+16|0;c=a;break b}Ze(j)}c=0}Fa=f+48|0;return c}a=wa()|0;Ze(j);xa(a|0);r()}function cf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Fa-16|0;Fa=g;a:{b:{c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}c=c<<24>>24;if((c|0)!=90){if((c&255)!=78){break b}d=b;b=0;f=Fa-16|0;Fa=f;c:{if(!Ue(a,78)){break c}c=a;a=Mf(a);if(d){z[d+4>>2]=a}d:{e:{if(Ue(c,79)){a=2;if(d){break e}break d}a=Ue(c,82);if(!d){break d}}x[d+8|0]=a}z[f+12>>2]=0;h=c+148|0;a=0;while(1){f:{g:{h:{i:{if(!Ue(c,69)){if(d){x[d+1|0]=0}b=0;j:{k:{l:{m:{n:{e=z[c>>2];if((e|0)!=z[c+4>>2]){e=A[e|0]}else{e=0}e=e<<24>>24&255;switch(e-83|0){case 0:break k;case 1:break m;default:break n}}if((e|0)==68){break l}if((e|0)!=73){break i}if(!a){break c}e=rf(c,(d|0)!=0);z[f+8>>2]=e;if(!e|A[a+4|0]==41){break c}if(d){x[d+1|0]=1}a=sf(c,f+12|0,f+8|0);z[f+12>>2]=a;break g}if(!a){break j}break f}e=z[c>>2];if(z[c+4>>2]-e>>>0>1){e=A[e+1|0]}else{e=0}if(((e<<24>>24|32)&255)!=116){break i}if(a){break f}a=of(c);break h}b=z[c>>2];if(z[c+4>>2]-b>>>0>1){b=A[b+1|0]}else{b=0}o:{if((b|0)==116){z[c>>2]=z[c>>2]+2;b=kf(c,3495);break o}b=Nf(c);if(!b){break f}}if(A[b+4|0]==25){break i}if(a){break f}z[f+12>>2]=b;a=b;continue}a=qf(c);break h}b=0;if(!a|z[h>>2]==z[h+4>>2]){break c}Of(h);b=a;break c}a=Pf(c,d,a,b)}z[f+12>>2]=a;if(!a){break f}}ff(h,f+12|0);Ue(c,77);continue}break}b=0}Fa=f+16|0;c=b;break a}c=Fa-16|0;Fa=c;p:{if(!Ue(a,90)){break p}f=Te(a);z[c+12>>2]=f;if(!f){break p}if(!Ue(a,69)){break p}if(Ue(a,115)){i=a,j=Qf(z[a>>2],z[a+4>>2]),z[i>>2]=j;i=c,j=kf(a,2720),z[i+4>>2]=j;d=Rf(a,c+12|0,c+4|0);break p}q:{if(Ue(a,100)){Ve(c+4|0,a,1);if(!Ue(a,95)){break p}b=cf(a,b);z[c+4>>2]=b;if(!b){break q}d=Rf(a,c+12|0,c+4|0);break p}b=cf(a,b);z[c+4>>2]=b;if(!b){break q}i=a,j=Qf(z[a>>2],z[a+4>>2]),z[i>>2]=j;d=Rf(a,c+12|0,c+4|0)}}Fa=c+16|0;c=d;break a}c=0;x[g+11|0]=0;d=uf(a,b,g+11|0);z[g+12>>2]=d;if(!d){break a}f=A[g+11|0];h=z[a>>2];if((h|0)!=z[a+4>>2]){e=A[h|0]}else{e=0}r:{if((e|0)==73){if(!f){ff(a+148|0,g+12|0)}d=rf(a,(b|0)!=0);z[g+4>>2]=d;if(!d){break a}if(b){x[b+1|0]=1}d=sf(a,g+12|0,g+4|0);break r}if(f){break a}}c=d}Fa=g+16|0;return c}function tc(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=z[a+24>>2];if(!z[t+16>>2]){return 1}p=z[t+24>>2];m=z[z[z[a+20>>2]>>2]+20>>2];while(1){z[b+36>>2]=z[p+36>>2];d=z[p+36>>2];e=z[m+28>>2];n=z[a+64>>2];a:{if(n){c=(e+F(z[m+24>>2],152)|0)-152|0;q=z[c+8>>2]-z[c>>2]|0;h=m+36|0;c=e+F(d,152)|0;d=c+12|0;f=z[c+8>>2];j=z[c>>2];c=c+4|0;break a}c=e+F(d,152)|0;f=z[c+144>>2];j=z[c+136>>2];q=f-j|0;h=m+52|0;d=c+148|0;c=c+140|0}u=z[h>>2];b:{c:{if(!u){break c}o=z[c>>2];r=z[d>>2];h=f-j|0;l=z[b+8>>2];e=z[b+40>>2];d=e&31;if((e&63)>>>0>=32){c=-1<>>32-d;d=-1<>2];k=i+g|0;c=c^-1;d=g>>>0>k>>>0?c+1|0:c;g=k;k=e&31;d=(e&63)>>>0>=32?d>>>k|0:((1<>>k;g=d+l|0;d:{if(d>>>0>>0){k=j-d|0;s=0;d=0;if(f>>>0<=g>>>0){break d}d=h;h=g-j|0;d=d-h|0;break d}s=d-j|0;if(f>>>0<=g>>>0){h=h-s|0;k=0;d=0;break d}k=0;h=l;d=f-g|0}w=d;f=r-o|0;d=z[b+12>>2];g=z[b+20>>2];i=g+i|0;c=g>>>0>i>>>0?c+1|0:c;g=i;i=e&31;c=(e&63)>>>0>=32?c>>>i|0:((1<>>i;i=c+d|0;e:{if(c>>>0>>0){c=o-c|0;g=0;e=0;if(i>>>0>=r>>>0){break e}e=f;f=i-o|0;e=e-f|0;break e}g=c-o|0;if(i>>>0>=r>>>0){f=f-g|0;c=0;e=0;break e}c=0;f=d;e=r-i|0}j=0;if((s|g|(w|e))<0){break b}if((h|f)<0){break b}i=F(c,l)+k|0;f:{g:{h:{c=z[b+44>>2];g=F(g,q)+s|0;if(c|g|((l|0)!=(q|0)|i)){break h}if((h|0)!=(l|0)){break h}if((d|0)!=(f|0)){break g}c=(n?36:52)+m|0;z[b+44>>2]=z[c>>2];z[c>>2]=0;break c}if(c){break f}}if(!d){break b}po(d,0,l,0);if(Ka){break b}c=F(d,l);if(c>>>0>1073741823){break b}e=vd(c<<2);z[b+44>>2]=e;if(!e){break b}d=z[b+8>>2];c=z[b+12>>2];if((d|0)==(h|0)&(c|0)==(f|0)){break f}Id(e,0,F(c,d)<<2)}if(!f){break c}l=f&1;n=h<<2;h=z[b+44>>2]+(i<<2)|0;j=(g<<2)+u|0;if((f|0)!=1){e=f&-2;f=0;while(1){d=Gd(h,j,n);c=q<<2;h=c+j|0;j=c+h|0;h=Gd(d+(z[b+8>>2]<<2)|0,h,n)+(z[b+8>>2]<<2)|0;f=f+2|0;if((e|0)!=(f|0)){continue}break}}if(!l){break c}Gd(h,j,n)}m=m+76|0;p=p+52|0;b=b+52|0;j=1;v=v+1|0;if(v>>>0>2]){continue}}break}return j}function $i(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;h=0;b=Fa-80|0;Fa=b;z[b+76>>2]=1;a:{b:{d=z[a+104>>2];if((d|0)!=1|z[a+108>>2]!=1|(z[a+84>>2]|z[a+88>>2])){break b}f=z[a+76>>2];if(z[f>>2]|z[f+4>>2]|(z[f+8>>2]!=z[a+92>>2]|z[f+12>>2]!=z[a+96>>2])){break b}d=0;if(!Vb(a,b+72|0,0,b+68|0,b- -64|0,b+60|0,b+56|0,b+52|0,b+76|0,c,e)){break a}c:{if(Wb(a,z[b+72>>2],0,0,c,e)){c=z[a+76>>2];if(z[c+16>>2]){break c}d=1;break a}sb(e,1,22344,0);break a}e=z[c+24>>2];c=0;while(1){d=F(c,52);le(z[(d+e|0)+44>>2]);f=z[a+76>>2];e=z[f+24>>2];g=d+e|0;h=z[a+208>>2];i=z[z[z[h+20>>2]>>2]+20>>2]+F(c,76)|0;z[g+44>>2]=z[i+36>>2];z[g+36>>2]=z[(d+z[z[h+24>>2]+24>>2]|0)+36>>2];z[i+36>>2]=0;d=1;c=c+1|0;if(c>>>0>2]){continue}break}break a}while(1){d:{e:{if(!(!z[z[a+156>>2]+5596>>2]|((d|0)!=1|z[a+108>>2]!=1))){z[b+72>>2]=0;z[a+204>>2]=0;z[a+8>>2]=z[a+8>>2]|128;i=0;break e}d=0;if(!Vb(a,b+72|0,0,b+68|0,b- -64|0,b+60|0,b+56|0,b+52|0,b+76|0,c,e)){break a}if(!z[b+76>>2]){break d}i=z[b+72>>2]}d=i+1|0;g=Wb(a,i,0,0,c,e);f=F(z[a+104>>2],z[a+108>>2]);if(!g){z[b+4>>2]=f;z[b>>2]=d;sb(e,1,20475,b);d=0;break a}z[b+36>>2]=f;z[b+32>>2]=d;sb(e,4,26137,b+32|0);if(!tc(z[a+208>>2],z[z[a+76>>2]+24>>2])){d=0;break a}f:{if(!(z[a+104>>2]!=1|z[a+108>>2]!=1)){f=z[a+76>>2];g=z[a+72>>2];if(z[f>>2]!=z[g>>2]|z[f+4>>2]!=z[g+4>>2]|(z[f+8>>2]!=z[g+8>>2]|z[f+12>>2]!=z[g+12>>2])){break f}}f=z[a+156>>2]+F(i,5644)|0;g=z[f+5596>>2];if(!g){break f}le(g);z[f+5596>>2]=0;z[f+5600>>2]=0}z[b+16>>2]=d;sb(e,4,32234,b+16|0);f=z[c+12>>2];g=f;d=z[c+8>>2];if(f|d){i=z[c+56>>2];f=d-i|0;d=g-(z[c+60>>2]+(d>>>0>>0)|0)|0}else{f=0;d=0}if(!(d|f)&z[a+8>>2]==64){break d}h=h+1|0;d=z[a+104>>2];if((h|0)!=(F(d,z[a+108>>2])|0)){continue}}break}d=uc(a,e)}Fa=b+80|0;Ka=0;return d|0}function Te(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=Fa-144|0;Fa=c;b=c+68|0;z[b>>2]=a;d=af(b+4|0);h=$e(b+32|0);wf(d,z[b>>2]+332|0);xf(h,z[b>>2]+288|0);d=z[b>>2];z[d+336>>2]=z[d+332>>2];d=z[b>>2];z[d+292>>2]=z[d+288>>2];h=b;a:{b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}b=b<<24>>24;b:{if(!((b|0)!=84&(b&255)!=71)){z[16214]=0;b=qa(299,a|0)|0;a=z[16214];z[16214]=0;if((a|0)!=1){break b}break a}z[c+64>>2]=a;b=0;f=c+48|0;x[f+8|0]=0;z[f+4>>2]=0;y[f>>1]=0;z[f+12>>2]=z[a+364>>2]-z[a+360>>2]>>2;z[16214]=0;d=ua(300,a|0,f|0)|0;e=z[16214];z[16214]=0;if((e|0)==1){break a}z[c+44>>2]=d;if(!d){break b}z[16214]=0;e=ua(301,a|0,f|0)|0;g=z[16214];z[16214]=0;if((g|0)==1){break a}if(e){break b}b=d;if(df(c- -64|0)){break b}z[c+40>>2]=0;b=Re(c+32|0,4014);d=z[b+4>>2];z[c+8>>2]=z[b>>2];z[c+12>>2]=d;c:{if(Se(a,c+8|0)){d=a+8|0;b=d;e=z[b+4>>2]-z[b>>2]>>2;while(1){if(!Ue(a,69)){z[16214]=0;b=qa(302,a|0)|0;g=z[16214];z[16214]=0;if((g|0)==1){break a}z[c+24>>2]=b;if(!b){break c}ff(d,c+24|0);continue}break}z[16214]=0;Ca(303,c+24|0,a|0,e|0);b=z[16214];z[16214]=0;if((b|0)==1){break a}b=Fa-16|0;Fa=b;g=Gf(a+408|0,16);d=z[c+28>>2];e=z[c+24>>2];z[b>>2]=e;z[b+4>>2]=d;z[b+8>>2]=e;z[b+12>>2]=d;d=If(g,9,0,1,1,1);z[d>>2]=59984;e=z[b+4>>2];z[d+8>>2]=z[b>>2];z[d+12>>2]=e;Fa=b+16|0;z[c+40>>2]=d}z[c+20>>2]=0;if(!(A[f|0]|!A[f+1|0])){b=0;z[16214]=0;d=qa(304,a|0)|0;e=z[16214];z[16214]=0;if((e|0)==1){break a}z[c+20>>2]=d;if(!d){break b}}if(Ue(a,118)){b=c+24|0;z[b>>2]=0;z[b+4>>2]=0;b=hf(a,c+20|0,c+44|0,b,c+40|0,f+4|0,f+8|0);break b}d=a+8|0;b=d;e=z[b+4>>2]-z[b>>2]>>2;while(1){z[16214]=0;b=qa(304,a|0)|0;g=z[16214];z[16214]=0;if((g|0)==1){break a}z[c+24>>2]=b;if(!b){break c}ff(d,c+24|0);if(!df(c- -64|0)){continue}break}z[16214]=0;Ca(303,c+24|0,a|0,e|0);b=z[16214];z[16214]=0;if((b|0)!=1){b=hf(a,c+20|0,c+44|0,c+24|0,c+40|0,f+4|0,f+8|0);break b}break a}b=0}jf(h);Fa=c+144|0;return b}a=wa()|0;jf(h);xa(a|0);r()}function me(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,o=0;if(!a){return ke(b)}if(b>>>0>=4294967232){z[15614]=48;return 0}f=b>>>0<11?16:b+11&-8;e=a-8|0;i=z[e+4>>2];d=i&-8;a:{if(!(i&3)){if(f>>>0<256){break a}if(d>>>0>=f+4>>>0){c=e;if(d-f>>>0<=z[16210]<<1>>>0){break a}}c=0;break a}g=d+e|0;b:{if(d>>>0>=f>>>0){c=d-f|0;if(c>>>0<16){break b}z[e+4>>2]=i&1|f|2;d=e+f|0;z[d+4>>2]=c|3;z[g+4>>2]=z[g+4>>2]|1;oe(d,c);break b}if(z[16096]==(g|0)){d=d+z[16093]|0;if(d>>>0<=f>>>0){break a}z[e+4>>2]=i&1|f|2;c=e+f|0;d=d-f|0;z[c+4>>2]=d|1;z[16093]=d;z[16096]=c;break b}if(z[16095]==(g|0)){d=d+z[16092]|0;if(d>>>0>>0){break a}c=d-f|0;c:{if(c>>>0>=16){z[e+4>>2]=i&1|f|2;h=e+f|0;z[h+4>>2]=c|1;d=d+e|0;z[d>>2]=c;z[d+4>>2]=z[d+4>>2]&-2;break c}z[e+4>>2]=d|i&1|2;c=d+e|0;z[c+4>>2]=z[c+4>>2]|1;c=0}z[16095]=h;z[16092]=c;break b}h=z[g+4>>2];if(h&2){break a}j=d+(h&-8)|0;if(j>>>0>>0){break a}l=j-f|0;d:{if(h>>>0<=255){c=z[g+12>>2];d=z[g+8>>2];if((c|0)==(d|0)){n=64360,o=z[16090]&vo(h>>>3|0),z[n>>2]=o;break d}z[d+12>>2]=c;z[c+8>>2]=d;break d}k=z[g+24>>2];d=z[g+12>>2];e:{if((g|0)!=(d|0)){c=z[g+8>>2];z[c+12>>2]=d;z[d+8>>2]=c;break e}f:{c=g+20|0;h=z[c>>2];if(!h){h=z[g+16>>2];if(!h){break f}c=g+16|0}while(1){m=c;d=h;c=d+20|0;h=z[c>>2];if(h){continue}c=d+16|0;h=z[d+16>>2];if(h){continue}break}z[m>>2]=0;break e}d=0}if(!k){break d}c=z[g+28>>2];h=(c<<2)+64664|0;g:{if(z[h>>2]==(g|0)){z[h>>2]=d;if(d){break g}n=64364,o=z[16091]&vo(c),z[n>>2]=o;break d}z[(z[k+16>>2]==(g|0)?16:20)+k>>2]=d;if(!d){break d}}z[d+24>>2]=k;c=z[g+16>>2];if(c){z[d+16>>2]=c;z[c+24>>2]=d}c=z[g+20>>2];if(!c){break d}z[d+20>>2]=c;z[c+24>>2]=d}if(l>>>0<=15){z[e+4>>2]=i&1|j|2;c=e+j|0;z[c+4>>2]=z[c+4>>2]|1;break b}z[e+4>>2]=i&1|f|2;c=e+f|0;z[c+4>>2]=l|3;d=e+j|0;z[d+4>>2]=z[d+4>>2]|1;oe(c,l)}c=e}if(c){return c+8|0}c=ke(b);if(!c){return 0}e=z[a-4>>2];e=(e&3?-4:-8)+(e&-8)|0;Gd(c,a,b>>>0>e>>>0?e:b);le(a);return c}function Pf(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=Fa-48|0;Fa=e;z[e+40>>2]=d;z[e+44>>2]=c;d=0;a:{if(Af(a,e+40|0)){break a}Ue(a,76);b:{c:{d:{e:{f:{d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}d=d<<24>>24;if((d|0)<49){break f}if(d>>>0<=57){d=Ff(a);break e}if((d|0)!=85){break f}d=Uf(a,b);break e}f=Re(e+28|0,4049);d=z[f+4>>2];z[e+8>>2]=z[f>>2];z[e+12>>2]=d;if(Se(a,e+8|0)){d=a+8|0;c=z[d+4>>2]-z[d>>2]>>2;while(1){b=Ff(a);z[e+20>>2]=b;if(!b){break d}ff(d,e+20|0);if(!Ue(a,69)){continue}break}gf(e+20|0,a,c);f=Fa-16|0;Fa=f;b=Gf(a+408|0,16);d=z[e+24>>2];c=z[e+20>>2];z[f>>2]=c;z[f+4>>2]=d;z[f+8>>2]=c;z[f+12>>2]=d;d=If(b,49,0,1,1,1);z[d>>2]=58996;b=z[f+4>>2];z[d+8>>2]=z[f>>2];z[d+12>>2]=b;Fa=f+16|0;break e}d=0;f=z[a>>2];if((f|0)!=z[a+4>>2]){f=A[f|0]}else{f=0}if(((f<<24>>24)-67&255)>>>0<=1){if(z[e+40>>2]|!c){break a}g=Fa-32|0;Fa=g;h=e+44|0;c=z[h>>2];if(A[c+4|0]==44){z[g+28>>2]=c;i=h,j=Gg(Gf(a+408|0,12),z[z[g+28>>2]+8>>2],43),z[i>>2]=j}g:{if(Ue(a,67)){f=Ue(a,73);c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}c=c<<24>>24;if((c-49&255)>>>0>4){break g}z[g+24>>2]=(c&255)-48;z[a>>2]=z[a>>2]+1;if(b){x[b|0]=1}h:{if(!f){break h}if(cf(a,b)){break h}break g}x[g+23|0]=0;d=Jg(a,h,g+23|0,g+24|0);break g}c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}if((c|0)!=68){break g}c=z[a>>2];if(z[a+4>>2]-c>>>0>1){c=A[c+1|0]}else{c=0}f=c<<24>>24;c=(f&255)-48|0;if(c>>>0>5|(c|0)==3){break g}z[g+16>>2]=(f&255)-48;z[a>>2]=z[a>>2]+2;if(b){x[b|0]=1}x[g+15|0]=1;d=Jg(a,h,g+15|0,g+16|0)}Fa=g+32|0;break e}d=Vf(a,b)}z[e+36>>2]=d;if(!(!d|!z[e+40>>2])){d=Gf(a+408|0,16);c=z[e+40>>2];b=z[e+36>>2];d=If(d,26,0,1,1,1);z[d+12>>2]=b;z[d+8>>2]=c;z[d>>2]=59220;z[e+36>>2]=d;break c}if(d){break c}d=0;break b}d=0;break a}d=Tf(a,d);z[e+36>>2]=d}if(!d|!z[e+44>>2]){break a}c=Gf(a+408|0,16);b=z[e+44>>2];a=z[e+36>>2];d=If(c,23,0,1,1,1);z[d+12>>2]=a;z[d+8>>2]=b;z[d>>2]=59328}Fa=e+48|0;return d}function Ji(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;f=e;b=0;h=0;e=z[a+48>>2];a:{if(e>>>0>=c>>>0){z[a+48>>2]=e-c;z[a+36>>2]=z[a+36>>2]+c;b=d+z[a+60>>2]|0;f=b+1|0;e=b;b=c+z[a+56>>2]|0;e=b>>>0>>0?f:e;z[a+56>>2]=b;z[a+60>>2]=e;Ka=d;a=c;break a}if(A[a+68|0]&4){z[a+48>>2]=0;z[a+36>>2]=e+z[a+36>>2];b=z[a+60>>2];c=z[a+56>>2];d=c+e|0;z[a+56>>2]=d;z[a+60>>2]=c>>>0>d>>>0?b+1|0:b;Ka=e?0:-1;a=e?e:-1;break a}if(e){z[a+48>>2]=0;z[a+36>>2]=z[a+32>>2];g=c;b=e;c=c-e|0;d=d-(e>>>0>g>>>0)|0}b:{if(!!c&(d|0)>=0|(d|0)>0){while(1){g=z[a+12>>2];e=d+h|0;j=e+1|0;i=e;e=b+c|0;i=z[a+60>>2]+(e>>>0>>0?j:i)|0;k=i+1|0;j=i;i=e+z[a+56>>2]|0;e=e>>>0>i>>>0?k:j;if((g|0)==(e|0)&i>>>0>C[a+8>>2]|e>>>0>g>>>0){sb(f,4,30975,0);z[a+48>>2]=0;z[a+36>>2]=z[a+32>>2];c=h+z[a+60>>2]|0;d=b;b=b+z[a+56>>2]|0;d=d>>>0>b>>>0?c+1|0:c;z[a+56>>2]=b;z[a+60>>2]=d;c=z[a+8>>2];g=c-b|0;f=z[a+12>>2];e=f;h=e-((b>>>0>c>>>0)+d|0)|0;i=La[z[a+28>>2]](c,e,z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;e=z[a+68>>2];if(i){z[a+56>>2]=c;z[a+60>>2]=f;e=e&-5}z[a+68>>2]=e|4;c=(b|0)==(c|0)&(d|0)==(f|0);a=c?-1:g;break b}e=La[z[a+24>>2]](c,d,z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;g=Ka;if((e&g)==-1){sb(f,4,30975,0);z[a+68>>2]=z[a+68>>2]|4;c=h+z[a+60>>2]|0;e=c+1|0;d=c;c=b+z[a+56>>2]|0;d=c>>>0>>0?e:d;z[a+56>>2]=c;z[a+60>>2]=d;c=!(b|h);a=c?-1:b;break b}h=g+h|0;b=b+e|0;h=b>>>0>>0?h+1|0:h;d=d-((c>>>0>>0)+g|0)|0;c=c-e|0;if(!!c&(d|0)>=0|(d|0)>0){continue}break}}c=h+z[a+60>>2]|0;e=c+1|0;d=c;c=b+z[a+56>>2]|0;d=c>>>0>>0?e:d;z[a+56>>2]=c;z[a+60>>2]=d;Ka=h;a=b;break a}Ka=c?-1:h}return a|0}function jc(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,o=0,p=0,q=0,r=0,s=0;d=Fa-16|0;Fa=d;f=z[a+44>>2];p=z[a+48>>2];k=z[a+208>>2];z[k+16>>2]=0;z[a+8>>2]=0;z[d+8>>2]=0;a:{if(!kc(a,f,p,d+8|0,c)){break a}g=z[d+8>>2];j=p-g|0;l=f+g|0;if(!(!(A[(z[a+156>>2]+F(z[a+204>>2],5644)|0)+5640|0]&4)|(B[a+80>>1]-3&65535)>>>0<4)){z[d+8>>2]=0;lc(a,l,d+8|0);i=z[d+8>>2];j=j-i|0;l=i+l|0;g=g+i|0}z[d+8>>2]=0;if(!mc(a,k,l,d+8|0,j,c)){break a}e=z[d+8>>2]+g|0;kb(f+6|0,e,4);if(z[a+16>>2]){g=z[a+20>>2]?1:2;kb(z[a+36>>2],z[a+204>>2],g);g=g+z[a+36>>2]|0;z[a+36>>2]=g;kb(g,e,4);z[a+36>>2]=z[a+36>>2]+4}q=z[a+156>>2];r=z[a+208>>2];l=0;s=a+80|0;n=z[a+204>>2];m=nc(s,0,n);z[a+12>>2]=z[a+12>>2]+1;g=p-e|0;f=e+f|0;b:{c:{if(m>>>0<2){e=g;break c}j=1;e=g;while(1){z[a+8>>2]=j;z[d+12>>2]=0;if(!kc(a,f,e,d+12|0,c)){break b}i=z[d+12>>2];z[d+12>>2]=0;o=f+i|0;e=e-i|0;if(!mc(a,r,o,d+12|0,e,c)){break b}h=f+6|0;k=z[d+12>>2];f=k+i|0;kb(h,f,4);if(z[a+16>>2]){h=z[a+20>>2]?1:2;kb(z[a+36>>2],z[a+204>>2],h);h=h+z[a+36>>2]|0;z[a+36>>2]=h;kb(h,f,4);z[a+36>>2]=z[a+36>>2]+4}e=e-k|0;f=k+o|0;l=k+(i+l|0)|0;z[a+12>>2]=z[a+12>>2]+1;j=j+1|0;if((m|0)!=(j|0)){continue}break}}q=q+F(n,5644)|0;if(z[q+420>>2]){i=1;while(1){z[r+16>>2]=i;j=0;n=nc(s,i,z[a+204>>2]);if(n){while(1){z[a+8>>2]=j;z[d+12>>2]=0;if(!kc(a,f,e,d+12|0,c)){break b}k=z[d+12>>2];z[d+12>>2]=0;o=f+k|0;e=e-k|0;if(!mc(a,r,o,d+12|0,e,c)){break b}h=f+6|0;m=z[d+12>>2];f=m+k|0;kb(h,f,4);if(z[a+16>>2]){h=z[a+20>>2]?1:2;kb(z[a+36>>2],z[a+204>>2],h);h=h+z[a+36>>2]|0;z[a+36>>2]=h;kb(h,f,4);z[a+36>>2]=z[a+36>>2]+4}e=e-m|0;f=m+o|0;l=m+(k+l|0)|0;z[a+12>>2]=z[a+12>>2]+1;j=j+1|0;if((n|0)!=(j|0)){continue}break}}i=i+1|0;if(i>>>0<=C[q+420>>2]){continue}break}}e=0;f=b;b=(l-g|0)+p|0;if((rb(f,z[a+44>>2],b,c)|0)!=(b|0)){break a}e=1;z[a+204>>2]=z[a+204>>2]+1;break a}e=0}Fa=d+16|0;return e}function ld(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,o=0;j=Fa-256|0;Fa=j;a:{if(!a){a=0;break a}if(!(z[a>>2]==(b|0)&z[a+4>>2]==(c|0))){z[a+4>>2]=c;z[a>>2]=b;z[j>>2]=c;z[j+128>>2]=b;e=c;f=b;while(1){o=i;i=i+1|0;h=i<<2;n=(e+1|0)/2|0;z[h+j>>2]=n;k=h+(j+128|0)|0;h=(f+1|0)/2|0;z[k>>2]=h;m=F(e,f);g=m+g|0;e=n;f=h;if(m>>>0>1){continue}break}z[a+8>>2]=g;b:{c:{d:{e:{if(!g){e=z[a+12>>2];if(!e){break d}f=a+12|0;break e}g=g<<4;if(g>>>0<=C[a+16>>2]){break b}b=xd(z[a+12>>2],g);if(b){break c}sb(d,1,13695,0);f=a+12|0;e=z[f>>2];if(!e){break d}}le(e);z[f>>2]=0}le(a);a=0;break a}z[a+12>>2]=b;c=b;b=z[a+16>>2];Id(c+b|0,0,g-b|0);z[a+16>>2]=g;c=z[a+4>>2];b=z[a>>2]}f=z[a+12>>2];if(o){d=0;e=(F(b,c)<<4)+f|0;g=e;while(1){b=d<<2;k=z[b+j>>2];f:{if((k|0)<=0){break f}m=k-1|0;l=0;g:{h:{c=z[b+(j+128|0)>>2];if((c|0)<=0){n=k&1;i=0;if((k|0)!=1){break h}b=g;break g}while(1){b=g;g=c;while(1){i:{z[f>>2]=e;if((g|0)==1){f=f+16|0;e=e+16|0;break i}z[f+16>>2]=e;e=e+16|0;f=f+32|0;h=(g|0)>2;g=g-2|0;if(h){continue}}break}h=((l|0)==(m|0)|l)&1;g=h?e:b+(c<<4)|0;e=h?e:b;l=l+1|0;if((k|0)!=(l|0)){continue}break}break f}h=k&-2;while(1){b=(i|0)==(m|0);i=i+2|0;e=b?e:g;g=e;b=e;l=l+2|0;if((h|0)!=(l|0)){continue}break}}if(!n){g=e;break f}g=(c<<4)+b|0;c=((i|0)==(m|0)|i)&1;g=c?e:g;e=c?e:b}d=d+1|0;if((o|0)!=(d|0)){continue}break}}z[f>>2]=0}c=z[a+8>>2];if(!c){break a}e=z[a+12>>2];if(c>>>0>=4){b=c&-4;f=0;while(1){z[e+12>>2]=0;z[e+4>>2]=999;z[e+8>>2]=0;z[e+60>>2]=0;z[e+52>>2]=999;z[e+56>>2]=0;z[e+44>>2]=0;z[e+36>>2]=999;z[e+40>>2]=0;z[e+28>>2]=0;z[e+20>>2]=999;z[e+24>>2]=0;e=e- -64|0;f=f+4|0;if((b|0)!=(f|0)){continue}break}}b=c&3;if(!b){break a}f=0;while(1){z[e+12>>2]=0;z[e+4>>2]=999;z[e+8>>2]=0;e=e+16|0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}Fa=j+256|0;return a}function hd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=z[z[a+24>>2]+24>>2]+F(b,52)|0;l=z[m+4>>2];k=l-1|0;n=z[a+60>>2];j=k+n|0;p=0-!l|0;i=p;r=z[z[z[a+20>>2]>>2]+20>>2]+F(b,76)|0;o=z[r+12>>2];i=ro(j,j>>>0>>0?i+1|0:i,l,0);q=i>>>0>o>>>0?o:i;j=z[m>>2];m=j-1|0;s=z[a+56>>2];o=m+s|0;n=0-!j|0;i=n;t=z[r+8>>2];i=ro(o,o>>>0>>0?i+1|0:i,j,0);o=i>>>0>t>>>0?t:i;i=p;t=z[r+4>>2];s=z[a+52>>2];k=s+k|0;i=ro(k,k>>>0>>0?i+1|0:i,l,0);k=i>>>0>>0?t:i;i=n;p=z[r>>2];n=m;m=z[a+48>>2];l=n+m|0;i=ro(l,l>>>0>>0?i+1|0:i,j,0);i=i>>>0

>>0?p:i;l=0;p=z[(z[z[a+32>>2]+5584>>2]+F(b,1080)|0)+20>>2];c=z[r+20>>2]+(c?0-c|0:-1)|0;a:{if(!c){a=o;l=i;b=k;break a}m=c-1|0;j=(d&1)<>>0>>0){a=c&31;n=i-j|0;if((c&63)>>>0>=32){i=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;b=a;a=c&31;l=(c&63)>>>0>=32?i>>>a|0:((1<>>a}a=0;b=0;d=d>>>1<>>0>>0){b=c&31;n=k-d|0;if((c&63)>>>0>=32){i=-1<>>32-b;b=-1<>>0>>0?i+1|0:i;k=b;b=c&31;b=(c&63)>>>0>=32?i>>>b|0:((1<>>b}if(j>>>0>>0){a=c&31;k=o-j|0;if((c&63)>>>0>=32){i=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;j=a;a=c&31;a=(c&63)>>>0>=32?i>>>a|0:((1<>>a}if(d>>>0>=q>>>0){q=0;break a}k=q-d|0;d=c&31;if((c&63)>>>0>=32){i=-1<>>32-d;d=-1<>>0>>0?i+1|0:i;j=d;d=c&31;q=(c&63)>>>0>=32?i>>>d|0:((1<>>d}c=(p|0)==1?2:3;d=c+a|0;d=(a>>>0>d>>>0?-1:d)>>>0>e>>>0;a=c+q|0;d=d&(a>>>0>>0?-1:a)>>>0>f>>>0;a=l-c|0;d=d&(a>>>0<=l>>>0?a:0)>>>0>>0;a=b-c|0;return d&(a>>>0<=b>>>0?a:0)>>>0>>0}function Ub(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=tb();z[b+72>>2]=e;a:{b:{if(!e){break b}c:{if(sd(z[b+196>>2],119,d)){if(sd(z[b+196>>2],120,d)){break c}}break a}g=z[b+196>>2];i=z[g>>2];f=z[g+8>>2];d:{if(i){e=1;if((i|0)!=1){k=i&-2;while(1){h=0;e:{if(!e){break e}h=0;if(!(La[z[f>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break e}h=(La[z[f+4>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}e=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}f:{g:{if(i&1){if(!e){break g}e=(La[z[f>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[g>>2]=0;if(!e){break f}break d}z[g>>2]=0}break a}z[g>>2]=0}h:{if(sd(z[b+192>>2],121,d)){if(sd(z[b+192>>2],122,d)){break h}}break a}g=z[b+192>>2];i=z[g>>2];f=z[g+8>>2];i:{if(i){e=1;if((i|0)!=1){k=i&-2;j=0;while(1){h=0;j:{if(!e){break j}h=0;if(!(La[z[f>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break j}h=(La[z[f+4>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}e=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}k:{l:{if(i&1){if(!e){break l}e=(La[z[f>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[g>>2]=0;if(!e){break k}break i}z[g>>2]=0}break a}z[g>>2]=0}a=tb();z[c>>2]=a;if(!a){break b}vb(z[b+72>>2],a);a=F(z[b+108>>2],z[b+104>>2]);z[z[b+200>>2]+36>>2]=a;d=ud(a,40);a=z[b+200>>2];z[a+40>>2]=d;m:{if(!d){break m}if(!z[a+36>>2]){return 1}f=0;while(1){e=F(f,40);a=e+d|0;z[a+20>>2]=0;z[a+28>>2]=100;a=ud(100,24);g=z[b+200>>2];d=z[g+40>>2];z[(e+d|0)+24>>2]=a;if(!a){break m}l=1;f=f+1|0;if(f>>>0>2]){continue}break}break b}ub(z[c>>2]);l=0;z[c>>2]=0}return l}ub(z[b+72>>2]);z[b+72>>2]=0;return 0}function Lc(a){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;g=z[a+16>>2];if(g>>>0>=32){return z[a+8>>2]}d=z[a+20>>2];a:{if((d|0)>=4){b=z[a>>2];c=z[b-3>>2];d=d-4|0;z[a+20>>2]=d;z[a>>2]=b-4;break a}if((d|0)<=0){break a}k=d&1;b=z[a>>2];b:{if((d|0)==1){e=24;break b}j=d&-2;e=24;while(1){h=b-1|0;z[a>>2]=h;i=A[b|0];b=b-2|0;z[a>>2]=b;z[a+20>>2]=d-1;h=A[h|0];d=d-2|0;z[a+20>>2]=d;c=i<>2]=b-1;b=A[b|0];z[a+20>>2]=d-1;c=b<>2];j=c&255;z[a+24>>2]=j>>>0>143;b=b?(c&2130706432)==2130706432?7:8:8;h=b+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;i=h+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;k=i+(g+(e>>>0<=143?8:(c&127)==127?7:8)|0)|0;z[a+16>>2]=k;l=z[a+12>>2];b=f<>>24|e<>>0>=32){e=b<>>32-c;b=b<>2];b=e|l;h=b;z[a+8>>2]=g;z[a+12>>2]=b;if(k>>>0<=31){c:{if((d|0)>=4){b=z[a>>2];c=z[b-3>>2];z[a+20>>2]=d-4;z[a>>2]=b-4;break c}if((d|0)<=0){c=0;break c}i=d&1;b=z[a>>2];d:{if((d|0)==1){e=24;c=0;break d}l=d&-2;e=24;c=0;f=0;while(1){m=b-1|0;z[a>>2]=m;n=A[b|0];b=b-2|0;z[a>>2]=b;z[a+20>>2]=d-1;m=A[m|0];d=d-2|0;z[a+20>>2]=d;c=n<>2]=b-1;b=A[b|0];z[a+20>>2]=d-1;c=b<>2]=d>>>0>143;j=j>>>0<=143?8:(c&2130706432)==2130706432?7:8;i=j+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;l=i+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;z[a+16>>2]=l+(k+(e>>>0<=143?8:(c&127)==127?7:8)|0);b=a;a=f<>>24|e<>>0>=32){d=a<>>32-c;a=a<>2]=g;z[b+12>>2]=d|h}return g}function Dj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,D,E,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;d=0;f=Fa-16|0;Fa=f;z[f+12>>2]=e;i=z[a+72>>2];b=z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2];x[b+5640|0]=A[b+5640|0]|1;a:{if(e>>>0<=4){sb(g,1,10765,0);break a}lb(c,b,1);if(C[b>>2]>=8){sb(g,1,10705,0);break a}lb(c+1|0,f+8|0,1);h=z[f+8>>2];z[b+4>>2]=h;if((h|0)>=5){sb(g,1,10664,0);z[b+4>>2]=-1}lb(c+2|0,b+8|0,2);h=z[b+8>>2];if(h-65536>>>0<=4294901760){z[f>>2]=h;sb(g,1,21516,f);break a}j=z[a+164>>2];z[b+12>>2]=j?j:h;lb(c+4|0,b+16|0,1);if(C[b+16>>2]>=2){sb(g,1,12320,0);break a}j=c+5|0;z[f+12>>2]=e-5;i=z[i+16>>2];b:{if(!i){break b}c=z[b>>2]&1;e=z[b+5584>>2];h=0;if(i>>>0>=8){k=i&-8;b=0;while(1){z[e+F(d,1080)>>2]=c;z[e+F(d|1,1080)>>2]=c;z[e+F(d|2,1080)>>2]=c;z[e+F(d|3,1080)>>2]=c;z[e+F(d|4,1080)>>2]=c;z[e+F(d|5,1080)>>2]=c;z[e+F(d|6,1080)>>2]=c;z[e+F(d|7,1080)>>2]=c;d=d+8|0;b=b+8|0;if((k|0)!=(b|0)){continue}break}}b=i&7;if(!b){break b}while(1){z[e+F(d,1080)>>2]=c;d=d+1|0;h=h+1|0;if((b|0)!=(h|0)){continue}break}}d=0;if(!rc(a,0,j,f+12|0,g)){sb(g,1,10765,0);break a}if(z[f+12>>2]){sb(g,1,10765,0);break a}if(C[z[a+72>>2]+16>>2]>=2){c=z[(z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2])+5584>>2];d=z[c+4>>2]<<2;e=c+944|0;g=c+812|0;h=1;b=c;while(1){z[b+1084>>2]=z[c+4>>2];z[b+1088>>2]=z[c+8>>2];z[b+1092>>2]=z[c+12>>2];z[b+1096>>2]=z[c+16>>2];z[b+1100>>2]=z[c+20>>2];Gd(b+1892|0,g,d);Gd(b+2024|0,e,d);b=b+1080|0;h=h+1|0;if(h>>>0>2]+16>>2]){continue}break}}d=1}Fa=f+16|0;Ka=0;return d|0}function fk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,E,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;b=Fa+-64|0;Fa=b;z[b+32>>2]=0;z[b+36>>2]=0;z[b+40>>2]=0;z[b+44>>2]=0;z[b+48>>2]=0;z[b+52>>2]=0;z[b+56>>2]=0;z[b+60>>2]=0;z[b+16>>2]=0;z[b+20>>2]=0;z[b+24>>2]=0;z[b+28>>2]=0;a:{if(z[a+24>>2]!=255){d=2;f=191;break a}z[b+40>>2]=191;d=3;f=192}z[b+28>>2]=f;z[b+16>>2]=193;if(z[a+116>>2]){z[(b+16|0)+F(d,12)>>2]=194;d=d+1|0}kb(b+12|0,1785737832,4);f=La[z[b+16>>2]](a,0,b+16|8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[b+20>>2]=f;b:{c:{if(!f){break c}f=z[b+24>>2];g=La[z[b+28>>2]](a,0,b+36|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[b+32>>2]=g;if(!g){break c}f=z[b+36>>2]+(f+8|0)|0;d:{if((d|0)==2){break d}g=La[z[b+40>>2]](a,0,b+48|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[b+44>>2]=g;if(!g){break c}f=f+z[b+48>>2]|0;if((d|0)==3){break d}a=La[z[b+52>>2]](a,0,b+60|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[b+56>>2]=a;if(!a){break c}f=f+z[b+60>>2]|0}a=f;f=b+8|0;kb(f,a,4);e:{f:{if((rb(c,f,8,e)|0)!=8){break f}a=b+16|0;f=0;while(1){if((rb(c,z[a+4>>2],z[a+8>>2],e)|0)!=z[a+8>>2]){break f}a=a+12|0;g=1;f=f+1|0;if((d|0)!=(f|0)){continue}break}break e}g=0;sb(e,1,7089,0)}a=b+16|0;f=0;while(1){c=z[a+4>>2];if(c){le(c)}a=a+12|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}break b}f=0;sb(e,1,21237,0);a=b+16|0;while(1){c=z[a+4>>2];if(c){le(c)}a=a+12|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}g=0}Fa=b- -64|0;Ka=0;return g|0}function Mc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=z[a+16>>2];if(h>>>0>=32){return z[a+8>>2]}d=z[a+24>>2];a:{if((d|0)>=4){b=z[a>>2];c=z[b>>2];f=d-4|0;z[a+24>>2]=f;z[a>>2]=b+4;break a}c=z[a+28>>2]?-1:0;if((d|0)<=0){f=d;break a}j=d&1;b=z[a>>2];b:{if((d|0)==1){e=b;break b}i=d&-2;while(1){z[a>>2]=b+1;k=A[b|0];e=b+2|0;z[a>>2]=e;z[a+24>>2]=d-1;b=A[b+1|0];d=d-2|0;z[a+24>>2]=d;m=b;b=g|8;c=m<>2]=e+1;b=A[e|0];z[a+24>>2]=d-1;c=(255<>2];i=c>>>24|0;z[a+20>>2]=(i|0)==255;e=c>>>16&255;d=c>>>8&255;b=b?7:8;c=c&255;g=b+((c|0)==255?7:8)|0;k=((d|0)==255?7:8)+g|0;j=(h+((e|0)==255?7:8)|0)+k|0;z[a+16>>2]=j;l=z[a+12>>2];b=c|(d<>>0>=32){e=b<>>32-c;b=b<>2];b=e|l;k=b;z[a+8>>2]=h;z[a+12>>2]=b;if(j>>>0<=31){c:{if((f|0)>=4){b=z[a>>2];d=z[b>>2];z[a+24>>2]=f-4;z[a>>2]=b+4;break c}g=0;d=z[a+28>>2]?-1:0;if((f|0)<=0){break c}l=f&1;b=z[a>>2];d:{if((f|0)==1){c=b;break d}n=f&-2;e=0;while(1){z[a>>2]=b+1;o=A[b|0];c=b+2|0;z[a>>2]=c;z[a+24>>2]=f-1;b=A[b+1|0];f=f-2|0;z[a+24>>2]=f;m=b;b=g|8;d=m<>2]=c+1;b=A[c|0];z[a+24>>2]=f-1;d=(255<>>24|0;z[a+20>>2]=(c|0)==255;e=d>>>16&255;f=d>>>8&255;g=(i|0)==255?7:8;d=d&255;i=g+((d|0)==255?7:8)|0;l=((f|0)==255?7:8)+i|0;z[a+16>>2]=(j+((e|0)==255?7:8)|0)+l;b=a;a=d|(f<>>0>=32){e=a<>>32-c;a=a<>2]=h;z[b+12>>2]=e|k}return h}function qk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;f=0;h=0;i=0;b=Fa-80|0;Fa=b;a:{if(e>>>0<=2){sb(g,1,29302,0);break a}if(A[a+124|0]){sb(g,4,25055,0);f=1;break a}f=1;lb(c,a+40|0,1);lb(c+1|0,a+52|0,1);lb(c+2|0,a+44|0,1);d=c+3|0;b:{c:{d:{e:{f:{j=z[a+40>>2];switch(j-1|0){case 1:break e;case 0:break f;default:break d}}if(e>>>0<=6){z[b+16>>2]=e;sb(g,1,30433,b+16|0);f=0;break a}if(!((e|0)==7|z[a+48>>2]==14)){z[b+48>>2]=e;sb(g,2,30433,b+48|0)}lb(d,a+48|0,4);if(z[a+48>>2]!=14){break b}d=td(36);if(!d){f=0;sb(g,1,21171,0);break a}z[d>>2]=14;z[b+64>>2]=0;z[b+56>>2]=0;z[b+72>>2]=0;z[b+60>>2]=0;z[b+68>>2]=0;z[b+76>>2]=0;f=4470064;z[b+52>>2]=4470064;z[d+4>>2]=1145390592;g:{if((e|0)!=7){if((e|0)==35){lb(c+7|0,b+76|0,4);lb(c+11|0,b+72|0,4);lb(c+15|0,b+68|0,4);lb(c+19|0,b- -64|0,4);lb(c+23|0,b+60|0,4);lb(c+27|0,b+56|0,4);lb(c+31|0,b+52|0,4);z[d+4>>2]=0;f=z[b+52>>2];c=z[b+56>>2];e=z[b+64>>2];h=z[b+68>>2];i=z[b+76>>2];g=z[b+72>>2];j=z[b+60>>2];break g}z[b+32>>2]=e;sb(g,2,30469,b+32|0)}c=0;e=0;g=0;j=0}z[d+24>>2]=j;z[d+16>>2]=h;z[d+8>>2]=i;z[d+32>>2]=f;z[d+28>>2]=c;z[d+20>>2]=e;z[d+12>>2]=g;z[a+112>>2]=0;z[a+108>>2]=d;break b}f=e-3|0;z[a+112>>2]=f;c=ud(1,f);z[a+108>>2]=c;if(!c){break c}if((e|0)<=3){break b}c=0;while(1){lb(d,b+76|0,1);x[z[a+108>>2]+c|0]=z[b+76>>2];d=d+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break b}if(j>>>0<3){break a}z[b>>2]=j;sb(g,4,31583,b);break a}f=0;z[a+112>>2]=0;break a}f=1;x[a+124|0]=1}Fa=b+80|0;Ka=0;return f|0}function Jc(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,o=0,p=0;z[a+8>>2]=0;z[a+12>>2]=0;z[a>>2]=b;z[a+28>>2]=d;z[a+16>>2]=0;z[a+20>>2]=0;g=c-1|0;z[a+24>>2]=g;n=b&3;a:{if((c|0)<=0){e=b;b=d;break a}e=b+1|0;z[a>>2]=e;b=A[b|0]}h=8;z[a+16>>2]=8;i=b;z[a+8>>2]=b;z[a+12>>2]=0;f=b&255;j=(f|0)==255;z[a+20>>2]=j;b:{if((n|0)==3){break b}o=c-2|0;z[a+24>>2]=o;c:{if((c|0)<2){b=e;e=d;break c}b=e+1|0;z[a>>2]=b;e=A[e|0]}h=(f|0)==255?15:16;z[a+16>>2]=h;k=e&255;j=(k|0)==255;z[a+20>>2]=j;i=i|e<<8;z[a+8>>2]=i;m=e>>>24|0;z[a+12>>2]=m;if((n|0)==2){e=b;c=g;g=o;break b}l=c-3|0;z[a+24>>2]=l;d:{if((c|0)<3){f=b;b=d;break d}f=b+1|0;z[a>>2]=f;b=A[b|0]}p=b&255;j=(p|0)==255;z[a+20>>2]=j;k=((k|0)==255?7:8)+h|0;z[a+16>>2]=k;g=h&31;if((h&63)>>>0>=32){e=b<>>32-g;b=b<>2]=i;z[a+12>>2]=b;if((n|0)==1){e=f;h=k;c=o;g=l;break b}g=c-4|0;z[a+24>>2]=g;e:{if((c|0)<4){e=f;b=d;break e}e=f+1|0;z[a>>2]=e;b=A[f|0]}j=(b&255)==255;z[a+20>>2]=j;h=k+((p|0)==255?7:8)|0;z[a+16>>2]=h;c=k&31;if((k&63)>>>0>=32){f=b<>>32-c;b=b<>2]=i;z[a+12>>2]=b;c=l}f:{if((c|0)>=5){d=z[e>>2];z[a+24>>2]=c-5;z[a>>2]=e+4;break f}b=0;d=d?-1:0;if((c|0)<2){break f}while(1){f=e+1|0;z[a>>2]=f;e=A[e|0];c=g-1|0;z[a+24>>2]=c;d=(255<>>0>1;e=f;g=c;if(l){continue}break}}l=d>>>24|0;z[a+20>>2]=(l|0)==255;f=d>>>16&255;g=d>>>8&255;e=d&255;d=j?7:8;c=((e|0)==255?7:8)+d|0;b=((g|0)==255?7:8)+c|0;z[a+16>>2]=(((f|0)==255?7:8)+h|0)+b;b=e|(g<>>0>=32){c=b<>>32-d;b=b<>2]=b|i;z[a+12>>2]=c|m}function _i(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,C,D,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;i=0;j=z[a+72>>2];n=F(z[a+104>>2],z[a+108>>2]);a:{b:{if(n){b=z[j+16>>2];o=F(b,1080);k=F(b,b)<<2;c=z[a+12>>2];d=z[a+156>>2];while(1){l=z[d+5584>>2];b=Gd(d,c,5644);z[b+5608>>2]=0;z[b+5588>>2]=-1;z[b+5168>>2]=0;z[b+5636>>2]=0;z[b+5616>>2]=0;z[b+5624>>2]=0;z[b+5628>>2]=0;z[b+5584>>2]=l;x[b+5640|0]=A[b+5640|0]&252;if(z[c+5608>>2]){d=td(k);z[b+5608>>2]=d;p=0;if(!d){break a}Gd(d,z[c+5608>>2],k)}f=F(z[c+5624>>2],20);d=td(f);z[b+5616>>2]=d;h=0;if(!d){break b}Gd(d,z[c+5616>>2],f);m=z[c+5620>>2];if(m){d=z[c+5616>>2];f=z[b+5616>>2];g=0;while(1){if(z[d+12>>2]){m=td(z[d+16>>2]);z[f+12>>2]=m;p=0;if(!m){break a}Gd(m,z[d+12>>2],z[d+16>>2]);m=z[c+5620>>2]}z[b+5624>>2]=z[b+5624>>2]+1;f=f+20|0;d=d+20|0;g=g+1|0;if(g>>>0>>0){continue}break}}f=F(z[c+5636>>2],20);d=td(f);z[b+5628>>2]=d;if(!d){break b}Gd(d,z[c+5628>>2],f);z[b+5636>>2]=z[c+5636>>2];h=z[c+5636>>2];if(h){d=z[c+5628>>2];f=z[b+5628>>2];g=0;while(1){m=z[d+8>>2];if(m){z[f+8>>2]=z[b+5616>>2]+F((m-z[c+5616>>2]|0)/20|0,20)}m=z[d+12>>2];if(m){z[f+12>>2]=z[b+5616>>2]+F((m-z[c+5616>>2]|0)/20|0,20)}f=f+20|0;d=d+20|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}Gd(l,z[c+5584>>2],o);d=b+5644|0;i=i+1|0;if((n|0)!=(i|0)){continue}break}}h=1;b=_c(1);z[a+208>>2]=b;p=0;if(!b){break a}if($c(b,j,a+80|0,z[a+212>>2])){break b}ad(z[a+208>>2]);h=0;z[a+208>>2]=0;sb(e,1,9462,0)}p=h}a=p;Ka=0;return a|0}function Pl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;b=0;f=0;d=Fa+-64|0;Fa=d;a:{if(ze(c,52240,0)){z[e>>2]=0;b=1;break a}b:{if(A[a+8|0]&24){f=1}else{if(!c){break b}g=Ae(c,51972);if(!g){break b}f=(A[g+8|0]&24)!=0}f=ze(a,c,f)}if(f){b=1;a=z[e>>2];if(!a){break a}z[e>>2]=z[a>>2];break a}c:{if(!c){break c}c=Ae(c,52020);if(!c){break a}f=z[e>>2];if(f){z[e>>2]=z[f>>2]}f=z[c+8>>2];g=z[a+8>>2];if(f&(g^-1)&7|g&(f^-1)&96){break a}b=1;if(ze(z[a+12>>2],z[c+12>>2],0)){break a}if(ze(z[a+12>>2],52228,0)){a=z[c+12>>2];if(!a){break a}b=!Ae(a,52072);break a}g=z[a+12>>2];if(!g){break c}b=0;f=Ae(g,52020);if(f){if(!(x[a+8|0]&1)){break a}a=z[c+12>>2];d:{e:{while(1){c=0;if(!a){break d}a=Ae(a,52020);if(!a|z[a+8>>2]&(z[f+8>>2]^-1)){break e}c=1;if(ze(z[f+12>>2],z[a+12>>2],0)){break d}if(!(x[f+8|0]&1)){break e}c=z[f+12>>2];if(!c){break e}f=Ae(c,52020);if(f){a=z[a+12>>2];continue}break}c=Ae(c,52132);if(!c){break e}b=Ce(c,z[a+12>>2])}c=b}b=c;break a}f=Ae(g,52132);if(f){if(!(x[a+8|0]&1)){break a}b=Ce(f,z[c+12>>2]);break a}f=Ae(g,51924);if(!f){break a}a=z[c+12>>2];if(!a){break a}a=Ae(a,51924);if(!a){break a}Id(d+12|0,0,52);z[d+56>>2]=1;z[d+20>>2]=-1;z[d+16>>2]=f;z[d+8>>2]=a;La[z[z[a>>2]+28>>2]](a,0,d+8|0,0,z[e>>2],0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=z[d+32>>2];if(!(!z[e>>2]|(a|0)!=1)){z[e>>2]=z[d+24>>2]}b=(a|0)==1;break a}b=0}Fa=d- -64|0;Ka=0;return b|0}function jl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;f=0;a:{b:{c:{d:{if(!sd(z[a+4>>2],185,g)){break d}h=z[a+4>>2];i=z[h>>2];b=z[h+8>>2];e:{f:{g:{if(i){d=1;if((i|0)!=1){j=i&-2;while(1){k=0;h:{if(!d){break h}k=0;if(!(La[z[b>>2]](a,0,c,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break h}k=(La[z[b+4>>2]](a,0,c,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=k;b=b+8|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}if(i&1){if(!d){break f}d=(La[z[b>>2]](a,0,c,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[h>>2]=0;if(d){break g}break d}z[h>>2]=0}if(!sd(z[a+8>>2],186,g)){break d}if(!sd(z[a+8>>2],187,g)){break d}if(!sd(z[a+8>>2],188,g)){break d}if(z[a+96>>2]){if(!sd(z[a+8>>2],189,g)){break d}}if(!sd(z[a+8>>2],190,g)){break d}h=z[a+8>>2];i=z[h>>2];b=z[h+8>>2];if(!i){break c}d=1;if((i|0)!=1){j=i&-2;f=0;while(1){k=0;i:{if(!d){break i}k=0;if(!(La[z[b>>2]](a,0,c,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break i}k=(La[z[b+4>>2]](a,0,c,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=k;b=b+8|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}if(i&1){if(!d){break e}d=(La[z[b>>2]](a,0,c,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[h>>2]=0;if(!d){break d}break b}z[h>>2]=0;a=0;break a}z[h>>2]=0}a=0;break a}z[h>>2]=0}a=pc(z[a>>2],c,e,g)}Ka=0;return a|0} +function Pc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=z[a+116>>2];a:{f=F(b,c);b:{c:{d:{if(f>>>0>C[a+132>>2]){le(d);d=vd(f<<2);z[a+116>>2]=d;if(!d){break b}z[a+132>>2]=f;break d}if(!d){break c}}Id(d,0,f<<2)}d=z[a+120>>2];h=b+2|0;j=c+3>>>2|0;f=F(h,j+2|0);if(f>>>0<=C[a+136>>2]){e=f<<2;break a}le(d);e=f<<2;d=vd(e);z[a+120>>2]=d;if(d){break a}}return 0}z[a+136>>2]=f;Id(d,0,e);f=z[a+120>>2];e:{if(!h){break e}d=f;i=b+1|0;if(i>>>0>=7){e=h&-8;while(1){z[d+24>>2]=1226833920;z[d+28>>2]=1226833920;z[d+16>>2]=1226833920;z[d+20>>2]=1226833920;z[d+8>>2]=1226833920;z[d+12>>2]=1226833920;z[d>>2]=1226833920;z[d+4>>2]=1226833920;d=d+32|0;g=g+8|0;if((e|0)!=(g|0)){continue}break}}e=h&7;if(e){g=0;while(1){z[d>>2]=1226833920;d=d+4|0;g=g+1|0;if((e|0)!=(g|0)){continue}break}}if(!h){break e}d=f+(F(j+1|0,h)<<2)|0;if(i>>>0>=7){e=h&-8;g=0;while(1){z[d+24>>2]=1226833920;z[d+28>>2]=1226833920;z[d+16>>2]=1226833920;z[d+20>>2]=1226833920;z[d+8>>2]=1226833920;z[d+12>>2]=1226833920;z[d>>2]=1226833920;z[d+4>>2]=1226833920;d=d+32|0;g=g+8|0;if((e|0)!=(g|0)){continue}break}}e=h&7;if(!e){break e}g=0;while(1){z[d>>2]=1226833920;d=d+4|0;g=g+1|0;if((e|0)!=(g|0)){continue}break}}d=c&3;f:{if(!d|!h){break f}i=(d|0)==1?1224736768:(d|0)==2?1207959552:1073741824;d=f+(F(h,j)<<2)|0;if(b+1>>>0>=7){f=h&-8;e=0;while(1){z[d+28>>2]=i;z[d+24>>2]=i;z[d+20>>2]=i;z[d+16>>2]=i;z[d+12>>2]=i;z[d+8>>2]=i;z[d+4>>2]=i;z[d>>2]=i;d=d+32|0;e=e+8|0;if((f|0)!=(e|0)){continue}break}}f=h&7;if(!f){break f}e=0;while(1){z[d>>2]=i;d=d+4|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}z[a+128>>2]=c;z[a+124>>2]=b;return 1}function qb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;g=z[a+48>>2];if(g>>>0>=c>>>0){Gd(b,z[a+36>>2],c);z[a+36>>2]=z[a+36>>2]+c;z[a+48>>2]=z[a+48>>2]-c;f=z[a+60>>2];b=z[a+56>>2]+c|0;f=b>>>0>>0?f+1|0:f;z[a+56>>2]=b;z[a+60>>2]=f;return c}if(A[a+68|0]&4){Gd(b,z[a+36>>2],g);c=z[a+48>>2];z[a+48>>2]=0;z[a+36>>2]=c+z[a+36>>2];b=z[a+60>>2];d=c;c=z[a+56>>2]+c|0;b=d>>>0>c>>>0?b+1|0:b;z[a+56>>2]=c;z[a+60>>2]=b;return g?g:-1}a:{if(g){h=Gd(b,z[a+36>>2],g);i=z[a+32>>2];z[a+36>>2]=i;b=z[a+48>>2];z[a+48>>2]=0;e=z[a+60>>2];f=z[a+56>>2]+b|0;e=f>>>0>>0?e+1|0:e;z[a+56>>2]=f;z[a+60>>2]=e;c=c-b|0;b=b+h|0;break a}i=z[a+32>>2];z[a+36>>2]=i}b:{c:{while(1){d:{e=z[a>>2];h=z[a+16>>2];f=z[a+64>>2];e:{if(f>>>0>c>>>0){h=La[h|0](i,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[a+48>>2]=h;if((h|0)==-1){break b}if(c>>>0<=h>>>0){break d}Gd(b,z[a+36>>2],h);i=z[a+32>>2];z[a+36>>2]=i;e=z[a+48>>2];break e}e=La[h|0](b,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[a+48>>2]=e;if((e|0)==-1){break b}if(c>>>0<=e>>>0){break c}i=z[a+32>>2];z[a+36>>2]=i;h=e}z[a+48>>2]=0;f=z[a+60>>2];j=z[a+56>>2]+e|0;f=j>>>0>>0?f+1|0:f;z[a+56>>2]=j;z[a+60>>2]=f;b=b+e|0;c=c-e|0;g=g+h|0;continue}break}Gd(b,z[a+36>>2],c);z[a+36>>2]=z[a+36>>2]+c;z[a+48>>2]=z[a+48>>2]-c;b=z[a+60>>2];d=z[a+56>>2]+c|0;b=d>>>0>>0?b+1|0:b;z[a+56>>2]=d;z[a+60>>2]=b;return c+g|0}z[a+48>>2]=0;z[a+36>>2]=z[a+32>>2];b=z[a+60>>2];c=z[a+56>>2]+e|0;b=c>>>0>>0?b+1|0:b;z[a+56>>2]=c;z[a+60>>2]=b;return e+g|0}sb(d,4,30975,0);z[a+48>>2]=0;z[a+68>>2]=z[a+68>>2]|4;return g?g:-1}function Qj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;h=0;f=Fa-16|0;Fa=f;d=z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2];a:{if(e>>>0<=1){sb(g,1,9986,0);a=0;break a}lb(c,f+12|0,2);b:{if(z[f+12>>2]){sb(g,2,9402,0);break b}if(e>>>0<=6){sb(g,1,9986,0);a=0;break a}lb(c+2|0,f+12|0,2);b=z[d+5616>>2];j=A[f+12|0];c:{d:{e:{i=z[d+5620>>2];if(!i){a=b;break e}a=b;while(1){if(z[a+8>>2]==(j|0)){break e}a=a+20|0;h=h+1|0;if((h|0)!=(i|0)){continue}break}break d}if((h|0)!=(i|0)){break c}}if(z[d+5624>>2]==(i|0)){a=i+10|0;z[d+5624>>2]=a;a=xd(b,F(a,20));b=z[d+5616>>2];if(!a){le(b);z[d+5624>>2]=0;z[d+5616>>2]=0;z[d+5620>>2]=0;sb(g,1,10051,0);a=0;break a}f:{if((a|0)==(b|0)){break f}k=z[d+5632>>2];if(!k){break f}l=z[d+5628>>2];h=0;while(1){i=F(h,20)+l|0;m=z[i+8>>2];if(m){z[i+8>>2]=a+F((m-b|0)/20|0,20)}m=z[i+12>>2];if(m){z[i+12>>2]=a+F((m-b|0)/20|0,20)}h=h+1|0;if((k|0)!=(h|0)){continue}break}}z[d+5616>>2]=a;b=z[d+5620>>2];Id(a+F(b,20)|0,0,F(z[d+5624>>2]-b|0,20));i=z[d+5620>>2];b=z[d+5616>>2]}z[d+5620>>2]=i+1;a=F(i,20)+b|0}b=z[a+12>>2];if(b){le(b);z[a+12>>2]=0;z[a+16>>2]=0}z[a+8>>2]=j;b=z[f+12>>2];z[a>>2]=b>>>10&3;z[a+4>>2]=b>>>8&3;lb(c+4|0,f+12|0,2);if(z[f+12>>2]){sb(g,2,8571,0);break b}b=e-6|0;d=td(b);z[a+12>>2]=d;if(!d){sb(g,1,9986,0);a=0;break a}Gd(d,c+6|0,b);z[a+16>>2]=b}a=1}Fa=f+16|0;Ka=0;return a|0}function fd(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,G=0;r=(b<<3)+a|0;e=r+40|0;z[e>>2]=0;z[e+4>>2]=0;u=z[a+16>>2];if(!u){return 1}C=z[a+20>>2];v=1;while(1){a=F(s,76)+C|0;w=z[a+20>>2];if(w){D=z[a+28>>2];m=0;while(1){n=F(m,152)+D|0;x=z[n+24>>2];if(x){o=0;while(1){a=F(o,36)+n|0;a:{if(z[a+36>>2]==z[a+28>>2]|z[a+40>>2]==z[a+32>>2]){break a}y=F(z[n+20>>2],z[n+16>>2]);if(!y){break a}G=z[a+48>>2];p=0;while(1){t=F(p,40)+G|0;A=F(z[t+20>>2],z[t+16>>2]);if(A){q=0;while(1){h=z[t+24>>2]+F(q,52)|0;a=z[h+4>>2];if(!b){z[h+44>>2]=0}j=a+F(b,24)|0;b:{if(c<0){e=z[h+48>>2];f=z[h+44>>2];break b}f=z[h+44>>2];B=z[h+48>>2];if(f>>>0>=B>>>0){e=f;break b}l=z[h+8>>2];e=f;a=f;while(1){k=F(a,24)+l|0;g=z[k>>2];c:{if(!e){i=E[k+8>>3];break c}i=E[k+8>>3];k=(F(e,24)+l|0)-24|0;i=i-E[k+8>>3];g=g-z[k>>2]|0}d:{if(!g){a=a+1|0;e=i!=0?a:e;break d}a=a+1|0;e=c-i/+(g>>>0)<2220446049250313e-31?a:e}if((a|0)!=(B|0)){continue}break}}g=z[j>>2];a=e-f|0;if((g|0)!=(a|0)){z[j>>2]=a;v=0}else{a=g}e:{if(!a){z[j+8>>2]=0;z[j+12>>2]=0;break e}l=z[h+8>>2];g=l+F(e-1|0,24)|0;a=z[g>>2];f:{if(!f){i=E[g+8>>3];g=z[h>>2];break f}f=(l+F(f,24)|0)-24|0;i=E[g+8>>3]-E[f+8>>3];f=z[f>>2];g=f+z[h>>2]|0;a=a-f|0}z[j+16>>2]=g;z[j+4>>2]=a;E[j+8>>3]=i;E[r+40>>3]=i+E[r+40>>3];if(!d){break e}z[h+44>>2]=e}q=q+1|0;if((A|0)!=(q|0)){continue}break}}p=p+1|0;if((y|0)!=(p|0)){continue}break}}o=o+1|0;if((x|0)!=(o|0)){continue}break}}m=m+1|0;if((w|0)!=(m|0)){continue}break}}s=s+1|0;if((u|0)!=(s|0)){continue}break}return v}function vg(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Fa-160|0;Fa=b;z[b+156>>2]=a;d=Re(b+148|0,1170);e=z[d+4>>2];z[b+40>>2]=z[d>>2];z[b+44>>2]=e;a:{if(Se(a,b+40|0)){h=b,i=yg(b+156|0,0),z[h+76>>2]=i;a=Gf(a+408|0,12);d=z[b+76>>2];c=Wf(a,32,0,1,1);z[c+8>>2]=d;z[c>>2]=56128;break a}d=Re(b+140|0,2569);e=z[d+4>>2];z[b+32>>2]=z[d>>2];z[b+36>>2]=e;b:{if(Se(a,b+32|0)){h=b,i=yg(b+156|0,1),z[h+76>>2]=i;c=Xe(a);z[b+60>>2]=c;if(!c){break b}a=Gf(a+408|0,16);d=z[b+76>>2];e=z[b+60>>2];c=Wf(a,33,0,1,1);z[c+12>>2]=e;z[c+8>>2]=d;z[c>>2]=56244;break a}d=Re(b+132|0,1632);e=z[d+4>>2];z[b+24>>2]=z[d>>2];z[b+28>>2]=e;if(Se(a,b+24|0)){h=b,i=yg(b+156|0,2),z[h+128>>2]=i;d=a+8|0;c=d;g=z[c+4>>2]-z[c>>2]>>2;e=ug(b+76|0,a);c:{d:{e:{while(1){f:{c=Re(b+68|0,4047);f=z[c+4>>2];z[b+8>>2]=z[c>>2];z[b+12>>2]=f;if(Se(a,b+8|0)){break f}z[16214]=0;c=qa(306,a|0)|0;f=z[16214];z[16214]=0;if((f|0)==1){break e}z[b+60>>2]=c;if(!c){break d}ff(d,b+60|0);continue}break}z[16214]=0;Ca(303,b+60|0,a|0,g|0);c=z[16214];z[16214]=0;if((c|0)!=1){d=Fa-16|0;Fa=d;g=Gf(a+408|0,20);f=z[b+128>>2];a=z[b+64>>2];c=z[b+60>>2];z[d>>2]=c;z[d+4>>2]=a;z[d+8>>2]=c;z[d+12>>2]=a;c=Wf(g,34,0,1,1);z[c+8>>2]=f;z[c>>2]=56364;a=z[d+4>>2];z[c+12>>2]=z[d>>2];z[c+16>>2]=a;Fa=d+16|0;break c}}a=wa()|0;wg(e);xa(a|0);r()}c=0}wg(e);break a}d=Re(b+52|0,2382);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;if(!Se(a,b+16|0)){break a}c=vg(a);z[b+76>>2]=c;if(!c){break b}a=Gf(a+408|0,12);d=z[b+76>>2];c=Wf(a,35,0,1,1);z[c+8>>2]=d;z[c>>2]=56484;break a}c=0}Fa=b+160|0;return c}function jd(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,o=0,p=0;j=Fa-256|0;Fa=j;f=ud(1,20);a:{if(!f){sb(c,1,13657,0);f=0;break a}z[f+4>>2]=b;z[f>>2]=a;z[j>>2]=b;z[j+128>>2]=a;while(1){p=g;g=g+1|0;h=g<<2;d=(b+1|0)/2|0;z[h+j>>2]=d;m=h+(j+128|0)|0;h=(a+1|0)/2|0;z[m>>2]=h;i=F(a,b);e=i+e|0;b=d;a=h;if(i>>>0>1){continue}break}z[f+8>>2]=e;if(!e){le(f);f=0;break a}d=ud(e,16);z[f+12>>2]=d;if(!d){sb(c,1,9358,0);le(f);f=0;break a}l=z[f+8>>2];z[f+16>>2]=l<<4;a=d;if(p){e=(F(z[f+4>>2],z[f>>2])<<4)+d|0;b=e;while(1){c=n<<2;i=z[c+j>>2];b:{if((i|0)<=0){break b}o=i-1|0;h=0;c:{c=z[c+(j+128|0)>>2];if((c|0)<=0){g=0;if((i|0)!=1){k=i&-2;while(1){m=(g|0)==(o|0);g=g+2|0;e=m?b:e;b=e;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(i&1){break c}b=e;break b}while(1){g=e;e=c;while(1){d:{z[a>>2]=b;if((e|0)==1){a=a+16|0;b=b+16|0;break d}z[a+16>>2]=b;b=b+16|0;a=a+32|0;k=(e|0)>2;e=e-2|0;if(k){continue}}break}k=((h|0)==(o|0)|h)&1;e=k?b:g+(c<<4)|0;b=k?b:g;h=h+1|0;if((i|0)!=(h|0)){continue}break}break b}g=((g|0)==(o|0)|g)&1;c=g?b:(c<<4)+e|0;b=g?b:e;e=c}n=n+1|0;if((n|0)!=(p|0)){continue}break}}z[a>>2]=0;e:{if(!l){break e}if(l>>>0>=4){a=l&-4;b=0;while(1){z[d+12>>2]=0;z[d+4>>2]=999;z[d+8>>2]=0;z[d+60>>2]=0;z[d+52>>2]=999;z[d+56>>2]=0;z[d+44>>2]=0;z[d+36>>2]=999;z[d+40>>2]=0;z[d+28>>2]=0;z[d+20>>2]=999;z[d+24>>2]=0;d=d- -64|0;b=b+4|0;if((a|0)!=(b|0)){continue}break}}a=l&3;if(!a){break e}b=0;while(1){z[d+12>>2]=0;z[d+4>>2]=999;z[d+8>>2]=0;d=d+16|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}}Fa=j+256|0;return f}function Lb(a,b,c,d,e){var f=0,g=G(0),h=0,i=0,j=0,k=G(0);i=c>>>0>>0?c:d;a:{if(!i){a=b;break a}f=b-32|0;g=D[b>>2];D[f>>2]=G(G(D[a>>2]+g)*e)+D[f>>2];f=b-28|0;D[f>>2]=G(G(D[a+4>>2]+D[b+4>>2])*e)+D[f>>2];f=b-24|0;D[f>>2]=G(G(D[a+8>>2]+D[b+8>>2])*e)+D[f>>2];f=b-20|0;D[f>>2]=G(G(D[a+12>>2]+D[b+12>>2])*e)+D[f>>2];f=b-16|0;D[f>>2]=G(G(D[a+16>>2]+D[b+16>>2])*e)+D[f>>2];f=b-12|0;D[f>>2]=G(G(D[a+20>>2]+D[b+20>>2])*e)+D[f>>2];f=b-8|0;D[f>>2]=G(G(D[a+24>>2]+D[b+24>>2])*e)+D[f>>2];f=b-4|0;D[f>>2]=G(G(D[a+28>>2]+D[b+28>>2])*e)+D[f>>2];a=b- -64|0;j=1;if((i|0)==1){break a}while(1){f=a-32|0;k=g;g=D[b+64>>2];D[f>>2]=G(G(k+g)*e)+D[f>>2];f=a;h=a-28|0;D[h>>2]=G(G(D[b+4>>2]+D[a+4>>2])*e)+D[h>>2];h=a-24|0;D[h>>2]=G(G(D[b+8>>2]+D[a+8>>2])*e)+D[h>>2];h=a-20|0;D[h>>2]=G(G(D[b+12>>2]+D[a+12>>2])*e)+D[h>>2];h=a-16|0;D[h>>2]=G(G(D[b+16>>2]+D[a+16>>2])*e)+D[h>>2];h=a-12|0;D[h>>2]=G(G(D[b+20>>2]+D[a+20>>2])*e)+D[h>>2];h=a-8|0;D[h>>2]=G(G(D[b+24>>2]+D[a+24>>2])*e)+D[h>>2];h=a-4|0;D[h>>2]=G(G(D[b+28>>2]+D[a+28>>2])*e)+D[h>>2];a=a- -64|0;b=f;j=j+1|0;if((j|0)!=(i|0)){continue}break}}if(c>>>0>d>>>0){b=a-32|0;g=D[a+-64>>2];D[b>>2]=G(G(g+g)*e)+D[b>>2];b=a-28|0;g=D[a-60>>2];D[b>>2]=G(G(g+g)*e)+D[b>>2];b=a-24|0;g=D[a-56>>2];D[b>>2]=G(G(g+g)*e)+D[b>>2];b=a-20|0;g=D[a-52>>2];D[b>>2]=G(G(g+g)*e)+D[b>>2];b=a-16|0;g=D[a-48>>2];D[b>>2]=G(G(g+g)*e)+D[b>>2];b=a-12|0;g=D[a-44>>2];D[b>>2]=G(G(g+g)*e)+D[b>>2];b=a-8|0;g=D[a-40>>2];D[b>>2]=G(G(g+g)*e)+D[b>>2];b=a-4|0;g=D[a-36>>2];D[b>>2]=G(G(g+g)*e)+D[b>>2]}}function Zk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;f=0;a:{b:{c:{d:{if(!sd(z[c+8>>2],183,g)){break d}h=z[c+4>>2];i=z[h>>2];b=z[h+8>>2];e:{f:{g:{if(i){d=1;if((i|0)!=1){j=i&-2;while(1){k=0;h:{if(!d){break h}k=0;if(!(La[z[b>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break h}k=(La[z[b+4>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=k;b=b+8|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}if(i&1){if(!d){break f}d=(La[z[b>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[h>>2]=0;if(d){break g}break d}z[h>>2]=0}h=z[c+8>>2];i=z[h>>2];b=z[h+8>>2];if(!i){break c}d=1;if((i|0)!=1){j=i&-2;f=0;while(1){k=0;i:{if(!d){break i}k=0;if(!(La[z[b>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break i}k=(La[z[b+4>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=k;b=b+8|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}if(i&1){if(!d){break e}d=(La[z[b>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[h>>2]=0;if(!d){break d}break b}z[h>>2]=0;a=0;break a}z[h>>2]=0}a=0;break a}z[h>>2]=0}if(!A[c+132|0]){sb(g,1,26038,0);a=0;break a}if(!A[c+133|0]){sb(g,1,26009,0);a=0;break a}a=Ub(a,z[c>>2],e,g)}Ka=0;return a|0}function ad(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a){b=z[a+20>>2];if(b){f=z[b>>2];if(f){e=z[f+20>>2];if(z[f+16>>2]){h=x[a+40|0]&1?251:252;while(1){d=z[e+28>>2];if(d){b=z[e+32>>2];if(b>>>0>=152){k=(b>>>0)/152|0;i=0;while(1){b=z[d+48>>2];if(b){c=z[d+52>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){md(z[b+32>>2]);z[b+32>>2]=0;md(z[b+36>>2]);z[b+36>>2]=0;La[h|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=z[d+48>>2]}le(b);z[d+48>>2]=0}b=z[d+84>>2];if(b){c=z[d+88>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){md(z[b+32>>2]);z[b+32>>2]=0;md(z[b+36>>2]);z[b+36>>2]=0;La[h|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=z[d+84>>2]}le(b);z[d+84>>2]=0}b=z[d+120>>2];if(b){c=z[d+124>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){md(z[b+32>>2]);z[b+32>>2]=0;md(z[b+36>>2]);z[b+36>>2]=0;La[h|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=z[d+120>>2]}le(b);z[d+120>>2]=0}d=d+152|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}d=z[e+28>>2]}le(d);z[e+28>>2]=0}a:{if(!z[e+40>>2]){break a}b=z[e+36>>2];if(!b){break a}le(b);z[e+44>>2]=0;z[e+48>>2]=0;z[e+36>>2]=0;z[e+40>>2]=0}le(z[e+52>>2]);e=e+76|0;j=j+1|0;if(j>>>0>2]){continue}break}e=z[f+20>>2]}le(e);z[f+20>>2]=0;le(z[z[a+20>>2]>>2]);b=z[a+20>>2];z[b>>2]=0}le(b);z[a+20>>2]=0}le(z[a+68>>2]);le(a)}}function oj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;j=Fa-16|0;Fa=j;b=1;m=z[a+72>>2];n=z[m+16>>2];a:{if(n>>>0<2){break a}f=1;while(1){d=z[(z[a+156>>2]+F(z[a+204>>2],5644)|0)+5584>>2];k=z[d+24>>2];b:{c:{h=F(f,1080);l=h+d|0;g=z[l+24>>2];if((k|0)!=(g|0)|z[d+804>>2]!=z[l+804>>2]){break c}i=1;if((k|0)!=1){b=z[d+4>>2];if((b|0)!=z[l+4>>2]){break c}i=F(b,3)-2|0;if(!i){break b}}b=0;while(1){o=(b<<3)+d|0;if(z[o+28>>2]!=z[(h+o|0)+28>>2]){break c}b=b+1|0;if((i|0)!=(b|0)){continue}break}if(!k){break b}b=0;if(!i){break b}while(1){k=(b<<3)+d|0;if(z[k+32>>2]!=z[(h+k|0)+32>>2]){break c}b=b+1|0;if((i|0)!=(b|0)){continue}break}break b}b=z[a+52>>2];i=(g|0)==1?1:F(z[l+4>>2],3)-2|0;i=(n>>>0>256?6:5)+(g?i<<1|1:i+1|0)|0;if(i>>>0>C[a+56>>2]){b=xd(b,i);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;b=0;sb(e,1,11142,0);break a}z[a+56>>2]=i;z[a+52>>2]=b;d=z[(z[a+156>>2]+F(z[a+204>>2],5644)|0)+5584>>2];g=z[(h+d|0)+24>>2]}d=(g|0)==1?1:F(z[(d+h|0)+4>>2],3)-2|0;kb(b,65373,2);g=g?d<<1|1:d+1|0;d=C[z[a+72>>2]+16>>2]<257;kb(b+2|0,g+(d?3:4)|0,2);kb(b+4|0,f,d?1:2);z[j+12>>2]=g;wc(z[a+156>>2],z[a+204>>2],f,(d?5:6)+b|0,j+12|0,e);if((rb(c,z[a+52>>2],i,e)|0)!=(i|0)){b=0;break a}m=z[a+72>>2]}b=1;f=f+1|0;n=z[m+16>>2];if(f>>>0>>0){continue}break}}Fa=j+16|0;Ka=0;return b|0}function Vl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;var I=0,J=0,K=0;c=0;b=Fa-96|0;Fa=b;d=Re(b+88|0,3909);e=z[d+4>>2];z[b+32>>2]=z[d>>2];z[b+36>>2]=e;a:{b:{if(!Se(a,b+32|0)){d=Re(b+80|0,3908);e=z[d+4>>2];z[b+24>>2]=z[d>>2];z[b+28>>2]=e;if(!Se(a,b+24|0)){break b}}c=Te(a);z[b+76>>2]=c;if(!c){c=0;break a}d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}if((d|0)==46){c=z[a>>2];d=b+68|0;z[d+4>>2]=z[a+4>>2];z[d>>2]=c;c=Fa-16|0;Fa=c;f=Gf(a+408|0,20);g=z[b+76>>2];e=z[d+4>>2];d=z[d>>2];z[c>>2]=d;z[c+4>>2]=e;z[c+8>>2]=d;z[c+12>>2]=e;d=If(f,1,0,1,1,1);z[d+8>>2]=g;z[d>>2]=60204;e=z[c+4>>2];z[d+12>>2]=z[c>>2];z[d+16>>2]=e;Fa=c+16|0;z[a>>2]=z[a+4>>2];c=d}c=z[a+4>>2]-z[a>>2]|0?0:c;break a}d=Re(b+60|0,3907);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;c:{if(!Se(a,b+16|0)){d=Re(b+52|0,3906);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;if(!Se(a,b+8|0)){break c}}d=Te(a);z[b+76>>2]=d;if(!d){break a}d=Re(b+44|0,3363);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;if(!Se(a,b)){break a}d=Ue(a,95);Ve(b+68|0,a,0);if(z[b+68>>2]==z[b+72>>2]?d:0){break a}d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}if((d|0)==46){z[a>>2]=z[a+4>>2]}if(z[a+4>>2]-z[a>>2]|0){break a}c=We(a,6629,b+76|0);break a}c=(I=0,J=Xe(a),K=z[a+4>>2]-z[a>>2]|0,K?I:J)}Fa=b+96|0;Ka=0;return c|0}function ok(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;i=0;d=Fa-16|0;Fa=d;a:{if(!(A[a+100|0]&2)){sb(g,1,25218,0);a=0;break a}z[a+104>>2]=0;b:{c:{d:{if(e){while(1){if(e>>>0<=7){sb(g,1,9088,0);break b}f=d+12|0;lb(c,f,4);b=z[d+12>>2];lb(c+4|0,f,4);h=8;f=z[d+12>>2];e:{f:{g:{switch(b|0){case 1:if(e>>>0<16){b=9128;break c}lb(c+8|0,d+8|0,4);if(z[d+8>>2]){b=22017;break c}lb(c+12|0,d+12|0,4);b=z[d+12>>2];if(b){break f}b=8953;break c;case 0:break g;default:break e}}sb(g,1,8953,0);break b}h=16}if(b>>>0>>0){sb(g,1,22716,0);break b}if(b>>>0>e>>>0){sb(g,1,22644,0);a=0;break a}h:{i:{j=c+h|0;k=b-h|0;j:{k:{l:{m:{if((f|0)<=1668246641){if((f|0)==1651532643){break m}if((f|0)==1667523942){break k}if((f|0)!=1668112752){break i}h=34288;break j}if((f|0)==1885564018){break l}h=34256;if((f|0)==1768449138){break j}if((f|0)!=1668246642){break i}h=34264;break j}h=34272;break j}h=34280;break j}h=34296}if(La[z[h+4>>2]](a,0,j,0,k,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0){break h}a=0;break a}z[a+104>>2]=z[a+104>>2]|2147483647}i=(f|0)==1768449138?1:i;c=b+c|0;e=e-b|0;if(e){continue}break}if(i){break d}}sb(g,1,22544,0);a=0;break a}x[a+132|0]=1;z[a+100>>2]=z[a+100>>2]|4;a=1;break a}sb(g,1,b,0)}sb(g,1,7132,0);a=0}Fa=d+16|0;Ka=0;return a|0}function vf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=Fa+-64|0;Fa=c;a:{b:{if(Ue(a,85)){lf(c+56|0,a);if(z[c+56>>2]==z[c+60>>2]){break a}d=Re(c+48|0,2390);e=z[d+4>>2];z[c>>2]=z[d>>2];z[c+4>>2]=e;if(bf(c+56|0,c)){eg(c+40|0,c+56|0,9);d=c+32|0;b=d;z[b>>2]=0;z[b+4>>2]=0;b=z[c+40>>2];z[c+24>>2]=a;z[c+28>>2]=z[a>>2];z[a>>2]=b;b=z[c+44>>2];z[c+16>>2]=a+4;z[c+20>>2]=z[a+4>>2];z[a+4>>2]=b;lf(c+8|0,a);b=z[c+12>>2];z[d>>2]=z[c+8>>2];z[d+4>>2]=b;z[z[c+16>>2]>>2]=z[c+20>>2];z[z[c+24>>2]>>2]=z[c+28>>2];b=0;if(z[d>>2]==z[d+4>>2]){break a}b=vf(a);z[c+24>>2]=b;if(!b){break b}b=Fa-16|0;Fa=b;f=Gf(a+408|0,20);g=z[c+24>>2];e=z[d+4>>2];d=z[d>>2];a=b;z[a>>2]=d;z[a+4>>2]=e;z[a+8>>2]=d;z[a+12>>2]=e;b=If(f,10,0,1,1,1);z[b+8>>2]=g;z[b>>2]=60640;d=z[a+4>>2];z[b+12>>2]=z[a>>2];z[b+16>>2]=d;Fa=a+16|0;break a}z[c+40>>2]=0;d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}if((d|0)==73){d=rf(a,0);z[c+40>>2]=d;if(!d){break a}}b=vf(a);z[c+32>>2]=b;if(b){b=Fa-16|0;Fa=b;f=Gf(a+408|0,24);g=z[c+32>>2];d=z[c+60>>2];e=z[c+56>>2];a=b;z[a+8>>2]=e;z[a+12>>2]=d;h=z[c+40>>2];z[a>>2]=e;z[a+4>>2]=d;b=If(f,2,0,1,1,1);z[b+8>>2]=g;z[b>>2]=60748;d=z[a+4>>2];e=z[a>>2];z[b+20>>2]=h;z[b+12>>2]=e;z[b+16>>2]=d;Fa=a+16|0}else{b=0}break a}d=Mf(a);z[c+56>>2]=d;b=Xe(a);z[c+40>>2]=b;if(!b){break b}if(!d){break a}a=Gf(a+408|0,16);d=z[c+56>>2];e=a;a=z[c+40>>2];b=A[a+5|0]|A[a+6|0]<<8;b=Wf(e,3,(b&192)>>>6|0,b>>>8&3,b>>>10&3);z[b+12>>2]=a;z[b+8>>2]=d;z[b>>2]=60860;break a}b=0}Fa=c- -64|0;return b}function cc(a){var b=0,c=0,d=0,e=0,f=0,g=0;a:{d=ud(1,48);if(d){b=z[a+200>>2];c=z[b+4>>2];z[d>>2]=z[b>>2];z[d+4>>2]=c;c=z[b+12>>2];z[d+8>>2]=z[b+8>>2];z[d+12>>2]=c;c=z[b+20>>2];z[d+16>>2]=z[b+16>>2];z[d+20>>2]=c;c=z[b+24>>2];z[d+24>>2]=c;b=td(F(c,24));z[d+28>>2]=b;if(!b){le(d);return 0}c=z[z[a+200>>2]+28>>2];b:{if(c){Gd(b,c,F(z[d+24>>2],24));break b}le(b);z[d+28>>2]=0}c=z[z[a+200>>2]+36>>2];z[d+36>>2]=c;b=ud(c,40);z[d+40>>2]=b;if(!b){le(z[d+28>>2]);le(d);return 0}c:{if(z[z[a+200>>2]+40>>2]){if(!z[d+36>>2]){break c}while(1){e=F(g,40);c=z[(e+z[z[a+200>>2]+40>>2]|0)+20>>2];z[(b+e|0)+20>>2]=c;f=td(F(c,24));c=z[d+40>>2];b=c+e|0;z[b+24>>2]=f;if(!f){if(g){b=0;while(1){le(z[(z[d+40>>2]+F(b,40)|0)+24>>2]);b=b+1|0;if((g|0)!=(b|0)){continue}break}c=z[d+40>>2]}break a}c=z[(e+z[z[a+200>>2]+40>>2]|0)+24>>2];d:{if(c){Gd(f,c,F(z[b+20>>2],24));b=z[d+40>>2];break d}le(f);b=z[d+40>>2];z[(e+b|0)+24>>2]=0}c=z[(e+z[z[a+200>>2]+40>>2]|0)+4>>2];z[(b+e|0)+4>>2]=c;f=td(F(c,24));c=z[d+40>>2];b=c+e|0;z[b+16>>2]=f;if(!f){if(g){b=0;while(1){a=F(b,40);le(z[(a+z[d+40>>2]|0)+24>>2]);le(z[(a+z[d+40>>2]|0)+16>>2]);b=b+1|0;if((g|0)!=(b|0)){continue}break}c=z[d+40>>2]}break a}c=z[(e+z[z[a+200>>2]+40>>2]|0)+16>>2];e:{if(c){Gd(f,c,F(z[b+4>>2],24));b=z[d+40>>2];break e}le(f);b=z[d+40>>2];z[(e+b|0)+16>>2]=0}c=b+e|0;z[c+32>>2]=0;z[c+36>>2]=0;g=g+1|0;if(g>>>0>2]){continue}break}break c}le(b);z[d+40>>2]=0}}else{d=0}return d}le(c);le(z[d+28>>2]);le(d);return 0}function rc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;g=Fa-32|0;Fa=g;if(z[a+8>>2]==16){h=z[a+156>>2]+F(z[a+204>>2],5644)|0}else{h=z[a+12>>2]}a:{if(C[d>>2]<=4){a=0;sb(e,1,7805,0);break a}i=z[h+5584>>2];h=i+F(b,1080)|0;lb(c,h+4|0,1);f=z[h+4>>2]+1|0;z[h+4>>2]=f;if(f>>>0>=34){z[g+4>>2]=33;z[g>>2]=f;sb(e,1,20573,g);a=0;break a}j=z[a+160>>2];if(j>>>0>=f>>>0){z[g+24>>2]=f;z[g+20>>2]=j;z[g+16>>2]=b;sb(e,1,32056,g+16|0);z[a+8>>2]=z[a+8>>2]|32768;a=0;break a}a=i+F(b,1080)|0;lb(c+1|0,a+8|0,1);z[a+8>>2]=z[a+8>>2]+2;lb(c+2|0,a+12|0,1);f=z[a+12>>2]+2|0;z[a+12>>2]=f;a=z[a+8>>2];if(!(!(a>>>0>10|f>>>0>10)&a+f>>>0<13)){a=0;sb(e,1,12252,0);break a}a=i+F(b,1080)|0;lb(c+3|0,a+16|0,1);if(A[a+16|0]&128){a=0;sb(e,1,13844,0);break a}lb(c+4|0,a+20|0,1);if(C[a+20>>2]>=2){a=0;sb(e,1,13779,0);break a}f=z[d>>2]-5|0;z[d>>2]=f;a=1;j=z[h+4>>2];if(!(x[h|0]&1)){if(!j){break a}d=0;b=i+F(b,1080)|0;while(1){a=b+(d<<2)|0;z[a+944>>2]=15;z[a+812>>2]=15;a=1;d=d+1|0;if(d>>>0>2]){continue}break}break a}if(f>>>0>=j>>>0){b:{if(!j){b=0;break b}lb(c+5|0,g+28|0,1);i=i+F(b,1080)|0;z[i+812>>2]=z[g+28>>2]&15;z[i+944>>2]=z[g+28>>2]>>>4;b=z[h+4>>2];if(b>>>0>=2){a=c+6|0;c=1;while(1){lb(a,g+28|0,1);c:{b=z[g+28>>2];if(b>>>0>=16){b=b&15;if(b){break c}}a=0;sb(e,1,13249,0);break a}f=i+(c<<2)|0;z[f+812>>2]=b;z[f+944>>2]=z[g+28>>2]>>>4;a=a+1|0;b=z[h+4>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}f=z[d>>2]}z[d>>2]=f-b;a=1;break a}a=0;sb(e,1,7805,0)}Fa=g+32|0;return a}function Zb(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=Fa-32|0;Fa=h;u=z[a+16>>2];a:{if(!u){d=1;break a}b:{p=z[a>>2];if((p|0)<0){break b}q=z[a+4>>2];if((q|0)<0){break b}c=z[a+8>>2];if((c|0)<0){break b}g=z[a+12>>2];if((g|0)<0){break b}a=z[a+24>>2];w=c;v=g-1|0;x=0-!g|0;while(1){e=z[a>>2];l=e>>31;i=l-!e|0;c=i;k=e-1|0;d=p+k|0;c=d>>>0

>>0?c+1|0:c;j=qo(d,c,e,l);z[a+16>>2]=j;f=z[a+4>>2];d=q+f|0;r=f>>31;c=r;s=qo(d-1|0,(d>>>0>>0?c+1|0:c)-!d|0,f,c);z[a+20>>2]=s;g=z[a+40>>2];d=g&31;if((g&63)>>>0>=32){c=1<>>32-d}n=m;m=c;d=n-1|0;c=c-!n|0;t=c;c=i;i=k;k=k+w|0;c=i>>>0>k>>>0?c+1|0:c;e=qo(k,c,e,l);c=(e>>31)+t|0;i=e;e=d+e|0;c=i>>>0>e>>>0?c+1|0:c;l=e;e=g&31;e=(g&63)>>>0>=32?c>>e:((1<>>e;c=(j>>31)+t|0;i=e;e=j;j=d+j|0;c=e>>>0>j>>>0?c+1|0:c;e=g&31;c=i-((g&63)>>>0>=32?c>>e:((1<>>e)|0;if((c|0)<0){z[h+4>>2]=c;z[h>>2]=o;sb(b,1,28148,h);d=0;break a}z[a+8>>2]=c;c=r+x|0;e=f+v|0;c=e>>>0>>0?c+1|0:c;f=qo(e,c,f,r);c=(f>>31)+t|0;d=d+f|0;c=d>>>0>>0?c+1|0:c;f=d;d=g&31;f=(g&63)>>>0>=32?c>>d:((1<>>d;c=m+(s>>31)|0;d=n+s|0;c=d>>>0>>0?c+1|0:c;e=f;f=d-1|0;d=c-!d|0;c=g&31;c=e-((g&63)>>>0>=32?d>>c:((1<>>c)|0;if((c|0)<0){z[h+20>>2]=c;z[h+16>>2]=o;sb(b,1,28217,h+16|0);d=0;break a}z[a+12>>2]=c;a=a+52|0;d=1;o=o+1|0;if((u|0)!=(o|0)){continue}break}break a}sb(b,1,14e3,0)}Fa=h+32|0;return d}function Oi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=a;h=0;a=((g|0)!=0)+e|0;f=a>>>1|0;d=e-f|0;a:{if(g){if(e>>>0<2){break a}g=f-1|0;if(a>>>0>=4){h=(g|0)<=1?1:g;a=0;while(1){j=(a+f<<2)+c|0;i=(a<<3)+b|0;a=a+1|0;z[j>>2]=z[i+4>>2]-(z[(a<<3)+b>>2]+z[i>>2]>>1);if((a|0)!=(h|0)){continue}break}}a=1;e=e&1;if(!e){i=(f+h<<2)+c|0;h=(h<<3)+b|0;z[i>>2]=z[h+4>>2]-z[h>>2]}h=(f<<2)+c|0;z[b>>2]=z[b>>2]+((z[h>>2]<<1)+2>>2);if((d|0)>=2){while(1){z[(a<<2)+b>>2]=z[(a<<3)+b>>2]+((z[(a+g<<2)+c>>2]+z[(a+f<<2)+c>>2]|0)+2>>2);a=a+1|0;if((d|0)!=(a|0)){continue}break}a=d}if(e){z[(a<<2)+b>>2]=z[(a<<3)+b>>2]+((z[(a+g<<2)+c>>2]<<1)+2>>2)}Gd((f<<2)+b|0,h,d<<2);break a}g=z[b>>2];if((e|0)==1){z[b>>2]=g<<1;break a}i=(f<<2)+c|0;z[i>>2]=g-z[b+4>>2];g=1;if(a>>>0>=4){g=f>>>0<=2?2:f;a=1;while(1){h=(a<<3)+b|0;z[(a+f<<2)+c>>2]=z[h>>2]-(z[h-4>>2]+z[h+4>>2]>>1);a=a+1|0;if((g|0)!=(a|0)){continue}break}}e=e&1;if(e){a=(g<<3)+b|0;z[(f+g<<2)+c>>2]=z[a>>2]-z[a-4>>2]}g=0;if((d|0)>=2){g=d-1|0;a=0;while(1){h=(a+f<<2)+c|0;z[(a<<2)+b>>2]=z[((a<<3)+b|0)+4>>2]+((z[h>>2]+z[h+4>>2]|0)+2>>2);a=a+1|0;if((g|0)!=(a|0)){continue}break}}if(!e){z[(g<<2)+b>>2]=z[((g<<3)+b|0)+4>>2]+((z[(f+g<<2)+c>>2]<<1)+2>>2)}Gd((f<<2)+b|0,i,d<<2)}Ka=0;return 0}function ed(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=z[a+24>>2];j=z[e+16>>2];if(!j){return 0}f=z[e+24>>2];e=z[z[z[a+20>>2]>>2]+20>>2];a:{b:{if(!b){b=0;while(1){c=z[f+24>>2];a=(z[e+28>>2]+F(z[e+24>>2],152)|0)-152|0;g=z[a+12>>2];h=z[a+4>>2];d=g-h|0;a=z[a+8>>2]-z[a>>2]|0;c:{if((g|0)==(h|0)){break c}po(a,0,d,0);if(!Ka){break c}break a}d=F(a,d);d:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break d}po(c,0,d,0);if(!Ka){break d}break a}a=-1;c=F(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}b=0;if(!z[a+64>>2]){while(1){c=z[f+24>>2];a=(z[e+28>>2]+F(z[e+24>>2],152)|0)-152|0;g=z[a+148>>2];h=z[a+140>>2];d=g-h|0;a=z[a+144>>2]-z[a+136>>2]|0;e:{if((g|0)==(h|0)){break e}po(a,0,d,0);if(!Ka){break e}break a}d=F(a,d);f:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break f}po(c,0,d,0);if(!Ka){break f}break a}a=-1;c=F(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}while(1){c=z[f+24>>2];a=(z[e+28>>2]+F(z[e+24>>2],152)|0)-152|0;g=z[a+12>>2];h=z[a+4>>2];d=g-h|0;a=z[a+8>>2]-z[a>>2]|0;g:{if((g|0)==(h|0)){break g}po(a,0,d,0);if(!Ka){break g}break a}d=F(a,d);h:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break h}po(c,0,d,0);if(!Ka){break h}break a}a=-1;c=F(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}}return a}return-1}function Kb(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,o=0,p=0,q=0,r=0,s=0,t=0;d=(z[a+28>>2]+F(b,152)|0)-152|0;c=z[d+8>>2]-z[d>>2]|0;g=c;d=z[d+12>>2]-z[d+4>>2]|0;f=d;c=c>>>0>=64?64:c;e=d>>>0>=64?64:d;a:{b:{if(!g|!d|(!c|!e)){break b}if(c>>>0>4294967295/(e>>>0)>>>2>>>0){break b}d=ud(1,28);z[d+12>>2]=e;z[d+8>>2]=c;z[d+4>>2]=f;z[d>>2]=g;i=f;f=e+f|0;j=i>>>0>f>>>0?1:j;e=ro(f-1|0,j-!f|0,e,0);z[d+20>>2]=e;f=0;i=g;g=c+g|0;f=i>>>0>g>>>0?1:f;c=ro(g-1|0,f-!g|0,c,0);z[d+16>>2]=c;po(e,0,c,0);c:{if(Ka){break c}c=ud(4,F(c,e));z[d+24>>2]=c;if(!c){break c}break a}le(d)}d=0}if(!d){return 0}d:{if(b){while(1){f=z[a+28>>2]+F(l,152)|0;c=z[f+24>>2];if(c){o=l-1|0;g=z[f+20>>2];h=z[f+16>>2];m=0;while(1){if(F(g,h)){j=f+F(m,36)|0;n=0;while(1){k=z[j+48>>2]+F(n,40)|0;e=z[k+20>>2];c=z[k+16>>2];if(F(e,c)){g=0;while(1){h=z[k+24>>2]+(g<<6)|0;p=z[h+60>>2];if(p){s=z[h+20>>2];t=z[h+16>>2];q=z[h+8>>2];c=q-z[j+28>>2]|0;h=z[h+12>>2];e=h-z[j+32>>2]|0;r=z[j+44>>2];if(r&1){i=c;c=z[a+28>>2]+F(o,152)|0;c=(i+z[c+8>>2]|0)-z[c>>2]|0}if(r&2){i=e;e=z[a+28>>2]+F(o,152)|0;e=(i+z[e+12>>2]|0)-z[e+4>>2]|0}i=c;c=t-q|0;if(!Bd(d,i,e,i+c|0,(s-h|0)+e|0,p,1,c)){break d}e=z[k+20>>2];c=z[k+16>>2]}g=g+1|0;if(g>>>0>>0){continue}break}h=z[f+16>>2];g=z[f+20>>2]}n=n+1|0;if(n>>>0>>0){continue}break}c=z[f+24>>2]}m=m+1|0;if(m>>>0>>0){continue}break}}l=l+1|0;if((l|0)!=(b|0)){continue}break}}return d}yd(d);return 0}function nj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;k=Fa-16|0;Fa=k;b=1;l=z[a+72>>2];h=z[l+16>>2];a:{if(h>>>0<2){break a}i=1;while(1){b:{c:{m=z[a+156>>2];n=z[a+204>>2];d=z[(m+F(n,5644)|0)+5584>>2];j=F(i,1080);f=d+j|0;q=z[f>>2];if((q|0)!=z[d>>2]){break c}b=z[d+4>>2];if((b|0)!=z[f+4>>2]|z[d+8>>2]!=z[f+8>>2]|(z[d+12>>2]!=z[f+12>>2]|z[d+16>>2]!=z[f+16>>2])|z[d+20>>2]!=z[f+20>>2]){break c}g=0;if(!b){break b}while(1){o=(g<<2)+d|0;p=o+j|0;if(z[o+812>>2]!=z[p+812>>2]|z[o+944>>2]!=z[p+944>>2]){break c}g=g+1|0;if((b|0)!=(g|0)){continue}break}break b}b=z[a+52>>2];g=q&1;f=(g?z[f+4>>2]+5|0:5)+(h>>>0<257?6:7)|0;if(f>>>0>C[a+56>>2]){b=xd(b,f);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;b=0;sb(e,1,11077,0);break a}z[a+56>>2]=f;z[a+52>>2]=b;h=z[z[a+72>>2]+16>>2];m=z[a+156>>2];n=z[a+204>>2];d=z[(m+F(n,5644)|0)+5584>>2];g=z[j+d>>2]&1}d=g?z[(d+j|0)+4>>2]+5|0:5;kb(b,65363,2);g=h>>>0<257?1:2;kb(b+2|0,(g+d|0)+3|0,2);b=b+4|0;kb(b,i,g);b=b+g|0;kb(b,z[z[(F(n,5644)+m|0)+5584>>2]+j>>2],1);z[k+12>>2]=d;vc(z[a+156>>2],z[a+204>>2],b+1|0,k+12|0,e);if((rb(c,z[a+52>>2],f,e)|0)!=(f|0)){b=0;break a}l=z[a+72>>2]}b=1;h=z[l+16>>2];i=i+1|0;if(h>>>0>i>>>0){continue}break}}Fa=k+16|0;Ka=0;return b|0}function Rb(a){var b=0,c=0,d=0,e=0,f=0;if(a){a:{if(z[a>>2]){b=z[a+12>>2];if(b){Sb(b);le(z[a+12>>2]);z[a+12>>2]=0}b=z[a+16>>2];if(b){le(b);z[a+16>>2]=0;z[a+20>>2]=0}le(z[a- -64>>2]);z[a+60>>2]=0;z[a+64>>2]=0;break a}b=z[a+44>>2];if(b){le(b);z[a+44>>2]=0}b=z[a+32>>2];if(b){le(b);z[a+32>>2]=0;z[a+36>>2]=0}b=z[a+52>>2];if(!b){break a}le(b);z[a+52>>2]=0;z[a+56>>2]=0}ad(z[a+208>>2]);b=z[a+156>>2];if(b){d=F(z[a+104>>2],z[a+108>>2]);if(d){while(1){Sb(b);b=b+5644|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}b=z[a+156>>2]}le(b);z[a+156>>2]=0}b=z[a+116>>2];if(b){c=z[a+112>>2];if(c){b=0;while(1){d=z[z[a+116>>2]+(b<<3)>>2];if(d){le(d);c=z[a+112>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=z[a+116>>2]}z[a+112>>2]=0;le(b);z[a+116>>2]=0}le(z[a+136>>2]);z[a+120>>2]=0;z[a+136>>2]=0;le(z[a+100>>2]);z[a+100>>2]=0;if(!(A[a+188|0]&2)){le(z[a+168>>2])}Id(a+80|0,0,112);rd(z[a+192>>2]);z[a+192>>2]=0;rd(z[a+196>>2]);z[a+192>>2]=0;b=z[a+200>>2];if(b){c=z[b+28>>2];if(c){le(c);z[b+28>>2]=0}c=z[b+40>>2];if(c){if(z[b+36>>2]){while(1){d=F(f,40);e=z[(d+c|0)+36>>2];if(e){le(e);c=z[b+40>>2];z[(d+c|0)+36>>2]=0}e=z[(c+d|0)+16>>2];if(e){le(e);c=z[b+40>>2];z[(d+c|0)+16>>2]=0}e=z[(c+d|0)+24>>2];if(e){le(e);c=z[b+40>>2];z[(d+c|0)+24>>2]=0}f=f+1|0;if(f>>>0>2]){continue}break}}le(c);z[b+40>>2]=0}le(b)}z[a+200>>2]=0;ub(z[a+72>>2]);z[a+72>>2]=0;ub(z[a+76>>2]);z[a+76>>2]=0;Bb(z[a+212>>2]);z[a+212>>2]=0;le(a)}}function io(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-96|0;Fa=b;a:{b:{d=z[a+8>>2];if(A[d+4|0]==10){e=Mg(d);d=z[a+8>>2];if(e){break b}}La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=z[a+8>>2];e=A[d+6|0]&3;c:{if((e|0)!=2){d=!e;break c}d=La[z[z[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(d){d=Re(b+88|0,6797);e=z[d+4>>2];z[b+40>>2]=z[d>>2];z[b+44>>2]=e;Jf(c,b+40|0)}d=z[a+8>>2];e=A[d+6|0]&3;d:{if((e|0)!=2){d=!e;break d}d=La[z[z[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}e:{if(!d){a=z[a+8>>2];d=(A[a+5|0]|A[a+6|0]<<8)>>>10&3;f:{if((d|0)!=2){a=!d;break f}a=La[z[z[a>>2]+8>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!a){break e}}a=Re(b+80|0,5926);d=z[a+4>>2];z[b+32>>2]=z[a>>2];z[b+36>>2]=d;Jf(c,b+32|0)}a=Re(b+72|0,5712);break a}a=Re(b- -64|0,5174);e=z[a+4>>2];z[b+24>>2]=z[a>>2];z[b+28>>2]=e;e=Jf(c,b+24|0);a=z[d+16>>2];d=z[d+12>>2];z[b+16>>2]=d;z[b+20>>2]=a;z[b+56>>2]=d;z[b+60>>2]=a;Jf(e,b+16|0);a=Re(b+48|0,4919)}d=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=d;Jf(c,b+8|0);Fa=b+96|0;Ka=0;return 0}function bc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Fa-16|0;Fa=g;l=z[z[a+72>>2]+16>>2];b=ud(1,56);z[g+12>>2]=b;a:{if(!b){break a}i=z[z[a+72>>2]+16>>2];z[b+24>>2]=i;z[b>>2]=z[a+84>>2];z[b+4>>2]=z[a+88>>2];z[b+8>>2]=z[a+92>>2];z[b+12>>2]=z[a+96>>2];z[b+16>>2]=z[a+104>>2];h=z[a+108>>2];z[b+52>>2]=0;z[b+20>>2]=h;j=z[a+12>>2];z[b+32>>2]=z[j>>2];z[b+36>>2]=z[j+4>>2];z[b+40>>2]=z[j+8>>2];z[b+44>>2]=z[j+16>>2];a=ud(i,1080);z[b+48>>2]=a;if(a){if(l){while(1){a=F(k,1080);d=a+z[b+48>>2]|0;c=a+z[j+5584>>2]|0;z[d+4>>2]=z[c>>2];a=z[c+4>>2];z[d+8>>2]=a;z[d+12>>2]=z[c+8>>2];z[d+16>>2]=z[c+12>>2];z[d+20>>2]=z[c+16>>2];z[d+24>>2]=z[c+20>>2];if(a>>>0<=32){Gd(d+948|0,c+944|0,a);Gd(d+816|0,c+812|0,z[c+4>>2])}a=z[c+24>>2];z[d+28>>2]=a;z[d+808>>2]=z[c+804>>2];f=1;b:{if((a|0)!=1){a=F(z[c+4>>2],3);if(a-3>>>0>95){break b}f=a-2|0}o=f&1;a=0;if((f|0)!=1){p=f&-2;f=0;while(1){m=d+32|0;h=a<<2;n=c+28|0;e=n+(a<<3)|0;z[m+h>>2]=z[e+4>>2];i=d+420|0;z[i+h>>2]=z[e>>2];e=a|1;h=e<<2;e=(e<<3)+n|0;z[h+m>>2]=z[e+4>>2];z[h+i>>2]=z[e>>2];a=a+2|0;f=f+2|0;if((p|0)!=(f|0)){continue}break}}if(!o){break b}e=(a<<2)+d|0;a=(a<<3)+c|0;z[e+32>>2]=z[a+32>>2];z[e+420>>2]=z[a+28>>2]}z[d+812>>2]=z[c+808>>2];k=k+1|0;if((k|0)!=(l|0)){continue}break}}e=b;break a}if(g+12|0){a=z[g+12>>2];b=z[a+48>>2];if(b){le(b);a=z[g+12>>2]}le(a);z[g+12>>2]=0}}Fa=g+16|0;return e}function ec(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{b:{e=z[a+60>>2];if(!e){if(z[b+16>>2]){break b}return 1}i=td(F(e,52));if(!i){break a}e=0;if(z[b+16>>2]){d=z[b+24>>2];while(1){e=F(f,52);le(z[(e+d|0)+44>>2]);d=z[b+24>>2];z[(e+d|0)+44>>2]=0;f=f+1|0;e=z[b+16>>2];if(f>>>0>>0){continue}break}}if(z[a+60>>2]){f=z[z[a+76>>2]+24>>2];e=0;while(1){h=F(z[z[a+64>>2]+(e<<2)>>2],52);d=h+f|0;c=z[d+4>>2];g=i+F(e,52)|0;z[g>>2]=z[d>>2];z[g+4>>2]=c;z[g+48>>2]=z[d+48>>2];c=z[d+44>>2];z[g+40>>2]=z[d+40>>2];z[g+44>>2]=c;c=z[d+36>>2];z[g+32>>2]=z[d+32>>2];z[g+36>>2]=c;c=z[d+28>>2];z[g+24>>2]=z[d+24>>2];z[g+28>>2]=c;c=z[d+20>>2];z[g+16>>2]=z[d+16>>2];z[g+20>>2]=c;c=z[d+12>>2];z[g+8>>2]=z[d+8>>2];z[g+12>>2]=c;f=z[z[a+76>>2]+24>>2];c=h+f|0;z[g+36>>2]=z[c+36>>2];z[g+44>>2]=z[c+44>>2];z[c+44>>2]=0;e=e+1|0;c=z[a+60>>2];if(e>>>0>>0){continue}break}e=z[b+16>>2]}if(e){d=z[z[a+76>>2]+24>>2];f=0;while(1){c=F(f,52);le(z[(c+d|0)+44>>2]);d=z[z[a+76>>2]+24>>2];z[(c+d|0)+44>>2]=0;f=f+1|0;if(f>>>0>2]){continue}break}c=z[a+60>>2]}z[b+16>>2]=c;le(z[b+24>>2]);z[b+24>>2]=i;return 1}e=z[b+24>>2];f=z[z[a+76>>2]+24>>2];while(1){h=F(d,52);c=h+e|0;z[c+36>>2]=z[(f+h|0)+36>>2];le(z[c+44>>2]);e=z[b+24>>2];f=z[z[a+76>>2]+24>>2];c=h+f|0;z[(h+e|0)+44>>2]=z[c+44>>2];z[c+44>>2]=0;d=d+1|0;if(d>>>0>2]){continue}break}return 1}ub(z[a+72>>2]);z[a+72>>2]=0;return 0}function Nb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(!z[a+12>>2]){k=1;if(z[a+4>>2]>0|z[a+8>>2]>1){break b}break a}e=1;if(z[a+8>>2]>0){break b}if(z[a+4>>2]<2){break a}}b=z[a>>2];f=b+(e<<5)|0;g=z[a+16>>2];h=z[a+20>>2];if(g>>>0>>0){d=g;while(1){c=(d<<6)+f|0;D[c>>2]=D[c>>2]*G(1.2301740646362305);D[c+4>>2]=D[c+4>>2]*G(1.2301740646362305);D[c+8>>2]=D[c+8>>2]*G(1.2301740646362305);D[c+12>>2]=D[c+12>>2]*G(1.2301740646362305);D[c+16>>2]=D[c+16>>2]*G(1.2301740646362305);D[c+20>>2]=D[c+20>>2]*G(1.2301740646362305);D[c+24>>2]=D[c+24>>2]*G(1.2301740646362305);D[c+28>>2]=D[c+28>>2]*G(1.2301740646362305);d=d+1|0;if((h|0)!=(d|0)){continue}break}}i=b+(k<<5)|0;j=z[a+28>>2];c=z[a+24>>2];if(j>>>0>c>>>0){d=c;while(1){b=(d<<6)+i|0;D[b>>2]=D[b>>2]*G(1.625732421875);D[b+4>>2]=D[b+4>>2]*G(1.625732421875);D[b+8>>2]=D[b+8>>2]*G(1.625732421875);D[b+12>>2]=D[b+12>>2]*G(1.625732421875);D[b+16>>2]=D[b+16>>2]*G(1.625732421875);D[b+20>>2]=D[b+20>>2]*G(1.625732421875);D[b+24>>2]=D[b+24>>2]*G(1.625732421875);D[b+28>>2]=D[b+28>>2]*G(1.625732421875);d=d+1|0;if((j|0)!=(d|0)){continue}break}}b=f+32|0;d=z[a+8>>2];a=z[a+4>>2];e=a-e|0;e=(d|0)<(e|0)?d:e;Ob(i,b,g,h,e,G(-.4435068666934967));l=i+32|0;d=d-k|0;a=(a|0)<(d|0)?a:d;Ob(f,l,c,j,a,G(-.8829110860824585));Ob(i,b,g,h,e,G(.05298011749982834));Ob(f,l,c,j,a,G(1.5861343145370483))}}function dc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{if(!c){break a}b:{e=z[a+160>>2];if(!e){break b}f=z[a+72>>2];if(!f|!z[f+16>>2]|(e|0)!=z[z[f+24>>2]+40>>2]){break b}g=z[c+16>>2];if(!g){break b}f=z[c+24>>2];if(z[f+40>>2]|z[f+44>>2]){break b}e=0;if(g>>>0>=4){j=g&-4;while(1){z[(f+F(e,52)|0)+40>>2]=z[a+160>>2];z[(f+F(e|1,52)|0)+40>>2]=z[a+160>>2];z[(f+F(e|2,52)|0)+40>>2]=z[a+160>>2];z[(f+F(e|3,52)|0)+40>>2]=z[a+160>>2];e=e+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}h=g&3;if(h){while(1){z[(f+F(e,52)|0)+40>>2]=z[a+160>>2];e=e+1|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}if(Zb(c,d)){break b}return 0}e=z[a+76>>2];if(!e){e=tb();z[a+76>>2]=e;if(!e){break a}}vb(c,e);if(!sd(z[a+192>>2],123,d)){break a}g=z[a+192>>2];j=z[g>>2];e=z[g+8>>2];c:{if(j){i=1;if((j|0)!=1){k=j&-2;h=0;while(1){f=0;d:{if(!i){break d}f=0;if(!(La[z[e>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break d}f=(La[z[e+4>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}i=f;e=e+8|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}e:{f:{if(j&1){if(!i){break f}i=(La[z[e>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[g>>2]=0;if(!(i&1)){break e}break c}z[g>>2]=0}ub(z[a+72>>2]);z[a+72>>2]=0;return 0}z[g>>2]=0}i=ec(a,c)}return i}function Hb(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0;l=f<<3;if(d){h=(l<<2)+a|0;m=g-2|0;k=d;i=b;while(1){f=0;a:{b:{switch(m|0){case 6:f=z[h+4>>2];z[i>>2]=z[h>>2];z[i+4>>2]=f;f=z[h+28>>2];z[i+24>>2]=z[h+24>>2];z[i+28>>2]=f;f=z[h+20>>2];z[i+16>>2]=z[h+16>>2];z[i+20>>2]=f;f=z[h+12>>2];z[i+8>>2]=z[h+8>>2];z[i+12>>2]=f;break a;case 5:z[i>>2]=z[h>>2];f=1;case 4:j=f<<2;z[j+i>>2]=z[h+j>>2];f=f+1|0;case 3:j=f<<2;z[j+i>>2]=z[h+j>>2];f=f+1|0;case 2:j=f<<2;z[j+i>>2]=z[h+j>>2];f=f+1|0;case 1:j=f<<2;z[j+i>>2]=z[h+j>>2];f=f+1|0;case 0:j=f<<2;z[j+i>>2]=z[h+j>>2];f=f+1|0;break;default:break b}}f=f<<2;z[f+i>>2]=z[f+h>>2]}h=h- -64|0;i=(e<<2)+i|0;k=k-1|0;if(k){continue}break}}if(c){h=(F(d,e)<<2)+b|0;i=(8-l<<2)+a|0;a=g-2|0;while(1){f=0;c:{d:{switch(a|0){case 5:z[h>>2]=z[i>>2];f=1;case 4:b=f<<2;z[b+h>>2]=z[b+i>>2];f=f+1|0;case 3:b=f<<2;z[b+h>>2]=z[b+i>>2];f=f+1|0;case 2:b=f<<2;z[b+h>>2]=z[b+i>>2];f=f+1|0;case 1:b=f<<2;z[b+h>>2]=z[b+i>>2];f=f+1|0;case 0:b=f<<2;z[b+h>>2]=z[b+i>>2];f=f+1|0;default:b=f<<2;z[b+h>>2]=z[b+i>>2];break c;case 6:break d}}b=z[i+4>>2];z[h>>2]=z[i>>2];z[h+4>>2]=b;b=z[i+28>>2];z[h+24>>2]=z[i+24>>2];z[h+28>>2]=b;b=z[i+20>>2];z[h+16>>2]=z[i+16>>2];z[h+20>>2]=b;b=z[i+12>>2];z[h+8>>2]=z[i+8>>2];z[h+12>>2]=b}i=i- -64|0;h=(e<<2)+h|0;c=c-1|0;if(c){continue}break}}}function jn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-96|0;Fa=b;d=z[a+12>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[d+5|0]|A[d+6|0]<<8)&192)!=64){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Re(b+88|0,5189);e=z[d+4>>2];z[b+32>>2]=z[d>>2];z[b+36>>2]=e;d=Jf(c,b+32|0);c=z[a+8>>2];La[z[z[c>>2]+16>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[c+5|0]|A[c+6|0]<<8)&192)!=64){La[z[z[c>>2]+20>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}c=Re(b+80|0,6340);e=z[c+4>>2];z[b+24>>2]=z[c>>2];z[b+28>>2]=e;d=Jf(d,b+24|0);a=a+16|0;a:{if(z[a>>2]==z[a+4>>2]){c=Re(b+72|0,5433);break a}if(A[z[a>>2]]==110){c=Re(b- -64|0,5644);e=z[c+4>>2];z[b+16>>2]=z[c>>2];z[b+20>>2]=e;Jf(d,b+16|0);c=b+56|0;eg(c,a,1);break a}c=z[a+4>>2];z[b+48>>2]=z[a>>2];z[b+52>>2]=c;c=b+48|0}a=z[c+4>>2];z[b+8>>2]=z[c>>2];z[b+12>>2]=a;a=Jf(d,b+8|0);c=Re(b+40|0,4919);d=z[c+4>>2];z[b>>2]=z[c>>2];z[b+4>>2]=d;Jf(a,b);Fa=b+96|0;Ka=0;return 0}function Ib(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,o=0;c=z[a+8>>2];e=c+z[a+4>>2]|0;a:{if(!z[a+12>>2]){if((e|0)<2){break a}h=(c<<2)+b|0;c=z[h>>2];d=z[b>>2]-(c+1>>1)|0;i=z[a>>2];b:{if(e>>>0<4){f=c;break b}k=(e-4>>>1|0)+1|0;a=1;while(1){f=a<<2;l=z[f+b>>2];f=z[f+h>>2];m=g<<2;z[m+i>>2]=d;j=d;d=l-((c+f|0)+2>>2)|0;z[i+(m|4)>>2]=(j+d>>1)+c;g=g+2|0;j=(a|0)!=(k|0);c=f;a=a+1|0;if(j){continue}break}}z[i+(g<<2)>>2]=d;if(e&1){c=e-1|0;a=z[(c<<1&-4)+b>>2]-(f+1>>1)|0;z[i+(c<<2)>>2]=a;d=a+d>>1;a=-2}else{a=-1}z[(a+e<<2)+i>>2]=d+f;Gd(b,i,e<<2);return}c:{switch(e-1|0){case 0:z[b>>2]=z[b>>2]/2;return;case 1:a=z[a>>2];c=(c<<2)+b|0;d=z[b>>2]-(z[c>>2]+1>>1)|0;z[a+4>>2]=d;z[a>>2]=d+z[c>>2];c=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=c;return;default:break c}}if((e|0)<3){break a}h=z[a>>2];k=(c<<2)+b|0;c=z[k+4>>2];a=z[k>>2];d=z[b>>2]-((c+a|0)+2>>2)|0;z[h>>2]=d+a;a=e|-2;l=e-2|0;d:{if((a+l|0)+1>>>0<2){g=c;f=1;break d}m=((a+e|0)-3>>>1|0)+1|0;f=1;a=1;while(1){o=z[(a<<2)+b>>2];i=a+1|0;g=z[(i<<2)+k>>2];n=(f<<2)+h|0;z[n>>2]=d;j=d;d=o-((c+g|0)+2>>2)|0;z[n+4>>2]=(j+d>>1)+c;f=f+2|0;j=(a|0)!=(m|0);c=g;a=i;if(j){continue}break}}z[(f<<2)+h>>2]=d;e:{if(!(e&1)){a=z[((e<<1&-4)+b|0)-4>>2]-(g+1>>1)|0;z[(l<<2)+h>>2]=(d+a>>1)+g;break e}a=d+g|0}c=e<<2;z[(c+h|0)-4>>2]=a;Gd(b,h,c)}}function Og(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;e=Fa-16|0;Fa=e;z[e+12>>2]=a;j=z[(a-24|0)+4>>2];f=z[j+4>>2];z[e+8>>2]=0;g=e+8|0;h=Fa-4544|0;Fa=h;a:{b:{c:{d:{if(!f){if(!g){break d}z[g>>2]=-3;break d}d=h+32|0;l=d,m=Wd(f)+f|0,z[l+4>>2]=m;z[d>>2]=f;_e(d+8|0);_e(d+148|0);$e(d+288|0);af(d+332|0);af(d+360|0);z[d+396>>2]=0;z[d+400>>2]=0;z[d+392>>2]=-1;y[d+388>>1]=1;z[d+404>>2]=0;z[d+408>>2]=0;z[d+412>>2]=0;a=d+408|0;z[a+4096>>2]=a;z[16214]=0;k=qa(297,d|0)|0;a=z[16214];z[16214]=0;if((a|0)==1){break c}if(k){a=h+8|0;z[a+8>>2]=0;z[a+4>>2]=0;z[a>>2]=0;z[a+12>>2]=-1;z[a+20>>2]=1;z[a+16>>2]=-1;if(z[d+360>>2]!=z[d+364>>2]){z[16214]=0;Aa(265,5758,2256,395,3320);a=z[16214];z[16214]=0;if((a|0)!=1){break b}break c}z[16214]=0;Ba(298,k|0,a|0);i=z[16214];z[16214]=0;if((i|0)==1){break c}i=z[Pe(a,0)>>2];a=0}else{a=-2}if(g){z[g>>2]=a}Qe(d)}Fa=h+4544|0;a=i;break a}a=wa()|0;Qe(d);xa(a|0)}r()}e:{if(!(z[e+8>>2]|!a)){z[b>>2]=a;break e}le(a);a=ke(Wd(f)+1|0);z[b>>2]=a;Vd(a,f)}z[c>>2]=0;if(La[z[z[13163]+16>>2]](52652,0,j,0,e+12|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0){a=z[e+12>>2];a=La[z[z[a>>2]+8>>2]](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=ke(Wd(a)+1|0);z[c>>2]=b;Vd(b,a)}Fa=e+16|0}function Ki(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=-1;f=-1;a:{if(!(A[a+68|0]&8)){b=z[a+32>>2];z[a+36>>2]=b;b:{c:{d:{f=z[a+48>>2];if(f){while(1){f=La[z[a+20>>2]](b,0,f,0,z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if((f|0)==-1){break d}b=f+z[a+36>>2]|0;z[a+36>>2]=b;f=z[a+48>>2]-f|0;z[a+48>>2]=f;if(f){continue}break}b=z[a+32>>2]}z[a+36>>2]=b;if(!!c&(d|0)>=0|(d|0)>0){break c}b=0;f=0;break b}z[a+68>>2]=z[a+68>>2]|8;sb(e,4,30882,0);z[a+48>>2]=0;z[a+68>>2]=z[a+68>>2]|8;Ka=-1;b=-1;break a}b=0;f=0;while(1){g=La[z[a+24>>2]](c,d,z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;h=Ka;if((g&h)==-1){sb(e,4,30867,0);z[a+68>>2]=z[a+68>>2]|8;c=f+z[a+60>>2]|0;e=c+1|0;d=c;c=b+z[a+56>>2]|0;d=c>>>0>>0?e:d;z[a+56>>2]=c;z[a+60>>2]=d;a=!(b|f);b=a?-1:b;Ka=a?-1:f;break a}f=f+h|0;b=b+g|0;f=b>>>0>>0?f+1|0:f;d=d-((c>>>0>>0)+h|0)|0;c=c-g|0;if(!!c&(d|0)>=0|(d|0)>0){continue}break}}c=f+z[a+60>>2]|0;e=c+1|0;d=c;c=b+z[a+56>>2]|0;d=c>>>0>>0?e:d;z[a+56>>2]=c;z[a+60>>2]=d}Ka=f}return b|0}function bb(){var a=0;V(32444,32468,32500,0,32356,21,32516,0,32516,0,2026,32382,22);W(32444,1,32520,32356,23,24);a=qe(8);z[a+4>>2]=0;z[a>>2]=25;X(32444,1889,3,32524,32564,26,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=27;X(32444,1906,2,32608,32385,28,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=29;X(32444,2087,2,32620,32628,30,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=31;X(32444,2670,3,32632,32564,32,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=33;X(32444,3414,2,32620,32628,30,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=34;X(32444,2444,4,32656,32672,35,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=36;X(32444,2423,2,32680,32385,37,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=38;X(32444,1743,2,32688,32385,39,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=40;X(32444,3347,2,32696,32385,41,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=42;X(32444,1943,2,32704,32385,43,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=44;X(32444,1502,2,32712,32385,45,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=46;X(32444,3222,2,32720,32385,47,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=48;X(32444,1473,2,32712,32385,45,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=49;X(32444,1783,2,32720,32385,47,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=50;X(32444,1712,2,32728,32385,51,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=52;X(32444,3478,2,32736,32385,53,a|0,0,0)}function no(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,o=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{e=b;if(e){if(!c){break j}if(!d){break i}e=I(d)-I(e)|0;if(e>>>0<=31){break h}break b}if((d|0)==1|d>>>0>1){break b}b=(a>>>0)/(c>>>0)|0;Ia=a-F(b,c)|0;Ja=0;Ka=0;return b}if(!a){break g}if(!d){break f}f=d-1|0;if(f&d){break f}Ia=a;Ja=e&f;a=e>>>oo(d)|0;Ka=0;return a}f=c-1|0;if(!(f&c)){break e}j=(I(c)+33|0)-I(e)|0;h=0-j|0;break c}j=e+1|0;h=63-e|0;break c}Ia=0;a=(e>>>0)/(d>>>0)|0;Ja=e-F(a,d)|0;Ka=0;return a}e=I(d)-I(e)|0;if(e>>>0<31){break d}break b}Ia=a&f;Ja=0;if((c|0)==1){break a}c=oo(c);d=c&31;if((c&63)>>>0>=32){e=0;a=b>>>d|0}else{e=b>>>d|0;a=((1<>>d}Ka=e;return a}j=e+1|0;h=63-e|0}f=a;e=j&63;g=e&31;if((e&63)>>>0>=32){e=0;f=b>>>g|0}else{e=b>>>g|0;f=((1<>>g}h=h&63;g=h&31;if((h&63)>>>0>=32){i=a<>>32-g|b<>>31;f=f<<1|b>>>31;k=e;l=h-(e+(f>>>0>g>>>0)|0)|0;m=l>>31;i=m;e=f;l=c&i;f=e-l|0;e=k-((d&i)+(e>>>0>>0)|0)|0;i=b<<1|a>>>31;a=n|a<<1;b=i|o;k=m&1;n=k;j=j-1|0;if(j){continue}break}}Ia=f;Ja=e;i=b<<1|a>>>31;a=k|a<<1;Ka=i|o;return a}Ia=a;Ja=b;a=0;b=0}Ka=b;return a}function fn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=Fa-32|0;Fa=d;c=Pe(c,91);b=z[a+8>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b=Re(d+24|0,6769);e=z[b+4>>2];z[d+8>>2]=z[b>>2];z[d+12>>2]=e;c=Jf(c,d+8|0);b=z[a+12>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}c=Pe(c,93);b=z[a+16>>2];if((A[b+4|0]-77&255)>>>0>=2){b=Re(d+16|0,6738);e=z[b+4>>2];z[d>>2]=z[b>>2];z[d+4>>2]=e;Jf(c,d);a=z[a+16>>2]}else{a=b}La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=d+32|0;Ka=0;return 0}function nc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=33696;a:{b:{c:{d:{e:{f:{g=z[a+76>>2];switch(z[(g+F(c,5644)|0)+4>>2]){case 4:break a;case 2:break b;case 1:break c;case 3:break d;case 0:break e;default:break f}}d=33756;break a}d=33708;break a}d=33720;break a}d=33732;break a}d=33744}e=1;g:{if(x[a+100|0]&1){c=(g+F(c,5644)|0)+F(b,148)|0;g=c+512|0;h=c+520|0;b=c+508|0;i=A[a+92|0];j=c+516|0;c=j;h:{i:{j:{k:{l:{f=x[d+4|0];switch(f-67|0){case 0:break i;case 9:break j;case 13:break k;case 15:break l;default:break h}}c=g;break i}c=h;break i}c=b}e=z[c>>2]}c=0;if((f|0)==(i|0)){break g}c=b;m:{n:{o:{p:{q:{f=x[d+5|0];switch(f-67|0){case 9:break n;case 0:break o;case 15:break p;case 13:break q;default:break m}}c=h;break n}c=g;break n}c=j}e=F(z[c>>2],e)}c=1;if((f|0)==(i|0)){break g}c=b;r:{s:{t:{u:{v:{f=x[d+6|0];switch(f-67|0){case 9:break s;case 0:break t;case 15:break u;case 13:break v;default:break r}}c=h;break s}c=g;break s}c=j}e=F(z[c>>2],e)}c=2;if((f|0)==(i|0)){break g}w:{x:{y:{z:{A:{d=x[d+7|0];switch(d-67|0){case 9:break x;case 0:break y;case 15:break z;case 13:break A;default:break w}}b=h;break x}b=g;break x}b=j}e=F(z[b>>2],e)}c=3;if((d|0)==(i|0)){break g}}return e}z[a+84>>2]=c;return e}function fi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,C,D,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;var K=0,L=0;f=a;k=0;l=0;i=Fa-16|0;Fa=i;a=B[e+4>>1]|B[e+6>>1]<<16;d=B[e>>1]|B[e+2>>1]<<16;z[c+24>>2]=d;z[c+28>>2]=a;h=c+56|0;e=a;g=a>>>8|0;b=g&255;j=z[c+56>>2];a=z[c+60>>2]-j>>3;a:{if(b>>>0>a>>>0){jb(h,b-a|0);a=A[c+29|0];g=a;break a}if(a>>>0>b>>>0){z[c+60>>2]=j+(b<<3)}a=b}m=d>>>16|0;b:{if(!(g&255)){break b}h=z[h>>2];g=0;if(a-1>>>0>=3){n=a&252;while(1){j=g<<3;o=j+h|0;z[o>>2]=1;z[o+4>>2]=1;o=(j|8)+h|0;z[o>>2]=1;z[o+4>>2]=1;o=(j|16)+h|0;z[o>>2]=1;z[o+4>>2]=1;j=(j|24)+h|0;z[j>>2]=1;z[j+4>>2]=1;g=g+4|0;k=k+4|0;if((n|0)!=(k|0)){continue}break}}a=a&3;if(!a){break b}while(1){j=(g<<3)+h|0;z[j>>2]=1;z[j+4>>2]=1;g=g+1|0;l=l+1|0;if((a|0)!=(l|0)){continue}break}}b=F(b,F(F(d&65535,m),(e&255)+7>>>3|0));a=z[c+4>>2];g=z[c>>2];d=a-g|0;c:{if(b>>>0>d>>>0){eb(c,b-d|0);g=z[c>>2];a=z[c+4>>2];break c}if(b>>>0>=d>>>0){break c}a=b+g|0;z[c+4>>2]=a}z[i+12>>2]=g;z[i+8>>2]=a-g;K=f,L=Y(32600,i+8|0)|0,z[K>>2]=L;Fa=i+16|0;Ka=0;return 0}function ac(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=Fa-256|0;Fa=d;if(a){Qd(6903,17,1,c);z[d+240>>2]=z[a>>2];Ld(c,7512,d+240|0);z[d+224>>2]=z[a+4>>2];Ld(c,7525,d+224|0);z[d+208>>2]=z[a+8>>2];Ld(c,20164,d+208|0);z[d+192>>2]=z[a+16>>2];Ld(c,7483,d+192|0);if((b|0)>0){while(1){e=z[a+5584>>2];z[d+176>>2]=h;Ld(c,6941,d+176|0);e=e+F(h,1080)|0;z[d+160>>2]=z[e>>2];Ld(c,7511,d+160|0);z[d+144>>2]=z[e+4>>2];Ld(c,20278,d+144|0);z[d+128>>2]=z[e+8>>2];Ld(c,20048,d+128|0);z[d+112>>2]=z[e+12>>2];Ld(c,20064,d+112|0);z[d+96>>2]=z[e+16>>2];Ld(c,7494,d+96|0);z[d+80>>2]=z[e+20>>2];Ld(c,20360,d+80|0);Qd(5076,23,1,c);f=0;if(z[e+4>>2]){while(1){g=e+(f<<2)|0;i=z[g+812>>2];z[d+68>>2]=z[g+944>>2];z[d+64>>2]=i;Ld(c,6778,d- -64|0);f=f+1|0;if(f>>>0>2]){continue}break}}Od(c);z[d+48>>2]=z[e+24>>2];Ld(c,20080,d+48|0);z[d+32>>2]=z[e+804>>2];Ld(c,20147,d+32|0);g=1;Qd(5100,20,1,c);a:{if(z[e+24>>2]!=1){f=z[e+4>>2];if((f|0)<=0){break a}g=F(f,3)-2|0}f=0;while(1){i=e+(f<<3)|0;Ka=z[i+28>>2];z[d+16>>2]=z[i+32>>2];z[d+20>>2]=Ka;Ld(c,6778,d+16|0);f=f+1|0;if((g|0)!=(f|0)){continue}break}}Od(c);z[d>>2]=z[e+808>>2];Ld(c,20130,d);Qd(6804,5,1,c);h=h+1|0;if((h|0)!=(b|0)){continue}break}}Qd(6805,4,1,c)}Fa=d+256|0}function sc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;g=Fa-16|0;Fa=g;if(z[a+8>>2]==16){a=z[a+156>>2]+F(z[a+204>>2],5644)|0}else{a=z[a+12>>2]}f=z[d>>2];a:{if(!f){c=0;sb(e,1,7840,0);break a}j=z[a+5584>>2];z[d>>2]=f-1;lb(c,g+12|0,1);i=F(b,1080)+j|0;f=z[g+12>>2]&31;z[i+24>>2]=f;z[i+804>>2]=z[g+12>>2]>>>5;a=c+1|0;b:{c:{d:{e:{f:{switch(f|0){case 0:h=z[d>>2];break e;case 1:break d;default:break f}}h=z[d>>2]>>>1|0}if(h>>>0>=98){z[g+4>>2]=97;z[g+8>>2]=97;z[g>>2]=h;sb(e,2,31689,g);f=z[i+24>>2]}if(f){f=h;if(f){break d}f=0;break c}if(h){c=0;e=F(b,1080)+j|0;while(1){lb(a,g+12|0,1);if(c>>>0<=96){f=z[g+12>>2];k=e+(c<<3)|0;z[k+32>>2]=0;z[k+28>>2]=f>>>3}a=a+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}a=z[d>>2]-h|0;break b}c=0;while(1){lb(a,g+12|0,2);if(c>>>0<=96){e=(c<<3)+i|0;z[e+28>>2]=z[g+12>>2]>>>11;z[e+32>>2]=z[g+12>>2]&2047}a=a+2|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}a=z[d>>2]-(f<<1)|0}z[d>>2]=a;c=1;if(z[i+24>>2]!=1){break a}d=F(b,1080)+j|0;e=z[d+28>>2];f=z[d+32>>2];a=1;while(1){b=d+(a<<3)|0;h=e-((a>>>0)/3|0)|0;z[b+36>>2]=(h|0)>0?h:0;z[b+32>>2]=f;z[b+40>>2]=f;h=b;b=e-((a-1>>>0)/3|0)|0;z[h+28>>2]=(b|0)>0?b:0;a=a+2|0;if((a|0)!=97){continue}break}}Fa=g+16|0;return c}function sk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,C,D,E,G,H,I,J,K,L){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;L=L|0;d=0;b=Fa-16|0;Fa=b;a:{if(z[a+120>>2]|e>>>0<3){break a}lb(c,b+12|0,2);j=B[b+12>>1];if(j-1025>>>0<=4294966271){z[b>>2]=j;sb(g,1,9320,b);break a}lb(c+2|0,b+12|0,1);i=B[b+12>>1];if(!i){sb(g,1,8722,0);break a}if(i+3>>>0>e>>>0){break a}f=td(F(i,j)<<2);if(!f){break a}k=td(i);if(!k){le(f);break a}l=td(i);if(!l){le(f);le(k);break a}g=td(20);if(!g){le(f);le(k);le(l);break a}h=c+3|0;z[g+8>>2]=k;z[g+4>>2]=l;y[g+16>>1]=j;z[g>>2]=f;m=z[b+12>>2];z[g+12>>2]=0;x[g+18|0]=m;z[a+120>>2]=g;while(1){lb(h,b+12|0,1);x[d+k|0]=(A[b+12|0]&127)+1;x[d+l|0]=(z[b+12>>2]&128)>>>7;h=h+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}if(!j){d=1;break a}a=0;while(1){d=0;g=0;while(1){d=A[d+k|0]+7>>>3|0;d=d>>>0>=4?4:d;if((d+(h-c|0)|0)>(e|0)){d=0;break a}lb(h,b+12|0,d);z[f>>2]=z[b+12>>2];f=f+4|0;h=d+h|0;g=g+1|0;d=g&65535;if(i>>>0>d>>>0){continue}break}d=1;a=a+1|0;if((j|0)!=(a|0)){continue}break}}Fa=b+16|0;Ka=0;return d|0}function Rn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-80|0;Fa=b;pg(c,40);sg(a+12|0,c);rg(c,41);d=z[a+8>>2];La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=z[a+20>>2];if(d&1){d=Re(b+72|0,1248);e=z[d+4>>2];z[b+32>>2]=z[d>>2];z[b+36>>2]=e;Jf(c,b+32|0);d=z[a+20>>2]}if(d&2){d=Re(b- -64|0,3310);e=z[d+4>>2];z[b+24>>2]=z[d>>2];z[b+28>>2]=e;Jf(c,b+24|0);d=z[a+20>>2]}if(d&4){d=Re(b+56|0,1536);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;Jf(c,b+16|0)}a:{b:{c:{switch(A[a+24|0]-1|0){case 0:d=Re(b+48|0,5969);break b;case 1:break c;default:break a}}d=Re(b+40|0,5965)}e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;Jf(c,b+8|0)}if(z[a+28>>2]){c=Pe(c,32);a=z[a+28>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}Fa=b+80|0;Ka=0;return 0}function en(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=Fa-16|0;Fa=d;a:{if(A[a+16|0]){e=Pe(c,91);b=z[a+8>>2];La[z[z[b>>2]+16>>2]](b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Pe(e,93);break a}e=Pe(c,46);b=z[a+8>>2];La[z[z[b>>2]+16>>2]](b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}b=z[a+12>>2];if((A[b+4|0]-77&255)>>>0>=2){b=Re(d+8|0,6738);e=z[b+4>>2];z[d>>2]=z[b>>2];z[d+4>>2]=e;Jf(c,d);b=z[a+12>>2]}La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=d+16|0;Ka=0;return 0}function eo(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-48|0;Fa=b;d=z[a+12>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a:{b:{d=z[a+12>>2];e=A[d+6|0]&3;c:{if((e|0)!=2){d=!e;break c}d=La[z[z[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!d){d=z[a+12>>2];e=(A[d+5|0]|A[d+6|0]<<8)>>>10&3;d:{if((e|0)!=2){d=!e;break d}d=La[z[z[d>>2]+8>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!d){break b}}d=Re(b+40|0,5926);break a}d=Re(b+32|0,6797)}e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;c=Jf(c,b+16|0);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=Re(b+24|0,5699);d=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=d;Jf(c,b+8|0);Fa=b+48|0;Ka=0;return 0}function ko(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;b=Fa+-64|0;Fa=b;a:{b:{if(!A[a+16|0]){d=b+56|0;z[d>>2]=a+16;x[d+4|0]=A[a+16|0];x[a+16|0]=1;z[16214]=0;Ca(313,b+48|0,a|0,c|0);a=z[16214];z[16214]=0;if((a|0)==1){break b}a=z[b+52>>2];if(a){e=z[z[a>>2]+16>>2];z[16214]=0;Ba(e|0,a|0,c|0);a=z[16214];z[16214]=0;if((a|0)==1){break b}z[16214]=0;a=ua(309,z[b+52>>2],c|0)|0;e=z[16214];z[16214]=0;if((e|0)==1){break b}if(a){a=Re(b+40|0,6797);e=z[a+4>>2];z[b+16>>2]=z[a>>2];z[b+20>>2]=e;Jf(c,b+16|0)}z[16214]=0;a=ua(309,z[b+52>>2],c|0)|0;e=z[16214];z[16214]=0;if((e|0)==1){break b}c:{if(!a){z[16214]=0;a=ua(310,z[b+52>>2],c|0)|0;e=z[16214];z[16214]=0;if((e|0)==1){break b}if(!a){break c}}a=Re(b+32|0,5926);e=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=e;Jf(c,b+8|0)}a=Re(b+24|0,z[b+48>>2]?5966:5970);e=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=e;Jf(c,b)}x[z[d>>2]]=A[d+4|0]}Fa=b- -64|0;break a}a=wa()|0;x[z[d>>2]]=A[d+4|0];xa(a|0);r()}Ka=0;return 0}function Mn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-80|0;Fa=b;pg(c,40);sg(a+16|0,c);rg(c,41);d=z[a+8>>2];if(d){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=z[a+28>>2];if(d&1){d=Re(b+72|0,1248);e=z[d+4>>2];z[b+32>>2]=z[d>>2];z[b+36>>2]=e;Jf(c,b+32|0);d=z[a+28>>2]}if(d&2){d=Re(b- -64|0,3310);e=z[d+4>>2];z[b+24>>2]=z[d>>2];z[b+28>>2]=e;Jf(c,b+24|0);d=z[a+28>>2]}if(d&4){d=Re(b+56|0,1536);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;Jf(c,b+16|0)}a:{b:{c:{switch(A[a+32|0]-1|0){case 0:d=Re(b+48|0,5969);break b;case 1:break c;default:break a}}d=Re(b+40|0,5965)}e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;Jf(c,b+8|0)}a=z[a+24>>2];if(a){La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}Fa=b+80|0;Ka=0;return 0}function hc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Fa-16|0;Fa=g;e=1;a:{if(!b){break a}d=z[b>>2];if(!d){break a}b:{c:{while(1){l=b;d:{if(!Xd(d,4953,4)){if(!Ud(d,3932)){z[a+60>>2]=1;break d}if(Ud(d,3967)){break c}z[a+60>>2]=0;break d}if(!Xd(d,4970,4)){if(!Ud(d,3940)){z[a+16>>2]=1;break d}if(Ud(d,3974)){break c}z[a+16>>2]=0;break d}b=23645;if(Xd(d,4958,11)){break b}h=Fd(d+11|0);b=21466;if(h>>>0>7){break b}i=F(z[a+108>>2],z[a+104>>2]);if(!i|!z[a+68>>2]){break d}j=z[a+156>>2];f=1;b=0;if((i|0)!=1){m=i&-2;k=0;while(1){e=0;if(f){f=z[(F(b,5644)+j|0)+5584>>2];d=0;while(1){z[(f+F(d,1080)|0)+804>>2]=h;d=d+1|0;e=z[a+68>>2];if(d>>>0>>0){continue}break}}e:{if(!e){f=0;break e}e=z[(F(b|1,5644)+j|0)+5584>>2];d=0;while(1){z[(e+F(d,1080)|0)+804>>2]=h;d=d+1|0;f=z[a+68>>2];if(d>>>0>>0){continue}break}}b=b+2|0;k=k+2|0;if((m|0)!=(k|0)){continue}break}}if(!(i&1)|!f){break d}b=z[(F(b,5644)+j|0)+5584>>2];d=0;while(1){z[(b+F(d,1080)|0)+804>>2]=h;d=d+1|0;if(d>>>0>2]){continue}break}}b=l+4|0;d=z[l+4>>2];if(d){continue}break}e=1;break a}b=23614}z[g>>2]=d;sb(c,1,b,g);e=0}Fa=g+16|0;return e}function Gd(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){ia(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){x[c|0]=A[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){z[c>>2]=z[b>>2];z[c+4>>2]=z[b+4>>2];z[c+8>>2]=z[b+8>>2];z[c+12>>2]=z[b+12>>2];z[c+16>>2]=z[b+16>>2];z[c+20>>2]=z[b+20>>2];z[c+24>>2]=z[b+24>>2];z[c+28>>2]=z[b+28>>2];z[c+32>>2]=z[b+32>>2];z[c+36>>2]=z[b+36>>2];z[c+40>>2]=z[b+40>>2];z[c+44>>2]=z[b+44>>2];z[c+48>>2]=z[b+48>>2];z[c+52>>2]=z[b+52>>2];z[c+56>>2]=z[b+56>>2];z[c+60>>2]=z[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){z[c>>2]=z[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){x[c|0]=A[b|0];x[c+1|0]=A[b+1|0];x[c+2|0]=A[b+2|0];x[c+3|0]=A[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){x[c|0]=A[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function cn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-128|0;Fa=b;z[b+124>>2]=a;z[b+120>>2]=c;pg(c,40);d=A[a+24|0];e=z[a+12>>2];if(!(e?0:d)){a:{if(d){qg(e,c,3,1);break a}Bg(b+120|0)}d=Re(b+112|0,6797);e=z[d+4>>2];z[b+56>>2]=z[d>>2];z[b+60>>2]=e;e=Ag(c,b+56|0);d=z[a+20>>2];f=z[a+16>>2];z[b+48>>2]=f;z[b+52>>2]=d;z[b+104>>2]=f;z[b+108>>2]=d;d=Ag(e,b+48|0);e=Re(b+96|0,6797);f=z[e+4>>2];z[b+40>>2]=z[e>>2];z[b+44>>2]=f;Ag(d,b+40|0)}d=Re(b+88|0,5616);e=z[d+4>>2];z[b+32>>2]=z[d>>2];z[b+36>>2]=e;c=Ag(c,b+32|0);b:{if(!(A[a+24|0]|z[a+12>>2])){break b}d=Re(b+80|0,6797);e=z[d+4>>2];z[b+24>>2]=z[d>>2];z[b+28>>2]=e;e=Ag(c,b+24|0);d=z[a+20>>2];f=z[a+16>>2];z[b+16>>2]=f;z[b+20>>2]=d;z[b+72>>2]=f;z[b+76>>2]=d;d=Ag(e,b+16|0);e=Re(b- -64|0,6797);f=z[e+4>>2];z[b+8>>2]=z[e>>2];z[b+12>>2]=f;d=Ag(d,b+8|0);if(A[a+24|0]){Bg(b+120|0);break b}qg(z[a+12>>2],d,3,1)}rg(c,41);Fa=b+128|0;Ka=0;return 0}function ib(){var a=0;V(32760,32784,32816,0,32356,61,32516,0,32516,0,1963,32382,62);W(32760,1,32832,32356,63,64);a=qe(8);z[a+4>>2]=0;z[a>>2]=65;X(32760,1906,3,32836,32564,66,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=67;X(32760,1889,2,32848,32385,68,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=69;X(32760,3407,2,32856,32628,70,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=71;X(32760,1725,3,32864,32389,72,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=73;X(32760,1061,4,32880,32672,74,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=75;X(32760,1923,3,32864,32389,72,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=76;X(32760,3296,4,32896,32672,77,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=78;X(32760,1487,3,32912,32389,79,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=80;X(32760,3210,3,32924,32389,81,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=82;X(32760,1459,3,32912,32389,79,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=83;X(32760,1764,3,32924,32389,81,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=84;X(32760,1696,3,32864,32389,72,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=85;X(32760,1524,4,32944,32672,86,a|0,0,0);a=qe(8);z[a+4>>2]=0;z[a>>2]=87;X(32760,2403,4,32960,32976,88,a|0,0,0)}function Oj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,D,E,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;b=Fa-16|0;Fa=b;a:{if(e>>>0<=1){sb(g,1,9815,0);a=0;break a}if(x[a+188|0]&1){sb(g,1,27306,0);a=0;break a}h=z[a+156>>2];i=z[a+204>>2];a=h+F(i,5644)|0;x[a+5640|0]=A[a+5640|0]|2;lb(c,b+12|0,1);f=a+5164|0;d=z[a+5164>>2];b:{if(!d){a=z[b+12>>2]+1|0;d=ud(a,8);z[f>>2]=d;if(!d){sb(g,1,9841,0);a=0;break a}z[(h+F(i,5644)|0)+5160>>2]=a;break b}h=z[b+12>>2];if(h>>>0>2]){break b}i=d;d=h+1|0;h=xd(i,d<<3);if(!h){sb(g,1,9841,0);a=0;break a}z[f>>2]=h;a=a+5160|0;i=z[a>>2];Id(h+(i<<3)|0,0,d-i<<3);z[a>>2]=d;d=z[f>>2]}a=z[b+12>>2];if(z[(a<<3)+d>>2]){z[b>>2]=a;sb(g,1,19949,b);a=0;break a}a=e-1|0;d=td(a);e=z[f>>2];f=z[b+12>>2];z[e+(f<<3)>>2]=d;if(!d){sb(g,1,9841,0);a=0;break a}z[(e+(f<<3)|0)+4>>2]=a;Gd(z[e+(z[b+12>>2]<<3)>>2],c+1|0,a);a=1}Fa=b+16|0;Ka=0;return a|0}function pk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;b=Fa-32|0;Fa=b;a:{if(z[a+72>>2]){sb(g,2,19901,0);d=1;break a}if((e|0)!=14){d=0;sb(g,1,29269,0);break a}lb(c,a+16|0,4);lb(c+4|0,a+12|0,4);lb(c+8|0,a+20|0,2);e=z[a+12>>2];b:{f=z[a+16>>2];d=z[a+20>>2];c:{if(!f){break c}d=z[a+20>>2];if(!e){break c}if(d){break b}d=0}z[b+8>>2]=d;z[b+4>>2]=f;z[b>>2]=e;sb(g,1,28927,b);d=0;break a}if(d-16385>>>0<=4294950911){d=0;sb(g,1,28841,0);break a}d=ud(d,12);z[a+72>>2]=d;if(!d){d=0;sb(g,1,28878,0);break a}d=1;lb(c+10|0,a+24|0,1);lb(c+11|0,a+28|0,1);e=z[a+28>>2];if((e|0)!=7){z[b+16>>2]=e;sb(g,4,31905,b+16|0)}lb(c+12|0,a+32|0,1);lb(c+13|0,a+36|0,1);c=z[a>>2];x[c+188|0]=A[c+188|0]&251|(z[a+24>>2]==255)<<2;c=z[a>>2];z[c+216>>2]=z[a+12>>2];z[c+220>>2]=z[a+16>>2];x[a+133|0]=1}Fa=b+32|0;Ka=0;return d|0} +function vb(a,b){var c=0,d=0,e=0,f=0,g=0;z[b>>2]=z[a>>2];z[b+4>>2]=z[a+4>>2];z[b+8>>2]=z[a+8>>2];z[b+12>>2]=z[a+12>>2];c=z[b+24>>2];if(c){d=z[b+16>>2];if(d){c=0;while(1){f=z[(z[b+24>>2]+F(c,52)|0)+44>>2];if(f){le(f);d=z[b+16>>2]}c=c+1|0;if(d>>>0>c>>>0){continue}break}c=z[b+24>>2]}le(c);z[b+24>>2]=0}c=z[a+16>>2];z[b+16>>2]=c;c=td(F(c,52));z[b+24>>2]=c;if(c){if(z[b+16>>2]){f=0;while(1){g=F(f,52);c=g+c|0;d=z[a+24>>2]+g|0;e=z[d+4>>2];z[c>>2]=z[d>>2];z[c+4>>2]=e;z[c+48>>2]=z[d+48>>2];e=z[d+44>>2];z[c+40>>2]=z[d+40>>2];z[c+44>>2]=e;e=z[d+36>>2];z[c+32>>2]=z[d+32>>2];z[c+36>>2]=e;e=z[d+28>>2];z[c+24>>2]=z[d+24>>2];z[c+28>>2]=e;e=z[d+20>>2];z[c+16>>2]=z[d+16>>2];z[c+20>>2]=e;e=z[d+12>>2];z[c+8>>2]=z[d+8>>2];z[c+12>>2]=e;c=z[b+24>>2];z[(g+c|0)+44>>2]=0;f=f+1|0;if(f>>>0>2]){continue}break}}z[b+20>>2]=z[a+20>>2];c=z[a+32>>2];z[b+32>>2]=c;if(c){c=td(c);z[b+28>>2]=c;if(!c){z[b+28>>2]=0;z[b+32>>2]=0;return}Gd(c,z[a+28>>2],z[a+32>>2]);return}z[b+28>>2]=0;return}z[b+16>>2]=0;z[b+24>>2]=0}function rl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;f=Fa-32|0;Fa=f;d=a;a=z[a+28>>2];z[f+16>>2]=a;b=z[d+20>>2];z[f+28>>2]=e;z[f+24>>2]=c;a=b-a|0;z[f+20>>2]=a;c=a+e|0;h=2;a:{b:{a=f+16|0;b=ka(z[d+60>>2],a|0,2,f+12|0)|0;if(b){z[15614]=b;b=-1}else{b=0}c:{d:{if(b){b=a;break d}while(1){g=z[f+12>>2];if((g|0)==(c|0)){break c}if((g|0)<0){b=a;break b}j=z[a+4>>2];i=j>>>0>>0;b=(i<<3)+a|0;j=g-(i?j:0)|0;z[b>>2]=j+z[b>>2];a=(i?12:4)+a|0;z[a>>2]=z[a>>2]-j;c=c-g|0;a=b;h=h-i|0;g=ka(z[d+60>>2],a|0,h|0,f+12|0)|0;if(g){z[15614]=g;g=-1}else{g=0}if(!g){continue}break}}if((c|0)!=-1){break b}}a=z[d+44>>2];z[d+28>>2]=a;z[d+20>>2]=a;z[d+16>>2]=a+z[d+48>>2];a=e;break a}z[d+28>>2]=0;z[d+16>>2]=0;z[d+20>>2]=0;z[d>>2]=z[d>>2]|32;a=0;if((h|0)==2){break a}a=e-z[b+4>>2]|0}Fa=f+32|0;Ka=0;return a|0}function Ob(a,b,c,d,e,f){var g=0,h=G(0),i=0,j=G(0);g=(c<<6)+b|0;a=c?g+-64|0:a;i=d>>>0>>0?d:e;a:{if(i>>>0<=c>>>0){b=a;break a}h=D[a>>2];while(1){b=g;g=b-32|0;j=h;h=D[b>>2];D[g>>2]=G(G(j+h)*f)+D[g>>2];g=b-28|0;D[g>>2]=G(G(D[a+4>>2]+D[b+4>>2])*f)+D[g>>2];g=b-24|0;D[g>>2]=G(G(D[a+8>>2]+D[b+8>>2])*f)+D[g>>2];g=b-20|0;D[g>>2]=G(G(D[a+12>>2]+D[b+12>>2])*f)+D[g>>2];g=b-16|0;D[g>>2]=G(G(D[a+16>>2]+D[b+16>>2])*f)+D[g>>2];g=b-12|0;D[g>>2]=G(G(D[a+20>>2]+D[b+20>>2])*f)+D[g>>2];g=b-8|0;D[g>>2]=G(G(D[a+24>>2]+D[b+24>>2])*f)+D[g>>2];g=b-4|0;D[g>>2]=G(G(D[a+28>>2]+D[b+28>>2])*f)+D[g>>2];g=b- -64|0;a=b;c=c+1|0;if((i|0)!=(c|0)){continue}break}}if(d>>>0>e>>>0){a=g-32|0;f=G(f+f);D[a>>2]=G(D[b>>2]*f)+D[a>>2];a=g-28|0;D[a>>2]=G(D[b+4>>2]*f)+D[a>>2];a=g-24|0;D[a>>2]=G(D[b+8>>2]*f)+D[a>>2];a=g-20|0;D[a>>2]=G(D[b+12>>2]*f)+D[a>>2];a=g-16|0;D[a>>2]=G(D[b+16>>2]*f)+D[a>>2];a=g-12|0;D[a>>2]=G(D[b+20>>2]*f)+D[a>>2];a=g-8|0;D[a>>2]=G(D[b+24>>2]*f)+D[a>>2];a=g-4|0;D[a>>2]=G(D[b+28>>2]*f)+D[a>>2]}}function Ij(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,C,D,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;b=Fa-16|0;Fa=b;i=z[z[a+72>>2]+16>>2];f=i>>>0<257?1:2;d=(f<<1)+5|0;h=(e>>>0)/(d>>>0)|0;a:{if(!((F(d,h)|0)==(e|0)&d>>>0<=e>>>0)){sb(g,1,10986,0);a=0;break a}d=z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2];a=A[d+5640|0];e=a&4?z[d+420>>2]+1|0:0;h=h+e|0;if(h>>>0>=32){z[b>>2]=h;sb(g,1,20719,b);a=0;break a}x[d+5640|0]=a|4;if(e>>>0>>0){a=(d+F(e,148)|0)+424|0;while(1){lb(c,a,1);c=c+1|0;lb(c,a+4|0,f);c=c+f|0;lb(c,a+8|0,2);g=z[a+8>>2];j=z[d+8>>2];z[a+8>>2]=g>>>0>>0?g:j;lb(c+2|0,a+12|0,1);c=c+3|0;lb(c,a+16|0,f);c=c+f|0;lb(c,b+12|0,1);z[a+36>>2]=z[b+12>>2];g=z[a+16>>2];z[a+16>>2]=g>>>0>>0?g:i;a=a+148|0;c=c+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}z[d+420>>2]=h-1;a=1}Fa=b+16|0;Ka=0;return a|0}function Li(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,E,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;b=z[a>>2];c=ud(1,8);a:{if(z[b+16>>2]==1){break a}while(1){e=z[b+20>>2];if(!e){if(!z[a+8>>2]){z[a+8>>2]=1;z[b+32>>2]=z[b+32>>2]+1;d=td(8);if(!d){z[b+16>>2]=2;break a}z[d>>2]=a;z[d+4>>2]=z[b+28>>2];z[b+28>>2]=d}if(z[b+16>>2]!=1){continue}break a}z[b+20>>2]=z[e+4>>2];d=z[e>>2];le(e);if(!d){break a}e=z[d>>2];if(e){La[e|0](z[d+4>>2],0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}le(d);z[b+24>>2]=z[b+24>>2]-1;if(z[b+16>>2]!=1){continue}break}}if(c){b=z[c+4>>2];if((b|0)>0){a=0;while(1){d=z[c>>2]+F(a,12)|0;e=z[d+8>>2];if(e){La[e|0](z[d+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=z[c+4>>2]}a=a+1|0;if((b|0)>(a|0)){continue}break}}le(z[c>>2]);le(c)}Ka=0;return 0}function kj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,D,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;b=z[a+52>>2];d=z[a+72>>2];f=z[d+24>>2];h=F(z[d+16>>2],3);g=h+40|0;a:{if(g>>>0>C[a+56>>2]){b=xd(b,g);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,9729,0);a=0;break a}z[a+56>>2]=g;z[a+52>>2]=b}kb(b,65361,2);kb(b+2|0,h+38|0,2);kb(b+4|0,B[a+80>>1],2);kb(b+6|0,z[d+8>>2],4);kb(b+10|0,z[d+12>>2],4);kb(b+14|0,z[d>>2],4);kb(b+18|0,z[d+4>>2],4);kb(b+22|0,z[a+92>>2],4);kb(b+26|0,z[a+96>>2],4);kb(b+30|0,z[a+84>>2],4);kb(b+34|0,z[a+88>>2],4);kb(b+38|0,z[d+16>>2],2);if(z[d+16>>2]){b=b+40|0;h=0;while(1){kb(b,(z[f+24>>2]+(z[f+32>>2]<<7)|0)-1|0,1);kb(b+1|0,z[f>>2],1);kb(b+2|0,z[f+4>>2],1);f=f+52|0;b=b+3|0;h=h+1|0;if(h>>>0>2]){continue}break}}a=(rb(c,z[a+52>>2],g,e)|0)==(g|0)}Ka=0;return a|0}function Em(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa+-64|0;Fa=b;if(A[a+28|0]){d=Re(b+56|0,5217);e=z[d+4>>2];z[b+24>>2]=z[d>>2];z[b+28>>2]=e;Jf(c,b+24|0)}d=Re(b+48|0,1235);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;c=Jf(c,b+16|0);if(A[a+29|0]){d=Re(b+40|0,3886);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;Jf(c,b+8|0)}d=a+8|0;if(z[d+4>>2]){pg(c,40);sg(d,c);rg(c,41)}d=Re(b+32|0,6797);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);d=z[a+16>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[d+5|0]|A[d+6|0]<<8)&192)!=64){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=a+20|0;if(z[a+4>>2]){pg(c,40);sg(a,c);rg(c,41)}Fa=b- -64|0;Ka=0;return 0}function Vf(a,b){var c=0,d=0,e=0,f=0;c=Fa-48|0;Fa=c;a:{b:{d=Yf(a);if(d){f=A[d+2|0];if((f|0)==8){z[c+40>>2]=a+388;x[c+44|0]=A[a+388|0];x[a+388|0]=0;d=(A[a+389|0]|b)!=0;z[c+32>>2]=a+389;x[c+36|0]=A[a+389|0];x[a+389|0]=d;z[16214]=0;d=qa(304,a|0)|0;f=z[16214];z[16214]=0;if((f|0)==1){break b}z[c+28>>2]=d;if(d){if(b){x[b|0]=1}e=Fg(a,c+28|0)}x[z[c+32>>2]]=A[c+36|0];x[z[c+40>>2]]=A[c+44|0];break a}if(!(x[d+3|0]&1)&(f|0)==4|f>>>0>10){break a}b=c+40|0;ig(b,d);e=mf(a,b);break a}b=Re(c+20|0,2759);d=z[b+4>>2];z[c+8>>2]=z[b>>2];z[c+12>>2]=d;if(Se(a,c+8|0)){b=Ff(a);z[c+40>>2]=b;if(!b){break a}a=Gf(a+408|0,12);b=z[c+40>>2];e=If(a,19,0,1,1,1);z[e+8>>2]=b;z[e>>2]=58440;break a}if(!Ue(a,118)){break a}b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}if(((b<<24>>24)-48&255)>>>0>9){break a}z[a>>2]=z[a>>2]+1;b=Ff(a);z[c+40>>2]=b;if(!b){break a}e=Fg(a,c+40|0);break a}a=wa()|0;x[z[c+32>>2]]=A[c+36|0];x[z[c+40>>2]]=A[c+44|0];xa(a|0);r()}Fa=c+48|0;return e}function co(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;b=Fa-48|0;Fa=b;d=z[c+4>>2];if(!d){za(2529,2890,170,2742);r()}if(x[(d+z[c>>2]|0)-1|0]!=93){d=Re(b+40|0,6797);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;Jf(c,b+16|0)}d=Re(b+32|0,3901);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;d=Jf(c,b+8|0);c=z[a+12>>2];if(c){La[z[z[c>>2]+16>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[c+5|0]|A[c+6|0]<<8)&192)!=64){La[z[z[c>>2]+20>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}c=Re(b+24|0,3887);e=z[c+4>>2];z[b>>2]=z[c>>2];z[b+4>>2]=e;c=Jf(d,b);a=z[a+8>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Fa=b+48|0;Ka=0;return 0}function Ok(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;a:{if(!e){break a}if(!dc(z[a>>2],c,e,g)){sb(g,1,13454,0);d=0;break a}b=1;b:{if(z[z[a>>2]+60>>2]|z[a+128>>2]){break b}c=a+108|0;d=0;if(!xc(e,c,g)){break a}c:{d:{switch(z[a+48>>2]-12|0){case 5:b=2;break c;case 6:b=3;break c;case 12:b=4;break c;case 0:b=5;break c;case 4:break c;default:break d}}b=-1}z[e+20>>2]=b;b=z[a+120>>2];e:{if(!b){break e}if(!z[b+12>>2]){le(z[z[c+12>>2]+4>>2]);le(z[z[c+12>>2]+8>>2]);le(z[z[c+12>>2]>>2]);b=z[c+12>>2];d=z[b+12>>2];if(d){le(d);b=z[c+12>>2]}le(b);z[c+12>>2]=0;break e}b=0;if(!yc(e,c,g)){break b}}if(z[a+116>>2]){zc(e,c,g)}b=1;c=z[c>>2];if(!c){break b}z[e+28>>2]=c;z[e+32>>2]=z[a+112>>2];z[a+108>>2]=0}d=b}a=d;Ka=0;return a|0}function Sk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;a:{b:{if(!e){break b}sb(g,2,24016,0);if(!fc(z[a>>2],c,e,g,i)){sb(g,1,13454,0);a=0;break a}d=1;if(z[z[a>>2]+60>>2]){break b}d=0;c=a+108|0;if(!xc(e,c,g)){break b}b=1;c:{d:{switch(z[a+48>>2]-12|0){case 5:b=2;break c;case 6:b=3;break c;case 12:b=4;break c;case 0:b=5;break c;case 4:break c;default:break d}}b=-1}z[e+20>>2]=b;b=z[a+120>>2];e:{if(!b){break e}if(!z[b+12>>2]){le(z[b+4>>2]);le(z[z[a+120>>2]+8>>2]);le(z[z[a+120>>2]>>2]);b=z[a+120>>2];d=z[b+12>>2];if(d){le(d);b=z[a+120>>2]}le(b);z[a+120>>2]=0;break e}if(!yc(e,c,g)){break b}}if(z[a+116>>2]){zc(e,c,g)}d=1;b=z[c>>2];if(!b){break b}z[e+28>>2]=b;z[e+32>>2]=z[a+112>>2];z[a+108>>2]=0}a=d}Ka=0;return a|0}function xl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,A,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;A=A|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;b=0;c=Fa-16|0;Fa=c;d=a>>>0<=1?1:a;a=d+15&-16;a=a>>>0>d>>>0?a:d;if(!(a&15)){a=ne(c+12|0,16,a);b=a?0:z[c+12>>2]}Fa=c+16|0;a=b;if(!a){a:{b=0;a=z[16220];if(!a){z[16220]=64908;y[32455]=125;y[32454]=128;a=z[16220]}d=(d+3>>>2|0)+1|0;while(1){c=0;b:{c:{d:{if(!a|(a|0)==65408){break d}c=a+4|0;if(c&15){break c}e=B[a+2>>1];f=d+(d>>>0>>0?e-d&3:0)|0;if(f>>>0>>0){b=e-f|0;y[a+2>>1]=b;a=((b&65535)<<2)+a|0;y[a+2>>1]=f;y[a>>1]=0;c=a+4|0;if(!(c&15)){break d}za(5323,2316,166,3780);r()}if(d>>>0>e>>>0){break b}d=B[a>>1];e:{if(!b){z[16220]=(d<<2)+64896;break e}y[b>>1]=d}y[a>>1]=0}a=c;break a}za(5378,2316,145,3780);r()}b=a;a=(B[a>>1]<<2)+64896|0;continue}}}Ka=0;return a|0}function Nj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;b=Fa-16|0;Fa=b;a:{if(e>>>0<=1){sb(g,1,10243,0);a=0;break a}x[a+188|0]=A[a+188|0]|1;lb(c,b+12|0,1);d=z[a+116>>2];b:{if(!d){f=z[b+12>>2]+1|0;d=ud(f,8);z[a+116>>2]=d;if(!d){sb(g,1,10269,0);a=0;break a}z[a+112>>2]=f;break b}f=z[b+12>>2];if(f>>>0>2]){break b}h=d;d=f+1|0;f=xd(h,d<<3);if(!f){sb(g,1,10269,0);a=0;break a}z[a+116>>2]=f;h=z[a+112>>2];Id(f+(h<<3)|0,0,d-h<<3);z[a+112>>2]=d;d=z[a+116>>2]}f=z[b+12>>2];if(z[d+(f<<3)>>2]){z[b>>2]=f;sb(g,1,19971,b);a=0;break a}d=e-1|0;e=td(d);a=z[a+116>>2];f=z[b+12>>2];z[a+(f<<3)>>2]=e;if(!e){sb(g,1,10269,0);a=0;break a}z[(a+(f<<3)|0)+4>>2]=d;Gd(z[a+(z[b+12>>2]<<3)>>2],c+1|0,d);a=1}Fa=b+16|0;Ka=0;return a|0}function Tn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;d=z[a+8>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[d+5|0]|A[d+6|0]<<8)&192)!=64){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Re(b+24|0,6797);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;d=Jf(c,b+8|0);c=z[a+16>>2];e=z[a+12>>2];z[b>>2]=e;z[b+4>>2]=c;z[b+16>>2]=e;z[b+20>>2]=c;c=Jf(d,b);a=z[a+20>>2];if(a){La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}Fa=b+32|0;Ka=0;return 0}function Vi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;if(C[a+44>>2]>=8){d=z[a+36>>2];h=F(d,7);i=F(d,6);j=F(d,5);k=d<<2;l=F(d,3);m=d<<1;c=z[a+40>>2];n=d<<5;g=8;while(1){Mb(a,c,z[a+36>>2],8);Nb(a);e=z[a+32>>2];a:{if(!e){break a}o=z[a>>2];b=0;while(1){f=o+(b<<5)|0;D[(b<<2)+c>>2]=D[f>>2];D[(b+d<<2)+c>>2]=D[f+4>>2];D[(b+m<<2)+c>>2]=D[f+8>>2];D[(b+l<<2)+c>>2]=D[f+12>>2];b=b+1|0;if((e|0)!=(b|0)){continue}break}if(!e){break a}o=z[a>>2];b=0;while(1){f=o+(b<<5)|0;D[(b+k<<2)+c>>2]=D[f+16>>2];D[(b+j<<2)+c>>2]=D[f+20>>2];D[(b+i<<2)+c>>2]=D[f+24>>2];D[(b+h<<2)+c>>2]=D[f+28>>2];b=b+1|0;if((e|0)!=(b|0)){continue}break}}c=c+n|0;g=g+8|0;if(g>>>0<=C[a+44>>2]){continue}break}}le(z[a>>2]);le(a);Ka=0;return 0}function ao(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;d=z[a+8>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[d+5|0]|A[d+6|0]<<8)&192)!=64){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Re(b+24|0,3894);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;c=Jf(c,b+8|0);a=z[a+12>>2];if(a){La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}a=Re(b+16|0,3887);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b);Fa=b+32|0;Ka=0;return 0}function Ab(a){var b=0,c=0,d=0,e=0;e=Fa-48|0;Fa=e;b=ud(1,44);a:{if(b){z[b+16>>2]=0;if((a|0)<=0){a=ud(1,8);z[b+36>>2]=a;if(a){break a}le(b);b=0;break a}c=ud(1,24);if(!c){z[b+12>>2]=0;le(b);b=0;break a}z[b+12>>2]=c;b:{c=td(48);if(!c){z[b+8>>2]=0;break b}z[b+8>>2]=c;c=ud(a,20);z[b>>2]=c;if(!c){break b}z[b+4>>2]=a;z[c>>2]=b;a=ud(1,24);c:{if(!a){z[z[b>>2]+12>>2]=0;break c}z[z[b>>2]+12>>2]=a;a=td(48);if(!a){a=z[b>>2];z[a+16>>2]=0;a=z[a+12>>2];if(!a){break c}le(a);break c}c=z[b>>2];z[c+8>>2]=0;z[c+16>>2]=a;a=td(12);if(a){z[a>>2]=107;z[a+4>>2]=c;c=Fa-48|0;Fa=c;d=c+4|0;Id(d,0,44);d=Gd(e+4|0,d,44);z[d>>2]=z[15516];z[d+4>>2]=z[15517];Fa=c+48|0;z[e+16>>2]=0;le(a)}a=z[b>>2];z[a+4>>2]=0;c=z[a+12>>2];if(c){le(c);a=z[b>>2]}a=z[a+16>>2];if(!a){break c}le(a)}z[b+4>>2]=0;if(z[b+32>>2]>2]){while(1){if(z[b+32>>2]>2]){continue}break}}if(!(z[b+16>>2]!=2&-2)){break b}break a}Bb(b)}b=0}Fa=e+48|0;return b}function pm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;d=Re(b+24|0,6526);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;d=Jf(c,b+8|0);c=z[a+8>>2];La[z[z[c>>2]+16>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[c+5|0]|A[c+6|0]<<8)&192)!=64){La[z[z[c>>2]+20>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}c=Re(b+16|0,5630);e=z[c+4>>2];z[b>>2]=z[c>>2];z[b+4>>2]=e;c=Jf(d,b);a=z[a+12>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+32|0;Ka=0;return 0}function Nl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;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;a:{if(ze(a,z[c+8>>2],i)){if(!(z[c+28>>2]==1|z[c+4>>2]!=(e|0))){z[c+28>>2]=g}break a}b:{if(ze(a,z[c>>2],i)){if(!(z[c+16>>2]!=(e|0)&z[c+20>>2]!=(e|0))){if((g|0)!=1){break b}z[c+32>>2]=1;break a}z[c+32>>2]=g;c:{if(z[c+44>>2]==4){break c}y[c+52>>1]=0;a=z[a+8>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,e,0,e,0,1,0,i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(A[c+53|0]){z[c+44>>2]=3;if(!A[c+52|0]){break c}break b}z[c+44>>2]=4}z[c+20>>2]=e;z[c+40>>2]=z[c+40>>2]+1;if(z[c+36>>2]!=1|z[c+24>>2]!=2){break b}x[c+54|0]=1;break a}a=z[a+8>>2];La[z[z[a>>2]+24>>2]](a,0,c,0,e,0,g,0,i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}Ka=0;return 0}function ne(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{b:{if((b|0)==8){b=ke(c);break b}d=28;if(b&3|b>>>0<4){break a}f=b>>>2|0;if(f-1&f){break a}d=48;if(-64-b>>>0>>0){break a}f=16;b=b>>>0<=16?16:b;d=b>>>0<=16?16:b;c:{if(!(d-1&d)){b=d;break c}while(1){b=f;f=b<<1;if(b>>>0>>0){continue}break}}d:{if(-64-b>>>0<=c>>>0){z[15614]=48;c=0;break d}f=c>>>0<11?16:c+11&-8;e=ke((f+b|0)+12|0);c=0;if(!e){break d}c=e-8|0;e:{if(!(e&b-1)){b=c;break e}g=e-4|0;h=z[g>>2];d=b;b=((b+e|0)-1&0-b)-8|0;b=(b-c>>>0<=15?d:0)+b|0;d=b-c|0;e=(h&-8)-d|0;if(!(h&3)){c=z[c>>2];z[b+4>>2]=e;z[b>>2]=c+d;break e}z[b+4>>2]=e|z[b+4>>2]&1|2;e=b+e|0;z[e+4>>2]=z[e+4>>2]|1;z[g>>2]=d|z[g>>2]&1|2;e=c+d|0;z[e+4>>2]=z[e+4>>2]|1;oe(c,d)}c=z[b+4>>2];f:{if(!(c&3)){break f}d=c&-8;if(d>>>0<=f+16>>>0){break f}z[b+4>>2]=f|c&1|2;c=b+f|0;f=d-f|0;z[c+4>>2]=f|3;d=b+d|0;z[d+4>>2]=z[d+4>>2]|1;oe(c,f)}c=b+8|0}b=c}if(!b){return 48}z[a>>2]=b;d=0}return d}function lo(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;b=Fa-32|0;Fa=b;a:{b:{if(!A[a+16|0]){d=b+24|0;z[d>>2]=a+16;x[d+4|0]=A[a+16|0];x[a+16|0]=1;z[16214]=0;Ca(313,b+16|0,a|0,c|0);a=z[16214];z[16214]=0;if((a|0)==1){break b}a=z[b+20>>2];if(a){z[16214]=0;a=ua(309,a|0,c|0)|0;e=z[16214];z[16214]=0;if((e|0)==1){break b}c:{if(!a){z[16214]=0;a=ua(310,z[b+20>>2],c|0)|0;e=z[16214];z[16214]=0;if((e|0)==1){break b}if(!a){break c}}a=Re(b+8|0,5923);e=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=e;Jf(c,b)}a=z[b+20>>2];e=z[z[a>>2]+20>>2];z[16214]=0;Ba(e|0,a|0,c|0);a=z[16214];z[16214]=0;if((a|0)==1){break b}}x[z[d>>2]]=A[d+4|0]}Fa=b+32|0;break a}a=wa()|0;x[z[d>>2]]=A[d+4|0];xa(a|0);r()}Ka=0;return 0}function Nf(a){var b=0,c=0,d=0;c=Fa-16|0;Fa=c;a:{if(!Ue(a,83)){break a}b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}b=b<<24>>24;if((b-97&255)>>>0<=25){b:{c:{d:{e:{f:{g:{h:{i:{b=b&255;switch(b-97|0){case 2:case 4:case 5:case 6:case 7:break a;case 1:break g;case 0:break h;case 8:break e;case 3:break f;default:break i}}switch(b-111|0){case 4:break c;case 0:break d;default:break a}}z[c+12>>2]=0;break b}z[c+12>>2]=1;break b}z[c+12>>2]=5;break b}z[c+12>>2]=3;break b}z[c+12>>2]=4;break b}z[c+12>>2]=2}z[a>>2]=z[a>>2]+1;d=Gg(Gf(a+408|0,12),z[c+12>>2],44);z[d>>2]=58660;b=Tf(a,d);z[c+8>>2]=b;if((b|0)==(d|0)){break a}ff(a+148|0,c+8|0);d=b;break a}if(Ue(a,95)){a=a+148|0;if(z[a>>2]==z[a+4>>2]){break a}d=z[Bf(a,0)>>2];break a}z[c+4>>2]=0;if(zf(a,c+4|0)){break a}b=z[c+4>>2];if(!Ue(a,95)){break a}b=b+1|0;a=a+148|0;if(b>>>0>=z[a+4>>2]-z[a>>2]>>2>>>0){break a}d=z[Bf(a,b)>>2]}Fa=c+16|0;return d}function ki(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,A,B,C,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;f=0;x[a+36|0]=c;c=z[a+40>>2];b=z[a+44>>2]-c>>2;a:{if(b>>>0>>0){d=e-b|0;g=z[a+48>>2];b=z[a+44>>2];if(d>>>0<=g-b>>2>>>0){if(d){c=b;b=d<<2;b=Id(c,0,b)+b|0}z[a+44>>2]=b;break a}b:{c=z[a+40>>2];h=b-c>>2;e=d+h|0;if(e>>>0<1073741824){g=g-c|0;i=g>>1;e=g>>>0>=2147483644?1073741823:e>>>0>>0?i:e;if(e){if(e>>>0>=1073741824){break b}f=qe(e<<2)}g=(h<<2)+f|0;d=d<<2;d=Id(g,0,d)+d|0;if((b|0)!=(c|0)){while(1){g=g-4|0;b=b-4|0;D[g>>2]=D[b>>2];if((b|0)!=(c|0)){continue}break}}z[a+48>>2]=(e<<2)+f;z[a+44>>2]=d;z[a+40>>2]=g;if(c){le(c)}break a}gb();r()}Ya();r()}if(b>>>0>e>>>0){z[a+44>>2]=c+(e<<2)}}Ka=0;return 0}function lj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,D,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;d=Fa-16|0;Fa=d;f=5;h=z[a+156>>2];i=z[a+204>>2];j=h+F(i,5644)|0;b=z[j+5584>>2];if(x[b|0]&1){f=z[b+4>>2]+5|0}b=z[a+52>>2];g=f+9|0;a:{if(g>>>0>C[a+56>>2]){b=xd(b,g);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,10791,0);a=0;break a}z[a+56>>2]=g;z[a+52>>2]=b}kb(b,65362,2);kb(b+2|0,f+7|0,2);kb(b+4|0,z[j>>2],1);h=h+F(i,5644)|0;kb(b+5|0,z[h+4>>2],1);kb(b+6|0,z[h+8>>2],2);kb(b+8|0,z[h+16>>2],1);z[d+12>>2]=f;if(!vc(z[a+156>>2],z[a+204>>2],b+9|0,d+12|0,e)){sb(e,1,10739,0);a=0;break a}if(z[d+12>>2]){sb(e,1,10739,0);a=0;break a}a=(rb(c,z[a+52>>2],g,e)|0)==(g|0)}Fa=d+16|0;Ka=0;return a|0}function Nk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;h=0;a:{b:{c:{d:{if(!sd(z[a+8>>2],183,e)){break d}f=z[a+8>>2];g=z[f>>2];b=z[f+8>>2];if(!g){break c}d=1;if((g|0)!=1){i=g&-2;while(1){j=0;e:{if(!d){break e}j=0;if(!(La[z[b>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break e}j=(La[z[b+4>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=j;b=b+8|0;h=h+2|0;if((h|0)!=(i|0)){continue}break}}f:{if(g&1){if(!d){break f}d=(La[z[b>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[f>>2]=0;if(!d){break d}break b}z[f>>2]=0}a=0;break a}z[f>>2]=0}a=1}Ka=0;return a|0}function jo(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=z[a+8>>2];a:{if(A[d+4|0]==10){if(Mg(d)){break a}d=z[a+8>>2]}e=A[d+6|0]&3;b:{if((e|0)!=2){d=!e;break b}d=La[z[z[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}c:{if(!d){d=z[a+8>>2];e=(A[d+5|0]|A[d+6|0]<<8)>>>10&3;d:{if((e|0)!=2){d=!e;break d}d=La[z[z[d>>2]+8>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!d){break c}}d=Re(b+8|0,5923);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;Jf(c,b)}a=z[a+8>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function rb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0;a:{b:{if(A[a+68|0]&8){break b}h=z[a+64>>2];g=z[a+48>>2];e=h-g|0;if(e>>>0>=c>>>0){f=z[a+36>>2];break a}while(1){if((g|0)!=(h|0)){Gd(z[a+36>>2],b,e);g=z[a+48>>2]+e|0;z[a+48>>2]=g;f=z[a+60>>2];h=z[a+56>>2]+e|0;f=h>>>0>>0?f+1|0:f;z[a+56>>2]=h;z[a+60>>2]=f;c=c-e|0;i=e+i|0;b=b+e|0}f=z[a+32>>2];z[a+36>>2]=f;if(g){while(1){e=La[z[a+20>>2]](f,0,g,0,z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if((e|0)==-1){z[a+68>>2]=z[a+68>>2]|8;sb(d,4,30882,0);break b}f=e+z[a+36>>2]|0;z[a+36>>2]=f;g=z[a+48>>2]-e|0;z[a+48>>2]=g;if(g){continue}break}f=z[a+32>>2]}z[a+36>>2]=f;g=0;e=z[a+64>>2];h=e;if(c>>>0>e>>>0){continue}break}break a}return-1}Gd(f,b,c);z[a+36>>2]=z[a+36>>2]+c;z[a+48>>2]=z[a+48>>2]+c;b=z[a+60>>2];d=z[a+56>>2]+c|0;b=d>>>0>>0?b+1|0:b;z[a+56>>2]=d;z[a+60>>2]=b;return c+i|0}function zm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa+-64|0;Fa=b;f=0;a:{if(z[c+20>>2]){break a}d=a+12|0;if(!dg(d,Re(b+56|0,4919))){f=0;if(!dg(d,Re(b+48|0,4895))){break a}}pg(c,40);f=1}d=(A[a+5|0]|A[a+6|0]<<8)<<26>>26;e=(d|0)==17;qg(z[a+8>>2],c,e?15:d,(d|0)!=17);if(!dg(a+12|0,Re(b+56|0,5654))){d=Re(b+40|0,6797);g=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=g;Jf(c,b+16|0)}d=z[a+16>>2];g=z[a+12>>2];z[b+8>>2]=g;z[b+12>>2]=d;z[b+32>>2]=g;z[b+36>>2]=d;c=Jf(c,b+8|0);d=Re(b+24|0,6797);g=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=g;c=Jf(c,b);qg(z[a+20>>2],c,(A[a+5|0]|A[a+6|0]<<8)<<26>>26,e);if(f){rg(c,41)}Fa=b- -64|0;Ka=0;return 0}function el(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=0;g=0;a:{if(!sd(z[a+8>>2],184,e)){break a}if(!oc(z[a>>2],c,e)){break a}h=z[a+8>>2];f=z[h>>2];d=z[h+8>>2];b=1;b:{if(!f){break b}if((f|0)!=1){i=f&-2;while(1){j=0;c:{if(!b){break c}j=0;if(!(La[z[d>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break c}j=(La[z[d+4>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}b=j;d=d+8|0;g=g+2|0;if((g|0)!=(i|0)){continue}break}}if(!(f&1)){break b}if(!b){b=0;break b}b=(La[z[d>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[h>>2]=0}Ka=0;return b|0}function ck(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,E,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;Ka=0;b=0;d=0;e=!(z[a+104>>2]|z[a+100>>2])&z[a>>2]!=0&z[a+8>>2]!=0&z[a+4>>2]!=0&z[a+64>>2]!=0&z[a+16>>2]!=0&z[a+12>>2]!=0;g=z[a+20>>2];a:{if(!g){break a}f=z[a+72>>2];if(g>>>0>=4){h=g&-4;while(1){e=(z[(F(b,12)+f|0)+8>>2]&126)>>>0<38&e&(z[(F(b|1,12)+f|0)+8>>2]&126)>>>0<38&(z[(F(b|2,12)+f|0)+8>>2]&126)>>>0<38&(z[(F(b|3,12)+f|0)+8>>2]&126)>>>0<38;b=b+4|0;d=d+4|0;if((h|0)!=(d|0)){continue}break}}g=g&3;if(!g){break a}d=0;while(1){e=(z[(F(b,12)+f|0)+8>>2]&126)>>>0<38&e;b=b+1|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}return z[c+28>>2]!=98&e&z[a+40>>2]-1>>>0<2}function nn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=z[a+8>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[d+5|0]|A[d+6|0]<<8)&192)!=64){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Re(b+8|0,5217);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);a=z[a+12>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function ef(a){var b=0,c=0,d=0,e=0;d=Fa-16|0;Fa=d;a:{b:{c:{d:{e:{f:{b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}b=b<<24>>24;switch(b-74|0){case 1:break c;case 2:break d;case 0:break e;default:break f}}if((b|0)!=88){break c}z[a>>2]=z[a>>2]+1;b=nf(a);if(!b){break b}a=Ue(a,69)?b:0;break a}z[a>>2]=z[a>>2]+1;b=a+8|0;e=z[b+4>>2]-z[b>>2]>>2;while(1){if(!Ue(a,69)){c=ef(a);z[d+12>>2]=c;if(!c){break b}ff(b,d+12|0);continue}break}c=d+4|0;gf(c,a,e);b=Fa-16|0;Fa=b;e=Gf(a+408|0,16);a=z[c+4>>2];c=z[c>>2];z[b>>2]=c;z[b+4>>2]=a;z[b+8>>2]=c;z[b+12>>2]=a;a=If(e,37,0,1,1,1);z[a>>2]=59868;c=z[b+4>>2];z[a+8>>2]=z[b>>2];z[a+12>>2]=c;Fa=b+16|0;break a}b=z[a>>2];if(z[a+4>>2]-b>>>0>1){b=A[b+1|0]}else{b=0}if((b|0)==90){z[a>>2]=z[a>>2]+2;b=Te(a);if(!b){break b}a=Ue(a,69)?b:0;break a}a=Df(a);break a}a=Xe(a);break a}a=0}Fa=d+16|0;return a}function Ae(a,b){var c=0,d=0,e=0;c=Fa+-64|0;Fa=c;d=z[a>>2];e=z[d-4>>2];d=z[d-8>>2];z[c+32>>2]=0;z[c+36>>2]=0;z[c+40>>2]=0;z[c+44>>2]=0;z[c+48>>2]=0;z[c+52>>2]=0;x[c+55|0]=0;x[c+56|0]=0;x[c+57|0]=0;x[c+58|0]=0;x[c+59|0]=0;x[c+60|0]=0;x[c+61|0]=0;x[c+62|0]=0;z[c+24>>2]=0;z[c+28>>2]=0;z[c+20>>2]=0;z[c+16>>2]=51876;z[c+12>>2]=a;z[c+8>>2]=b;a=a+d|0;d=0;a:{if(ze(e,b,0)){z[c+56>>2]=1;La[z[z[e>>2]+20>>2]](e,0,c+8|0,0,a,0,a,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=z[c+32>>2]==1?a:0;break a}La[z[z[e>>2]+24>>2]](e,0,c+8|0,0,a,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b:{switch(z[c+44>>2]){case 0:d=z[c+48>>2]==1?z[c+36>>2]==1?z[c+40>>2]==1?z[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(z[c+32>>2]!=1){if(z[c+48>>2]|z[c+36>>2]!=1|z[c+40>>2]!=1){break a}}d=z[c+24>>2]}Fa=c- -64|0;return d}function Jm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa+-64|0;Fa=b;d=z[a+12>>2];e=z[a+8>>2];z[b+24>>2]=e;z[b+28>>2]=d;z[b+56>>2]=e;z[b+60>>2]=d;d=b+48|0;c=Jf(c,b+24|0);z[d>>2]=c+20;z[d+4>>2]=z[c+20>>2];z[c+20>>2]=0;e=Re(b+40|0,5193);f=z[e+4>>2];z[b+16>>2]=z[e>>2];z[b+20>>2]=f;c=Jf(c,b+16|0);e=z[a+16>>2];f=z[z[e>>2]+16>>2];z[16214]=0;Ba(f|0,e|0,c|0);e=z[16214];z[16214]=0;a:{if((e|0)!=1){e=Re(b+32|0,4919);f=z[e+4>>2];z[b+8>>2]=z[e>>2];z[b+12>>2]=f;c=Jf(c,b+8|0);z[z[d>>2]>>2]=z[d+4>>2];pg(c,40);qg(z[a+20>>2],c,19,0);rg(c,41);Fa=b- -64|0;break a}a=wa()|0;z[z[d>>2]>>2]=z[d+4>>2];xa(a|0);r()}Ka=0;return 0}function qf(a){var b=0,c=0,d=0,e=0,f=0,g=0;b=Fa-16|0;Fa=b;a:{b:{if(!Ue(a,84)){break b}z[b+12>>2]=0;if(Ue(a,76)){if(Kf(a,b+12|0)){break b}c=z[b+12>>2];if(!Ue(a,95)){break b}c=c+1|0}z[b+8>>2]=0;if(!Ue(a,95)){if(Kf(a,b+8|0)){break b}f=z[b+8>>2]+1|0;z[b+8>>2]=f;if(!Ue(a,95)){break b}}if(!(c|!A[a+389|0])){d=Gf(a+408|0,20);c=z[b+8>>2];d=Wf(d,40,2,2,2);x[d+16|0]=0;z[d+12>>2]=0;z[d+8>>2]=c;z[d>>2]=53372;if(A[d+4|0]!=40){break a}z[b+4>>2]=d;ff(a+360|0,b+4|0);break b}c:{e=a+332|0;d:{if(z[e+4>>2]-z[e>>2]>>2>>>0<=c>>>0){break d}if(!z[Bf(e,c)>>2]){break d}g=z[Bf(e,c)>>2];if(z[g+4>>2]-z[g>>2]>>2>>>0>f>>>0){break c}}if(z[a+392>>2]!=(c|0)){break b}f=z[e+4>>2]-z[e>>2]>>2;if(f>>>0>>0){break b}if((c|0)==(f|0)){z[b+4>>2]=0;ff(e,b+4|0)}d=kf(a,2385);break b}d=z[Bf(z[Bf(e,c)>>2],f)>>2]}Fa=b+16|0;return d}za(3421,3017,5285,2580);r()}function an(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-48|0;Fa=b;pg(c,40);d=z[a+8>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[d+5|0]|A[d+6|0]<<8)&192)!=64){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}rg(c,41);a=a+12|0;a:{if(A[z[a>>2]]==110){d=Re(b+40|0,5644);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;c=Ag(c,b+8|0);eg(b+32|0,a,1);a=z[b+36>>2];z[b>>2]=z[b+32>>2];z[b+4>>2]=a;Ag(c,b);break a}d=z[a+4>>2];a=z[a>>2];z[b+16>>2]=a;z[b+20>>2]=d;z[b+24>>2]=a;z[b+28>>2]=d;Ag(c,b+16|0)}Fa=b+48|0;Ka=0;return 0}function uk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,A,C,D,E,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;A=A|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;d=0;b=Fa-16|0;Fa=b;a:{if(z[a+116>>2]){break a}if(e>>>0<=1){sb(g,1,22450,0);break a}lb(c,b+12|0,2);f=z[b+12>>2];h=f&65535;if(!h){sb(g,1,22483,0);break a}if(F(h,6)+2>>>0>e>>>0){sb(g,1,22450,0);break a}e=td(F(f,6));if(!e){break a}f=td(8);z[a+116>>2]=f;if(!f){le(e);break a}z[f>>2]=e;d=B[b+12>>1];y[f+4>>1]=d;if(!d){d=1;break a}f=0;while(1){d=b+12|0;lb(c+2|0,d,2);g=e+F(f,6)|0;y[g>>1]=z[b+12>>2];lb(c+4|0,d,2);y[g+2>>1]=z[b+12>>2];c=c+6|0;lb(c,d,2);y[g+4>>1]=z[b+12>>2];d=1;f=f+1|0;if(f>>>0>2]+4>>1]){continue}break}}Fa=b+16|0;Ka=0;return d|0}function Ed(){aa(52228,3499);ba(52252,2648,1,1,0);ca(52264,2107,1,-128,127);ca(52288,2100,1,-128,127);ca(52276,2098,1,0,255);ca(52300,1342,2,-32768,32767);ca(52312,1333,2,0,65535);ca(52324,1422,4,-2147483648,2147483647);ca(52336,1413,4,0,-1);ca(52348,3115,4,-2147483648,2147483647);ca(52360,3106,4,0,-1);ih(52372,1612,-2147483648,2147483647);ih(52384,1611,0,-1);da(52396,1558,4);da(52408,3340,8);ea(32348,3146);ea(43648,4716);fa(43720,4,3120);fa(43796,2,3158);fa(43872,4,3173);ga(32556,2704);ha(43912,0,4594);ha(43952,0,4749);ha(32600,1,4677);ha(43992,2,4149);ha(44032,3,4180);ha(44072,4,4220);ha(44112,5,4249);ha(44152,4,4786);ha(44192,5,4816);ha(43952,0,4351);ha(32600,1,4318);ha(43992,2,4417);ha(44032,3,4383);ha(44072,4,4551);ha(44112,5,4517);ha(44232,8,4484);ha(44272,9,4450);ha(44312,6,4287);ha(44352,7,4855)}function Ii(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[a+32>>2];z[a+36>>2]=b;a:{b:{f=z[a+48>>2];if(f){while(1){f=La[z[a+20>>2]](b,0,f,0,z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if((f|0)==-1){break b}b=f+z[a+36>>2]|0;z[a+36>>2]=b;f=z[a+48>>2]-f|0;z[a+48>>2]=f;if(f){continue}break}b=z[a+32>>2]}z[a+48>>2]=0;z[a+36>>2]=b;if(!(La[z[a+28>>2]](c,d,z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){z[a+68>>2]=z[a+68>>2]|8;a=0;break a}z[a+56>>2]=c;z[a+60>>2]=d;a=1;break a}z[a+68>>2]=z[a+68>>2]|8;sb(e,4,30882,0);z[a+68>>2]=z[a+68>>2]|8;a=0}Ka=0;return a|0}function hj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,C,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;Ka=0;g=0;c=1;a:{if((B[a+80>>1]&33280)!=33280){break a}h=F(z[a+104>>2],z[a+108>>2]);if(!h){break a}d=z[a+156>>2];while(1){b:{if(z[d+16>>2]!=2){break b}c=z[d+5612>>2]!=0&c;f=z[z[a+72>>2]+16>>2];if(!f){break b}b=z[d+5584>>2];if(f>>>0>=4){i=f&-4;e=0;while(1){c=(z[b+20>>2]^-1)&c&((z[b+3260>>2]|(z[b+1100>>2]|z[b+2180>>2]))^-1);b=b+4320|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}e=0;f=f&3;if(!f){break b}while(1){c=(z[b+20>>2]^-1)&c;b=b+1080|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}d=d+5644|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}return c|0}function bg(a){var b=0,c=0,d=0,e=0;c=Fa-16|0;Fa=c;a:{b:{c:{b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}if((b|0)!=100){break c}b=z[a>>2];if(z[a+4>>2]-b>>>0>1){b=A[b+1|0]}else{b=0}b=b<<24>>24;if((b|0)!=88){if((b|0)!=120){if((b|0)!=105){break c}z[a>>2]=z[a>>2]+2;b=Ff(a);z[c+12>>2]=b;if(!b){break b}b=bg(a);z[c+8>>2]=b;if(!b){break b}x[c+4|0]=0;a=jg(a,c+12|0,c+8|0,c+4|0);break a}z[a>>2]=z[a>>2]+2;b=nf(a);z[c+12>>2]=b;if(!b){break b}b=bg(a);z[c+8>>2]=b;if(!b){break b}x[c+4|0]=1;a=jg(a,c+12|0,c+8|0,c+4|0);break a}z[a>>2]=z[a>>2]+2;b=nf(a);z[c+12>>2]=b;if(!b){break b}b=nf(a);z[c+8>>2]=b;if(!b){break b}b=bg(a);z[c+4>>2]=b;if(!b){break b}a=Gf(a+408|0,20);b=z[c+12>>2];d=z[c+8>>2];e=z[c+4>>2];a=If(a,78,0,1,1,1);z[a+16>>2]=e;z[a+12>>2]=d;z[a+8>>2]=b;z[a>>2]=57344;break a}a=nf(a);break a}a=0}Fa=c+16|0;return a}function Cc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=z[(F(c,5644)+b|0)+420>>2];e=h+1|0;g=ud(e,240);if(g){a:{if(e){k=(F(c,5644)+b|0)+5584|0;b=z[a+16>>2];e=g;while(1){z[e+236>>2]=d;b=ud(b,16);z[e+200>>2]=b;if(!b){break a}f=z[a+16>>2];z[e+196>>2]=f;c=0;b=0;if(f){while(1){i=z[e+200>>2]+(c<<4)|0;f=z[k>>2]+F(c,1080)|0;b=ud(z[f+4>>2],16);z[i+12>>2]=b;if(!b){break a}z[i+8>>2]=z[f+4>>2];b=z[a+16>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}e=e+240|0;c=(h|0)==(j|0);j=j+1|0;if(!c){continue}break}}return g}a=z[g+4>>2];if(a){le(a);z[g+4>>2]=0}e=g;a=0;while(1){c=z[e+200>>2];if(c){b=0;f=z[e+196>>2];if(f){while(1){d=z[c+12>>2];if(d){le(d);z[c+12>>2]=0;f=z[e+196>>2]}c=c+16|0;b=b+1|0;if(f>>>0>b>>>0){continue}break}c=z[e+200>>2]}le(c);z[e+200>>2]=0}e=e+240|0;b=(a|0)==(h|0);a=a+1|0;if(!b){continue}break}le(g)}return 0}function fo(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=z[a+12>>2];e=A[d+6|0]&3;a:{if((e|0)!=2){d=!e;break a}d=La[z[z[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b:{if(!d){d=z[a+12>>2];e=(A[d+5|0]|A[d+6|0]<<8)>>>10&3;c:{if((e|0)!=2){d=!e;break c}d=La[z[z[d>>2]+8>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!d){break b}}d=Re(b+8|0,5923);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;Jf(c,b)}a=z[a+12>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Fa=b+16|0;Ka=0;return 0}function jm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|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;f=Fa-48|0;Fa=f;z[a>>2]=z[c+12>>2];z[a+4>>2]=z[c+8>>2];c=a+4|0;b=$e(f+4|0);a:{b:{c:{while(1){d=z[c>>2];g=z[z[d>>2]+12>>2];z[16214]=0;d=ua(g|0,d|0,e|0)|0;g=z[16214];z[16214]=0;if((g|0)==1){break b}if(A[d+4|0]!=12){break c}z[a+4>>2]=z[d+8>>2];d=d+12|0;z[a>>2]=z[(z[d>>2]>2]?d:a)>>2];ff(b,c);d=z[b+4>>2]-z[b>>2]>>2;if(d>>>0<2){continue}g=z[c>>2];z[16214]=0;d=ua(314,b|0,d-1>>>1|0)|0;h=z[16214];z[16214]=0;if((h|0)==1){break b}if((g|0)!=z[d>>2]){continue}break}z[c>>2]=0}Ze(b);Fa=f+48|0;break a}a=wa()|0;Ze(b);xa(a|0);r()}Ka=0;return 0}function Dg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=Fa-48|0;Fa=c;f=c+40|0;z[f>>2]=b+12;z[f+4>>2]=z[b+12>>2];z[b+12>>2]=-1;g=c+32|0;z[g>>2]=b+16;z[g+4>>2]=z[b+16>>2];z[b+16>>2]=-1;d=z[b+4>>2];e=z[a+8>>2];z[16214]=0;Ba(298,e|0,b|0);h=z[16214];z[16214]=0;e=1;if((h|0)!=1){a:{b:{c:{d:{e:{h=z[b+16>>2];switch(h+1|0){case 0:break c;case 1:break e;default:break d}}z[b+4>>2]=d;break b}while(1){if((e|0)==(h|0)){break b}d=Re(c+16|0,6775);i=z[d+4>>2];z[c>>2]=z[d>>2];z[c+4>>2]=i;d=Jf(b,c);z[b+12>>2]=e;i=z[a+8>>2];z[16214]=0;Ba(298,i|0,d|0);d=z[16214];z[16214]=0;if((d|0)!=1){e=e+1|0;continue}break}break a}a=Re(c+24|0,5616);e=z[a+4>>2];z[c+8>>2]=z[a>>2];z[c+12>>2]=e;Jf(b,c+8|0)}z[z[g>>2]>>2]=z[g+4>>2];z[z[f>>2]>>2]=z[f+4>>2];Fa=c+48|0;return}}a=wa()|0;z[z[g>>2]>>2]=z[g+4>>2];z[z[f>>2]>>2]=z[f+4>>2];xa(a|0);r()}function sm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a+8>>2];if(b){La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=!z[a+8>>2]}else{d=1}b=A[a+16|0];if(!(b?0:d)){Pe(c,b?58:46)}a=z[a+12>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function ce(a,b,c,d){a:{switch(b-9|0){case 0:b=z[c>>2];z[c>>2]=b+4;z[a>>2]=z[b>>2];return;case 6:b=z[c>>2];z[c>>2]=b+4;b=y[b>>1];z[a>>2]=b;z[a+4>>2]=b>>31;return;case 7:b=z[c>>2];z[c>>2]=b+4;z[a>>2]=B[b>>1];z[a+4>>2]=0;return;case 8:b=z[c>>2];z[c>>2]=b+4;b=x[b|0];z[a>>2]=b;z[a+4>>2]=b>>31;return;case 9:b=z[c>>2];z[c>>2]=b+4;z[a>>2]=A[b|0];z[a+4>>2]=0;return;case 16:b=z[c>>2]+7&-8;z[c>>2]=b+8;E[a>>3]=E[b>>3];return;case 17:La[d|0](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;default:return;case 1:case 4:case 14:b=z[c>>2];z[c>>2]=b+4;b=z[b>>2];z[a>>2]=b;z[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=z[c>>2];z[c>>2]=b+4;z[a>>2]=z[b>>2];z[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=z[c>>2]+7&-8;z[c>>2]=b+8;c=z[b+4>>2];z[a>>2]=z[b>>2];z[a+4>>2]=c}function Sb(a){var b=0,c=0,d=0,e=0;a:{if(!a){break a}b=z[a+5164>>2];if(b){c=z[a+5160>>2];if(c){b=0;while(1){d=z[z[a+5164>>2]+(b<<3)>>2];if(d){le(d);c=z[a+5160>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=z[a+5164>>2]}z[a+5160>>2]=0;le(b);z[a+5164>>2]=0}b=z[a+5172>>2];if(b){le(b);z[a+5172>>2]=0}b=z[a+5584>>2];if(b){le(b);z[a+5584>>2]=0}b=z[a+5612>>2];if(b){le(b);z[a+5612>>2]=0}b=z[a+5608>>2];if(b){le(b);z[a+5608>>2]=0}b=z[a+5628>>2];if(b){le(b);z[a+5636>>2]=0;z[a+5628>>2]=0;z[a+5632>>2]=0}b=z[a+5616>>2];if(b){e=z[a+5620>>2];if(e){c=0;while(1){d=z[b+12>>2];if(d){le(d);z[b+12>>2]=0;e=z[a+5620>>2]}b=b+20|0;c=c+1|0;if(e>>>0>c>>>0){continue}break}b=z[a+5616>>2]}le(b);z[a+5616>>2]=0}b=z[a+5604>>2];if(b){le(b);z[a+5604>>2]=0}b=z[a+5596>>2];if(!b){break a}le(b);z[a+5596>>2]=0;z[a+5600>>2]=0}}function wn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-80|0;Fa=b;d=Re(b+72|0,5214);e=z[d+4>>2];z[b+32>>2]=z[d>>2];z[b+36>>2]=e;c=Ag(c,b+32|0);La[z[z[a>>2]+24>>2]](b- -64|0,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=z[b+68>>2];z[b+24>>2]=z[b+64>>2];z[b+28>>2]=d;c=Ag(c,b+24|0);if(C[a+8>>2]>1){d=Re(b+56|0,4624);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;c=Ag(c,b+16|0);if(z[a+8>>2]==2){a=Re(b+48|0,4654);d=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=d;Ag(c,b+8|0)}a=Re(b+40|0,4919);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Ag(c,b)}Fa=b+80|0;Ka=0;return 0}function Bb(a){var b=0,c=0,d=0,e=0,f=0,g=0;g=Fa-16|0;Fa=g;if(a){a:{if(!z[a+8>>2]){break a}if(z[a+12>>2]){z[a+40>>2]=0;if(z[a+24>>2]>0){while(1){if(z[a+24>>2]>0){continue}break}}}z[a+16>>2]=1;if(z[a+4>>2]>0){while(1){d=F(b,20);le(z[(d+z[a>>2]|0)+4>>2]);c=z[a>>2];e=z[(c+d|0)+16>>2];if(e){le(e);c=z[a>>2]}c=z[(c+d|0)+12>>2];if(c){le(c)}b=b+1|0;if((b|0)>2]){continue}break}}le(z[a>>2]);b=z[a+28>>2];if(b){while(1){c=z[b+4>>2];le(b);z[a+28>>2]=c;b=c;if(b){continue}break}}b=z[a+8>>2];if(!b){break a}le(b)}b=z[a+12>>2];if(b){le(b)}b=z[a+36>>2];if(b){c=z[b+4>>2];if((c|0)>0){while(1){d=z[b>>2]+F(f,12)|0;e=z[d+8>>2];if(e){La[e|0](z[d+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;c=z[b+4>>2]}f=f+1|0;if((f|0)<(c|0)){continue}break}}le(z[b>>2]);le(b)}le(a)}Fa=g+16|0}function Om(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;F=F|0;G=G|0;H=H|0;I=I|0;var J=0,K=0;b=Fa-80|0;Fa=b;a=a+8|0;e=z[a>>2];if((z[a+4>>2]-e|0)+1>>>0>=17){d=b+72|0;a=0;while(1){if((a|0)!=16){f=x[(a|1)+e|0];g=(f-48>>>0<10?-48:-87)+f|0;f=x[a+e|0];x[d|0]=g+((f-48>>>0>=10?9:0)+f<<4);d=d+1|0;a=a+2|0;continue}break}xg(b+72|0,d);z[b+56>>2]=0;z[b+60>>2]=0;z[b+48>>2]=0;z[b+52>>2]=0;z[b+40>>2]=0;z[b+44>>2]=0;z[b+32>>2]=0;z[b+36>>2]=0;E[b+16>>3]=E[b+72>>3];a=b+24|0;d=b+32|0;J=a,K=Oe(d,32,3825,b+16|0)+d|0,z[J+4>>2]=K;z[a>>2]=d;d=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=d;Jf(c,b+8|0)}Fa=b+80|0;Ka=0;return 0}function Fm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-48|0;Fa=b;if(A[a+12|0]){d=Re(b+40|0,5217);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;Jf(c,b+16|0)}d=Re(b+32|0,3248);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;c=Jf(c,b+8|0);if(A[a+13|0]){d=Re(b+24|0,3886);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;Jf(c,b)}c=Pe(c,32);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+48|0;Ka=0;return 0}function Bh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;var K=0,L=0;b=Fa-16|0;Fa=b;if(!A[62436]){x[62436]=1;K=62384,L=Z(1152)|0,z[K>>2]=L;a:{b:{if(!A[64868]){z[16214]=0;ta(268);d=z[16214];z[16214]=0;if((d|0)==1){break b}x[64868]=1}c:{if(!A[64869]){z[16214]=0;d=xe(z[16218],64872);e=z[16214];z[16214]=0;if((e|0)==1){break b}if(d){break c}x[64869]=1}d=ke(12);if(!d){break a}z[d+4>>2]=0;z[d>>2]=54;z[d+8>>2]=z[16219];z[16219]=d}break a}ra(0)|0;we();r()}}d=z[c+16>>2];c=z[c+12>>2];z[b+12>>2]=c;z[b+8>>2]=d-c;K=a,L=_(z[15596],1,32616,b+8|0)|0,z[K>>2]=L;Fa=b+16|0;Ka=0;return 0}function mj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;f=Fa-16|0;Fa=f;b=1;d=z[(z[a+156>>2]+F(z[a+204>>2],5644)|0)+5584>>2];g=z[d+24>>2];if((g|0)!=1){b=F(z[d+4>>2],3)-2|0}d=z[a+52>>2];b=g?b<<1|1:b+1|0;g=b+4|0;a:{if(g>>>0>C[a+56>>2]){d=xd(d,g);if(!d){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;b=0;sb(e,1,10882,0);break a}z[a+56>>2]=g;z[a+52>>2]=d}kb(d,65372,2);kb(d+2|0,b+2|0,2);z[f+12>>2]=b;b=0;if(!wc(z[a+156>>2],z[a+204>>2],0,d+4|0,f+12|0,e)){sb(e,1,10830,0);break a}if(z[f+12>>2]){sb(e,1,10830,0);break a}b=(rb(c,z[a+52>>2],g,e)|0)==(g|0)}Fa=f+16|0;Ka=0;return b|0}function Sm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;var I=0,J=0;f=Fa-32|0;Fa=f;a:{b:{c:{switch(z[a+8>>2]){case 0:b=Re(f+24|0,3920);break b;case 1:b=Re(f+16|0,4003);break b;case 2:break c;default:break a}}b=Re(f+8|0,3916)}d=z[b+4>>2];z[f>>2]=z[b>>2];z[f+4>>2]=d;Jf(c,f)}a=z[a+12>>2];if(a){a=a-1|0;b=0;g=Fa-48|0;Fa=g;h=g+48|0;while(1){h=h-1|0;e=a;d=b;a=ro(a,b,10,0);b=Ka;I=h,J=e-po(a,b,10,0)|48,x[I|0]=J;if(!d&e>>>0>9|d){continue}break}a=g+16|0;b=g+48|0;z[a+4>>2]=b;z[a>>2]=h;d=z[a+4>>2];z[g+8>>2]=z[a>>2];z[g+12>>2]=d;Jf(c,g+8|0);Fa=b}Fa=f+32|0;Ka=0;return 0}function Pm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;var I=0,J=0;b=Fa-112|0;Fa=b;a=a+8|0;e=z[a>>2];if((z[a+4>>2]-e|0)+1>>>0>=33){d=b+96|0;a=0;while(1){if((a|0)!=32){f=x[(a|1)+e|0];g=(f-48>>>0<10?-48:-87)+f|0;f=x[a+e|0];x[d|0]=g+((f-48>>>0>=10?9:0)+f<<4);d=d+1|0;a=a+2|0;continue}break}xg(b+96|0,d);a=b+48|0;Id(a,0,42);d=z[b+100>>2];z[b+16>>2]=z[b+96>>2];z[b+20>>2]=d;d=z[b+108>>2];z[b+24>>2]=z[b+104>>2];z[b+28>>2]=d;d=b+40|0;I=d,J=Oe(a,42,4009,b+16|0)+a|0,z[I+4>>2]=J;z[d>>2]=a;a=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=a;Jf(c,b+8|0)}Fa=b+112|0;Ka=0;return 0}function Lm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa+-64|0;Fa=b;if(z[a+12>>2]-z[a+8>>2]>>>0>=4){pg(c,40);d=z[a+12>>2];e=z[a+8>>2];z[b+24>>2]=e;z[b+28>>2]=d;z[b+56>>2]=e;z[b+60>>2]=d;rg(Jf(c,b+24|0),41)}d=a+16|0;a:{if(A[z[d>>2]]==110){e=Pe(c,45);eg(b+48|0,d,1);d=z[b+52>>2];z[b+8>>2]=z[b+48>>2];z[b+12>>2]=d;Jf(e,b+8|0);break a}e=z[d+4>>2];d=z[d>>2];z[b+16>>2]=d;z[b+20>>2]=e;z[b+40>>2]=d;z[b+44>>2]=e;Jf(c,b+16|0)}if(z[a+12>>2]-z[a+8>>2]>>>0<=3){d=z[a+12>>2];a=z[a+8>>2];z[b>>2]=a;z[b+4>>2]=d;z[b+32>>2]=a;z[b+36>>2]=d;Jf(c,b)}Fa=b- -64|0;Ka=0;return 0}function hn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;pg(c,40);b=z[a+8>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}rg(c,41);pg(c,40);a=z[a+12>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}rg(c,41);Ka=0;return 0}function Sn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-48|0;Fa=b;d=z[a+8>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[d+5|0]|A[d+6|0]<<8)&192)!=64){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Re(b+40|0,5193);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;d=Jf(c,b+16|0);c=z[a+16>>2];a=z[a+12>>2];z[b+8>>2]=a;z[b+12>>2]=c;z[b+32>>2]=a;z[b+36>>2]=c;a=Jf(d,b+8|0);c=Re(b+24|0,4919);d=z[c+4>>2];z[b>>2]=z[c>>2];z[b+4>>2]=d;Jf(a,b);Fa=b+48|0;Ka=0;return 0}function Nn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-48|0;Fa=b;d=z[a+8>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[d+5|0]|A[d+6|0]<<8)&192)!=64){La[z[z[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Re(b+40|0,5925);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;d=Jf(c,b+16|0);c=z[a+16>>2];a=z[a+12>>2];z[b+8>>2]=a;z[b+12>>2]=c;z[b+32>>2]=a;z[b+36>>2]=c;a=Jf(d,b+8|0);c=Re(b+24|0,5923);d=z[c+4>>2];z[b>>2]=z[c>>2];z[b+4>>2]=d;Jf(a,b);Fa=b+48|0;Ka=0;return 0}function Nm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;var K=0,L=0;b=Fa+-64|0;Fa=b;a=a+8|0;e=z[a>>2];if((z[a+4>>2]-e|0)+1>>>0>=9){d=b+60|0;a=0;while(1){if((a|0)!=8){f=x[(a|1)+e|0];g=(f-48>>>0<10?-48:-87)+f|0;f=x[a+e|0];x[d|0]=g+((f-48>>>0>=10?9:0)+f<<4);d=d+1|0;a=a+2|0;continue}break}xg(b+60|0,d);z[b+48>>2]=0;z[b+52>>2]=0;z[b+40>>2]=0;z[b+44>>2]=0;z[b+32>>2]=0;z[b+36>>2]=0;E[b+16>>3]=D[b+60>>2];a=b+24|0;d=b+32|0;K=a,L=Oe(d,24,3206,b+16|0)+d|0,z[K+4>>2]=L;z[a>>2]=d;d=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=d;Jf(c,b+8|0)}Fa=b- -64|0;Ka=0;return 0}function ik(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;d=c;b=0;f=0;e=15;a:{b:{switch(z[a+40>>2]-1|0){case 1:e=z[a+112>>2]+11|0;break;case 0:break b;default:break a}}c=ud(1,e);if(!c){break a}kb(c,e,4);kb(c+4|0,1668246642,4);kb(c+8|0,z[a+40>>2],1);kb(c+9|0,z[a+52>>2],1);kb(c+10|0,z[a+44>>2],1);b=c+11|0;c:{d:{switch(z[a+40>>2]-1|0){case 1:if(!z[a+112>>2]){break c}while(1){kb(b,A[z[a+108>>2]+f|0],1);b=b+1|0;f=f+1|0;if(f>>>0>2]){continue}break};break c;case 0:break d;default:break c}}kb(b,z[a+48>>2],4)}z[d>>2]=e;b=c}Ka=0;return b|0}function Ln(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=z[a+8>>2];a:{if(!d){break a}La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(Xf(z[a+8>>2],c)){break a}d=Re(b+8|0,6797);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;Jf(c,b)}a=z[a+12>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function Bn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a+12>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b=Pe(c,64);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function Hd(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Gd(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}x[d|0]=A[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;x[d|0]=A[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;z[c+a>>2]=z[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;x[c+a|0]=A[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){z[d>>2]=z[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){x[d|0]=A[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Wa(){var a=0,b=0;Ha=130944;Ga=65408;a=Fa-16|0;Fa=a;a:{if(ma(a+12|0,a+8|0)|0){break a}b=ke((z[a+12>>2]<<2)+4|0);z[15615]=b;if(!b){break a}b=ke(z[a+8>>2]);if(b){z[z[15615]+(z[a+12>>2]<<2)>>2]=0;if(!(na(z[15615],b|0)|0)){break a}}z[15615]=0}Fa=a+16|0;z[15597]=92;z[15598]=0;Q(2545,1,32280,32356,1,2,0);z[15598]=z[15611];z[15611]=62388;z[15599]=93;z[15600]=0;Za();z[15600]=z[15611];z[15611]=62396;z[15601]=94;z[15602]=0;$a();z[15602]=z[15611];z[15611]=62404;z[15603]=95;z[15604]=0;ab();z[15604]=z[15611];z[15611]=62412;z[15605]=96;z[15606]=0;bb();z[15606]=z[15611];z[15611]=62420;z[15607]=97;z[15608]=0;ib();z[15608]=z[15611];z[15611]=62428;z[15612]=253;z[15613]=0;Ed();z[15613]=z[15611];z[15611]=62448;z[15818]=62496;z[15800]=42}function Jn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a+8>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=z[a+12>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function ng(a){var b=0,c=0,d=0,e=0;d=Fa-48|0;Fa=d;b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}a:{if((b<<24>>24)-48>>>0<=9){b=lg(a);break a}b=Re(d+40|0,2562);c=z[b+4>>2];z[d+16>>2]=z[b>>2];z[d+20>>2]=c;if(Se(a,d+16|0)){c=Fa-16|0;Fa=c;b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}b:{if((b<<24>>24)-48>>>0<=9){b=lg(a);break b}b=kg(a)}z[c+12>>2]=b;if(b){a=Gf(a+408|0,12);e=z[c+12>>2];b=If(a,46,0,1,1,1);z[b+8>>2]=e;z[b>>2]=58224}else{b=0}Fa=c+16|0;break a}b=Re(d+32|0,2559);c=z[b+4>>2];z[d+8>>2]=z[b>>2];z[d+12>>2]=c;Se(a,d+8|0);c=Vf(a,0);z[d+28>>2]=c;b=0;if(!c){break a}b=c;c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}if((c|0)!=73){break a}b=rf(a,0);z[d+24>>2]=b;if(b){b=sf(a,d+28|0,d+24|0)}else{b=0}}Fa=d+48|0;return b}function Km(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;d=z[a+12>>2];e=z[a+8>>2];z[b+8>>2]=e;z[b+12>>2]=d;z[b+24>>2]=e;z[b+28>>2]=d;d=Jf(c,b+8|0);pg(d,40);c=z[a+16>>2];La[z[z[c>>2]+16>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[c+5|0]|A[c+6|0]<<8)&192)!=64){La[z[z[c>>2]+20>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}rg(d,41);c=z[a+24>>2];a=z[a+20>>2];z[b>>2]=a;z[b+4>>2]=c;z[b+16>>2]=a;z[b+20>>2]=c;Jf(d,b);Fa=b+32|0;Ka=0;return 0}function oc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!sd(z[a+192>>2],125,c)){break a}if(z[a+16>>2]){if(!sd(z[a+192>>2],126,c)){break a}}if(!sd(z[a+192>>2],127,c)){break a}if(!sd(z[a+192>>2],128,c)){break a}if(!sd(z[a+192>>2],129,c)){break a}g=z[a+192>>2];f=z[g>>2];e=z[g+8>>2];d=1;b:{if(!f){break b}if((f|0)!=1){j=f&-2;while(1){h=0;if(d){h=(La[z[e>>2]](a,0,b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=0;if(h){d=(La[z[e+4>>2]](a,0,b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}e=e+8|0;i=i+2|0;if((i|0)!=(j|0)){continue}break}}if(!(f&1)){break b}if(!d){d=0;break b}d=(La[z[e>>2]](a,0,b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}z[g>>2]=0}return d}function tk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;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;b=Fa-16|0;Fa=b;d=z[a+120>>2];a:{if(!d){sb(g,1,22404,0);d=0;break a}if(z[d+12>>2]){sb(g,1,25420,0);d=0;break a}f=e;e=A[d+18|0];d=e<<2;if(f>>>0>>0){sb(g,1,22371,0);d=0;break a}f=td(d);d=0;if(!f){break a}if(e){d=0;while(1){g=b+12|0;lb(c,g,2);h=f+(d<<2)|0;y[h>>1]=z[b+12>>2];lb(c+2|0,g,1);x[h+2|0]=z[b+12>>2];lb(c+3|0,g,1);x[h+3|0]=z[b+12>>2];c=c+4|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}z[z[a+120>>2]+12>>2]=f;d=1}a=d;Fa=b+16|0;Ka=0;return a|0}function pj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;b=z[a+40>>2];a:{if(b>>>0>=10922){sb(e,1,10350,0);a=0;break a}f=b>>>0<256;z[a+20>>2]=f;d=z[a+52>>2];g=F(b,f?5:6);b=g+6|0;if(b>>>0>C[a+56>>2]){d=xd(d,b);if(!d){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,10455,0);a=0;break a}z[a+56>>2]=b;z[a+52>>2]=d}Id(d,0,b);d=z[a+52>>2];h=z[c+60>>2];z[a+24>>2]=z[c+56>>2];z[a+28>>2]=h;kb(d,65365,2);kb(d+2|0,g+4|0,2);kb(d+4|0,0,1);kb(d+5|0,f?80:96,1);a=(rb(c,z[a+52>>2],b,e)|0)==(b|0)}Ka=0;return a|0}function Rj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;b=Fa-16|0;Fa=b;f=e;e=z[z[a+72>>2]+16>>2];a:{if((f|0)!=(e+2|0)){sb(g,1,10921,0);break a}lb(c,b+12|0,2);if(z[b+12>>2]!=(e|0)){sb(g,1,10921,0);break a}if(!e){d=1;break a}c=c+2|0;a=z[z[a+72>>2]+24>>2];f=0;while(1){lb(c,b+8|0,1);d=z[b+8>>2];h=d&127;i=h+1|0;z[a+24>>2]=i;z[a+32>>2]=d>>>7&1;if(h>>>0>=31){z[b+4>>2]=i;z[b>>2]=f;sb(g,1,30680,b);d=0;break a}a=a+52|0;d=1;c=c+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}Fa=b+16|0;Ka=0;return d|0}function Id(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}x[a|0]=b;d=a+c|0;x[d-1|0]=b;if(c>>>0<3){break a}x[a+2|0]=b;x[a+1|0]=b;x[d-3|0]=b;x[d-2|0]=b;if(c>>>0<7){break a}x[a+3|0]=b;x[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=F(b&255,16843009);z[e>>2]=b;d=c-d&-4;c=d+e|0;z[c-4>>2]=b;if(d>>>0<9){break a}z[e+8>>2]=b;z[e+4>>2]=b;z[c-8>>2]=b;z[c-12>>2]=b;if(d>>>0<25){break a}z[e+24>>2]=b;z[e+20>>2]=b;z[e+16>>2]=b;z[e+12>>2]=b;z[c-16>>2]=b;z[c-20>>2]=b;z[c-24>>2]=b;z[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=po(b,0,1,1);f=Ka;b=e+g|0;while(1){z[b+24>>2]=d;z[b+28>>2]=f;z[b+16>>2]=d;z[b+20>>2]=f;z[b+8>>2]=d;z[b+12>>2]=f;z[b>>2]=d;z[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Pi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;c=z[a+32>>2];b=z[a+28>>2];if(c>>>0>b+7>>>0){while(1){La[z[a+36>>2]](z[a+24>>2]+(b<<2)|0,0,z[a>>2],0,z[a+16>>2],0,!z[a+12>>2],0,z[a+20>>2],0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=b+15|0;b=b+8|0;c=z[a+32>>2];if(d>>>0>>0){continue}break}}if(b>>>0>>0){La[z[a+36>>2]](z[a+24>>2]+(b<<2)|0,0,z[a>>2],0,z[a+16>>2],0,!z[a+12>>2],0,z[a+20>>2],0,c-b|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}le(z[a>>2]);le(a);Ka=0;return 0}function Ej(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;b=Fa-16|0;Fa=b;h=z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2];d=z[a+72>>2];f=C[d+16>>2]<257?1:2;a:{if(f>>>0>=e>>>0){d=0;sb(g,1,11051,0);break a}z[b+12>>2]=(f^-1)+e;lb(c,b+8|0,f);e=z[b+8>>2];if(e>>>0>=C[d+16>>2]){d=0;sb(g,1,28705,0);break a}d=1;c=c+f|0;lb(c,z[h+5584>>2]+F(e,1080)|0,1);if(!rc(a,z[b+8>>2],c+1|0,b+12|0,g)){d=0;sb(g,1,11051,0);break a}if(!z[b+12>>2]){break a}d=0;sb(g,1,11051,0)}Fa=b+16|0;Ka=0;return d|0}function nk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a:{if(z[a+100>>2]!=1){sb(g,1,25263,0);a=0;break a}b:{if(e>>>0<=7){break b}lb(c,a+56|0,4);lb(c+4|0,a+60|0,4);if(e&3){break b}d=e-8|0;b=d>>>2|0;z[a+64>>2]=b;c:{if(d>>>0>=4){b=ud(b,4);z[a+68>>2]=b;if(!b){break c}b=z[a+64>>2]}if(b){c=c+8|0;b=0;while(1){lb(c,z[a+68>>2]+(b<<2)|0,4);c=c+4|0;b=b+1|0;if(b>>>0>2]){continue}break}}z[a+100>>2]=z[a+100>>2]|2;a=1;break a}sb(g,1,7399,0);a=0;break a}sb(g,1,13179,0);a=0}Ka=0;return a|0}function Hj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;a:{b:{h=b+8|0;c:{if(C[z[a+72>>2]+16>>2]<=256){if(e){d=-1;f=1;break c}sb(g,1,11116,0);a=0;break a}if(e>>>0<=1){break b}d=-2;f=2}lb(c,h,f);z[b+12>>2]=d+e;d=z[b+8>>2];e=z[z[a+72>>2]+16>>2];if(d>>>0>=e>>>0){z[b+4>>2]=e;z[b>>2]=d;sb(g,1,20650,b);a=0;break a}if(!sc(a,d,c+f|0,b+12|0,g)){sb(g,1,11116,0);a=0;break a}a=1;if(!z[b+12>>2]){break a}sb(g,1,11116,0);a=0;break a}sb(g,1,11116,0);a=0}Fa=b+16|0;Ka=0;return a|0}function rj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,E,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;b=0;f=z[a+72>>2];g=z[f+16>>2];h=1;a:{if(!g){break a}d=z[z[a+156>>2]+5584>>2];while(1){b:{if(z[d+808>>2]){i=z[z[a+156>>2]+5584>>2];h=z[a+52>>2];kb(h,65374,2);f=g>>>0<257?1:2;kb(h+2|0,f|4,2);g=h+4|0;kb(g,b,f);h=0;g=f+g|0;kb(g,0,1);kb(g+1|0,z[(F(b,1080)+i|0)+808>>2],1);f=f+6|0;if((rb(c,z[a+52>>2],f,e)|0)!=(f|0)){break b}f=z[a+72>>2]}d=d+1080|0;h=1;g=z[f+16>>2];b=b+1|0;if(g>>>0>b>>>0){continue}}break}}a=h;Ka=0;return a|0}function Xn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[a+12>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=Fa-48|0;Fa=b;d=z[a+8>>2];if(d&1){d=Re(b+40|0,1248);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;Jf(c,b+16|0);d=z[a+8>>2]}if(d&2){d=Re(b+32|0,3310);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;Jf(c,b+8|0);d=z[a+8>>2]}if(d&4){a=Re(b+24|0,1536);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b)}Fa=b+48|0;Ka=0;return 0}function qc(a,b,c,d,e,f){var g=0,h=0,i=0;h=Fa-48|0;Fa=h;a:{b:{c:{if(z[a+204>>2]!=(b|0)){sb(f,1,5488,0);break c}i=z[a+108>>2];g=z[a+104>>2];z[h+32>>2]=b+1;z[h+36>>2]=F(g,i);sb(f,4,21150,h+32|0);i=0;z[a+12>>2]=0;g=z[a+208>>2];z[g+12>>2]=z[(z[a+156>>2]+F(b,5644)|0)+5592>>2];z[a+8>>2]=0;if(!cd(g,z[a+204>>2],f)){break c}d:{g=z[a+208>>2];if(!z[z[g+24>>2]+16>>2]){break d}while(1){if(bd(z[z[z[g+20>>2]>>2]+20>>2]+F(i,76)|0)){i=i+1|0;g=z[a+208>>2];if(i>>>0>2]+16>>2]){continue}break d}break}sb(f,1,5572,0);c=0;break a}if(!gd(g,c,d)){sb(f,1,5525,0);c=0;break a}c=1;if(jc(a,e,f)){break a}z[h+16>>2]=b;sb(f,1,21035,h+16|0);break b}z[h>>2]=b;sb(f,1,21093,h)}c=0}Fa=h+48|0;return c}function _b(){var a=0,b=0,c=0,d=0;a:{b=ud(1,232);if(b){z[b>>2]=1;z[b+184>>2]=1;x[b+188|0]=A[b+188|0]|6;a=ud(1,5644);z[b+12>>2]=a;if(!a){break a}a=ud(1,1e3);z[b+16>>2]=a;if(!a){break a}z[b+48>>2]=0;z[b+52>>2]=0;z[b+44>>2]=-1;z[b+20>>2]=1e3;b:{a=ud(1,48);if(a){z[a+24>>2]=0;z[a+32>>2]=100;d=ud(100,24);z[a+28>>2]=d;if(d){break b}le(a)}z[b+200>>2]=0;break a}z[a+40>>2]=0;z[b+200>>2]=a;a=qd();z[b+196>>2]=a;if(!a){break a}a=qd();z[b+192>>2]=a;if(!a){break a}a=0;c=Rd();c:{if(!c){break c}d=wb();if(!Ud(c,3923)){a=d;break c}c=Fd(c);if((c|0)<0){break c}a=d?d<<1:64;a=(a|0)>(c|0)?c:a}a=Ab(a);z[b+212>>2]=a;if(!a){a=Ab(0);z[b+212>>2]=a;if(!a){break a}}}else{b=0}return b}Rb(b);return 0}function bj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;kb(z[a+52>>2],65497,2);if((rb(c,z[a+52>>2],2,e)|0)==2){a=z[c+32>>2];z[c+36>>2]=a;b=z[c+48>>2];a:{if(b){while(1){b=La[z[c+20>>2]](a,0,b,0,z[c>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if((b|0)==-1){z[c+68>>2]=z[c+68>>2]|8;sb(e,4,30882,0);a=0;break a}a=b+z[c+36>>2]|0;z[c+36>>2]=a;b=z[c+48>>2]-b|0;z[c+48>>2]=b;if(b){continue}break}a=z[c+32>>2]}z[c+36>>2]=a;a=1}}else{a=0}Ka=0;return a|0}function Qm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;d=Re(b+24|0,5192);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;c=Jf(c,b+8|0);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=Re(b+16|0,5982);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b);Fa=b+32|0;Ka=0;return 0}function $n(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;d=Re(b+24|0,3889);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;c=Jf(c,b+8|0);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=Re(b+16|0,3887);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b);Fa=b+32|0;Ka=0;return 0}function Bj(a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,r,s,t,u,v,w,y,z,A,B,C,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;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;f=0;if(e){while(1){q(+D[a>>2]);d=l(1)|0;b=l(0)|0;g=b<<24|(b&65280)<<8;h=b&16711680;j=b&-16777216;b=j<<8|h<<24|(((d&255)<<24|b>>>8)&-16777216|((d&16777215)<<8|b>>>24)&16711680|(d>>>8&65280|d>>>24));x[c|0]=b;x[c+1|0]=b>>>8;x[c+2|0]=b>>>16;x[c+3|0]=b>>>24;b=g|(h>>>8|j>>>24);x[c+4|0]=b;x[c+5|0]=b>>>8;x[c+6|0]=b>>>16;x[c+7|0]=b>>>24;c=c+8|0;a=a+4|0;f=f+1|0;if((f|0)!=(e|0)){continue}break}}Ka=0;return 0}function Zl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;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;d=a+360|0;b=d;e=z[b+4>>2]-z[b>>2]>>2;b=z[c+12>>2];g=b>>>0>>0?e:b;a=a+332|0;a:{while(1){if((b|0)!=(g|0)){f=Bf(d,b);if(z[a>>2]==z[a+4>>2]){break a}f=z[z[f>>2]+8>>2];if(!z[Bf(a,0)>>2]){break a}h=z[Bf(a,0)>>2];if(f>>>0>=z[h+4>>2]-z[h>>2]>>2>>>0){break a}f=z[Bf(z[Bf(a,0)>>2],f)>>2];H=z[Bf(d,b)>>2],I=f,z[H+12>>2]=I;b=b+1|0;continue}break}Cf(d,z[c+12>>2])}a=b>>>0>>0;Ka=0;return a|0}function bk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[c+60>>2];f=z[c+56>>2];kb(b+8|0,f-z[a+80>>2]|0,4);kb(b+12|0,1785737827,4);a:{b:{if(!(La[z[c+44>>2]](c,0,z[a+80>>2],z[a+84>>2],e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break b}if((rb(c,b+8|0,8,e)|0)!=8){break b}a=1;if(La[z[c+44>>2]](c,0,f,d,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0){break a}}sb(e,1,24691,0);a=0}Fa=b+16|0;Ka=0;return a|0}function _d(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=Fa-208|0;Fa=f;z[f+204>>2]=c;c=f+160|0;Id(c,0,40);z[f+200>>2]=z[f+204>>2];a:{if(($d(0,b,f+200|0,f+80|0,c,d,e)|0)<0){e=-1;break a}i=z[a+76>>2]>=0;g=z[a>>2];z[a>>2]=g&-33;b:{c:{d:{if(!z[a+48>>2]){z[a+48>>2]=80;z[a+28>>2]=0;z[a+16>>2]=0;z[a+20>>2]=0;h=z[a+44>>2];z[a+44>>2]=f;break d}if(z[a+16>>2]){break c}}c=-1;if(Md(a)){break b}}c=$d(a,b,f+200|0,f+80|0,f+160|0,d,e)}if(h){La[z[a+36>>2]](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[a+48>>2]=0;z[a+44>>2]=h;z[a+28>>2]=0;b=z[a+20>>2];z[a+16>>2]=0;z[a+20>>2]=0;c=b?c:-1}b=a;a=z[a>>2];z[b>>2]=a|g&32;e=a&32?-1:c;if(!i){break a}}Fa=f+208|0;return e}function Gj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;f=0;d=Fa-16|0;Fa=d;z[d+12>>2]=e;a:{if(!(!sc(a,0,c,d+12|0,g)|z[d+12>>2])){f=1;if(C[z[a+72>>2]+16>>2]<2){break a}c=z[(z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2])+5584>>2];g=c+28|0;e=1;b=c;while(1){z[b+1104>>2]=z[c+24>>2];z[b+1884>>2]=z[c+804>>2];Gd(b+1108|0,g,776);b=b+1080|0;e=e+1|0;if(e>>>0>2]+16>>2]){continue}break}break a}sb(g,1,10856,0)}Fa=d+16|0;Ka=0;return f|0}function Xm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-48|0;Fa=b;d=b+40|0;z[d>>2]=c+20;z[d+4>>2]=z[c+20>>2];z[c+20>>2]=0;e=Re(b+32|0,5164);f=z[e+4>>2];z[b+16>>2]=z[e>>2];z[b+20>>2]=f;c=Jf(c,b+16|0);z[16214]=0;Ba(312,a+12|0,c|0);a=z[16214];z[16214]=0;a:{if((a|0)!=1){a=Re(b+24|0,6680);e=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=e;Jf(c,b+8|0);z[z[d>>2]>>2]=z[d+4>>2];Fa=b+48|0;break a}a=wa()|0;z[z[d>>2]>>2]=z[d+4>>2];xa(a|0);r()}Ka=0;return 0}function In(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-48|0;Fa=b;d=b+40|0;z[d>>2]=c+20;z[d+4>>2]=z[c+20>>2];z[c+20>>2]=0;e=Re(b+32|0,5193);f=z[e+4>>2];z[b+16>>2]=z[e>>2];z[b+20>>2]=f;c=Jf(c,b+16|0);z[16214]=0;Ba(312,a+8|0,c|0);a=z[16214];z[16214]=0;a:{if((a|0)!=1){a=Re(b+24|0,4919);e=z[a+4>>2];z[b+8>>2]=z[a>>2];z[b+12>>2]=e;Jf(c,b+8|0);z[z[d>>2]>>2]=z[d+4>>2];Fa=b+48|0;break a}a=wa()|0;z[z[d>>2]>>2]=z[d+4>>2];xa(a|0);r()}Ka=0;return 0}function eb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=z[a+8>>2];c=z[a+4>>2];if(e-c>>>0>=b>>>0){if(b){c=Id(c,0,b)+b|0}z[a+4>>2]=c;return}h=z[a>>2];f=c-h|0;d=f+b|0;if((d|0)>=0){e=e-h|0;g=e<<1;d=e>>>0>=1073741823?2147483647:d>>>0>>0?g:d;if(d){i=qe(d)}e=d+i|0;g=b;d=f+i|0;b=Id(d,0,b);g=g+b|0;a:{if((c|0)==(h|0)){i=b;break a}j=(h^-1)+c|0;f=f&3;if(f){b=0;while(1){d=d-1|0;c=c-1|0;x[d|0]=A[c|0];b=b+1|0;if((f|0)!=(b|0)){continue}break}}if(j>>>0>=3){while(1){x[d-1|0]=A[c-1|0];x[d-2|0]=A[c-2|0];x[d-3|0]=A[c-3|0];d=d-4|0;c=c-4|0;x[d|0]=A[c|0];if((c|0)!=(h|0)){continue}break}}c=z[a>>2]}z[a+8>>2]=e;z[a+4>>2]=g;z[a>>2]=i;if(c){le(c)}return}gb();r()}function lk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,C,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;e=0;f=F(B[z[a+116>>2]+4>>1],6)+10|0;b=td(f);if(b){kb(b,f,4);kb(b+4|0,1667523942,4);kb(b+8|0,B[z[a+116>>2]+4>>1],2);g=z[a+116>>2];if(B[g+4>>1]){d=b+10|0;while(1){h=F(e,6);kb(d,B[h+z[g>>2]>>1],2);kb(d+2|0,B[(z[z[a+116>>2]>>2]+h|0)+2>>1],2);kb(d+4|0,B[(z[z[a+116>>2]>>2]+h|0)+4>>1],2);d=d+6|0;e=e+1|0;g=z[a+116>>2];if(e>>>0>1]){continue}break}}z[c>>2]=f}Ka=0;return b|0}function cj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,E,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;b=0;d=z[a+40>>2];f=z[a+20>>2];g=z[c+56>>2];h=z[c+60>>2];i=z[a+28>>2];k=i+1|0;j=i;i=z[a+24>>2]+6|0;a:{if(!(La[z[c+44>>2]](c,0,i,i>>>0<6?k:j,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break a}i=z[a+32>>2];a=F(f?5:6,d);if((rb(c,i,a,e)|0)!=(a|0)){break a}b=(La[z[c+44>>2]](c,0,g,h,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}Ka=0;return b|0}function yn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-48|0;Fa=b;d=z[a+8>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=Re(b+40|0,5195);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;d=Jf(c,b+16|0);c=z[a+16>>2];a=z[a+12>>2];z[b+8>>2]=a;z[b+12>>2]=c;z[b+32>>2]=a;z[b+36>>2]=c;a=Jf(d,b+8|0);c=Re(b+24|0,3887);d=z[c+4>>2];z[b>>2]=z[c>>2];z[b+4>>2]=d;Jf(a,b);Fa=b+48|0;Ka=0;return 0}function ei(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a=qe(112);z[a>>2]=0;z[a+4>>2]=0;z[a+56>>2]=0;z[a+60>>2]=0;z[a+40>>2]=0;z[a+44>>2]=0;x[a+36|0]=1;z[a+32>>2]=5;z[a+100>>2]=0;z[a+104>>2]=0;z[a+92>>2]=64;z[a+96>>2]=64;z[a+16>>2]=0;z[a+20>>2]=0;z[a+8>>2]=0;z[a+12>>2]=0;z[a+48>>2]=0;z[a+52>>2]=2;b=a- -64|0;z[b>>2]=0;z[b+4>>2]=0;z[a+72>>2]=0;z[a+76>>2]=0;z[a+80>>2]=0;z[a+84>>2]=0;z[a+88>>2]=0;z[a+108>>2]=0;Ka=0;return a|0}function wc(a,b,c,d,e,f){var g=0,h=0;g=1;a:{b:{c:{h=z[(F(b,5644)+a|0)+5584>>2];a=h+F(c,1080)|0;b=z[a+24>>2];if((b|0)==1){break c}a=F(z[a+4>>2],3);g=a-2|0;if(b){break c}b=a-1|0;if(b>>>0>C[e>>2]){break a}a=1;f=F(c,1080)+h|0;kb(d,z[f+804>>2]<<5,1);if(!g){break b}c=0;while(1){d=d+1|0;kb(d,z[(f+(c<<3)|0)+28>>2]<<3,1);c=c+1|0;if((g|0)!=(c|0)){continue}break}a=b;break b}a=g<<1|1;if(a>>>0>C[e>>2]){break a}f=b;b=F(c,1080)+h|0;kb(d,f+(z[b+804>>2]<<5)|0,1);if(!g){break b}c=d+1|0;d=0;while(1){f=b+(d<<3)|0;kb(c,(z[f+28>>2]<<11)+z[f+32>>2]|0,2);c=c+2|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}z[e>>2]=z[e>>2]-a;return 1}sb(f,1,7876,0);return 0}function Fj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,E,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;f=e;d=z[z[a+72>>2]+16>>2];e=d>>>0<257?1:2;a:{if((f|0)!=(e+2|0)){a=0;sb(g,1,10217,0);break a}f=z[a+8>>2]==16?z[a+156>>2]+F(z[a+204>>2],5644)|0:z[a+12>>2];lb(c,b+12|0,e);a=1;e=c+e|0;lb(e,b+8|0,1);c=z[b+12>>2];if(c>>>0>=d>>>0){z[b+4>>2]=d;z[b>>2]=c;sb(g,1,29747,b);a=0;break a}lb(e+1|0,(z[f+5584>>2]+F(c,1080)|0)+808|0,1)}Fa=b+16|0;Ka=0;return a|0}function go(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=z[a+12>>2];e=z[a+8>>2];z[b>>2]=e;z[b+4>>2]=d;z[b+8>>2]=e;z[b+12>>2]=d;c=Pe(Jf(c,b),32);a=z[a+16>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function Il(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa+-64|0;Fa=b;d=1;a:{if(ze(a,c,0)){break a}d=0;if(!c){break a}c=Ae(c,51924);d=0;if(!c){break a}Id(b+12|0,0,52);z[b+56>>2]=1;z[b+20>>2]=-1;z[b+16>>2]=a;z[b+8>>2]=c;La[z[z[c>>2]+28>>2]](c,0,b+8|0,0,z[e>>2],0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=z[b+32>>2];if((a|0)==1){z[e>>2]=z[b+24>>2]}d=(a|0)==1}a=d;Fa=b- -64|0;Ka=0;return a|0}function lm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=z[a+12>>2];e=z[a+8>>2];z[b>>2]=e;z[b+4>>2]=d;z[b+8>>2]=e;z[b+12>>2]=d;c=Jf(c,b);a=z[a+16>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function lc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=z[a+156>>2]+F(z[a+204>>2],5644)|0;l=z[f+5584>>2];i=z[f+420>>2];h=z[z[a+72>>2]+16>>2];kb(b,65375,2);a=i+1|0;e=h>>>0<257?1:2;j=F(a,(e<<1)+5|0);kb(b+2|0,j+2|0,2);if(a){b=b+4|0;a=f+424|0;while(1){kb(b,z[a>>2],1);b=b+1|0;kb(b,z[a+4>>2],e);b=b+e|0;kb(b,z[a+8>>2],2);kb(b+2|0,z[a+12>>2],1);b=b+3|0;kb(b,z[a+16>>2],e);g=b+e|0;kb(g,z[a+36>>2],1);b=z[a+8>>2];d=z[f+8>>2];z[a+8>>2]=(b|0)<(d|0)?b:d;b=z[l+4>>2];d=z[a+16>>2];z[a+16>>2]=(d|0)<(h|0)?d:h;d=z[a+12>>2];z[a+12>>2]=(b|0)>(d|0)?d:b;a=a+148|0;b=g+1|0;g=(i|0)!=(k|0);k=k+1|0;if(g){continue}break}}z[c>>2]=j+4} +function Jd(a){a=a|0;var b=0,c=0,d=0;if(!a){if(z[15592]){b=Jd(z[15592])}if(z[15554]){b=Jd(z[15554])|b}a=z[15793];if(a){while(1){if(z[a+20>>2]!=z[a+28>>2]){b=Jd(a)|b}a=z[a+56>>2];if(a){continue}break}}return b|0}d=z[a+76>>2]>=0;a:{b:{if(z[a+20>>2]==z[a+28>>2]){break b}La[z[a+36>>2]](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(z[a+20>>2]){break b}b=-1;break a}b=z[a+8>>2];c=z[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;La[z[a+40>>2]](a,0,b,b>>31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b=0;z[a+28>>2]=0;z[a+16>>2]=0;z[a+20>>2]=0;z[a+4>>2]=0;z[a+8>>2]=0;if(!d){break a}}return b|0}function Wm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a+8>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=z[a+12>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function Fh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;f=0;d=B[c+26>>1];b=a;c=B[c+24>>1];z[a>>2]=c;if(e){g=e&3;a:{if(!g){a=e;break a}a=e;while(1){a=a-1|0;d=d+1>>>1|0;c=c+1>>>1|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}if(e>>>0>=4){while(1){d=(((d+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;c=(((c+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;a=a-4|0;if(a){continue}break}}z[b>>2]=c}z[b+4>>2]=d;Ka=0;return 0}function ek(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=0;f=(z[a+64>>2]<<2)+16|0;b=ud(1,f);a:{if(!b){sb(e,1,21280,0);a=0;break a}kb(b,f,4);kb(b+4|0,1718909296,4);kb(b+8|0,z[a+56>>2],4);kb(b+12|0,z[a+60>>2],4);if(z[a+64>>2]){g=b+16|0;while(1){kb(g,z[z[a+68>>2]+(d<<2)>>2],4);d=d+1|0;if(d>>>0>2]){continue}break}}a=(rb(c,b,f,e)|0)==(f|0);if(!a){sb(e,1,12488,0)}le(b)}Ka=0;return a|0}function sn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,5217);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function rn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,6787);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function qn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,6352);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function mn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,6323);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function Zn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,1564);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=b+16|0;Ka=0;return 0}function qj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;f=Fa-16|0;Fa=f;b=z[a+52>>2];d=F(z[(z[a+156>>2]+F(z[a+204>>2],5644)|0)+420>>2]+1|0,C[z[a+72>>2]+16>>2]<257?7:9)+4|0;a:{if(d>>>0>C[a+56>>2]){b=xd(b,d);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,11012,0);a=0;break a}z[a+56>>2]=d;z[a+52>>2]=b}lc(a,b,f+12|0);a=(rb(c,z[a+52>>2],d,e)|0)==(d|0)}Fa=f+16|0;Ka=0;return a|0}function Kl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a:{if(ze(a,z[c+8>>2],i)){if(!(z[c+28>>2]==1|z[c+4>>2]!=(e|0))){z[c+28>>2]=g}break a}b:{if(!ze(a,z[c>>2],i)){break b}if(!(z[c+16>>2]!=(e|0)&z[c+20>>2]!=(e|0))){if((g|0)!=1){break b}z[c+32>>2]=1;break a}z[c+20>>2]=e;z[c+32>>2]=g;z[c+40>>2]=z[c+40>>2]+1;if(!(z[c+36>>2]!=1|z[c+24>>2]!=2)){x[c+54|0]=1}z[c+44>>2]=4}}Ka=0;return 0}function Hc(a,b,c,d,e){var f=0;a:{if((a|0)<0){break a}b=(z[b+76>>2]+F(c,5644)|0)+F(d,148)|0;b:while(1){d=a;while(1){c:{d:{e:{switch(x[d+e|0]-67|0){case 15:d=a;if(z[b+552>>2]==z[b+512>>2]){break d}return 1;case 0:d=a;if(z[b+556>>2]==z[b+516>>2]){break d}return 1;case 9:d=a;if(z[b+548>>2]==z[b+508>>2]){break d}return 1;case 13:break e;default:break c}}if(C[b+460>>2]<=1){if(z[b+560>>2]==z[b+520>>2]){break d}return 1}f=1;if(z[b+564>>2]!=z[b+528>>2]|z[b+568>>2]!=z[b+536>>2]){break a}}a=d-1|0;f=0;if((d|0)>0){continue b}break a}c=(d|0)>0;d=d-1|0;if(c){continue}break}break}}return f}function Ac(a){var b=0,c=0;if(a){Rb(z[a>>2]);z[a>>2]=0;b=z[a+72>>2];if(b){le(b);z[a+72>>2]=0}b=z[a+68>>2];if(b){le(b);z[a+68>>2]=0}b=z[a+108>>2];if(b){le(b);z[a+108>>2]=0}b=z[a+116>>2];if(b){c=z[b>>2];if(c){le(c);b=z[a+116>>2];z[b>>2]=0}le(b);z[a+116>>2]=0}b=z[a+120>>2];if(b){c=z[b+12>>2];if(c){le(c);b=z[a+120>>2];z[b+12>>2]=0}c=z[b+4>>2];if(c){le(c);b=z[a+120>>2];z[b+4>>2]=0}c=z[b+8>>2];if(c){le(c);b=z[a+120>>2];z[b+8>>2]=0}c=z[b>>2];if(c){le(c);b=z[a+120>>2];z[b>>2]=0}le(b);z[a+120>>2]=0}b=z[a+4>>2];if(b){rd(b);z[a+4>>2]=0}b=z[a+8>>2];if(b){rd(b);z[a+8>>2]=0}le(a)}}function vl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a+84>>2];d=z[b>>2];f=z[b+4>>2];h=z[a+28>>2];g=z[a+20>>2]-h|0;g=f>>>0>>0?f:g;if(g){Gd(d,h,g);d=g+z[b>>2]|0;z[b>>2]=d;f=z[b+4>>2]-g|0;z[b+4>>2]=f}f=e>>>0>f>>>0?f:e;if(f){Gd(d,c,f);d=f+z[b>>2]|0;z[b>>2]=d;z[b+4>>2]=z[b+4>>2]-f}x[d|0]=0;b=z[a+44>>2];z[a+28>>2]=b;z[a+20>>2]=b;Ka=0;return e|0}function En(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;if(z[c+16>>2]==-1){b=z[a+12>>2];z[c+12>>2]=0;z[c+16>>2]=b}b=z[c+12>>2];if(b>>>0>2]){a=z[z[a+8>>2]+(b<<2)>>2];b=(A[a+5|0]|A[a+6|0]<<8)>>>10&3;a:{if((b|0)!=2){a=!b;break a}a=La[z[z[a>>2]+8>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}else{a=0}Ka=0;return a|0}function wm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;a:{d=Fa-16|0;Fa=d;b:{if(!A[a+16|0]){b=d+8|0;z[b>>2]=a+16;x[b+4|0]=A[a+16|0];x[a+16|0]=1;a=z[a+12>>2];e=z[z[a>>2]+12>>2];z[16214]=0;a=ua(e|0,a|0,c|0)|0;c=z[16214];z[16214]=0;if((c|0)==1){break b}x[z[b>>2]]=A[b+4|0]}Fa=d+16|0;break a}a=wa()|0;x[z[b>>2]]=A[b+4|0];xa(a|0);r()}Ka=0;return a|0}function sj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a+52>>2];g=z[a+100>>2];f=Wd(g);d=f+6|0;a:{if(d>>>0>C[a+56>>2]){b=xd(b,d);if(!b){le(z[a+52>>2]);z[a+52>>2]=0;z[a+56>>2]=0;sb(e,1,10307,0);a=0;break a}z[a+56>>2]=d;z[a+52>>2]=b}kb(b,65380,2);kb(b+2|0,f+4|0,2);kb(b+4|0,1,2);Gd(b+6|0,g,f);a=(rb(c,z[a+52>>2],d,e)|0)==(d|0)}Ka=0;return a|0}function Hm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;pg(c,40);b=z[a+8>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}rg(c,41);pg(c,40);sg(a+12|0,c);rg(c,41);Ka=0;return 0}function gn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a+8>>2];if(b){La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}b=a+12|0;a=Pe(c,123);sg(b,a);Pe(a,125);Ka=0;return 0}function Xb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;g=Fa-32|0;Fa=g;f=z[a+72>>2];a:{if(!f){sb(d,1,28390,0);e=0;break a}f=ud(4,z[f+16>>2]);e=0;if(!f){break a}if(b){j=z[a+72>>2];while(1){b:{e=z[(h<<2)+c>>2];c:{if(e>>>0>=C[j+16>>2]){z[g+16>>2]=e;sb(d,1,7606,g+16|0);break c}i=f+(e<<2)|0;if(!z[i>>2]){break b}z[g>>2]=e;sb(d,1,9172,g)}le(f);e=0;break a}z[i>>2]=1;h=h+1|0;if((h|0)!=(b|0)){continue}break}}le(f);le(z[a- -64>>2]);d:{if(b){e=b<<2;d=td(e);z[a+64>>2]=d;if(!d){z[a+60>>2]=0;e=0;break a}Gd(d,c,e);break d}z[a+64>>2]=0}z[a+60>>2]=b;e=1}Fa=g+32|0;return e}function ym(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;d=Fa-16|0;Fa=d;a:{b:{if(!A[a+16|0]){b=d+8|0;z[b>>2]=a+16;x[b+4|0]=A[a+16|0];x[a+16|0]=1;a=z[a+12>>2];e=z[z[a>>2]+20>>2];z[16214]=0;Ba(e|0,a|0,c|0);a=z[16214];z[16214]=0;if((a|0)==1){break b}x[z[b>>2]]=A[b+4|0]}Fa=d+16|0;break a}a=wa()|0;x[z[b>>2]]=A[b+4|0];xa(a|0);r()}Ka=0;return 0}function xm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;d=Fa-16|0;Fa=d;a:{b:{if(!A[a+16|0]){b=d+8|0;z[b>>2]=a+16;x[b+4|0]=A[a+16|0];x[a+16|0]=1;a=z[a+12>>2];e=z[z[a>>2]+16>>2];z[16214]=0;Ba(e|0,a|0,c|0);a=z[16214];z[16214]=0;if((a|0)==1){break b}x[z[b>>2]]=A[b+4|0]}Fa=d+16|0;break a}a=wa()|0;x[z[b>>2]]=A[b+4|0];xa(a|0);r()}Ka=0;return 0}function An(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;if(A[a+12|0]){d=Re(b+24|0,1032);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;Jf(c,b+8|0)}a=z[a+8>>2];La[z[z[a>>2]+24>>2]](b+16|0,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=z[b+20>>2];z[b>>2]=z[b+16>>2];z[b+4>>2]=a;Jf(c,b);Fa=b+32|0;Ka=0;return 0}function rk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;b=Fa-16|0;Fa=b;d=z[a+24>>2];if((d|0)!=255){z[b>>2]=d;sb(g,2,7909,b)}a:{b:{if(z[a+20>>2]==(e|0)){if(e){break b}d=1;break a}d=0;sb(g,1,29334,0);break a}e=0;while(1){d=1;lb(c,(z[a+72>>2]+F(e,12)|0)+8|0,1);c=c+1|0;e=e+1|0;if(e>>>0>2]){continue}break}}Fa=b+16|0;Ka=0;return d|0}function _j(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,B,C,E,F,I,J,K,L){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;B=B|0;C=C|0;E=E|0;F=F|0;I=I|0;J=J|0;K=K|0;L=L|0;var M=G(0);d=0;b=Fa-16|0;Fa=b;if(e){while(1){x[b+15|0]=A[a|0];x[b+14|0]=A[a+1|0];x[b+13|0]=A[a+2|0];x[b+12|0]=A[a+3|0];M=D[b+12>>2];a:{if(G(H(M))>2]=f;c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Fa=b+16|0;Ka=0;return 0}function _m(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-48|0;Fa=b;d=Re(b+40|0,3817);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;d=Jf(c,b+16|0);c=z[a+28>>2];e=z[a+24>>2];z[b+8>>2]=e;z[b+12>>2]=c;z[b+32>>2]=e;z[b+36>>2]=c;c=Jf(d,b+8|0);d=Re(b+24|0,5942);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;zg(a,Jf(c,b));Fa=b+48|0;Ka=0;return 0}function Rd(){var a=0,b=0,c=0,d=0;b=3948;a=z[987];a:{if((a^-1)&a-16843009&-2139062144){break a}while(1){a=a^1027423549;if((a^-1)&a-16843009&-2139062144){break a}a=z[b+4>>2];b=b+4|0;if(!(a-16843009&(a^-1)&-2139062144)){continue}break}}while(1){a=b;c=A[a|0];if(c){b=a+1|0;if((c|0)!=61){continue}}break}if((a|0)==3948){return 0}c=a-3948|0;b:{if(A[c+3948|0]){break b}b=z[15615];if(!b){break b}a=z[b>>2];if(!a){break b}while(1){c:{if(!Xd(3948,a,c)){a=c+z[b>>2]|0;if(A[a|0]==61){break c}}a=z[b+4>>2];b=b+4|0;if(a){continue}break b}break}d=a+1|0}return d}function vm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;a:{d=0;e=Fa-16|0;Fa=e;b:{if(!A[a+16|0]){b=e+8|0;z[b>>2]=a+16;x[b+4|0]=A[a+16|0];x[a+16|0]=1;a=z[a+12>>2];z[16214]=0;d=ua(310,a|0,c|0)|0;a=z[16214];z[16214]=0;if((a|0)==1){break b}x[z[b>>2]]=A[b+4|0]}Fa=e+16|0;a=d;break a}a=wa()|0;x[z[b>>2]]=A[b+4|0];xa(a|0);r()}Ka=0;return a|0}function um(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;a:{d=0;e=Fa-16|0;Fa=e;b:{if(!A[a+16|0]){b=e+8|0;z[b>>2]=a+16;x[b+4|0]=A[a+16|0];x[a+16|0]=1;a=z[a+12>>2];z[16214]=0;d=ua(309,a|0,c|0)|0;a=z[16214];z[16214]=0;if((a|0)==1){break b}x[z[b>>2]]=A[b+4|0]}Fa=e+16|0;a=d;break a}a=wa()|0;x[z[b>>2]]=A[b+4|0];xa(a|0);r()}Ka=0;return a|0}function tm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;a:{d=0;e=Fa-16|0;Fa=e;b:{if(!A[a+16|0]){b=e+8|0;z[b>>2]=a+16;x[b+4|0]=A[a+16|0];x[a+16|0]=1;a=z[a+12>>2];z[16214]=0;d=ua(308,a|0,c|0)|0;a=z[16214];z[16214]=0;if((a|0)==1){break b}x[z[b>>2]]=A[b+4|0]}Fa=e+16|0;a=d;break a}a=wa()|0;x[z[b>>2]]=A[b+4|0];xa(a|0);r()}Ka=0;return a|0}function ol(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;c=0;b=z[a+24>>2];if(b){d=z[a+28>>2];if(d>>>0>=52){d=(d>>>0)/52|0;while(1){e=z[b>>2];if(e){le(e-1|0);z[b>>2]=0}e=z[b+4>>2];if(e){le(e);z[b+4>>2]=0}e=z[b+8>>2];if(e){le(e);z[b+8>>2]=0}b=b+52|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}b=z[a+24>>2]}le(b);z[a+24>>2]=0}Ka=0;return 0}function Im(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;qg(z[a+8>>2],c,(A[a+5|0]|A[a+6|0]<<8)<<26>>26,0);d=Re(b+24|0,6734);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;c=Jf(c,b+8|0);qg(z[a+12>>2],c,19,0);d=Re(b+16|0,6754);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);qg(z[a+16>>2],c,17,1);Fa=b+32|0;Ka=0;return 0}function Mj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;a=Fa-16|0;Fa=a;a:{if(!e){sb(g,1,9960,0);f=0;break a}lb(c,a+12|0,1);e=e-1|0;f=1;if(!e){break a}b=0;while(1){c=c+1|0;lb(c,a+8|0,1);f=z[a+8>>2];b=f<<24>>31&(f&127|b)<<7;d=d+1|0;if((e|0)!=(d|0)){continue}break}f=1;if(!b){break a}sb(g,1,9960,0);f=0}Fa=a+16|0;Ka=0;return f|0}function Dn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;if(z[c+16>>2]==-1){b=z[a+12>>2];z[c+12>>2]=0;z[c+16>>2]=b}b=z[c+12>>2];if(b>>>0>2]){a=z[z[a+8>>2]+(b<<2)>>2];b=A[a+6|0]&3;a:{if((b|0)!=2){a=!b;break a}a=La[z[z[a>>2]+4>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}else{a=0}Ka=0;return a|0}function Rm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-48|0;Fa=b;d=Re(b+40|0,3735);e=z[d+4>>2];z[b+16>>2]=z[d>>2];z[b+20>>2]=e;d=Jf(c,b+16|0);c=z[a+12>>2];a=z[a+8>>2];z[b+8>>2]=a;z[b+12>>2]=c;z[b+32>>2]=a;z[b+36>>2]=c;a=Jf(d,b+8|0);c=Re(b+24|0,5942);d=z[c+4>>2];z[b>>2]=z[c>>2];z[b+4>>2]=d;Jf(a,b);Fa=b+48|0;Ka=0;return 0}function Gm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a+8>>2];La[z[z[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}pg(c,40);sg(a+12|0,c);rg(c,41);Ka=0;return 0}function jb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=z[a+8>>2];c=z[a+4>>2];if(d-c>>3>>>0>=b>>>0){if(b){b=b<<3;c=Id(c,0,b)+b|0}z[a+4>>2]=c;return}a:{f=z[a>>2];g=c-f>>3;e=g+b|0;if(e>>>0<536870912){d=d-f|0;h=d>>2;d=d>>>0>=2147483640?536870911:e>>>0>>0?h:e;if(d){if(d>>>0>=536870912){break a}i=qe(d<<3)}e=(g<<3)+i|0;b=b<<3;b=Id(e,0,b)+b|0;if((c|0)!=(f|0)){while(1){c=c-8|0;g=z[c+4>>2];e=e-8|0;z[e>>2]=z[c>>2];z[e+4>>2]=g;if((c|0)!=(f|0)){continue}break}c=z[a>>2]}z[a+8>>2]=(d<<3)+i;z[a+4>>2]=b;z[a>>2]=e;if(c){le(c)}return}gb();r()}Ya();r()}function ag(a){var b=0,c=0,d=0,e=0;b=Fa+-64|0;Fa=b;c=Re(b+56|0,3912);d=z[c+4>>2];z[b+24>>2]=z[c>>2];z[b+28>>2]=d;a:{if(Se(a,b+24|0)){e=kf(a,1802);break a}c=Re(b+48|0,2379);d=z[c+4>>2];z[b+16>>2]=z[c>>2];z[b+20>>2]=d;if(Se(a,b+16|0)){Mf(a);Ve(b+40|0,a,0);if(!Ue(a,95)){break a}e=hg(a,b+40|0);break a}c=Re(b+32|0,4006);d=z[c+4>>2];z[b+8>>2]=z[c>>2];z[b+12>>2]=d;if(!Se(a,b+8|0)){break a}c=b+40|0;Ve(c,a,0);if(z[c>>2]==z[c+4>>2]){break a}if(!Ue(a,112)){break a}Mf(a);Ve(b+40|0,a,0);if(!Ue(a,95)){break a}e=hg(a,b+40|0)}Fa=b- -64|0;return e}function nl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;c=0;b=z[a+24>>2];if(b){d=z[a+28>>2];if(d>>>0>=64){d=d>>>6|0;while(1){e=z[b>>2];if(e){le(e);z[b>>2]=0}e=z[b+4>>2];if(e){le(e);z[b+4>>2]=0}le(z[b+60>>2]);z[b+60>>2]=0;b=b- -64|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}b=z[a+24>>2]}le(b);z[a+24>>2]=0}Ka=0;return 0}function Qi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;b=z[a+28>>2];if(b>>>0>2]){while(1){La[z[a+36>>2]](z[a+24>>2]+(F(z[a+20>>2],b)<<2)|0,0,z[a>>2],0,z[a+16>>2],0,!z[a+12>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+1|0;if(b>>>0>2]){continue}break}}le(z[a>>2]);le(a);Ka=0;return 0}function qg(a,b,c,d){if(c+d>>>0<=(A[a+5|0]|A[a+6|0]<<8)<<26>>26>>>0){pg(b,40);La[z[z[a>>2]+16>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}rg(b,41);return}La[z[z[a>>2]+16>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}function Si(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=z[a+32>>2];b=z[a+28>>2];c=b+8|0;if(d>>>0>=c>>>0){while(1){Jb(a,z[a+24>>2]+(b<<2)|0,z[a+20>>2],8);d=z[a+32>>2];b=c;c=b+8|0;if(d>>>0>=c>>>0){continue}break}}if(b>>>0>>0){Jb(a,z[a+24>>2]+(b<<2)|0,z[a+20>>2],d-b|0)}le(z[a>>2]);le(a);Ka=0;return 0}function zh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;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;b=Fa-16|0;Fa=b;f=z[c+4>>2];d=z[c>>2];g=f-d|0;a:{if(g>>>0>>0){eb(c,e-g|0);d=z[c>>2];f=z[c+4>>2];break a}if(e>>>0>=g>>>0){break a}f=d+e|0;z[c+4>>2]=f}z[b+12>>2]=d;z[b+8>>2]=f-d;H=a,I=Y(32600,b+8|0)|0,z[H>>2]=I;Fa=b+16|0;Ka=0;return 0}function kk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=ud(1,22);if(b){kb(b,22,4);kb(b+4|0,1768449138,4);kb(b+8|0,z[a+16>>2],4);kb(b+12|0,z[a+12>>2],4);kb(b+16|0,z[a+20>>2],2);kb(b+18|0,z[a+24>>2],1);kb(b+19|0,z[a+28>>2],1);kb(b+20|0,z[a+32>>2],1);kb(b+21|0,z[a+36>>2],1);z[c>>2]=22}Ka=0;return b|0}function jh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;e=b+4|0;La[a|0](e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;c=A[b+15|0];f=c<<24>>24;a=(f|0)<0;c=a?z[b+8>>2]:c;d=ke(c+4|0);z[d>>2]=c;g=z[b+4>>2];Gd(d+4|0,a?g:e,c);if((f|0)<0){le(g)}Fa=b+16|0;Ka=0;return d|0}function pi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a>>2];a=z[a+4>>2];c=c+(a>>1)|0;d=a&1?z[d+z[c>>2]>>2]:d;a=z[e+4>>2];e=z[e>>2];z[b>>2]=e;z[b+4>>2]=a;z[b+8>>2]=e;z[b+12>>2]=a;La[d|0](c,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Fa=b+16|0;Ka=0;return 0}function ni(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a>>2];a=z[a+4>>2];c=c+(a>>1)|0;d=a&1?z[d+z[c>>2]>>2]:d;a=z[g+4>>2];f=z[g>>2];z[b>>2]=f;z[b+4>>2]=a;z[b+8>>2]=f;z[b+12>>2]=a;La[d|0](c,0,e,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Fa=b+16|0;Ka=0;return 0}function Um(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function Pd(a,b,c){var d=0,e=0,f=0;d=z[c+16>>2];a:{if(!d){if(Md(c)){break a}d=z[c+16>>2]}f=z[c+20>>2];if(d-f>>>0>>0){return La[z[c+36>>2]](c,0,a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b:{if(z[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(A[e+a|0]!=10){continue}break}e=La[z[c+36>>2]](c,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=z[c+20>>2]}Gd(f,a,b);z[c+20>>2]=z[c+20>>2]+b;e=b+d|0}return e}function _n(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;if(!A[a+12|0]){d=Re(b+24|0,6724);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;Jf(c,b+8|0)}d=Re(b+16|0,1426);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);pg(c,40);qg(z[a+8>>2],c,19,0);rg(c,41);Fa=b+32|0;Ka=0;return 0}function Rh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a>>2];e=c;c=z[a+4>>2];a=e+(c>>1)|0;La[(c&1?z[d+z[a>>2]>>2]:d)|0](b+8|0,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=qe(8);c=z[b+12>>2];z[a>>2]=z[b+8>>2];z[a+4>>2]=c;Fa=b+16|0;Ka=0;return a|0}function Gh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a>>2];f=c;c=z[a+4>>2];a=f+(c>>1)|0;La[(c&1?z[d+z[a>>2]>>2]:d)|0](b+8|0,0,a,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=qe(8);c=z[b+12>>2];z[a>>2]=z[b+8>>2];z[a+4>>2]=c;Fa=b+16|0;Ka=0;return a|0}function vc(a,b,c,d,e){var f=0;a:{if(C[d>>2]<=4){break a}b=z[(F(b,5644)+a|0)+5584>>2];kb(c,z[b+4>>2]-1|0,1);kb(c+1|0,z[b+8>>2]-2|0,1);kb(c+2|0,z[b+12>>2]-2|0,1);kb(c+3|0,z[b+16>>2],1);kb(c+4|0,z[b+20>>2],1);f=z[d>>2]-5|0;z[d>>2]=f;if(x[b|0]&1){b:{c:{a=z[b+4>>2];if(a>>>0<=f>>>0){if(a){break c}a=0;break b}break a}c=c+5|0;e=0;while(1){a=b+(e<<2)|0;kb(c,(z[a+944>>2]<<4)+z[a+812>>2]|0,1);c=c+1|0;a=z[b+4>>2];e=e+1|0;if(a>>>0>e>>>0){continue}break}f=z[d>>2]}z[d>>2]=f-a}return 1}sb(e,1,7770,0);return 0}function uc(a,b){var c=0,d=0,e=0,f=0,g=0;f=Fa-32|0;Fa=f;c=z[a+60>>2];a:{b:{if(c){g=1;while(1){e=z[z[a+64>>2]+(d<<2)>>2];if(!z[(z[z[a+76>>2]+24>>2]+F(e,52)|0)+44>>2]){z[f+16>>2]=e;sb(b,2,20542,f+16|0);g=0;c=z[a+60>>2]}d=d+1|0;if(c>>>0>d>>>0){continue}break}break b}g=1;c=z[a+76>>2];e=1;if(!z[c+16>>2]){break a}while(1){if(!z[(z[c+24>>2]+F(d,52)|0)+44>>2]){z[f>>2]=d;sb(b,2,20542,f);g=0;c=z[a+76>>2]}d=d+1|0;if(d>>>0>2]){continue}break}}e=1;if(g){break a}sb(b,1,8149,0);e=0}Fa=f+32|0;return e}function Za(){var a=0,b=0;S(32372,2426,32380,5,32382,6);a=qe(4);z[a>>2]=0;b=qe(4);z[b>>2]=0;T(32372,2884,52312,32385,7,a|0,52312,32389,8,b|0);a=qe(4);z[a>>2]=2;b=qe(4);z[b>>2]=2;T(32372,1452,52312,32385,7,a|0,52312,32389,8,b|0);a=qe(4);z[a>>2]=4;b=qe(4);z[b>>2]=4;T(32372,3282,52276,32385,9,a|0,52276,32389,10,b|0);a=qe(4);z[a>>2]=5;b=qe(4);z[b>>2]=5;T(32372,1392,52276,32385,9,a|0,52276,32389,10,b|0);a=qe(4);z[a>>2]=6;b=qe(4);z[b>>2]=6;T(32372,3726,52252,32385,11,a|0,52252,32389,12,b|0);U(32372)}function Lh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=z[a>>2];d=c;c=z[a+4>>2];a=d+(c>>1)|0;a=La[(c&1?z[b+z[a>>2]>>2]:b)|0](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=qe(8);c=B[a+4>>1]|B[a+6>>1]<<16;z[b>>2]=B[a>>1]|B[a+2>>1]<<16;z[b+4>>2]=c;Ka=0;return b|0}function mk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;a:{if(z[a+100>>2]){sb(g,1,25164,0);a=0;break a}if((e|0)!=4){sb(g,1,13215,0);a=0;break a}lb(c,b+12|0,4);if(z[b+12>>2]!=218793738){sb(g,1,11791,0);a=0;break a}z[a+100>>2]=z[a+100>>2]|1;a=1}Fa=b+16|0;Ka=0;return a|0}function Wl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[a+5|0]|A[a+6|0]<<8)&192)!=64){La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function Vm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a+12>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(!Xf(z[a+12>>2],c)){a=Re(b+8|0,6797);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b)}Fa=b+16|0;Ka=0;return 0}function Fn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;if(z[c+16>>2]==-1){b=z[a+12>>2];z[c+12>>2]=0;z[c+16>>2]=b}b=z[c+12>>2];if(b>>>0>2]){a=z[z[a+8>>2]+(b<<2)>>2];a=La[z[z[a>>2]+12>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return a|0}function kh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,A,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;var J=0,K=0;a:{c=Wd(5280);if(c>>>0<2147483632){b:{if(c>>>0<=10){x[a+11|0]=c;break b}d=(c|15)+1|0;b=qe(d);z[a+8>>2]=d|-2147483648;z[a>>2]=b;z[a+4>>2]=c;a=b}J=Hd(a,5280,c)+c|0,K=0,x[J|0]=K;break a}Xa(3133);r()}Ka=0;return 0}function Dm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;qg(z[a+8>>2],c,(A[a+5|0]|A[a+6|0]<<8)<<26>>26,1);d=z[a+16>>2];e=z[a+12>>2];z[b>>2]=e;z[b+4>>2]=d;z[b+8>>2]=e;z[b+12>>2]=d;c=Jf(c,b);qg(z[a+20>>2],c,(A[a+5|0]|A[a+6|0]<<8)<<26>>26,0);Fa=b+16|0;Ka=0;return 0}function mo(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a+8>>2];La[z[z[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=z[a+16>>2];a=z[a+12>>2];z[b>>2]=a;z[b+4>>2]=d;z[b+8>>2]=a;z[b+12>>2]=d;Jf(c,b);Fa=b+16|0;Ka=0;return 0}function jk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;d=0;f=z[a+20>>2]+8|0;b=ud(1,f);if(b){kb(b,f,4);kb(b+4|0,1651532643,4);if(z[a+20>>2]){e=b+8|0;while(1){kb(e,z[(z[a+72>>2]+F(d,12)|0)+8>>2],1);e=e+1|0;d=d+1|0;if(d>>>0>2]){continue}break}}z[c>>2]=f}Ka=0;return b|0}function Hn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;if(z[c+16>>2]==-1){b=z[a+12>>2];z[c+12>>2]=0;z[c+16>>2]=b}b=z[c+12>>2];if(b>>>0>2]){a=z[z[a+8>>2]+(b<<2)>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function Gn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;if(z[c+16>>2]==-1){b=z[a+12>>2];z[c+12>>2]=0;z[c+16>>2]=b}b=z[c+12>>2];if(b>>>0>2]){a=z[z[a+8>>2]+(b<<2)>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function $m(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-32|0;Fa=b;d=Re(b+24|0,3886);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;c=Jf(c,b+8|0);a=z[a+8>>2];if(A[a+4|0]==48){zg(a,c)}a=Re(b+16|0,1034);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b);Fa=b+32|0;Ka=0;return 0}function Ch(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a>>2];e=c;c=z[a+4>>2];a=e+(c>>1)|0;La[(c&1?z[d+z[a>>2]>>2]:d)|0](b+12|0,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;$(z[b+12>>2]);a=z[b+12>>2];P(a|0);Fa=b+16|0;Ka=0;return a|0}function Ah(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a>>2];f=c;c=z[a+4>>2];a=f+(c>>1)|0;La[(c&1?z[d+z[a>>2]>>2]:d)|0](b+12|0,0,a,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;$(z[b+12>>2]);a=z[b+12>>2];P(a|0);Fa=b+16|0;Ka=0;return a|0}function yh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=qe(88);z[a>>2]=0;z[a+4>>2]=0;z[a+44>>2]=0;z[a+48>>2]=0;z[a+84>>2]=1;z[a+16>>2]=0;z[a+20>>2]=0;z[a+8>>2]=0;z[a+12>>2]=0;z[a+52>>2]=0;z[a+56>>2]=0;z[a+60>>2]=0;z[a+64>>2]=0;z[a+68>>2]=0;z[a+72>>2]=0;Ka=0;return a|0}function di(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(a){b=z[a+100>>2];if(b){z[a+104>>2]=b;le(b)}b=z[a+56>>2];if(b){z[a+60>>2]=b;le(b)}b=z[a+40>>2];if(b){z[a+44>>2]=b;le(b)}b=z[a+12>>2];if(b){z[a+16>>2]=b;le(b)}b=z[a>>2];if(b){z[a+4>>2]=b;le(b)}le(a)}Ka=0;return 0}function wf(a,b){var c=0;c=z[a>>2]==(a+12|0);a:{if(z[b>>2]==(b+12|0)){if(!c){le(z[a>>2]);z[a+8>>2]=a+28;c=a+12|0;z[a+4>>2]=c;z[a>>2]=c}Ef(z[b>>2],z[b+4>>2],z[a>>2]);z[a+4>>2]=z[a>>2]+(z[b+4>>2]-z[b>>2]&-4);break a}if(c){z[a>>2]=z[b>>2];z[a+4>>2]=z[b+4>>2];z[a+8>>2]=z[b+8>>2];z[b+8>>2]=b+28;c=b+12|0;z[b+4>>2]=c;z[b>>2]=c;return a}c=z[a>>2];z[a>>2]=z[b>>2];z[b>>2]=c;c=z[a+4>>2];z[a+4>>2]=z[b+4>>2];z[b+4>>2]=c;c=z[a+8>>2];z[a+8>>2]=z[b+8>>2];z[b+8>>2]=c}z[b+4>>2]=z[b>>2];return a}function Kj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Fa-16|0;Fa=a;b=1;a:{if(e>>>0<=1){b=0;sb(g,1,10429,0);break a}lb(c,a+12|0,1);lb(c+1|0,a+8|0,1);c=z[a+8>>2];if(!((e-2>>>0)%(((c>>>5&2)+(c>>>4&3)|0)+2>>>0)|0)){break a}b=0;sb(g,1,10429,0)}Fa=a+16|0;Ka=0;return b|0}function zb(a,b){var c=0,d=0,e=0,f=0;d=z[a+4>>2];if((d|0)!=2147483647){c=z[a>>2];if((d|0)>0){while(1){if(!z[c+F(e,12)>>2]){d=F(e,12);e=d+c|0;f=z[e+8>>2];if(f){La[f|0](z[e+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;c=z[a>>2]}a=c+d|0;z[a+8>>2]=249;z[a+4>>2]=b;return 1}e=e+1|0;if((d|0)!=(e|0)){continue}break}}c=xd(c,F(d,12)+12|0);if(!c){return 0}z[a>>2]=c;d=z[a+4>>2];c=c+F(d,12)|0;z[c+8>>2]=249;z[c+4>>2]=b;z[c>>2]=0;z[a+4>>2]=d+1;a=1}else{a=0}return a}function gj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a:{b:{b=z[z[z[a+156>>2]+5584>>2]+4>>2];if(b-33>>>0<4294967264){break b}b=1<>>0>C[a+92>>2]|b>>>0>C[a+96>>2]){break b}a=!z[a+8>>2]&z[a+192>>2]!=0&z[a+196>>2]!=0;break a}sb(e,1,9250,0);a=0}Ka=0;return a|0}function Wj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;d=0;b=Fa-16|0;Fa=b;if(e){while(1){x[b+15|0]=A[a|0];x[b+14|0]=A[a+1|0];x[b+13|0]=A[a+2|0];x[b+12|0]=A[a+3|0];D[c>>2]=D[b+12>>2];c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Fa=b+16|0;Ka=0;return 0}function $j(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,C,D,F,G,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;F=F|0;G=G|0;I=I|0;var J=0;d=0;b=Fa-16|0;Fa=b;if(e){while(1){mb(a,b+8|0);J=E[b+8>>3];a:{if(H(J)<2147483648){f=~~J;break a}f=-2147483648}z[c>>2]=f;c=c+4|0;a=a+8|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Fa=b+16|0;Ka=0;return 0}function pn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,1032);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Fa=b+16|0;Ka=0;return 0}function zg(a,b){var c=0,d=0,e=0,f=0,g=0;c=Fa-48|0;Fa=c;a:{d=a+8|0;if(z[d+4>>2]){e=c+40|0;z[e>>2]=b+20;z[e+4>>2]=z[b+20>>2];z[b+20>>2]=0;f=Re(c+32|0,5193);g=z[f+4>>2];z[c+16>>2]=z[f>>2];z[c+20>>2]=g;f=Jf(b,c+16|0);z[16214]=0;Ba(312,d|0,f|0);d=z[16214];z[16214]=0;if((d|0)==1){break a}d=Re(c+24|0,4919);g=z[d+4>>2];z[c+8>>2]=z[d>>2];z[c+12>>2]=g;Jf(f,c+8|0);z[z[e>>2]>>2]=z[e+4>>2]}pg(b,40);sg(a+16|0,b);rg(b,41);Fa=c+48|0;return}a=wa()|0;z[z[e>>2]>>2]=z[e+4>>2];xa(a|0);r()}function Ym(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=Re(b+8|0,5616);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b);Fa=b+16|0;Ka=0;return 0}function Qn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=Re(b+8|0,6797);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b);Fa=b+16|0;Ka=0;return 0}function ie(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!z[z[15818]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){x[a+1|0]=b&63|128;x[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){x[a+2|0]=b&63|128;x[a|0]=b>>>12|224;x[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){x[a+3|0]=b&63|128;x[a|0]=b>>>18|240;x[a+2|0]=b>>>6&63|128;x[a+1|0]=b>>>12&63|128;a=4;break a}}z[15614]=25;a=-1}else{a=1}break a}x[a|0]=b;a=1}return a}function xf(a,b){var c=0;c=z[a>>2]==(a+12|0);a:{if(z[b>>2]==(b+12|0)){if(!c){le(z[a>>2]);z[a+8>>2]=a+44;c=a+12|0;z[a+4>>2]=c;z[a>>2]=c}Ef(z[b>>2],z[b+4>>2],z[a>>2]);z[a+4>>2]=z[a>>2]+(z[b+4>>2]-z[b>>2]&-4);break a}if(c){z[a>>2]=z[b>>2];z[a+4>>2]=z[b+4>>2];z[a+8>>2]=z[b+8>>2];z[b+8>>2]=b+44;a=b+12|0;z[b+4>>2]=a;z[b>>2]=a;return}c=z[a>>2];z[a>>2]=z[b>>2];z[b>>2]=c;c=z[a+4>>2];z[a+4>>2]=z[b+4>>2];z[b+4>>2]=c;c=z[a+8>>2];z[a+8>>2]=z[b+8>>2];z[b+8>>2]=c}z[b+4>>2]=z[b>>2]}function fg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=Fa-16|0;Fa=d;Ve(d+8|0,a,1);a:{if(z[d+8>>2]==z[d+12>>2]){break a}if(!Ue(a,69)){break a}c=Fa-32|0;Fa=c;h=Gf(a+408|0,24);e=z[b+4>>2];b=z[b>>2];z[c+24>>2]=b;z[c+28>>2]=e;f=z[d+12>>2];g=z[d+8>>2];a=c;z[a+16>>2]=g;z[a+20>>2]=f;z[a+8>>2]=b;z[a+12>>2]=e;z[a>>2]=g;z[a+4>>2]=f;b=If(h,73,0,1,1,1);z[b>>2]=55248;c=z[a+12>>2];z[b+8>>2]=z[a+8>>2];z[b+12>>2]=c;c=z[a+4>>2];z[b+16>>2]=z[a>>2];z[b+20>>2]=c;Fa=a+32|0;c=b}Fa=d+16|0;return c}function Aj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=0;if(e){while(1){b=z[a>>2];b=b<<24|(b&65280)<<8|(b>>>8&65280|b>>>24);x[c|0]=b;x[c+1|0]=b>>>8;x[c+2|0]=b>>>16;x[c+3|0]=b>>>24;c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ka=0;return 0}function bn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-32|0;Fa=b;d=Re(b+24|0,2379);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;d=Jf(c,b+8|0);c=z[a+12>>2];a=z[a+8>>2];z[b>>2]=a;z[b+4>>2]=c;z[b+16>>2]=a;z[b+20>>2]=c;Jf(d,b);Fa=b+32|0;Ka=0;return 0}function Yd(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{if(!(a&3)|!c){break c}e=b&255;while(1){if((e|0)==A[a|0]){break b}c=c-1|0;d=(c|0)!=0;a=a+1|0;if(!(a&3)){break c}if(c){continue}break}}if(!d){break a}if(!(A[a|0]==(b&255)|c>>>0<4)){d=F(b&255,16843009);while(1){e=d^z[a>>2];if((e^-1)&e-16843009&-2139062144){break b}a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}b=b&255;while(1){if((b|0)==A[a|0]){return a}a=a+1|0;c=c-1|0;if(c){continue}break}}return 0}function Cb(a,b,c){var d=0;if(!z[a+12>>2]){La[b|0](c,0,z[a+36>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;return}d=td(8);if(d){z[d+4>>2]=c;z[d>>2]=b;b=td(8);if(!b){le(d);return}z[b>>2]=d;c=F(z[a+4>>2],100);z[a+40>>2]=c;if((c|0)>2]){while(1){if(z[a+40>>2]>2]){continue}break}}z[b+4>>2]=z[a+20>>2];z[a+20>>2]=b;z[a+24>>2]=z[a+24>>2]+1;b=z[a+28>>2];if(b){z[z[b>>2]+8>>2]=0;z[a+28>>2]=z[b+4>>2];z[a+32>>2]=z[a+32>>2]-1;le(b)}}}function kd(a){var b=0,c=0,d=0;a:{if(!a){break a}b=z[a+8>>2];if(!b){break a}a=z[a+12>>2];if(b>>>0>=4){d=b&-4;while(1){z[a+12>>2]=0;z[a+4>>2]=999;z[a+8>>2]=0;z[a+60>>2]=0;z[a+52>>2]=999;z[a+56>>2]=0;z[a+44>>2]=0;z[a+36>>2]=999;z[a+40>>2]=0;z[a+28>>2]=0;z[a+20>>2]=999;z[a+24>>2]=0;a=a- -64|0;c=c+4|0;if((d|0)!=(c|0)){continue}break}}b=b&3;if(!b){break a}c=0;while(1){z[a+12>>2]=0;z[a+4>>2]=999;z[a+8>>2]=0;a=a+16|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}}function pd(a,b,c,d){var e=0,f=0,g=0;f=Fa-128|0;Fa=f;e=f;b=z[b+12>>2]+(c<<4)|0;if(z[b>>2]){while(1){z[e>>2]=b;e=e+4|0;b=z[b>>2];if(z[b>>2]){continue}break}}while(1){c=z[b+8>>2];if((g|0)>(c|0)){z[b+8>>2]=g;c=g}a:{if((c|0)>=(d|0)){break a}while(1){if(z[b+4>>2]<=(c|0)){break a}b:{if(Uc(a,1)){z[b+4>>2]=c;break b}c=c+1|0}if((c|0)<(d|0)){continue}break}}z[b+8>>2]=c;if((e|0)!=(f|0)){e=e-4|0;b=z[e>>2];g=c;continue}break}Fa=f+128|0;return z[b+4>>2]<(d|0)}function un(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-32|0;Fa=b;d=Re(b+24|0,5214);e=z[d+4>>2];z[b+8>>2]=z[d>>2];z[b+12>>2]=e;c=Ag(c,b+8|0);Hg(b+16|0,a);a=z[b+20>>2];z[b>>2]=z[b+16>>2];z[b+4>>2]=a;Ag(c,b);Fa=b+32|0;Ka=0;return 0}function od(a,b,c,d){var e=0,f=0,g=0;f=Fa-128|0;Fa=f;e=f;b=z[b+12>>2]+(c<<4)|0;if(z[b>>2]){while(1){z[e>>2]=b;e=e+4|0;b=z[b>>2];if(z[b>>2]){continue}break}}while(1){c=z[b+8>>2];if((g|0)>(c|0)){z[b+8>>2]=g;c=g}a:{if((c|0)>=(d|0)){break a}while(1){if(z[b+4>>2]<=(c|0)){if(z[b+12>>2]){break a}Sc(a,1);z[b+12>>2]=1;break a}Sc(a,0);c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d}z[b+8>>2]=c;if((e|0)!=(f|0)){e=e-4|0;b=z[e>>2];g=c;continue}break}Fa=f+128|0}function Wn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a=z[a+12>>2];b=(A[a+5|0]|A[a+6|0]<<8)>>>10&3;a:{if((b|0)!=2){a=!b;break a}a=La[z[z[a>>2]+8>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return a|0}function Fl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;while(1){a=z[16219];if(a){z[16219]=z[a+8>>2];La[z[a>>2]](z[a+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;le(a);continue}break}x[64869]=0;Ka=0;return 0}function Tf(a,b){var c=0,d=0,e=0,f=0,g=0;c=Fa-16|0;Fa=c;z[c+12>>2]=b;while(1){a:{if(Ue(a,66)){lf(c+4|0,a);if(z[c+4>>2]!=z[c+8>>2]){break a}b=0}Fa=c+16|0;return b}d=Fa-16|0;Fa=d;g=Gf(a+408|0,20);e=z[c+12>>2];b=z[c+8>>2];f=z[c+4>>2];z[d>>2]=f;z[d+4>>2]=b;z[d+8>>2]=f;z[d+12>>2]=b;b=A[e+5|0]|A[e+6|0]<<8;b=Wf(g,8,(b&192)>>>6|0,b>>>8&3,b>>>10&3);z[b+8>>2]=e;z[b>>2]=58892;e=z[d+4>>2];z[b+12>>2]=z[d>>2];z[b+16>>2]=e;Fa=d+16|0;z[c+12>>2]=b;continue}}function zj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,E,F,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;H=H|0;var I=G(0);b=0;if(e){while(1){I=D[a>>2];a:{if(I=G(0)){d=~~I>>>0;break a}d=0}kb(c,d,4);c=c+4|0;a=a+4|0;b=b+1|0;if((b|0)!=(e|0)){continue}break}}Ka=0;return 0}function yj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,E,F,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;H=H|0;var I=G(0);b=0;if(e){while(1){I=D[a>>2];a:{if(I=G(0)){d=~~I>>>0;break a}d=0}kb(c,d,2);c=c+2|0;a=a+4|0;b=b+1|0;if((b|0)!=(e|0)){continue}break}}Ka=0;return 0}function Am(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;d=z[a+12>>2];e=z[a+8>>2];z[b>>2]=e;z[b+4>>2]=d;z[b+8>>2]=e;z[b+12>>2]=d;c=Jf(c,b);qg(z[a+16>>2],c,(A[a+5|0]|A[a+6|0]<<8)<<26>>26,0);Fa=b+16|0;Ka=0;return 0}function Cl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|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;a=0;a:{while(1){if(!A[a+62528|0]){x[a+62528|0]=1;z[(a<<2)+62656>>2]=0;z[16218]=a;a=0;break a}a=a+1|0;if((a|0)!=128){continue}break}a=6}if(a){ve(5802,0);r()}Ka=0;return 0}function Bm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;qg(z[a+8>>2],c,(A[a+5|0]|A[a+6|0]<<8)<<26>>26,1);d=z[a+16>>2];a=z[a+12>>2];z[b>>2]=a;z[b+4>>2]=d;z[b+8>>2]=a;z[b+12>>2]=d;Jf(c,b);Fa=b+16|0;Ka=0;return 0}function gm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=(A[a+5|0]|A[a+6|0]<<8)>>>10&3;a:{if((b|0)!=2){a=!b;break a}a=La[z[z[a>>2]+8>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return a|0}function gk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+60>>2];z[a+88>>2]=z[c+56>>2];z[a+92>>2]=b;a=La[z[c+40>>2]](c,0,24,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=!Ka&(a|0)==24;Ka=0;return a|0}function ye(a){var b=0,c=0,d=0,e=0,f=0;if(a>>>0<65408&a>>>0>=64896){c=a;b=a-4|0;d=z[16220];e=d;a:{while(1){a=e;if(!(!a|(a|0)==65408)){if((a+(B[a+2>>1]<<2)|0)==(b|0)){y[a+2>>1]=B[c-2>>1]+B[a+2>>1];break a}if((a|0)==((B[b+2>>1]<<2)+b|0)){c=c-2|0;y[c>>1]=B[a+2>>1]+B[c>>1];if(!f){z[16220]=b;y[b>>1]=B[a>>1];break a}y[f>>1]=b-64896>>>2;break a}else{e=(B[a>>1]<<2)+64896|0;f=a;continue}}break}y[b>>1]=d-64896>>>2;z[16220]=b}return}le(a)}function hk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+60>>2];z[a+80>>2]=z[c+56>>2];z[a+84>>2]=b;a=La[z[c+40>>2]](c,0,8,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=!Ka&(a|0)==8;Ka=0;return a|0}function vj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=_c(0);z[a+208>>2]=b;a:{if(!b){sb(e,1,11529,0);a=0;break a}if($c(b,z[a+72>>2],a+80|0,z[a+212>>2])){a=1}else{ad(z[a+208>>2]);z[a+208>>2]=0;a=0}}Ka=0;return a|0}function Vn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a=z[a+12>>2];b=A[a+6|0]&3;a:{if((b|0)!=2){a=!b;break a}a=La[z[z[a>>2]+4>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return a|0}function Ri(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;b=z[a+28>>2];if(b>>>0>2]){while(1){Ib(a,z[a+24>>2]+(F(z[a+20>>2],b)<<2)|0);b=b+1|0;if(b>>>0>2]){continue}break}}le(z[a>>2]);le(a);Ka=0;return 0}function Ml(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a:{if(ze(a,z[c+8>>2],k)){De(c,e,g,i);break a}a=z[a+8>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,e,0,g,0,i,0,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function Ol(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a:{if(ze(a,z[c+8>>2],0)){Be(c,e,g);break a}a=z[a+8>>2];La[z[z[a>>2]+28>>2]](a,0,c,0,e,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return 0}function Ef(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=Fa-16|0;Fa=f;d=Fa-32|0;Fa=d;e=Fa-16|0;Fa=e;z[e+12>>2]=a;z[e+8>>2]=b;z[d+24>>2]=z[e+12>>2];z[d+28>>2]=z[e+8>>2];Fa=e+16|0;b=z[d+24>>2];a=Fa-16|0;Fa=a;e=z[d+28>>2];z[a+12>>2]=e;g=b;b=e-b|0;h=a,i=Hd(c,g,b)+b|0,z[h+8>>2]=i;z[d+16>>2]=z[a+12>>2];z[d+20>>2]=z[a+8>>2];Fa=a+16|0;z[d+12>>2]=z[d+16>>2];z[d+8>>2]=z[d+20>>2];z[f+8>>2]=z[d+12>>2];z[f+12>>2]=z[d+8>>2];Fa=d+32|0;Fa=f+16|0}function Ff(a){var b=0,c=0,d=0,e=0;c=Fa-32|0;Fa=c;z[c+28>>2]=0;a:{if(Kf(a,c+28|0)){break a}b=z[c+28>>2];if(b-1>>>0>=z[a+4>>2]-z[a>>2]>>>0){break a}d=c+20|0;e=z[a>>2];z[d+4>>2]=e+b;z[d>>2]=e;z[a>>2]=z[a>>2]+b;b=Re(c+12|0,3988);e=z[b+4>>2];z[c>>2]=z[b>>2];z[c+4>>2]=e;if(bf(d,c)){b=Fa-16|0;Fa=b;a=Gf(a+408|0,16);d=Re(b+8|0,5736);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;d=Lf(a,b);Fa=b+16|0;break a}d=mf(a,d)}Fa=c+32|0;return d}function Nh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[a>>2];d=c;c=z[a+4>>2];a=d+(c>>1)|0;a=La[(c&1?z[b+z[a>>2]>>2]:b)|0](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return a|0}function kn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-32|0;Fa=b;d=Re(b+24|0,5610);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);pg(c,40);Dg(Cg(b+12|0,z[a+8>>2]),c);rg(c,41);Fa=b+32|0;Ka=0;return 0}function ej(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;ad(z[a+208>>2]);z[a+208>>2]=0;b=z[a+32>>2];if(b){le(b);z[a+32>>2]=0;z[a+36>>2]=0}b=z[a+44>>2];if(b){le(b);z[a+44>>2]=0}z[a+48>>2]=0;a=1;Ka=0;return a|0}function ji(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[a>>2];d=c;c=z[a+4>>2];a=d+(c>>1)|0;La[(c&1?z[b+z[a>>2]>>2]:b)|0](a,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function Jh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[a>>2];d=c;c=z[a+4>>2];a=d+(c>>1)|0;La[(c&1?z[b+z[a>>2]>>2]:b)|0](a,0,e,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function Eh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[a>>2];d=c;c=z[a+4>>2];a=d+(c>>1)|0;La[(c&1?z[b+z[a>>2]>>2]:b)|0](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function Zj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;b=Fa-16|0;Fa=b;if(e){while(1){lb(a,b+12|0,4);z[c>>2]=z[b+12>>2];c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Fa=b+16|0;Ka=0;return 0}function Yj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;b=Fa-16|0;Fa=b;if(e){while(1){lb(a,b+12|0,2);z[c>>2]=z[b+12>>2];c=c+4|0;a=a+2|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Fa=b+16|0;Ka=0;return 0}function Vj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;E=E|0;F=F|0;G=G|0;H=H|0;d=0;b=Fa-16|0;Fa=b;if(e){while(1){lb(a,b+12|0,4);D[c>>2]=C[b+12>>2];c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Fa=b+16|0;Ka=0;return 0}function Uj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;E=E|0;F=F|0;G=G|0;H=H|0;d=0;b=Fa-16|0;Fa=b;if(e){while(1){lb(a,b+12|0,2);D[c>>2]=C[b+12>>2];c=c+4|0;a=a+2|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Fa=b+16|0;Ka=0;return 0}function Nc(a){var b=0,c=0,d=0,e=0;a:{b:{b=z[a+16>>2];c=A[b|0];if((c|0)==255){c=b+1|0;z[a+16>>2]=c;b=z[a>>2]>>>20|0;break b}d=z[a>>2];c:{if(!(d&134217728)){c=b+1|0;z[a+16>>2]=c;b=d>>>19|0;break c}x[b|0]=c+1;b=z[a+16>>2];if(A[b|0]==255){c=b+1|0;z[a+16>>2]=c;b=z[a>>2]&134217727;z[a>>2]=b;b=b>>>20|0;break b}c=b+1|0;z[a+16>>2]=c;b=z[a>>2]>>>19|0}e=8;d=524287;break a}e=7;d=1048575}x[c|0]=b;z[a+8>>2]=e;z[a>>2]=z[a>>2]&d}function Cn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,B,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;if(z[c+16>>2]==-1){b=z[a+12>>2];z[c+12>>2]=0;z[c+16>>2]=b}b=z[c+12>>2];if(b>>>0>2]){a=Xf(z[z[a+8>>2]+(b<<2)>>2],c)}else{a=0}Ka=0;return a|0}function fm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=A[a+6|0]&3;a:{if((b|0)!=2){a=!b;break a}a=La[z[z[a>>2]+4>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ka=0;return a|0}function Xj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;F=F|0;G=G|0;H=H|0;d=0;b=Fa-16|0;Fa=b;if(e){while(1){mb(a,b+8|0);D[c>>2]=E[b+8>>3];c=c+4|0;a=a+8|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Fa=b+16|0;Ka=0;return 0}function On(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,1348);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);pg(c,40);qg(z[a+8>>2],c,19,0);rg(c,41);Fa=b+16|0;Ka=0;return 0}function Yf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=0;a:{if(z[a+4>>2]-z[a>>2]>>>0<2){break a}e=z[a>>2];f=61;while(1){if((c|0)!=(f|0)){g=c+f>>>1|0;b=(g<<3)+53488|0;h=x[b|0];i=x[e|0];d=1;b:{if((h|0)<(i|0)){break b}d=0;if((h|0)!=(i|0)){break b}d=x[b+1|0]>2]=e+2;b=c}return b}function sl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;a=Ea(z[a+60>>2],c|0,d|0,e&255,b+8|0)|0;if(a){z[15614]=a;a=-1}else{a=0}Fa=b+16|0;Ka=a?-1:z[b+12>>2];return(a?-1:z[b+8>>2])|0}function $h(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[e+4>>2];d=z[e>>2]+z[e+8>>2]|0;if((b|0)==(d|0)){a=-1}else{f=a;a=d-b|0;a=a>>>0>>0?a:c;Gd(f,b,a);z[e+4>>2]=a+z[e+4>>2]}Ka=0;return a|0}function gi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;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;b=Fa-16|0;Fa=b;d=z[c+16>>2];c=z[c+12>>2];z[b+12>>2]=c;z[b+8>>2]=d-c;H=a,I=Y(32600,b+8|0)|0,z[H>>2]=I;Fa=b+16|0;Ka=0;return 0}function Pn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,1220);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;c=Jf(c,b);pg(c,40);sg(a+8|0,c);rg(c,41);Fa=b+16|0;Ka=0;return 0}function zf(a,b){var c=0,d=0,e=0,f=0;d=1;a:{c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}c=c<<24>>24;if((c|0)<48|(c-65&255)>>>0>25&c>>>0>=58){break a}e=z[a>>2];d=0;while(1){b:{c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}c=c<<24>>24;if((c|0)>=48){f=-48;if(c>>>0<58){break b}f=-55;if((c-65&255)>>>0<26){break b}}z[b>>2]=d;d=0;break a}e=e+1|0;z[a>>2]=e;d=(F(d,36)+f|0)+(c&255)|0;continue}}return d}function dj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;a=z[a+200>>2];if(a){b=z[c+56>>2];d=z[a>>2];e=b-d|0;b=z[c+60>>2]-(z[a+4>>2]+(b>>>0>>0)|0)|0;z[a+16>>2]=e;z[a+20>>2]=b}return 1}function Vd(a,b){var c=0;a:{b:{if((a^b)&3){c=A[b|0];break b}if(b&3){while(1){c=A[b|0];x[a|0]=c;if(!c){break a}a=a+1|0;b=b+1|0;if(b&3){continue}break}}c=z[b>>2];if((c^-1)&c-16843009&-2139062144){break b}while(1){z[a>>2]=c;c=z[b+4>>2];a=a+4|0;b=b+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}x[a|0]=c;if(!(c&255)){break a}while(1){c=A[b+1|0];x[a+1|0]=c;a=a+1|0;b=b+1|0;if(c){continue}break}}}function dk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Fa-16|0;Fa=a;b=a+4|0;kb(b,12,4);kb(a+8|0,1783636e3,4);kb(a+12|0,218793738,4);b=rb(c,b,12,e);Fa=a+16|0;a=(b|0)==12;Ka=0;return a|0}function Kn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=Re(b+8|0,5201);e=z[d+4>>2];z[b>>2]=z[d>>2];z[b+4>>2]=e;d=a+8|0;a=Jf(c,b);sg(d,a);Pe(a,93);Fa=b+16|0;Ka=0;return 0}function ti(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=z[a+100>>2];b=z[a+104>>2]-d>>3;a:{if(b>>>0>>0){jb(a+100|0,c-b|0);break a}if(b>>>0>c>>>0){z[a+104>>2]=(c<<3)+d}}Ka=0;return 0}function Qf(a,b){var c=0,d=0;a:{if((a|0)==(b|0)){break a}c=x[a|0];if((c|0)==95){if((a+1|0)==(b|0)){break a}c=x[a+1|0];if(c-48>>>0<=9){return a+2|0}if((c|0)!=95){break a}c=a+2|0;while(1){if((b|0)==(c|0)){break a}d=x[c|0];if(d-48>>>0<=9){c=c+1|0;continue}break}return(d|0)==95?c+1|0:a}if(c-48>>>0>9){break a}c=a;while(1){c=c+1|0;if((c|0)==(b|0)){return b}if(x[c|0]-48>>>0<10){continue}break}}return a}function Zf(a,b){var c=0,d=0;c=Fa-32|0;Fa=c;a=Re(a,z[b+4>>2]);a:{if(A[b+2|0]<=10){b=Re(c+24|0,1870);d=z[b+4>>2];z[c+8>>2]=z[b>>2];z[c+12>>2]=d;if(!bf(a,c+8|0)){break a}eg(c+16|0,a,8);b=z[c+20>>2];z[a>>2]=z[c+16>>2];z[a+4>>2]=b;b=Fa-16|0;Fa=b;if(A[z[a>>2]]==32&z[a>>2]!=z[a+4>>2]){eg(b+8|0,a,1);d=z[b+12>>2];z[a>>2]=z[b+8>>2];z[a+4>>2]=d}Fa=b+16|0}Fa=c+32|0;return}za(5985,3017,2631,2653);r()}function ll(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(a){b=z[a+116>>2];if(b){le(b);z[a+116>>2]=0}b=z[a+120>>2];if(b){le(b);z[a+120>>2]=0}le(z[a+148>>2]);le(a)}Ka=0;return 0}function qm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;d=z[a+12>>2];a=z[a+8>>2];z[b>>2]=a;z[b+4>>2]=d;z[b+8>>2]=a;z[b+12>>2]=d;Jf(c,b);Fa=b+16|0;Ka=0;return 0}function on(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=a;a=z[c+12>>2];La[z[z[a>>2]+24>>2]](b,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function wl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;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;b=Wd(c);d=qe(b+13|0);z[d+8>>2]=0;z[d+4>>2]=b;z[d>>2]=b;H=a,I=Gd(d+12|0,c,b+1|0),z[H>>2]=I;Ka=0;return a|0}function tn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=a;a=z[c+8>>2];La[z[z[a>>2]+24>>2]](b,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function Mm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Fa-16|0;Fa=b;a=Re(b+8|0,A[a+7|0]?3234:3255);d=z[a+4>>2];z[b>>2]=z[a>>2];z[b+4>>2]=d;Jf(c,b);Fa=b+16|0;Ka=0;return 0}function ai(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;b=z[c+4>>2];d=z[c>>2]+z[c+8>>2]|0;if((b|0)==(d|0)){a=-1}else{z[c+4>>2]=a+b;b=d-b|0;a=a>>>0>b>>>0?b:a}return a|0}function Yn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=z[a+12>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function bo(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=z[a+8>>2];La[z[z[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function Zm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=z[a+8>>2];La[z[z[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ka=0;return 0}function Mi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;La[z[a>>2]](z[a+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=0;Ka=0;return a|0}function Kf(a,b){var c=0,d=0,e=0;z[b>>2]=0;a:{c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}d=((c<<24>>24)-58&255)>>>0<246;if(d){break a}while(1){c=z[a>>2];if((c|0)!=z[a+4>>2]){c=A[c|0]}else{c=0}if(((c<<24>>24)-48&255)>>>0>9){break a}z[b>>2]=F(e,10);c=z[a>>2];if((c|0)==z[a+4>>2]){c=0}else{z[a>>2]=c+1;c=A[c|0]}e=((c<<24>>24)+z[b>>2]|0)-48|0;z[b>>2]=e;continue}}return d}function Tm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Fa-16|0;Fa=a;b=Re(a+8|0,6682);d=z[b+4>>2];z[a>>2]=z[b>>2];z[a+4>>2]=d;Jf(c,a);Fa=a+16|0;Ka=0;return 0}function wb(){var a=0,b=0;b=y[25436];a:{if(!b){z[15614]=28;a=-1;break a}b:{c:{if((b|0)>-2){break c}a=200809;d:{switch((b&255)-1|0){case 1:a=131072;break a;case 2:a=32768;break a;case 3:a=65536;break a;case 4:case 10:a=2147483647;break a;case 5:case 6:a=1;break a;case 7:case 8:a=oa()>>>16|0;break a;case 0:break b;case 9:break d;default:break c}}a=0;break a}a=b}}return a}function Od(a){var b=0,c=0;b=z[a+76>>2];if(!((b|0)>=0&(!b|z[15800]!=(b&-1073741825)))){a:{if(z[a+80>>2]==10){break a}b=z[a+20>>2];if((b|0)==z[a+16>>2]){break a}z[a+20>>2]=b+1;x[b|0]=10;return}Nd(a);return}b=a+76|0;c=z[b>>2];z[b>>2]=c?c:1073741823;b:{c:{if(z[a+80>>2]==10){break c}c=z[a+20>>2];if((c|0)==z[a+16>>2]){break c}z[a+20>>2]=c+1;x[c|0]=10;break b}Nd(a)}z[b>>2]=0}function Cm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;qg(z[a+8>>2],c,(A[a+5|0]|A[a+6|0]<<8)<<26>>26,0);pg(c,91);qg(z[a+12>>2],c,19,0);rg(c,93);Ka=0;return 0}function sb(a,b,c,d){var e=0,f=0;e=Fa-528|0;Fa=e;a:{if(!a){break a}b:{c:{switch(b-1|0){case 0:b=a+12|0;break b;case 1:b=a+16|0;a=a+4|0;break b;case 3:break c;default:break a}}b=a+20|0;a=a+8|0}b=z[b>>2];if(!b|!c){break a}f=z[a>>2];a=Id(e,0,512);z[a+524>>2]=d;he(a,512,c,d);x[a+511|0]=0;La[b|0](a,0,f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Fa=e+528|0}function wh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(a){b=z[a+12>>2];if(b){z[a+16>>2]=b;le(b)}b=z[a>>2];if(b){z[a+4>>2]=b;le(b)}le(a)}Ka=0;return 0}function Af(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Fa-16|0;Fa=d;f=a+148|0;while(1){a:{c=Ue(a,87);if(!c){break a}i=d,j=Ue(a,80),x[i+15|0]=j;e=Ff(a);z[d+8>>2]=e;if(!e){break a}c=Gf(a+408|0,20);e=z[b>>2];g=z[d+8>>2];h=A[d+15|0];c=If(c,25,0,1,1,1);x[c+16|0]=h;z[c+12>>2]=g;z[c+8>>2]=e;z[c>>2]=53268;z[b>>2]=c;z[d+4>>2]=c;ff(f,d+4|0);continue}break}Fa=d+16|0;return c}function bd(a){var b=0,c=0,d=0;c=z[a+44>>2];a:{b:{b=z[a+36>>2];if(b){d=1;if(c>>>0<=C[a+48>>2]){break a}if(z[a+40>>2]){break b}}b=vd(c);z[a+36>>2]=b;c=z[a+44>>2];if(!b){d=0;if(c){break a}}z[a+40>>2]=1;z[a+48>>2]=c;return 1}le(b);b=vd(z[a+44>>2]);z[a+36>>2]=b;if(!b){z[a+48>>2]=0;z[a+40>>2]=0;z[a+44>>2]=0;return 0}z[a+40>>2]=1;z[a+48>>2]=z[a+44>>2];d=1}return d}function hf(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0;h=Fa-16|0;Fa=h;j=Gf(a+408|0,36);k=z[c>>2];a=z[b>>2];i=z[d+4>>2];b=z[d>>2];z[h+8>>2]=b;z[h+12>>2]=i;g=A[g|0];d=z[f>>2];c=z[e>>2];z[h>>2]=b;z[h+4>>2]=i;e=Wf(j,18,0,1,0);z[e+12>>2]=k;z[e+8>>2]=a;z[e>>2]=60092;b=z[h+4>>2];a=z[h>>2];x[e+32|0]=g;z[e+28>>2]=d;z[e+24>>2]=c;z[e+16>>2]=a;z[e+20>>2]=b;Fa=h+16|0;return e}function Tc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;if((c|0)>0){e=z[a+12>>2];d=z[a+16>>2];while(1){h=c;c=c-1|0;i=b>>>c&1;a:{if(d){f=e;break a}f=e<<8&65280;z[a+12>>2]=f;d=(f|0)==65280?7:8;z[a+16>>2]=d;g=z[a+8>>2];if(g>>>0>=C[a+4>>2]){break a}z[a+8>>2]=g+1;x[g|0]=e;f=z[a+12>>2];d=z[a+16>>2]}d=d-1|0;z[a+16>>2]=d;e=i<>2]=e;if(h>>>0>1){continue}break}}}function he(a,b,c,d){var e=0,f=0,g=0,h=0;e=Fa-160|0;Fa=e;g=b?a:e+158|0;z[e+148>>2]=g;a=b-1|0;z[e+152>>2]=a>>>0<=b>>>0?a:0;while(1){x[e+h|0]=0;a=h+1|0;f=a?f:f+1|0;h=a;if(!f&a>>>0<144){continue}break}a=-1;z[e+76>>2]=-1;z[e+36>>2]=261;z[e+80>>2]=-1;z[e+44>>2]=e+159;z[e+84>>2]=e+148;a:{if((b|0)<0){z[15614]=61;break a}x[g|0]=0;a=fe(e,c,d)}Fa=e+160|0;return a}function bi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;d=c;e=z[c>>2];c=z[c+8>>2];z[d+4>>2]=e+(a>>>0>>0&(b|0)<=0|(b|0)<0?a:c);return 1}function Dl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;z[16214]=0;va(271,0);a=z[16214];z[16214]=0;if((a|0)==1){ra(0)|0;we();r()}Ka=0;return 0}function gc(a,b,c){var d=0,e=0,f=0,g=0;z[a+160>>2]=b;d=z[a+72>>2];a:{if(!d){break a}f=z[d+24>>2];if(!f){break a}e=z[a+12>>2];if(!e|!z[e+5584>>2]){break a}e=z[d+16>>2];if(!e){return 1}d=0;while(1){if(C[(z[z[a+12>>2]+5584>>2]+F(d,1080)|0)+4>>2]<=b>>>0){sb(c,1,22745,0);return 0}z[(F(d,52)+f|0)+40>>2]=b;g=1;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return g}function Gf(a,b){var c=0,d=0,e=0;c=z[a+4096>>2];d=z[c+4>>2];b=b+15&-16;e=d+b|0;if(e>>>0>=4088){if(b>>>0>=4089){b=ke(b+8|0);if(!b){we();r()}a=z[a+4096>>2];c=z[a>>2];z[b+4>>2]=0;z[b>>2]=c;z[a>>2]=b;return b+8|0}c=ke(4096);if(!c){we();r()}d=z[a+4096>>2];z[c+4>>2]=0;z[c>>2]=d;z[a+4096>>2]=c;c=z[a+4096>>2];d=z[c+4>>2];e=b+d|0}z[c+4>>2]=e;return(c+d|0)+8|0}function kb(a,b,c){var d=0,e=0;d=Fa-16|0;z[d+12>>2]=b;a:{if(!c){break a}e=c&3;b=(d+12|0)+c|0;if(c>>>0>=4){d=c&-4;c=0;while(1){x[a|0]=A[b-1|0];x[a+1|0]=A[b-2|0];x[a+2|0]=A[b-3|0];b=b-4|0;x[a+3|0]=A[b|0];a=a+4|0;c=c+4|0;if((d|0)!=(c|0)){continue}break}}if(!e){break a}c=0;while(1){b=b-1|0;x[a|0]=A[b|0];a=a+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}}function Ec(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;if(a){c=z[a+4>>2];if(c){le(c);z[a+4>>2]=0}if(b){c=a;while(1){d=z[c+200>>2];if(d){e=0;f=z[c+196>>2];if(f){while(1){g=z[d+12>>2];if(g){le(g);z[d+12>>2]=0;f=z[c+196>>2]}d=d+16|0;e=e+1|0;if(e>>>0>>0){continue}break}d=z[c+200>>2]}le(d);z[c+200>>2]=0}c=c+240|0;h=h+1|0;if((h|0)!=(b|0)){continue}break}}le(a)}}function _f(a,b,c){var d=0,e=0,f=0,g=0;d=Fa-16|0;Fa=d;z[d+12>>2]=c;c=nf(a);z[d+8>>2]=c;if(c){c=Fa-16|0;Fa=c;e=Gf(a+408|0,20);f=z[b+4>>2];b=z[b>>2];z[c+8>>2]=b;z[c+12>>2]=f;a=z[d+12>>2];g=z[d+8>>2];z[c>>2]=b;z[c+4>>2]=f;a=If(e,62,a,1,1,1);z[a>>2]=54096;e=z[c+4>>2];b=z[c>>2];z[a+16>>2]=g;z[a+8>>2]=b;z[a+12>>2]=e;Fa=c+16|0}else{a=0}Fa=d+16|0;return a}function Pj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(z[z[a+72>>2]+16>>2]<<2!=(e|0)){sb(g,1,10583,0);a=0}else{a=1}Ka=0;return a|0}function ii(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;z[a+32>>2]=c;b=z[a+100>>2];if((b|0)!=z[a+104>>2]){z[a+104>>2]=b}Ka=0;return 0}function ui(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[e+4>>2];a=z[a+100>>2]+(c<<3)|0;z[a>>2]=z[e>>2];z[a+4>>2]=b;Ka=0;return 0}function De(a,b,c,d){x[a+53|0]=1;a:{if(z[a+4>>2]!=(c|0)){break a}x[a+52|0]=1;c=z[a+16>>2];b:{if(!c){z[a+36>>2]=1;z[a+24>>2]=d;z[a+16>>2]=b;if((d|0)!=1){break a}if(z[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=z[a+24>>2];if((c|0)==2){z[a+24>>2]=d;c=d}if(z[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}z[a+36>>2]=z[a+36>>2]+1}x[a+54|0]=1}}function mi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[e+4>>2];a=z[a+56>>2]+(c<<3)|0;z[a>>2]=z[e>>2];z[a+4>>2]=b;Ka=0;return 0}function uj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;b=z[c+60>>2];a=z[a+200>>2];z[a+8>>2]=z[c+56>>2];z[a+12>>2]=b;return 1}function ff(a,b){var c=0,d=0,e=0;c=z[a+4>>2];if((c|0)==z[a+8>>2]){c=z[a>>2];e=z[a+4>>2]-c>>2;d=e<<1;a:{b:{c:{if((c|0)==(a+12|0)){c=ke(d<<2);if(!c){break b}Ef(z[a>>2],z[a+4>>2],c);z[a>>2]=c;break c}c=me(z[a>>2],d<<2);z[a>>2]=c;if(!c){break b}}z[a+8>>2]=(d<<2)+c;z[a+4>>2]=(e<<2)+c;break a}we();r()}c=z[a+4>>2]}b=z[b>>2];z[a+4>>2]=c+4;z[c>>2]=b}function Bg(a){var b=0,c=0,d=0;c=Fa-16|0;Fa=c;b=z[a+4>>2];pg(z[a>>2],40);b=Cg(c+4|0,z[b+8>>2]);d=z[a>>2];La[z[z[b>>2]+16>>2]](b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((A[b+5|0]|A[b+6|0]<<8)&192)!=64){La[z[z[b>>2]+20>>2]](b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}rg(z[a>>2],41);Fa=c+16|0}function Oc(a){z[a+28>>2]=38496;z[a+100>>2]=38496;z[a+96>>2]=38496;z[a+92>>2]=38496;z[a+88>>2]=38496;z[a+84>>2]=38496;z[a+80>>2]=38496;z[a+76>>2]=38496;z[a+72>>2]=38496;z[a+68>>2]=38496;z[a- -64>>2]=38496;z[a+60>>2]=38496;z[a+56>>2]=38496;z[a+52>>2]=38496;z[a+48>>2]=38496;z[a+44>>2]=38496;z[a+40>>2]=38496;z[a+36>>2]=38496;z[a+32>>2]=38496}function uf(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=Fa-16|0;Fa=e;d=Re(e+8|0,1635);i=z[d+4>>2];z[e>>2]=z[d>>2];z[e+4>>2]=i;if(Se(a,e)){g=kf(a,3495)}a:{b:{d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}if((d|0)!=83){break b}f=Nf(a);if(!f){break a}if(A[f+4|0]==25){break b}if(g|!c){break a}x[c|0]=1;h=f;break a}h=Pf(a,b,g,f)}Fa=e+16|0;return h}function fj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[a+52>>2];if(b){le(b);z[a+52>>2]=0}z[a+56>>2]=0;a=1;Ka=0;return a|0}function xi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;z[b>>2]=a;Ld(z[12673],1818,b);Fa=b+16|0;Ka=0;return 0}function wi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;z[b>>2]=a;Ld(z[12673],1839,b);Fa=b+16|0;Ka=0;return 0}function Vk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;Pb(z[a>>2],c);x[a+124|0]=0;z[a+128>>2]=z[c+8248>>2]&1;Ka=0;return 0}function Uc(a,b){var c=0,d=0,e=0,f=0;if((b|0)<=0){return 0}c=z[a+12>>2];d=z[a+16>>2];while(1){e=b;a:{if(d){break a}c=c<<8&65280;z[a+12>>2]=c;d=(c|0)==65280?7:8;z[a+16>>2]=d;b=z[a+8>>2];if(b>>>0>=C[a+4>>2]){break a}z[a+8>>2]=b+1;c=A[b|0]|c;z[a+12>>2]=c}d=d-1|0;z[a+16>>2]=d;b=e-1|0;f=(c>>>d&1)<>>0>1){continue}break}return f}function jj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=z[a+52>>2];kb(a,65359,2);a=(rb(c,a,2,e)|0)==2;Ka=0;return a|0}function lb(a,b,c){var d=0,e=0;z[b>>2]=0;a:{if(!c){break a}d=c&3;b=b+c|0;if(c>>>0>=4){e=c&-4;c=0;while(1){x[b-1|0]=A[a|0];x[b-2|0]=A[a+1|0];x[b-3|0]=A[a+2|0];b=b-4|0;x[b|0]=A[a+3|0];a=a+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}if(!d){break a}c=0;while(1){b=b-1|0;x[b|0]=A[a|0];a=a+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function _h(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;z[b>>2]=a;Sd(1818,b);Fa=b+16|0;Ka=0;return 0}function Zh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;z[b>>2]=a;Sd(1839,b);Fa=b+16|0;Ka=0;return 0}function Yh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Fa-16|0;Fa=b;z[b>>2]=a;Sd(1829,b);Fa=b+16|0;Ka=0;return 0}function si(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+4>>2];z[a+92>>2]=z[c>>2];z[a+96>>2]=b;Ka=0;return 0}function ri(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+4>>2];z[a+84>>2]=z[c>>2];z[a+88>>2]=b;Ka=0;return 0}function qi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+4>>2];z[a+76>>2]=z[c>>2];z[a+80>>2]=b;Ka=0;return 0}function oi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+4>>2];z[a+68>>2]=z[c>>2];z[a+72>>2]=b;Ka=0;return 0}function Uh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+72>>2];z[a>>2]=z[c+68>>2];z[a+4>>2]=b;Ka=0;return 0}function Th(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+64>>2];z[a>>2]=z[c+60>>2];z[a+4>>2]=b;Ka=0;return 0}function Sh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+56>>2];z[a>>2]=z[c+52>>2];z[a+4>>2]=b;Ka=0;return 0}function Qh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+48>>2];z[a>>2]=z[c+44>>2];z[a+4>>2]=b;Ka=0;return 0}function ue(a){a=a|0;var b=0,c=0;a:{b:{if(!a){break b}b=a-24|0;if(!z[b>>2]){z[16214]=0;Aa(265,5286,2184,142,1357);a=z[16214];z[16214]=0;if((a|0)==1){break a}r()}c=z[b>>2]-1|0;z[b>>2]=c;if(A[b+13|0]|c){break b}b=z[b+8>>2];if(b){z[16214]=0;qa(b|0,a|0)|0;b=z[16214];z[16214]=0;if((b|0)==1){break a}}se(a)}return}ra(0)|0;we();r()}function rm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=z[c+12>>2];z[a>>2]=z[c+8>>2];z[a+4>>2]=b;Ka=0;return 0}function yi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Gd(z[e+4>>2],a,c);z[e+4>>2]=z[e+4>>2]+c;Ka=0;return c|0}function xj(a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,t,u,v,w,x,y,A,B,C,D,E,H,I,J,K){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;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;H=H|0;I=I|0;J=J|0;K=K|0;Ka=0;return(s(G(F(z[a+5592>>2],14)-14>>>0)),l(2))|0}function Yi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;return!z[a+8>>2]&z[a+192>>2]!=0&z[a+196>>2]!=0}function of(a){var b=0,c=0,d=0,e=0,f=0;c=Fa-16|0;Fa=c;a:{if(!Ue(a,68)){break a}if(!Ue(a,116)){if(!Ue(a,84)){break a}}d=nf(a);z[c+12>>2]=d;if(!d){break a}if(!Ue(a,69)){break a}b=Fa-16|0;Fa=b;d=Gf(a+408|0,28);f=Re(b+8|0,3261);e=z[c+12>>2];a=z[f+4>>2];z[b>>2]=z[f>>2];z[b+4>>2]=a;e=tg(d,b,e,0);Fa=b+16|0}Fa=c+16|0;return e}function Lj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;if(e){a=1}else{sb(g,1,10494,0);a=0}Ka=0;return a|0}function Fd(a){var b=0,c=0,d=0,e=0;while(1){b=a;a=b+1|0;c=x[b|0];if((c|0)==32|c-9>>>0<5){continue}break}a:{b:{c:{c=x[b|0];switch(c-43|0){case 0:break b;case 2:break c;default:break a}}e=1}c=x[a|0];b=a}if(c-48>>>0<10){while(1){d=(F(d,10)-x[b|0]|0)+48|0;a=x[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}return e?d:0-d|0}function Fb(a,b,c,d){var e=0,f=0,g=G(0),h=0,i=G(0),j=0,k=G(0);if(d){while(1){e=f<<2;h=e+b|0;i=D[h>>2];j=a+e|0;g=D[j>>2];e=c+e|0;k=D[e>>2];D[j>>2]=G(k*G(1.4019999504089355))+g;D[h>>2]=G(g+G(i*G(-.3441300094127655)))+G(k*G(-.714139997959137));D[e>>2]=g+G(i*G(1.7719999551773071));f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function Yk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Vb(z[a>>2],c,e,g,i,k,m,o,q,s,u);Ka=0;return a|0}function Jl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(ze(a,z[c+8>>2],k)){De(c,e,g,i)}Ka=0;return 0}function nh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=qe(8);z[a>>2]=0;z[a+4>>2]=0;Ka=0;return a|0}function Ll(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(ze(a,z[c+8>>2],0)){Be(c,e,g)}Ka=0;return 0}function zn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;pg(c,91);sg(a+8|0,c);rg(c,93);Ka=0;return 0}function Uk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=z[a>>2];if(a){z[a+184>>2]=c}Ka=0;return 0}function Nd(a){var b=0,c=0,d=0;c=Fa-16|0;Fa=c;x[c+15|0]=10;b=z[a+16>>2];a:{if(!b){if(Md(a)){break a}b=z[a+16>>2]}d=b;b=z[a+20>>2];if(!((d|0)==(b|0)|z[a+80>>2]==10)){z[a+20>>2]=b+1;x[b|0]=10;break a}if((La[z[a+36>>2]](a,0,c+15|0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=1){break a}}Fa=c+16|0}function Jk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Vb(a,c,e,g,i,k,m,o,q,s,u);Ka=0;return a|0}function zi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Q(2545,1,32280,32356,1,2,0);Ka=0;return 0}function Tk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Yb(z[a>>2],c,e,g,i,k,m);Ka=0;return a|0}function vi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;z[z[a+40>>2]+(c<<2)>>2]=e;Ka=0;return 0}function il(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=qc(z[a>>2],c,e,g,i,k);Ka=0;return a|0}function Xk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Wb(z[a>>2],c,e,g,i,k);Ka=0;return a|0}function yf(a){var b=0,c=0,d=0;b=Fa-16|0;Fa=b;a:{if(Ue(a,104)){d=1;c=b+8|0;Ve(c,a,1);if(z[c>>2]==z[c+4>>2]){break a}d=Ue(a,95)^1;break a}d=1;if(!Ue(a,118)){break a}c=b+8|0;Ve(c,a,1);if(z[c>>2]==z[c+4>>2]){break a}if(!Ue(a,95)){break a}Ve(b,a,1);if(z[b>>2]==z[b+4>>2]){break a}d=Ue(a,95)^1}Fa=b+16|0;return d}function mm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;z[a>>2]=0;z[a+4>>2]=0;Ka=0;return 0}function Qk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Xb(z[a>>2],c,e,g);Ka=0;return a|0}function Hk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Yb(a,c,e,g,i,k,m);Ka=0;return a|0}function ql(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=la(z[a+60>>2])|0;Ka=0;return a|0}function Un(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Xf(z[a+12>>2],c);Ka=0;return a|0}function Ih(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;z[a+84>>2]=e;fb(a,c);Ka=0;return 0}function Hh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;z[a+84>>2]=0;fb(a,0);Ka=0;return 0}function zl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;za(a|0,c|0,e|0,g|0);Ka=0;return 0}function zk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(a){z[a+184>>2]=c}Ka=0;return 0}function ho(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Xf(z[a+8>>2],c);Ka=0;return a|0}function gl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=hc(z[a>>2],c,e);Ka=0;return a|0}function fl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=ic(z[a>>2],c,e);Ka=0;return a|0}function cl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=qc(a,c,e,g,i,k);Ka=0;return a|0}function Rk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=gc(z[a>>2],c,e);Ka=0;return a|0}function Ik(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Wb(a,c,e,g,i,k);Ka=0;return a|0}function uh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;z[z[a>>2]+c>>2]=e;Ka=0;return 0}function qh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;y[z[a>>2]+c>>1]=e;Ka=0;return 0}function Pk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Qb(z[a>>2],c);Ka=0;return a|0}function Gk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=fc(a,c,e,g,i);Ka=0;return a|0}function sh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;x[z[a>>2]+c|0]=e;Ka=0;return 0}function yk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=dc(a,c,e,g);Ka=0;return a|0}function dl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=pc(a,c,e,g);Ka=0;return a|0}function bl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Tb(a,c,e,g);Ka=0;return a|0}function Mk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;$b(z[a>>2],c,e);Ka=0;return 0}function Lk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=bc(z[a>>2]);Ka=0;return a|0}function Kk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=cc(z[a>>2]);Ka=0;return a|0}function Ek(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Xb(a,c,e,g);Ka=0;return a|0}function Ck(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Ub(a,c,e,g);Ka=0;return a|0}function kg(a){var b=0,c=0;c=Fa-16|0;Fa=c;a:{b:{b=z[a>>2];if((b|0)!=z[a+4>>2]){b=A[b|0]}else{b=0}b=b<<24>>24;if((b|0)!=68){if((b&255)!=84){break b}b=qf(a);z[c+12>>2]=b;if(!b){break a}ff(a+148|0,c+12|0);break a}b=of(a);z[c+8>>2]=b;if(!b){break a}ff(a+148|0,c+8|0);break a}b=Nf(a)}Fa=c+16|0;return b}function th(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;return z[z[a>>2]+c>>2]}function sg(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=Fa-16|0;Fa=c;f=1;while(1){if(z[a+4>>2]!=(e|0)){g=z[b+4>>2];if(!f){d=Re(c+8|0,6775);h=z[d+4>>2];z[c>>2]=z[d>>2];z[c+4>>2]=h;Jf(b,c)}d=z[b+4>>2];qg(z[z[a>>2]+(e<<2)>>2],b,18,0);e=e+1|0;if(z[b+4>>2]==(d|0)){z[b+4>>2]=g}else{f=0}continue}break}Fa=c+16|0}function ph(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,A,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;Ka=0;return B[z[a>>2]+c>>1]}function al(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=hc(a,c,e);Ka=0;return a|0}function _k(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=oc(a,c,e);Ka=0;return a|0}function Hl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=ze(a,c,0);Ka=0;return a|0}function Hi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=nb(a,c,d);Ka=0;return a|0}function Fk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=gc(a,c,e);Ka=0;return a|0}function $k(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=ic(a,c,e);Ka=0;return a|0}function rh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;Ka=0;return A[z[a>>2]+c|0]}function li(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;z[a+52>>2]=c;Ka=0;return 0}function ln(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;sg(a+8|0,c);Ka=0;return 0}function km(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Bf(a,c);Ka=0;return a|0}function em(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Xf(a,c);Ka=0;return a|0}function Yl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=cf(a,c);Ka=0;return a|0}function Xh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;P(z[15596]);Ka=0;return 0}function Wd(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!A[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(A[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=z[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(A[b|0]){continue}break}}return b-a|0}function Tl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ge(a);le(a);Ka=0;return 0}function El(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=xe(a,c);Ka=0;return a|0}function Dk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Qb(a,c);Ka=0;return a|0}function xk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;$b(a,c,e);Ka=0;return 0}function xh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=cb(a);Ka=0;return a|0}function wk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=bc(a);Ka=0;return a|0}function vk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=cc(a);Ka=0;return a|0}function lh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Ge(a);Ka=0;return a|0}function cm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=vg(a);Ka=0;return a|0}function bm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Sf(a);Ka=0;return a|0}function am(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Xe(a);Ka=0;return a|0}function _l(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=ef(a);Ka=0;return a|0}function $l(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;gf(a,c,e);Ka=0;return 0}function Wh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;return z[a+80>>2]}function Vh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;return z[a+76>>2]}function Ph(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;return z[a+40>>2]}function Mh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;return z[a+32>>2]}function xn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ig(a,c);Ka=0;return 0}function vn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Hg(a,c);Ka=0;return 0}function im(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;sg(a,c);Ka=0;return 0}function hm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Cf(a,c);Ka=0;return 0}function dn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Dg(a,c);Ka=0;return 0}function Ul(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;return z[a+4>>2]}function Oh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ka=0;return A[a+36|0]}function Bl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;ve(a,c);Ka=0;return 0}function Ak(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Pb(a,c);Ka=0;return 0}function yl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;ye(a);Ka=0;return 0}function oh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;_a(a);Ka=0;return 0}function dm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Of(a);Ka=0;return 0}function Wk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ac(a);Ka=0;return 0}function Gl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;le(a);Ka=0;return 0}function Bk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Rb(a);Ka=0;return 0}function pl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ed();Ka=0;return 0}function Kh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return a+24|0}function Ei(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;ib();Ka=0;return 0}function Di(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;bb();Ka=0;return 0}function Ci(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;ab();Ka=0;return 0}function Bi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;$a();Ka=0;return 0}function Al(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;ya();Ka=0;return 0}function Ai(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Za();Ka=0;return 0}function vh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return 32444}function ci(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return 32760}function Sl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return 2464}function Rl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return 2762}function Ql(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return 3796}function yg(a,b){var c=0,d=0,e=0;c=Fa-16|0;Fa=c;z[c+12>>2]=b;d=z[a>>2];b=d+(b<<2)|0;a=z[b+396>>2];z[b+396>>2]=a+1;z[c+8>>2]=a;a=Gf(d+408|0,16);b=z[c+12>>2];e=z[c+8>>2];a=If(a,31,0,1,1,1);z[a+12>>2]=e;z[a+8>>2]=b;z[a>>2]=56008;z[c+4>>2]=a;ff(z[Sf(d+332|0)>>2],c+4|0);Fa=c+16|0;return a}function mh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return a|0}function nm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;ve(6293,0);r()}function Fi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=-1;return-1}function wg(a){var b=0,c=0;a:{c=z[a+4>>2];b=z[a>>2]+332|0;if(c>>>0>z[b+4>>2]-z[b>>2]>>2>>>0){z[16214]=0;Aa(265,1638,3017,2409,1255);a=z[16214];z[16214]=0;if((a|0)==1){break a}r()}z[16214]=0;Ba(311,b|0,c|0);b=z[16214];z[16214]=0;if((b|0)==1){break a}Ze(a+8|0);return}ra(0)|0;we();r()}function Xi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return 1}function Gi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return-1}function Dh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ka=0;return 0}function sd(a,b,c){var d=0,e=0;a:{d=z[a>>2];e=z[a+4>>2];b:{if((d|0)!=(e|0)){e=z[a+8>>2];break b}d=e+10|0;z[a+4>>2]=d;e=xd(z[a+8>>2],d<<2);if(!e){break a}z[a+8>>2]=e;d=z[a>>2]}z[(d<<2)+e>>2]=b;z[a>>2]=d+1;return 1}le(z[a+8>>2]);z[a>>2]=0;z[a+4>>2]=0;sb(c,1,13347,0);return 0}function om(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;r()}function ob(a){var b=0,c=0;b=ud(1,72);if(b){z[b+64>>2]=1048576;c=td(1048576);z[b+32>>2]=c;if(!c){le(b);return 0}z[b+36>>2]=c;z[b+28>>2]=98;z[b+24>>2]=99;z[b+20>>2]=100;z[b+16>>2]=101;z[b+44>>2]=a?102:103;z[b+40>>2]=a?104:105;z[b+68>>2]=z[b+68>>2]|(a?2:1)}else{b=0}return b}function $f(a,b,c,d){var e=0,f=0,g=0;e=Fa-16|0;Fa=e;g=Gf(a+408|0,20);b=z[b>>2];f=z[c+4>>2];c=z[c>>2];z[e+8>>2]=c;z[e+12>>2]=f;a=z[d>>2];z[e>>2]=c;z[e+4>>2]=f;c=If(g,59,a,1,1,1);z[c+8>>2]=b;z[c>>2]=54724;a=z[e+4>>2];z[c+12>>2]=z[e>>2];z[c+16>>2]=a;Fa=e+16|0;return c}function xg(a,b){var c=0,d=0;c=Fa-16|0;Fa=c;z[c+12>>2]=a;a:{if((a|0)==(b|0)){break a}while(1){b=b-1|0;z[c+8>>2]=b;if(a>>>0>=b>>>0){break a}a=z[c+12>>2];b=A[a|0];d=a;a=z[c+8>>2];x[d|0]=A[a|0];x[a|0]=b;a=z[c+12>>2]+1|0;z[c+12>>2]=a;b=z[c+8>>2];continue}}Fa=c+16|0}function Ve(a,b,c){var d=0;d=z[b>>2];if(c){Ue(b,110)}a:{if(z[b+4>>2]==z[b>>2]){break a}c=z[b>>2];if(x[c|0]-48>>>0>=10){break a}while(1){if(!(z[b+4>>2]==z[b>>2]|x[c|0]-48>>>0>9)){c=c+1|0;z[b>>2]=c;continue}break}z[a+4>>2]=c;z[a>>2]=d;return}z[a>>2]=0;z[a+4>>2]=0}function Hg(a,b){var c=0,d=0;c=Fa-32|0;Fa=c;Ig(a,b);a:{if(C[b+8>>2]>1){b=Re(c+24|0,3828);d=z[b+4>>2];z[c+8>>2]=z[b>>2];z[c+12>>2]=d;if(!bf(a,c+8|0)){break a}eg(c+16|0,a,6);b=z[c+20>>2];z[a>>2]=z[c+16>>2];z[a+4>>2]=b}Fa=c+32|0;return}za(5901,3017,1582,3270);r()}function we(){var a=0;a=z[15594];z[16214]=0;ta(a|0);a=z[16214];z[16214]=0;a:{if((a|0)!=1){z[16214]=0;Ba(267,3677,0);a=z[16214];z[16214]=0;if((a|0)!=1){break a}}sa(ra(0)|0)|0;z[16214]=0;Ba(267,2479,0);a=z[16214];z[16214]=0;if((a|0)!=1){break a}ra(0)|0;we()}r()}function Sc(a,b){var c=0,d=0,e=0;c=z[a+16>>2];a:{if(c){break a}e=z[a+12>>2];c=e<<8&65280;z[a+12>>2]=c;c=(c|0)==65280?7:8;z[a+16>>2]=c;d=z[a+8>>2];if(d>>>0>=C[a+4>>2]){break a}z[a+8>>2]=d+1;x[d|0]=e;c=z[a+16>>2]}c=c-1|0;z[a+16>>2]=c;z[a+12>>2]=z[a+12>>2]|b<>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;x[c|0]=a-F(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function nb(a,b,c){var d=0,e=0;z[a+48>>2]=0;z[a+36>>2]=z[a+32>>2];e=La[z[a+28>>2]](b,c,z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=z[a+68>>2];if(!e){z[a+68>>2]=d|4;return 0}z[a+56>>2]=b;z[a+60>>2]=c;z[a+68>>2]=d&-5;return 1}function Se(a,b){var c=0,d=0,e=0,f=0;c=Fa-32|0;Fa=c;d=z[a>>2];e=c+24|0;z[e+4>>2]=z[a+4>>2];z[e>>2]=d;f=z[b+4>>2];d=z[b>>2];z[c+8>>2]=d;z[c+12>>2]=f;z[c+16>>2]=d;z[c+20>>2]=f;d=bf(e,c+8|0);if(d){z[a>>2]=z[a>>2]+(z[b+4>>2]-z[b>>2]|0)}Fa=c+32|0;return d}function $c(a,b,c,d){var e=0,f=0,g=0;z[a+28>>2]=c;z[a+24>>2]=b;e=ud(1,848);z[z[a+20>>2]>>2]=e;a:{if(!e){break a}e=ud(z[b+16>>2],76);f=z[z[a+20>>2]>>2];z[f+20>>2]=e;if(!e){break a}z[f+16>>2]=z[b+16>>2];b=z[c+84>>2];z[a+44>>2]=d;z[a>>2]=b;g=1}return g}function df(a){var b=0;a=z[a>>2];if(z[a+4>>2]==z[a>>2]){return 1}b=z[a>>2];if((b|0)!=z[a+4>>2]){a=A[b|0]}else{a=0}b=(a<<24>>24)-46|0;if((b&255)>>>0<=49){a=b&31;a=((b&63)>>>0>=32?131072>>>a|0:((1<>>a)&1}else{a=0}return a}function Zd(a,b){var c=0,d=0,e=0;q(+a);d=l(1)|0;e=l(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Zd(a*0x10000000000000000,b);c=z[b>>2]+-64|0}z[b>>2]=c;return a}z[b>>2]=c-1022;n(0,e|0);n(1,d&-2146435073|1071644672);a=+p()}return a}function qe(a){var b=0;a=a>>>0<=1?1:a;a:{while(1){b=ke(a);if(b){break a}b=z[16216];if(b){La[b|0](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;continue}break}a=re(4);z[a>>2]=52624;z[a>>2]=52584;R(a|0,52700,4);r()}return b}function ab(){var a=0,b=0;S(32420,3229,32380,17,32382,18);a=qe(4);z[a>>2]=0;b=qe(4);z[b>>2]=0;T(32420,2884,52336,32385,19,a|0,52336,32389,20,b|0);a=qe(4);z[a>>2]=4;b=qe(4);z[b>>2]=4;T(32420,1452,52336,32385,19,a|0,52336,32389,20,b|0);U(32420)}function $a(){var a=0,b=0;S(32404,1407,32380,13,32382,14);a=qe(4);z[a>>2]=0;b=qe(4);z[b>>2]=0;T(32404,1215,52336,32385,15,a|0,52336,32389,16,b|0);a=qe(4);z[a>>2]=4;b=qe(4);z[b>>2]=4;T(32404,1171,52336,32385,15,a|0,52336,32389,16,b|0);U(32404)}function lg(a){var b=0,c=0,d=0;c=Fa-16|0;Fa=c;b=Ff(a);z[c+12>>2]=b;a:{if(!b){b=0;break a}d=z[a>>2];if((d|0)!=z[a+4>>2]){d=A[d|0]}else{d=0}if((d|0)!=73){break a}b=rf(a,0);z[c+8>>2]=b;if(b){b=sf(a,c+12|0,c+8|0)}else{b=0}}Fa=c+16|0;return b}function ub(a){var b=0,c=0,d=0;if(a){b=z[a+24>>2];if(b){c=z[a+16>>2];if(c){b=0;while(1){d=z[(z[a+24>>2]+F(b,52)|0)+44>>2];if(d){le(d);c=z[a+16>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=z[a+24>>2]}le(b)}b=z[a+28>>2];if(b){le(b)}le(a)}}function Xd(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=A[a|0];a:{if(!d){break a}while(1){b:{e=A[b|0];if((e|0)!=(d|0)|!e){break b}c=c-1|0;if(!c){break b}b=b+1|0;d=A[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-A[b|0]|0}function lf(a,b){var c=0,d=0,e=0;c=Fa-16|0;Fa=c;z[c+12>>2]=0;a:{b:{if(!Kf(b,c+12|0)){d=z[c+12>>2];if(d>>>0<=z[b+4>>2]-z[b>>2]>>>0){break b}}z[a>>2]=0;z[a+4>>2]=0;break a}e=z[b>>2];z[a+4>>2]=e+d;z[a>>2]=e;z[b>>2]=z[b>>2]+d}Fa=c+16|0}function be(a){var b=0,c=0,d=0;if(x[z[a>>2]]-48>>>0>=10){return 0}while(1){d=z[a>>2];c=-1;if(b>>>0<=214748364){c=x[d|0]-48|0;b=F(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}z[a>>2]=d+1;b=c;if(x[d+1|0]-48>>>0<10){continue}break}return b}function Qe(a){var b=0,c=0;b=a+408|0;while(1){c=z[b+4096>>2];if(c){z[b+4096>>2]=z[c>>2];if((b|0)==(c|0)){continue}le(c);continue}break}z[b>>2]=0;z[b+4>>2]=0;z[b+4096>>2]=b;Ze(a+360|0);Ze(a+332|0);Ze(a+288|0);Ze(a+148|0);Ze(a+8|0)}function hg(a,b){var c=0,d=0;c=Fa-16|0;Fa=c;a=Gf(a+408|0,16);d=z[b+4>>2];b=z[b>>2];z[c>>2]=b;z[c+4>>2]=d;z[c+8>>2]=b;z[c+12>>2]=d;a=If(a,63,0,1,1,1);z[a>>2]=56916;b=z[c+4>>2];z[a+8>>2]=z[c>>2];z[a+12>>2]=b;Fa=c+16|0;return a}function qo(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=ro(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;Ka=(g^Ka)-((a>>>0>>0)+g|0)|0;return b}function Vc(a){var b=0,c=0,d=0;b=z[a+12>>2];a:{if((b&255)==255){b=b<<8&65280;z[a+12>>2]=b;z[a+16>>2]=(b|0)==65280?7:8;c=z[a+8>>2];d=0;if(c>>>0>=C[a+4>>2]){break a}z[a+8>>2]=c+1;z[a+12>>2]=b|A[c|0]}z[a+16>>2]=0;d=1}return d}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Fa-16|0;Fa=d;z[d+12>>2]=z[c>>2];a=La[z[z[a>>2]+16>>2]](a,0,b,0,d+12|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(a){z[c>>2]=z[d+12>>2]}Fa=d+16|0;return a|0}function yd(a){var b=0,c=0,d=0,e=0;if(a){b=z[a+20>>2];c=z[a+16>>2];if(F(b,c)){while(1){e=z[z[a+24>>2]+(d<<2)>>2];if(e){le(e);c=z[a+16>>2];b=z[a+20>>2]}d=d+1|0;if(d>>>0>>0){continue}break}}le(z[a+24>>2]);le(a)}}function kc(a,b,c,d,e){if(c>>>0<=11){sb(e,1,9905,0);return 0}kb(b,65424,2);kb(b+2|0,10,2);kb(b+4|0,z[a+204>>2],2);kb(b+10|0,z[a+12>>2],1);kb(b+11|0,z[(z[a+156>>2]+F(z[a+204>>2],5644)|0)+5592>>2],1);z[d>>2]=12;return 1}function po(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=F(e,f);g=c&65535;h=a&65535;i=F(g,h);f=(i>>>16|0)+F(f,g)|0;e=(f&65535)+F(e,h)|0;Ka=(F(b,c)+j|0)+F(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function Eb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d){while(1){e=f<<2;g=e+a|0;h=c+e|0;i=z[h>>2];j=b+e|0;k=z[j>>2];e=z[g>>2]-(i+k>>2)|0;z[g>>2]=e+i;z[j>>2]=e;z[h>>2]=e+k;f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function gf(a,b,c){var d=0,e=0,f=0,g=0;d=b+8|0;if(z[d+4>>2]-z[d>>2]>>2>>>0>>0){za(5872,3017,2470,1131);r()}e=z[d+4>>2];f=z[d>>2]+(c<<2)|0;g=e-f>>2;b=Gf(b+408|0,g<<2);Ef(f,e,b);z[a+4>>2]=g;z[a>>2]=b;Cf(d,c)}function Be(a,b,c){var d=0;d=z[a+16>>2];if(!d){z[a+36>>2]=1;z[a+24>>2]=c;z[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(z[a+24>>2]!=2){break a}z[a+24>>2]=c;return}x[a+54|0]=1;z[a+24>>2]=2;z[a+36>>2]=z[a+36>>2]+1}}function ee(a,b,c,d,e){var f=0;f=Fa-256|0;Fa=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Id(f,b&255,c?d:256);if(!c){while(1){ae(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}ae(a,f,d)}Fa=f+256|0}function Td(a){var b=0;a:{b=a;a=Wd(a);if((((Qd(b,1,a,62224)|0)!=(a|0)?-1:0)|0)<0){break a}b:{if(z[15576]==10){break b}a=z[15561];if((a|0)==z[15560]){break b}z[15561]=a+1;x[a|0]=10;break a}Nd(62224)}}function Fc(a,b,c){var d=0;d=Fa-32|0;Fa=d;Dc(a,b,c,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d,d+24|0,d+28|0,0);Fa=d+32|0;return F(z[d+28>>2],F(z[a+16>>2],F(z[(z[b+76>>2]+F(c,5644)|0)+8>>2],z[d+24>>2])))}function dh(a,b,c,d,e,f,g,h,i,j,k,l){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;k=k|0;l=l|0;return La[a|0](b,0,c,0,d,0,e,0,f,0,g,0,h,0,i,0,j,0,k,0,l,0,0,0,0,0,0,0,0,0,0,0)|0}function Mf(a){var b=0;b=Fa-16|0;Fa=b;z[b+12>>2]=0;if(Ue(a,114)){z[b+12>>2]=z[b+12>>2]|4}if(Ue(a,86)){z[b+12>>2]=z[b+12>>2]|2}if(Ue(a,75)){z[b+12>>2]=z[b+12>>2]|1}Fa=b+16|0;return z[b+12>>2]}function Md(a){var b=0;b=z[a+72>>2];z[a+72>>2]=b-1|b;b=z[a>>2];if(b&8){z[a>>2]=b|32;return-1}z[a+4>>2]=0;z[a+8>>2]=0;b=z[a+44>>2];z[a+28>>2]=b;z[a+20>>2]=b;z[a+16>>2]=b+z[a+48>>2];return 0}function Ud(a,b){var c=0,d=0;c=A[a|0];d=A[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=A[b+1|0];c=A[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 Qb(a,b){var c=0,d=0,e=0;a:{if(z[a+208>>2]){break a}Bb(z[a+212>>2]);z[a+212>>2]=0;if((b|0)>=0){b=Ab(b);z[a+212>>2]=b;c=1;if(b){break a}}d=a,e=Ab(0),z[d+212>>2]=e;c=0}return c}function eh(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=b;q(+c);b=l(1)|0;return La[a|0](h,0,l(0)|0,b,d,0,e,0,f,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Ye(a,b){var c=0;a:{b=z[a+4>>2]+b|0;c=z[a+8>>2];if(b>>>0<=c>>>0){break a}c=c<<1;b=b+992|0;b=b>>>0>>0?c:b;z[a+8>>2]=b;c=a;a=me(z[a>>2],b);z[c>>2]=a;if(a){break a}we();r()}}function $e(a){var b=0;z[a+12>>2]=0;z[a+16>>2]=0;z[a+8>>2]=a+44;b=a+12|0;z[a+4>>2]=b;z[a>>2]=b;z[a+20>>2]=0;z[a+24>>2]=0;z[a+28>>2]=0;z[a+32>>2]=0;z[a+36>>2]=0;z[a+40>>2]=0;return a}function Xf(a,b){var c=0;c=A[a+5|0]|A[a+6|0]<<8;if((c&192)!=128){return(c&255)>>>0<64}return La[z[z[a>>2]>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function je(a){var b=0,c=0;b=z[15593];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>Ma()<<16>>>0){if(!(pa(a|0)|0)){break a}}z[15593]=a;return b}z[15614]=48;return-1}function Ce(a,b){var c=0;a:{if(!b){break a}b=Ae(b,52132);if(!b|z[b+8>>2]&(z[a+8>>2]^-1)){break a}if(!ze(z[a+12>>2],z[b+12>>2],0)){break a}c=ze(z[a+16>>2],z[b+16>>2],0)}return c}function yb(a){var b=0,c=0;b=z[a+4>>2];if((b|0)>0){c=z[a>>2];a=0;while(1){if(!z[F(a,12)+c>>2]){return z[(F(a,12)+c|0)+4>>2]}a=a+1|0;if((b|0)!=(a|0)){continue}break}}return 0}function ud(a,b){var c=0,d=0;if(!a|!b){a=c}else{a:{if(!a){break a}c=po(a,0,b,0);d=Ka;if((a|b)>>>0<65536){break a}c=d?-1:c}a=ke(c);if(!(!a|!(A[a-4|0]&3))){Id(a,0,c)}}return a}function Xa(a){var b=0;b=re(8);z[b>>2]=52624;z[b>>2]=52732;z[16214]=0;ua(262,b+4|0,a|0)|0;a=z[16214];z[16214]=0;if((a|0)==1){xa(wa()|0);r()}z[b>>2]=52780;R(b|0,52812,3);r()}function cg(a,b){var c=0,d=0,e=0;c=Fa-16|0;Fa=c;d=Gf(a+408|0,28);a=Re(c+8|0,6758);b=z[b>>2];e=z[a+4>>2];z[c>>2]=z[a>>2];z[c+4>>2]=e;a=tg(d,c,b,0);Fa=c+16|0;return a}function ug(a,b){var c=0,d=0;c=Fa-16|0;Fa=c;z[a>>2]=b;z[a+4>>2]=z[b+336>>2]-z[b+332>>2]>>2;b=$e(a+8|0);d=z[a>>2];z[c+12>>2]=b;ff(d+332|0,c+12|0);Fa=c+16|0;return a}function pb(a){var b=0;if(a){b=z[a+4>>2];if(b){La[b|0](z[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}le(z[a+32>>2]);z[a+32>>2]=0;le(a)}}function Mg(a){var b=0,c=0,d=0;c=Fa-16|0;Fa=c;a=z[a+8>>2];if(A[a+4|0]==7){d=z[a+12>>2];b=c+8|0;z[b>>2]=z[a+8>>2];z[b+4>>2]=d;b=dg(b,Re(c,1546))}Fa=c+16|0;return b}function Dd(){var a=0;a=z[15611];if(a){while(1){La[z[a>>2]](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=z[a+4>>2];if(a){continue}break}}}function mf(a,b){var c=0,d=0;c=Fa-16|0;Fa=c;a=Gf(a+408|0,16);d=z[b+4>>2];b=z[b>>2];z[c>>2]=b;z[c+4>>2]=d;z[c+8>>2]=b;z[c+12>>2]=d;a=Lf(a,c);Fa=c+16|0;return a} +function bh(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return La[a|0](b,0,c,0,d,0,e,0,f,0,g,0,h,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function We(a,b,c){var d=0,e=0;d=Fa-16|0;Fa=d;e=Gf(a+408|0,20);a=Re(d+8|0,b);b=z[c>>2];c=z[a+4>>2];z[d>>2]=z[a>>2];z[d+4>>2]=c;a=Hf(e,d,b);Fa=d+16|0;return a}function mb(a,b){x[b+7|0]=A[a|0];x[b+6|0]=A[a+1|0];x[b+5|0]=A[a+2|0];x[b+4|0]=A[a+3|0];x[b+3|0]=A[a+4|0];x[b+2|0]=A[a+5|0];x[b+1|0]=A[a+6|0];x[b|0]=A[a+7|0]}function re(a){var b=0,c=0;z[16214]=0;b=a+27&-4;a=qa(263,b|0)|0;c=z[16214];z[16214]=0;a:{if((c|0)!=1){if(!a){break a}return Id(a,0,b)+24|0}ra(0)|0}we();r()}function tg(a,b,c,d){a=If(a,56,d,1,1,1);z[a>>2]=55140;d=z[b+4>>2];b=z[b>>2];z[a+16>>2]=c;z[a+8>>2]=b;z[a+12>>2]=d;b=a+20|0;z[b>>2]=0;z[b+4>>2]=0;return a}function ch(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 La[a|0](b,0,c,0,d,0,e,0,f,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function If(a,b,c,d,e,f){x[a+4|0]=b;z[a>>2]=53008;b=(A[a+5|0]|A[a+6|0]<<8)&61440|(c&63|d<<6&192|(e&3)<<8|(f&3)<<10);x[a+5|0]=b;x[a+6|0]=b>>>8;return a}function to(a){var b=G(0),c=G(0);b=G(L(a));c=G(a-b);if(!(cG(.5)){return a}c=a;a=G(b*G(.5));b=G(a-G(L(a)))==G(0)?b:c}return b}function Bc(a){if(a){La[z[(z[a+76>>2]?20:16)+a>>2]](z[a+48>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;z[a+48>>2]=0;le(a)}}function tf(a,b,c){a=Gf(a+408|0,20);c=z[c>>2];b=z[b>>2];a=Wf(a,12,A[b+5|0]>>>6|0,1,1);x[a+16|0]=0;z[a+12>>2]=c;z[a+8>>2]=b;z[a>>2]=61820;return a}function nd(a,b,c){a:{a=z[a+12>>2];if(!a){break a}a=a+(b<<4)|0;while(1){if(z[a+4>>2]<=(c|0)){break a}z[a+4>>2]=c;a=z[a>>2];if(a){continue}break}}}function jg(a,b,c,d){a=Gf(a+408|0,20);b=z[b>>2];c=z[c>>2];d=A[d|0];a=If(a,77,0,1,1,1);x[a+16|0]=d;z[a+12>>2]=c;z[a+8>>2]=b;z[a>>2]=57240;return a}function Jg(a,b,c,d){a=Gf(a+408|0,20);b=z[b>>2];c=A[c|0];d=z[d>>2];a=If(a,45,0,1,1,1);z[a+16>>2]=d;x[a+12|0]=c;z[a+8>>2]=b;z[a>>2]=59112;return a}function kf(a,b){var c=0,d=0;c=Fa-16|0;Fa=c;a=Gf(a+408|0,16);b=Re(c+8|0,b);d=z[b+4>>2];z[c>>2]=z[b>>2];z[c+4>>2]=d;a=Lf(a,c);Fa=c+16|0;return a}function Zg(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;La[a|0](b,0,c,0,d,0,e,0,f,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Qd(a,b,c,d){var e=0;e=F(b,c);a:{if(z[d+76>>2]<0){a=Pd(a,e,d);break a}a=Pd(a,e,d)}if((e|0)==(a|0)){return b?c:0}return(a>>>0)/(b>>>0)|0}function ah(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 La[a|0](b,0,c,0,d,0,e,0,f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Ag(a,b){var c=0,d=0;c=Fa-16|0;Fa=c;d=z[b+4>>2];b=z[b>>2];z[c>>2]=b;z[c+4>>2]=d;z[c+8>>2]=b;z[c+12>>2]=d;a=Jf(a,c);Fa=c+16|0;return a}function Xg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=G(e);La[a|0](b,0,c,0,d,0,(s(e),l(2)),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function fh(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;La[a|0](b,0,c,0,d,0,e,0,f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function _c(a){var b=0;b=ud(1,72);if(!b){return 0}x[b+40|0]=A[b+40|0]&254|(a|0)!=0;a=ud(1,4);z[b+20>>2]=a;if(a){return b}le(b);return 0}function hh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return La[a|0](b,0,c,d,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function $g(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return La[a|0](b,0,c,0,d,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=G(d);La[a|0](b,0,c,0,(s(d),l(2)),0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function af(a){var b=0;z[a+12>>2]=0;z[a+16>>2]=0;z[a+8>>2]=a+28;b=a+12|0;z[a+4>>2]=b;z[a>>2]=b;z[a+20>>2]=0;z[a+24>>2]=0;return a}function Hf(a,b,c){var d=0;a=If(a,20,0,1,1,1);z[a>>2]=52856;d=z[b+4>>2];b=z[b>>2];z[a+16>>2]=c;z[a+8>>2]=b;z[a+12>>2]=d;return a}function Vg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;La[a|0](b,0,c,0,d,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function gh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return La[a|0](b,c,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return La[a|0](b,0,c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Jf(a,b){var c=0;c=z[b+4>>2]-z[b>>2]|0;if(c){Ye(a,c);Gd(z[a>>2]+z[a+4>>2]|0,z[b>>2],c);z[a+4>>2]=z[a+4>>2]+c}return a}function _g(a,b){a=a|0;b=b|0;return G((n(2,La[a|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0),t()))}function sf(a,b,c){a=Gf(a+408|0,16);b=z[b>>2];c=z[c>>2];a=If(a,41,0,1,1,1);z[a+12>>2]=c;z[a+8>>2]=b;z[a>>2]=59752;return a}function mg(a,b,c){a=Gf(a+408|0,16);b=z[b>>2];c=z[c>>2];a=If(a,22,0,1,1,1);z[a+12>>2]=c;z[a+8>>2]=b;z[a>>2]=58116;return a}function Rf(a,b,c){a=Gf(a+408|0,16);b=z[b>>2];c=z[c>>2];a=If(a,24,0,1,1,1);z[a+12>>2]=c;z[a+8>>2]=b;z[a>>2]=59432;return a}function dg(a,b){var c=0;c=z[a+4>>2]-z[a>>2]|0;if((c|0)==(z[b+4>>2]-z[b>>2]|0)){a=Xd(z[a>>2],z[b>>2],c)}else{a=1}return!a}function bf(a,b){var c=0;c=z[b+4>>2]-z[b>>2]|0;if(c>>>0<=z[a+4>>2]-z[a>>2]>>>0){a=Xd(z[b>>2],z[a>>2],c)}else{a=1}return!a}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La[a|0](b,0,c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Rg(a,b,c){a=a|0;b=b|0;c=c|0;return La[a|0](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Eg(a,b,c){a=If(a,66,0,1,1,1);z[a+8>>2]=b;z[a>>2]=57452;b=z[c+4>>2];z[a+12>>2]=z[c>>2];z[a+16>>2]=b;return a}function Ng(a,b,c){a=If(a,5,0,1,1,1);z[a+8>>2]=b;z[a>>2]=61928;b=z[c+4>>2];z[a+12>>2]=z[c>>2];z[a+16>>2]=b;return a}function Ge(a){var b=0,c=0;z[a>>2]=52732;b=z[a+4>>2]-12|0;c=z[b+8>>2]-1|0;z[b+8>>2]=c;if((c|0)<0){le(b)}return a}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;La[a|0](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function ze(a,b,c){if(!c){return z[a+4>>2]==z[b+4>>2]}if((a|0)==(b|0)){return 1}return!Ud(z[a+4>>2],z[b+4>>2])}function Pg(a,b){a=a|0;b=b|0;return La[a|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function ve(a,b){var c=0,d=0;d=Fa-16|0;Fa=d;c=z[12672];Qd(6742,11,1,c);z[d+12>>2]=b;fe(c,a,b);Od(c);ya();r()}function qd(){var a=0,b=0;a=ud(1,12);if(a){z[a+4>>2]=10;b=ud(10,4);z[a+8>>2]=b;if(b){return a}le(a)}return 0}function Lf(a,b){var c=0;a=If(a,7,0,1,1,1);z[a>>2]=53168;c=z[b+4>>2];z[a+8>>2]=z[b>>2];z[a+12>>2]=c;return a}function wd(a){var b=0;b=Fa-16|0;Fa=b;if(a){a=ne(b+12|0,32,a);a=a?0:z[b+12>>2]}else{a=0}Fa=b+16|0;return a}function vd(a){var b=0;b=Fa-16|0;Fa=b;if(a){a=ne(b+12|0,16,a);a=a?0:z[b+12>>2]}else{a=0}Fa=b+16|0;return a}function Ue(a,b){var c=0,d=0;c=z[a>>2];if(!((c|0)==z[a+4>>2]|x[c|0]!=(b&255))){z[a>>2]=c+1;d=1}return d}function Qg(a,b){a=a|0;b=b|0;La[a|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Db(a){if(z[a+12>>2]){z[a+40>>2]=0;if(z[a+24>>2]>0){while(1){if(z[a+24>>2]>0){continue}break}}}}function Cf(a,b){if(z[a+4>>2]-z[a>>2]>>2>>>0>>0){za(6190,3017,129,2747);r()}z[a+4>>2]=z[a>>2]+(b<<2)}function Bf(a,b){if(z[a+4>>2]-z[a>>2]>>2>>>0<=b>>>0){za(6062,3017,143,3860);r()}return z[a>>2]+(b<<2)|0}function cb(a){a=a|0;return La[a|0](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Cd(a){a=a|0;var b=0,c=0;a=z[a+4>>2];b=Wd(a)+1|0;c=ke(b);if(c){a=Gd(c,a,b)}else{a=0}return a|0}function se(a){a=a|0;z[16214]=0;ye(a-24|0);a=z[16214];z[16214]=0;if((a|0)!=1){return}ra(0)|0;we();r()}function eg(a,b,c){var d=0,e=0;d=z[b+4>>2];e=z[b>>2];b=d-e|0;z[a+4>>2]=d;z[a>>2]=(b>>>0>>0?b:c)+e}function jf(a){var b=0,c=0;b=a+4|0;wf(z[a>>2]+332|0,b);c=z[a>>2]+288|0;a=a+32|0;xf(c,a);Ze(a);Ze(b)}function Pb(a,b){if(!(!a|!b)){z[a+164>>2]=z[b+4>>2];z[a+160>>2]=z[b>>2];z[a+224>>2]=z[b+8248>>2]&2}}function gg(a,b){a=Gf(a+408|0,8);b=z[b>>2]!=0;a=If(a,69,0,1,1,1);x[a+7|0]=b;z[a>>2]=55356;return a}function og(a,b){a=Gf(a+408|0,12);b=z[b>>2];a=If(a,42,0,1,1,1);z[a+8>>2]=b;z[a>>2]=58548;return a}function Fg(a,b){a=Gf(a+408|0,12);b=z[b>>2];a=If(a,4,0,1,1,1);z[a+8>>2]=b;z[a>>2]=58324;return a}function Yg(a){a=a|0;La[a|0](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function xe(a,b){var c=0;c=28;if(!(!A[a+62528|0]|a>>>0>127)){z[(a<<2)+62656>>2]=b;c=0}return c}function Of(a){var b=0;b=z[a+4>>2];if((b|0)==z[a>>2]){za(6149,3017,124,2738);r()}z[a+4>>2]=b-4}function Sf(a){var b=0;b=z[a+4>>2];if((b|0)==z[a>>2]){za(6098,3017,139,2742);r()}return b-4|0}function Ya(){var a=0;a=re(4);z[a>>2]=52624;z[a>>2]=52584;z[a>>2]=52604;R(a|0,52712,4);r()}function Oe(a,b,c,d){var e=0;e=Fa-16|0;Fa=e;z[e+12>>2]=d;a=he(a,b,c,d);Fa=e+16|0;return a}function Lg(a,b,c){a=If(a,27,0,1,1,1);z[a+12>>2]=c;z[a+8>>2]=b;z[a>>2]=61280;return a}function Pe(a,b){var c=0;Ye(a,1);c=z[a+4>>2];z[a+4>>2]=c+1;x[z[a>>2]+c|0]=b;return a}function _e(a){var b=0;z[a+8>>2]=a+140;b=a+12|0;z[a+4>>2]=b;z[a>>2]=b;Id(b,0,128)}function uo(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Sd(a,b){var c=0;c=Fa-16|0;Fa=c;z[c+12>>2]=b;ge(62224,a,b);Fa=c+16|0}function vo(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function Re(a,b){var c=0,d=0;z[a>>2]=b;c=a,d=Wd(b)+b|0,z[c+4>>2]=d;return a}function Ld(a,b,c){var d=0;d=Fa-16|0;Fa=d;z[d+12>>2]=c;ge(a,b,c);Fa=d+16|0}function md(a){var b=0;if(a){b=z[a+12>>2];if(b){le(b);z[a+12>>2]=0}le(a)}}function Zc(a,b){var c=0;c=ud(1,8);if(c){z[c+4>>2]=b;z[c>>2]=a}return c}function Gg(a,b,c){a=If(a,c,0,1,1,1);z[a+8>>2]=b;z[a>>2]=58848;return a}function Cg(a,b){a=If(a,38,0,1,1,1);z[a+8>>2]=b;z[a>>2]=57124;return a}function pe(a,b){a=a|0;b=b|0;if(!z[16214]){z[16214]=a;z[16215]=b}}function Fe(a){a=a|0;if(!a){return 0}return(Ae(a,52020)|0)!=0|0}function Kg(a,b,c){return Lg(Gf(a+408|0,16),z[b>>2],z[c>>2])}function rd(a){var b=0;if(a){b=z[a+8>>2];if(b){le(b)}le(a)}}function xb(){var a=0;a=ud(1,24);if(!a){return 0}return a}function Bd(a,b,c,d,e,f,g,h){return Ad(a,b,c,d,e,f,g,h,0)}function te(a){a=a|0;if(a){a=a-24|0;z[a>>2]=z[a>>2]+1}}function oo(a){if(a){return 31-I(a-1^a)|0}return 32}function zd(a,b,c,d,e,f,g,h){Ad(a,b,c,d,e,f,g,h,1)}function pf(a,b){return Cg(Gf(a+408|0,12),z[b>>2])}function Ze(a){if(z[a>>2]!=(a+12|0)){le(z[a>>2])}}function Ig(a,b){Re(a,z[(z[b+8>>2]<<2)+62036>>2])}function rg(a,b){z[a+20>>2]=z[a+20>>2]-1;Pe(a,b)}function pg(a,b){z[a+20>>2]=z[a+20>>2]+1;Pe(a,b)}function xd(a,b){if(!b){return 0}return me(a,b)}function ih(a,b,c,d){Da(a|0,b|0,8,0,c|0,-1,d|0)}function Ne(a){a=a|0;a=Fa-a&-16;Fa=a;return a|0}function so(a,b,c){no(a,0,b,c);Ka=Ja;return Ia}function ae(a,b,c){if(!(A[a|0]&32)){Pd(b,c,a)}}function Wf(a,b,c,d,e){return If(a,b,0,c,d,e)}function td(a){if(!a){return 0}return ke(a)}function ro(a,b,c,d){a=no(a,b,c,d);return a}function fe(a,b,c){return _d(a,b,c,259,260)}function id(a){if(a){le(z[a+8>>2]);le(a)}}function cd(a,b,c){return dd(a,b,1,52,c)}function ig(a,b){Re(a,z[b+4>>2])}function ge(a,b,c){_d(a,b,c,0,0)}function He(){Ha=130944;Ga=65408}function tb(){return ud(1,36)}function Ie(){return Fa-Ga|0}function _a(a){if(a){le(a)}}function gb(){Xa(1863);r()}function Kd(){return 62456}function Me(a){a=a|0;Fa=a}function Le(){return Fa|0}function Ke(){return Ga|0}function Je(){return Ha|0}function db(a){} +// EMSCRIPTEN_END_FUNCS +g=A;var La=e([null,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,rh,sh,nh,oh,th,uh,nh,oh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Nh,Ph,Nh,Qh,Rh,Sh,Rh,Th,Uh,Vh,Nh,Wh,Nh,Xh,Yh,Zh,_h,$h,ai,bi,ci,di,xh,ei,fi,Ah,gi,Ch,hi,Eh,ii,ji,ki,Jh,li,mi,ni,oi,pi,qi,pi,ri,si,ti,ui,ni,vi,Jh,wi,xi,yi,zi,Ai,Bi,Ci,Di,Ei,Dh,Fi,Gi,Gi,Hi,Ii,Ji,Ki,Dh,Li,Mi,Ni,Oi,Pi,Qi,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Zi,_i,$i,aj,bj,cj,dj,ej,fj,Xi,gj,hj,ij,jj,kj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,Dh,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Xi,Qj,Rj,Xi,Xi,Sj,Tj,Uj,Vj,Wj,Xj,Yj,Zj,_j,$j,ak,bk,ck,dk,ek,fk,gk,hk,ik,jk,kk,lk,mk,nk,ok,pk,qk,rk,sk,tk,uk,vk,wk,xk,Xi,yk,zk,Ak,Bk,Ck,Dk,Ek,Fk,Gk,Hk,Ik,Jk,Kk,Lk,Mk,Nk,Ok,Pk,Qk,Rk,Sk,Tk,Uk,Vk,Wk,Xk,Yk,Zk,_k,$k,al,bl,cl,dl,el,fl,gl,hl,il,jl,kl,ll,ml,nl,ol,pl,ql,rl,sl,Dh,Dh,tl,ul,vl,wl,xl,yl,zl,Al,Bl,Cl,Dl,El,Fl,mh,Gl,Dh,Dh,Hl,Gl,Il,Jl,Kl,Ll,Gl,Ml,Nl,Ol,Gl,Pl,Gl,Ql,Gl,Rl,Gl,Sl,Tl,Ul,Tl,Vl,Wl,Xl,Yl,Zl,_l,$l,am,bm,cm,dm,em,fm,gm,hm,im,jm,km,Dh,Dh,Dh,mh,lm,Dh,mm,mh,Gl,nm,om,pm,Gl,qm,rm,Gl,sm,Gl,tm,um,vm,wm,xm,ym,Gl,zm,Gl,Am,Gl,Bm,Gl,Cm,Gl,Dm,Gl,Em,Gl,Fm,Gl,Gm,Gl,Hm,Gl,Im,Gl,Jm,Gl,Km,Gl,Lm,Gl,Mm,Gl,Nm,Gl,Om,Gl,Pm,Gl,Qm,Gl,Rm,Gl,Sm,Gl,Tm,Um,Gl,Vm,Wm,Gl,Xm,Um,Gl,Ym,Zm,Gl,_m,Gl,$m,Gl,an,Gl,bn,Gl,cn,Gl,dn,Gl,en,Gl,fn,Gl,gn,Gl,hn,Gl,jn,Gl,kn,Gl,ln,Gl,mn,Gl,nn,on,Gl,pn,Gl,qn,Gl,rn,Gl,sn,tn,Gl,un,vn,Gl,wn,xn,Gl,yn,Gl,zn,Gl,An,Gl,Bn,on,Gl,nn,on,Gl,nn,Gl,Cn,Dn,En,Fn,Gn,Hn,Gl,In,Gl,Jn,tn,Gl,ln,Gl,Kn,Gl,Xi,Xi,Ln,Mn,Gl,Nn,Gl,On,Gl,Pn,Gl,Xi,Xi,Qn,Rn,Gl,Sn,Gl,Tn,Gl,Un,Vn,Wn,Xn,Yn,Gl,Zn,Gl,_n,Gl,$n,Gl,ao,Gl,Xi,Xi,bo,co,Gl,Un,eo,fo,Gl,go,Gl,ho,io,jo,Gl,ho,ko,lo,Gl,mo,Gl]);function Ma(){return w.byteLength/65536|0}function Ra(Sa){Sa=Sa|0;var Na=Ma()|0;var Oa=Na+Sa|0;if(Na=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;assert(INITIAL_MEMORY%65536===0);var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;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(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();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 addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init(){FS.error()},createDataFile(){FS.error()},createPreloadedFile(){FS.error()},createLazyFile(){FS.error()},open(){FS.error()},mkdev(){FS.error()},registerDevice(){FS.error()},analyzePath(){FS.error()},ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name){return function(){assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);return f.apply(null,arguments)}}class EmscriptenEH extends Error{}class EmscriptenSjLj extends EmscriptenEH{}class CppException extends EmscriptenEH{constructor(excPtr){super(excPtr);this.excPtr=excPtr;const excInfo=getExceptionMessage(excPtr);this.name=excInfo[0];this.message=excInfo[1]}}var wasmBinaryFile;wasmBinaryFile="openjpegjs.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;wasmExports=exports;runMemoryInitializer();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function legacyModuleProp(prop,newName,incomming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incomming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!=="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce("`"+sym+"` is not longer defined by emscripten. "+msg);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='"+librarySymbol+"')";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}var memoryInitializer="openjpegjs.js.mem";function runMemoryInitializer(){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,1024)}else{addRunDependency("memory initializer");var applyMemoryInitializer=data=>{if(data.byteLength)data=new Uint8Array(data);for(var i=0;i{readAsync(memoryInitializer,applyMemoryInitializer,()=>{var e=new Error("could not load memory initializer "+memoryInitializer);readyPromiseReject(e)})};if(Module["memoryInitializerRequest"]){var useRequest=()=>{var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number");return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var getExceptionMessageCommon=ptr=>withStackSave(()=>{var type_addr_addr=stackAlloc(4);var message_addr_addr=stackAlloc(4);___get_exception_message(ptr,type_addr_addr,message_addr_addr);var type_addr=HEAPU32[type_addr_addr>>2];var message_addr=HEAPU32[message_addr_addr>>2];var type=UTF8ToString(type_addr);_free(type_addr);var message;if(message_addr){message=UTF8ToString(message_addr);_free(message_addr)}return[type,message]});function getExceptionMessage(ptr){return getExceptionMessageCommon(ptr)}Module["getExceptionMessage"]=getExceptionMessage;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var warnOnce=text=>{if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var exceptionCaught=[];var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(info.excPtr);return info.get_exception_ptr()}var exceptionLast=0;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=new CppException(ptr)}throw exceptionLast}var findMatchingCatch=args=>{var thrown=exceptionLast&&exceptionLast.excPtr;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var arg in args){var caughtType=args[arg];if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=new CppException(ptr);uncaughtExceptionCount++;throw exceptionLast}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}var __embind_finalize_value_object=function(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>getterReturnType["fromWireType"](getter(getterContext,ptr)),write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})};function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}return sharedRegisterType(rawType,registeredInstance,options)}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=function(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{console.warn(info.leakWarning.stack.replace(/^Error: /,""));releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};var cls=$$.ptrType.registeredClass;info.leakWarning=new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n`+"We'll free it automatically in this case, but this functionality is not reliable across various environments.\n"+"Make sure to invoke .delete() manually once you're done with the instance instead.\n"+"Originally allocated");if("captureStackTrace"in Error){Error.captureStackTrace(info.leakWarning,RegisteredPointer_fromWireType)}finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}var dynCallLegacy=(sig,ptr,args)=>{assert("dynCall_"+sig in Module,`bad function pointer type - dynCall function not found for sig '${sig}'`);if(args&&args.length){assert(args.length===sig.substring(1).replace(/j/g,"--").length)}else{assert(sig.length==1)}var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var dynCall=(sig,ptr,args)=>dynCallLegacy(sig,ptr,args);var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){return getDynCaller(signature,rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2])}return array}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}assert(!isAsync,"Async bindings are only supported with JSPI.");var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){assert(this.allocated[id]!==undefined,`invalid handle: ${id}`);return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){assert(this.allocated[id]!==undefined);this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!="number"&&typeof value!="boolean"){throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{if(typeof value!="number"&&typeof value!="boolean"){throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`)}if(valuemaxRange){throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`)}};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string");if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");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};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{assert(ptr%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{assert(outPtr%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!");assert(typeof maxBytesToWrite=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{assert(ptr%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{assert(outPtr%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!");assert(typeof maxBytesToWrite=="number","stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})};function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}function emval_get_global(){if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handles.get(handle).refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}var _abort=()=>{abort("native code called abort()")};var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_memcpy_big=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, asked to go up to ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){err("Warning: Enlarging memory arrays, this is not fast! "+[oldSize,newSize]);return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var SYSCALLS={varargs:undefined,get(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var _fd_close=fd=>{abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")};function convertI32PairToI53Checked(lo,hi){assert(lo==lo>>>0||lo==(lo|0));assert(hi===(hi|0));return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var flush_NO_FILESYSTEM=()=>{_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=function(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":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;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var stackSave=createExportWrapper("stackSave");var stackRestore=createExportWrapper("stackRestore");var stackAlloc=createExportWrapper("stackAlloc");var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var ___cxa_free_exception=createExportWrapper("__cxa_free_exception");var ___cxa_increment_exception_refcount=createExportWrapper("__cxa_increment_exception_refcount");var ___cxa_decrement_exception_refcount=createExportWrapper("__cxa_decrement_exception_refcount");var ___get_exception_message=Module["___get_exception_message"]=createExportWrapper("__get_exception_message");var ___cxa_can_catch=createExportWrapper("__cxa_can_catch");var ___cxa_is_pointer_type=createExportWrapper("__cxa_is_pointer_type");var dynCall_ii=Module["dynCall_ii"]=createExportWrapper("dynCall_ii");var dynCall_vi=Module["dynCall_vi"]=createExportWrapper("dynCall_vi");var dynCall_i=Module["dynCall_i"]=createExportWrapper("dynCall_i");var dynCall_iii=Module["dynCall_iii"]=createExportWrapper("dynCall_iii");var dynCall_viii=Module["dynCall_viii"]=createExportWrapper("dynCall_viii");var dynCall_iiii=Module["dynCall_iiii"]=createExportWrapper("dynCall_iiii");var dynCall_vii=Module["dynCall_vii"]=createExportWrapper("dynCall_vii");var dynCall_viiii=Module["dynCall_viiii"]=createExportWrapper("dynCall_viiii");var dynCall_iji=Module["dynCall_iji"]=createExportWrapper("dynCall_iji");var dynCall_viif=Module["dynCall_viif"]=createExportWrapper("dynCall_viif");var dynCall_viiif=Module["dynCall_viiif"]=createExportWrapper("dynCall_viiif");var dynCall_v=Module["dynCall_v"]=createExportWrapper("dynCall_v");var dynCall_jji=Module["dynCall_jji"]=createExportWrapper("dynCall_jji");var dynCall_iiji=Module["dynCall_iiji"]=createExportWrapper("dynCall_iiji");var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji");var dynCall_viiiiii=Module["dynCall_viiiiii"]=createExportWrapper("dynCall_viiiiii");var dynCall_fi=Module["dynCall_fi"]=createExportWrapper("dynCall_fi");var dynCall_iiiii=Module["dynCall_iiiii"]=createExportWrapper("dynCall_iiiii");var dynCall_iiiiii=Module["dynCall_iiiiii"]=createExportWrapper("dynCall_iiiiii");var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=createExportWrapper("dynCall_iiiiiiii");var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=createExportWrapper("dynCall_iiiiiii");var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=createExportWrapper("dynCall_iiiiiiiiiiii");var dynCall_iidiiii=Module["dynCall_iidiiii"]=createExportWrapper("dynCall_iidiiii");var dynCall_viiiii=Module["dynCall_viiiii"]=createExportWrapper("dynCall_viiiii");function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}Module["ccall"]=ccall;var missingLibrarySymbols=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","zeroMemory","exitJS","isLeapYear","ydayFromDate","arraySum","addDays","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","getHostByName","initRandomFill","randomFill","getCallstack","emscriptenLog","convertPCtoSourceLocation","readEmAsmArgs","jstoi_q","jstoi_s","listenOnce","autoResumeAudioContext","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayFromString","intArrayToString","AsciiToString","stringToNewUTF8","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","demangle","demangleAll","jsStackTrace","stackTrace","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","setMainLoop","getSocketFromFD","getSocketAddress","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","__glGenObject","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","SDL_unicode","SDL_ttfContext","SDL_audio","GLFW_Window","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","registerInheritedInstance","unregisterInheritedInstance","enumReadValueFromPointer","validateThis","emval_lookupTypes","emval_allocateDestructors","emval_addMethodCaller"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createDataFile","FS_createLazyFile","FS_createLink","FS_createDevice","FS_unlink","out","err","callMain","abort","keepRuntimeAlive","wasmMemory","wasmTable","wasmExports","stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","ptrToString","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","timers","warnOnce","UNWIND_CACHE","readEmAsmArgsArray","getExecutableName","dynCallLegacy","getDynCaller","dynCall","handleAllocatorInit","HandleAllocator","getCFunc","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","currentFullscreenStrategy","restoreOldWindowedStyle","ExitStatus","getEnvStrings","flush_NO_FILESYSTEM","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","findMatchingCatch","getExceptionMessageCommon","incrementExceptionRefcount","decrementExceptionRefcount","getExceptionMessage","Browser","wget","SYSCALLS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","emscripten_webgl_power_preferences","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","GLFW","allocateUTF8","allocateUTF8OnStack","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","heap32VectorToArray","requireRegisteredType","UnboundTypeError","PureVirtualError","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","getShiftFromSize","integerReadValueFromPointer","floatReadValueFromPointer","simpleReadValueFromPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_getPointee","RegisteredPointer_destructor","RegisteredPointer_deleteObject","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","ClassHandle_isAliasOf","throwInstanceAlreadyDeleted","ClassHandle_clone","ClassHandle_delete","deletionQueue","ClassHandle_isDeleted","ClassHandle_deleteLater","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","char_0","char_9","makeLegalFunctionName","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_newers","craftEmvalAllocator","emval_get_global","emval_methodCallers","emval_registeredMethods"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return moduleArg.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = OpenJPEGJS; +else if (typeof define === 'function' && define['amd']) + define([], () => OpenJPEGJS); diff --git a/packages/openjpeg/dist/openjpegjs.js.mem b/packages/openjpeg/dist/openjpegjs.js.mem new file mode 100644 index 0000000..6e052f9 Binary files /dev/null and b/packages/openjpeg/dist/openjpegjs.js.mem differ diff --git a/packages/openjpeg/dist/openjpegjs_decode.js b/packages/openjpeg/dist/openjpegjs_decode.js new file mode 100644 index 0000000..0dc0f21 --- /dev/null +++ b/packages/openjpeg/dist/openjpegjs_decode.js @@ -0,0 +1,34 @@ + +var OpenJPEGJS = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(moduleArg = {}) { + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});["getExceptionMessage","___get_exception_message","_free","___indirect_function_table","__embind_initialize_bindings","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var nodeVersion=process.versions.node;var numericVersion=nodeVersion.split(".").slice(0,3);numericVersion=numericVersion[0]*1e4+numericVersion[1]*100+numericVersion[2].split("-")[0]*1;if(numericVersion<16e4){throw new Error("This emscripten-generated code requires node v16.0.0 (detected v"+nodeVersion+")")}var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=read}readBinary=f=>{if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}let data=read(f,"binary");assert(typeof data=="object");return data};readAsync=(f,onload,onerror)=>{setTimeout(()=>onload(readBinary(f)))};if(typeof clearTimeout=="undefined"){globalThis.clearTimeout=id=>{}}if(typeof setTimeout=="undefined"){globalThis.setTimeout=f=>typeof f=="function"?f():abort()}if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{setTimeout(()=>{if(!(toThrow instanceof ExitStatus)){let toLog=toThrow;if(toThrow&&typeof toThrow=="object"&&toThrow.stack){toLog=[toThrow,toThrow.stack]}err(`exiting due to exception: ${toLog}`)}quit(status)});throw toThrow}}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(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(Sa){function e(f){f.grow=function(b){var a=this.length;this.length=this.length+b;return a};f.set=function(c,d){this[c]=d};f.get=function(c){return this[c]};return f}var g;var h=new ArrayBuffer(16);var i=new Int32Array(h);var j=new Float32Array(h);var k=new Float64Array(h);function l(m){return i[m]}function n(m,o){i[m]=o}function p(){return k[0]}function q(o){k[0]=o}function r(){throw new Error("abort")}function Qa(Ra){var s=Ra.env;var t=s.memory;var u=t.buffer;t.grow=Oa;var v=new Int8Array(u);var w=new Int16Array(u);var x=new Int32Array(u);var y=new Uint8Array(u);var z=new Uint16Array(u);var A=new Uint32Array(u);var B=new Float32Array(u);var C=new Float64Array(u);var D=Math.imul;var E=Math.fround;var F=Math.abs;var G=Math.clz32;var H=Math.min;var I=Math.max;var J=Math.floor;var K=Math.ceil;var L=Math.trunc;var M=Math.sqrt;var N=s._emval_decref;var O=s._embind_register_value_object;var P=s._embind_register_value_object_field;var Q=s._embind_finalize_value_object;var R=s._embind_register_class;var S=s._embind_register_class_constructor;var T=s._embind_register_class_function;var U=s._emval_take_value;var V=s._emval_get_global;var W=s._emval_new;var X=s._emval_incref;var Y=s.__cxa_throw;var Z=s._embind_register_void;var _=s._embind_register_bool;var $=s._embind_register_integer;var aa=s._embind_register_float;var ba=s._embind_register_std_string;var ca=s._embind_register_std_wstring;var da=s._embind_register_emval;var ea=s._embind_register_memory_view;var fa=s.emscripten_memcpy_big;var ga=Ra.wasi_snapshot_preview1;var ha=ga.fd_write;var ia=ga.fd_close;var ja=ga.environ_sizes_get;var ka=ga.environ_get;var la=s.emscripten_get_heap_max;var ma=s.emscripten_resize_heap;var na=s.invoke_ii;var oa=s.__cxa_find_matching_catch_3;var pa=s.__cxa_begin_catch;var qa=s.invoke_v;var ra=s.invoke_iii;var sa=s.invoke_vi;var ta=s.__cxa_find_matching_catch_2;var ua=s.__resumeException;var va=s.abort;var wa=s.__assert_fail;var xa=s.invoke_viiii;var ya=s.invoke_vii;var za=s.invoke_viii;var Aa=s._embind_register_bigint;var Ba=ga.fd_seek;var Ca=110560;var Da=0;var Ea=0;var Fa=0;var Ga=0;var Ha=0; +// EMSCRIPTEN_START_FUNCS +function Di(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,C,F,H,I,J,K,L,M,N,O,P){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;C=C|0;F=F|0;H=H|0;I=I|0;J=J|0;K=K|0;L=L|0;M=M|0;N=N|0;O=O|0;P=P|0;var Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=E(0),ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;f=c;l=0;d=0;p=0;k=0;o=0;aa=Ca-96|0;Ca=aa;C=a;V=x[a+8>>2];a:{b:{c:{if(!x[a>>2]){a=D(x[V+16>>2]-x[V+8>>2]|0,x[V+20>>2]-x[V+12>>2]|0)<<2;b=wc(a);x[V+60>>2]=b;if(!b){hb(x[C+32>>2],1,12357,0);e=C+28|0;break b}Hc(b,0,a);break c}a=x[V+60>>2];if(!a){break c}jd(a);x[V+60>>2]=0}if(!x[x[C+28>>2]>>2]){break a}na=x[C+16>>2];a=(D(x[na+24>>2],152)+x[na+28>>2]|0)-152|0;M=x[a>>2];L=x[a+8>>2];oa=x[C+20>>2];pa=x[C+12>>2];sa=x[C+4>>2];e=C+28|0;d:{a=x[f+4>>2];e:{if((a|0)>0){b=x[f>>2];while(1){c=b+D(Q,12)|0;g=x[c+4>>2];if(!x[c>>2]){break e}Q=Q+1|0;if((a|0)!=(Q|0)){continue}break}}g=0}Q=g;if(Q){break d}Q=vc(1,156);if(!Q){hb(x[C+32>>2],1,10704,0);break b}x[Q+140>>2]=0;c=0;a=x[f+4>>2];f:{if((a|0)!=2147483647){b=x[f>>2];if((a|0)>0){while(1){if(!x[b+D(c,12)>>2]){g=D(c,12);c=g+b|0;a=x[c+8>>2];if(a){Ia[a|0](x[c+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=x[f>>2]}a=b+g|0;x[a+8>>2]=155;x[a+4>>2]=Q;a=1;break f}c=c+1|0;if((a|0)!=(c|0)){continue}break}}b=yc(b,D(a,12)+12|0);a=0;if(!b){break f}x[f>>2]=b;a=x[f+4>>2];b=b+D(a,12)|0;x[b+8>>2]=155;x[b+4>>2]=Q;x[b>>2]=0;x[f+4>>2]=a+1;a=1}else{a=0}}if(a){break d}hb(x[C+32>>2],1,12672,0);a=x[Q+116>>2];if(a){jd(a);x[Q+116>>2]=0}a=x[Q+120>>2];if(a){jd(a);x[Q+120>>2]=0}jd(x[Q+148>>2]);jd(Q);break b}x[Q+144>>2]=x[C+24>>2];J=x[C+40>>2];ba=x[C+36>>2];Z=x[C+32>>2];h=x[oa+808>>2];a=x[pa+16>>2];g:{q=x[oa+16>>2];h:{if(q&64){R=Ca-304|0;Ca=R;i:{if(h){if(ba){hb(Z,1,7643,0);break i}hb(Z,1,7643,0);break i}d=x[Q+116>>2];b=x[V+20>>2]-x[V+12>>2]|0;a=x[V+16>>2]-x[V+8>>2]|0;c=D(b,a);j:{k:{if(c>>>0>A[Q+132>>2]){jd(d);j=c<<2;d=wc(j);x[Q+116>>2]=d;if(!d){break i}x[Q+132>>2]=c;break k}if(!d){break j}j=c<<2}Hc(d,0,j)}d=x[Q+120>>2];l:{if(A[Q+136>>2]>2639){break l}jd(d);d=wc(10560);x[Q+120>>2]=d;if(d){break l}break i}x[Q+136>>2]=2640;Hc(d,0,10560);x[Q+128>>2]=b;x[Q+124>>2]=a;g=x[V+24>>2];if(!g){l=1;break i}f=x[V+28>>2];m:{n:{o:{p:{q:{U=x[V+52>>2];if(U){c=x[V+4>>2];j=0;d=0;if(U>>>0>=4){a=U&-4;while(1){b=l<<3;d=x[(c+(b|24)|0)+4>>2]+(x[(c+(b|16)|0)+4>>2]+(x[(c+(b|8)|0)+4>>2]+(x[(b+c|0)+4>>2]+d|0)|0)|0)|0;l=l+4|0;o=o+4|0;if((a|0)!=(o|0)){continue}break}}a=U&3;if(a){while(1){d=x[(c+(l<<3)|0)+4>>2]+d|0;l=l+1|0;j=j+1|0;if((a|0)!=(j|0)){continue}break}}if(!x[Q+144>>2]&U>>>0<=1){break p}if(A[Q+152>>2]>>0){break q}break o}if(x[Q+144>>2]){break o}l=1;break i}j=yc(x[Q+148>>2],d);if(!j){l=0;break i}x[Q+152>>2]=d;x[Q+148>>2]=j;U=x[V+52>>2];break n}l=1;if((U|0)!=1){break i}j=x[x[V+4>>2]>>2];break m}j=x[Q+148>>2]}if(!U){d=0;break m}c=x[V+4>>2];d=0;l=0;while(1){b=l<<3;a=b+c|0;Gc(d+j|0,x[a>>2],x[a+4>>2]);c=x[V+4>>2];d=x[(b+c|0)+4>>2]+d|0;l=l+1|0;if(l>>>0>2]){continue}break}}l=0;c=0;b=x[V+40>>2];h=0;r:{if(!b){break r}a=x[V>>2];c=x[a+8>>2];h=0;if((b|0)==1){break r}h=x[a+32>>2]}a=h;b=g-f|0;c=a+c|0;s:{if(!c){break s}l=1;a=x[V>>2];p=x[a>>2];if((c|0)==1){l=0;break s}k=x[a+24>>2]}J=b+1|0;t=x[Q+116>>2];u=x[Q+120>>2];F=x[V+12>>2];s=x[V+20>>2];S=x[V+8>>2];ja=x[V+16>>2];t:{u:{v:{w:{x:{y:{z:{A:{if(!(k|!l)){if(!ba){break A}hb(Z,2,14869,0);c=1;break z}if(c>>>0<4){break z}if(ba){x[R+112>>2]=c;hb(Z,1,13680,R+112|0);break t}x[R+96>>2]=c;hb(Z,1,13680,R+96|0);l=0;break i}hb(Z,2,14869,0);l=x[V+24>>2];if(l>>>0>30){break y}n=1;if(l>>>0>=J>>>0){break w}break u}l=x[V+24>>2];if(l>>>0<=30){break x}if(!ba){break y}x[R+32>>2]=x[V+24>>2];hb(Z,1,16271,R+32|0);break t}x[R>>2]=l;hb(Z,1,16271,R);l=0;break i}if(l>>>0>>0){break v}if(c>>>0<2){n=c;break w}if((l|0)!=(J|0)){n=c;break w}n=1;if(y[42056]){break w}if(!ba){v[42056]=1;x[R+64>>2]=c;hb(Z,2,14362,R- -64|0);break w}if(!y[42056]){v[42056]=1;x[R+80>>2]=c;hb(Z,2,14362,R+80|0)}}if(!(!(p>>>0<2|d>>>0

>>0)&k+p>>>0<=d>>>0)){if(ba){l=0;hb(Z,1,13622,0);break i}l=0;hb(Z,1,13622,0);break i}H=j+p|0;K=y[H-1|0]<<4|y[H-2|0]&15;if(!(!(K>>>0<2|(p|0)<(K|0))&K>>>0<4080)){if(ba){l=0;hb(Z,1,19274,0);break i}l=0;hb(Z,1,19274,0);break i}qa=x[V+28>>2];x[R+272>>2]=0;x[R+280>>2]=0;x[R+264>>2]=0;x[R+268>>2]=0;x[R+296>>2]=0;x[R+300>>2]=0;x[R+284>>2]=0;x[R+288>>2]=0;b=K-1|0;x[R+276>>2]=b;g=(j+p|0)-K|0;x[R+256>>2]=g;d=K>>>0<2?255:y[g|0];a=8;x[R+272>>2]=8;c=K-2|0;x[R+276>>2]=c;f=(b|0)==1?d|15:d;x[R+264>>2]=f;x[R+268>>2]=0;i=g+(K>>>0>1)|0;x[R+256>>2]=i;x[R+280>>2]=(f|0)==255;l=g&3;h=0;B:{C:{if((l|0)==3){break C}if((f|0)==255){b=0;if(y[i|0]>143){break B}}g=K>>>0<3?255:y[i|0];d=K-3|0;x[R+276>>2]=d;b=(f|0)==255;a=b?15:16;x[R+272>>2]=a;o=i+(K>>>0>2)|0;x[R+256>>2]=o;m=(c|0)==1?g|15:g;x[R+280>>2]=(m|0)==255;b=b?7:8;c=b&31;if((b&63)>>>0>=32){i=f<>>32-c;b=f<>2]=f;x[R+268>>2]=i;h=i;h=i;if((l|0)==2){break C}if((m|0)==255){b=0;if(y[o|0]>143){break B}}b=K>>>0<4?255:y[o|0];c=K-4|0;x[R+276>>2]=c;g=o+(K>>>0>3)|0;x[R+256>>2]=g;d=(d|0)==1?b|15:b;x[R+280>>2]=(d|0)==255;b=(m|0)==255;a=(b?7:8)+a|0;x[R+272>>2]=a;b=b?7:8;m=b&31;if((b&63)>>>0>=32){i=f<>>32-m|h<>2]=f;x[R+268>>2]=i;h=i;h=i;if((l|0)==1){break C}if((d|0)==255){b=0;if(y[g|0]>143){break B}}b=K>>>0<5?255:y[g|0];x[R+276>>2]=K-5;x[R+256>>2]=g+(K>>>0>4);c=(c|0)==1?b|15:b;x[R+280>>2]=(c|0)==255;b=(d|0)==255;a=(b?7:8)+a|0;x[R+272>>2]=a;b=b?7:8;d=b&31;if((b&63)>>>0>=32){i=f<>>32-d|h<>2]=f;x[R+268>>2]=i;h=i}a=64-a|0;b=a&31;if((a&63)>>>0>=32){i=f<>>32-b|h<>2]=a;x[R+268>>2]=i;b=1}if(!b){if(ba){l=0;hb(Z,1,15479,0);break i}l=0;hb(Z,1,15479,0);break i}T=ja-S|0;g=K-2|0;x[R+244>>2]=g;I=j+p|0;a=I-3|0;x[R+224>>2]=a;d=y[I-2|0];r=d>>>0>143;x[R+248>>2]=r;h=0;f=d>>>4|0;x[R+232>>2]=f;x[R+236>>2]=0;b=(f&7)==7?3:4;x[R+240>>2]=b;c=(a&3)+1|0;o=(c|0)<(g|0)?c:g;D:{E:{if(K>>>0<=2){c=g-o|0;x[R+244>>2]=c;break E}c=I-4|0;x[R+224>>2]=c;l=y[a|0];r=l>>>0>143;x[R+248>>2]=r;a=b&31;if((b&63)>>>0>=32){i=l<>>32-a;a=l<>2]=f;h=i;x[R+236>>2]=i;b=(d>>>0<=143?8:(l&127)==127?7:8)+b|0;x[R+240>>2]=b;F:{if((o|0)<2){a=c;break F}a=I-5|0;x[R+224>>2]=a;m=y[c|0];r=m>>>0>143;x[R+248>>2]=r;c=b&31;if((b&63)>>>0>=32){i=m<>>32-c;c=m<>2]=f;h=h|i;x[R+236>>2]=h;b=(l>>>0<=143?8:(m&127)==127?7:8)+b|0;x[R+240>>2]=b;d=(o|0)<=1?1:o;if((d|0)==2){break F}c=I-6|0;x[R+224>>2]=c;l=y[a|0];r=l>>>0>143;x[R+248>>2]=r;a=b&31;if((b&63)>>>0>=32){i=l<>>32-a;a=l<>2]=f;x[R+236>>2]=a;b=(m>>>0<=143?8:(l&127)==127?7:8)+b|0;x[R+240>>2]=b;if((d|0)==3){a=c;break F}a=I-7|0;x[R+224>>2]=a;d=y[c|0];r=d>>>0>143;x[R+248>>2]=r;c=b&31;if((b&63)>>>0>=32){i=d<>>32-c;c=d<>2]=f;h=h|i;x[R+236>>2]=h;b=(l>>>0<=143?8:(d&127)==127?7:8)+b|0;x[R+240>>2]=b}c=g-o|0;x[R+244>>2]=c;if(b>>>0>32){break D}}G:{if((c|0)>=4){d=x[a-3>>2];x[R+244>>2]=c-4;x[R+224>>2]=a-4;break G}if((c|0)<=0){d=0;break G}o=c&1;H:{if((c|0)==1){l=24;d=0;break H}m=c&-2;l=24;d=0;U=0;while(1){g=a-1|0;x[R+224>>2]=g;i=y[a|0];a=a-2|0;x[R+224>>2]=a;x[R+244>>2]=c-1;g=y[g|0];c=c-2|0;x[R+244>>2]=c;d=i<>2]=a-1;a=y[a|0];x[R+244>>2]=c-1;d=a<>2]=m>>>0>143;l=r?(d&2130706432)==2130706432?7:8:8;i=l+(d>>>0<=2415919103?8:(d&8323072)==8323072?7:8)|0;g=d>>>16&255;c=i+(g>>>0<=143?8:(d&32512)==32512?7:8)|0;a=d>>>8&255;x[R+240>>2]=c+((a>>>0<=143?8:(d&127)==127?7:8)+b|0);a=g<>>24|a<>>0>=32){i=a<>>32-c;a=a<>2]=a|f;x[R+236>>2]=h|i}$b(R+192|0,j,p-K|0,255);ha=0;I:{if(n>>>0<2){break I}$b(R+160|0,H,k,0);ha=0;if((n|0)==2){break I}f=0;h=0;l=0;x[R+152>>2]=1;x[R+144>>2]=0;x[R+136>>2]=0;x[R+140>>2]=0;g=k;d=g-1|0;x[R+148>>2]=d;a=(j+p|0)+g|0;b=a-1|0;x[R+128>>2]=b;p=b&3;J:{if((g|0)<=0){a=b;break J}a=a-2|0;x[R+128>>2]=a;f=y[b|0]}x[R+136>>2]=f;x[R+140>>2]=0;r=f>>>0>143;x[R+152>>2]=r;j=(f&127)==127?7:8;x[R+144>>2]=j;K:{if(!p){break K}m=g-2|0;x[R+148>>2]=m;L:{if((g|0)<2){b=a;break L}b=a-1|0;x[R+128>>2]=b;l=y[a|0]}r=l>>>0>143;x[R+152>>2]=r;a=j&31;if((j&63)>>>0>=32){i=l<>>32-a;a=l<>2]=o;h=i;x[R+140>>2]=i;j=(f>>>0<=143?8:(l&127)==127?7:8)+j|0;x[R+144>>2]=j;if((p|0)==1){a=b;f=o;g=d;d=m;break K}k=g-3|0;x[R+148>>2]=k;M:{if((g|0)<3){c=b;break M}c=b-1|0;x[R+128>>2]=c;X=y[b|0]}r=X>>>0>143;x[R+152>>2]=r;a=j&31;if((j&63)>>>0>=32){i=X<>>32-a;a=X<>2]=f;x[R+140>>2]=a;j=(l>>>0<=143?8:(X&127)==127?7:8)+j|0;x[R+144>>2]=j;if((p|0)==2){a=c;g=m;d=k;break K}d=g-4|0;x[R+148>>2]=d;l=0;N:{if((g|0)<4){a=c;break N}a=c-1|0;x[R+128>>2]=a;l=y[c|0]}r=l>>>0>143;x[R+152>>2]=r;b=j&31;if((j&63)>>>0>=32){i=l<>>32-b;b=l<>2]=f;x[R+140>>2]=b;j=(X>>>0<=143?8:(l&127)==127?7:8)+j|0;x[R+144>>2]=j;g=k}if(j>>>0<=32){O:{if((g|0)>=5){b=x[a-3>>2];x[R+148>>2]=g-5;x[R+128>>2]=a-4;break O}b=0;if((g|0)<2){break O}g=24;while(1){i=a-1|0;x[R+128>>2]=i;a=y[a|0];c=d-1|0;x[R+148>>2]=c;b=a<>>0>1;a=i;g=g-8|0;d=c;if(k){continue}break}}k=b&255;x[R+152>>2]=k>>>0>143;i=r?(b&2130706432)==2130706432?7:8:8;g=i+(b>>>0<=2415919103?8:(b&8323072)==8323072?7:8)|0;d=b>>>16&255;c=g+(d>>>0<=143?8:(b&32512)==32512?7:8)|0;a=b>>>8&255;x[R+144>>2]=c+((a>>>0<=143?8:(b&127)==127?7:8)+j|0);a=d<>>24|a<>>0>=32){i=a<>>32-b;a=a<>2]=a|f;x[R+140>>2]=h|i}ha=1}ca=s-F|0;X=J+1|0;v[u+2112|0]=0;m=u+2112|0;b=ac(R+256|0);if((T|0)>0){N=qa-1|0;k=u;g=m;j=0;c=t;o=0;while(1){p=o;l=z[(j<<8|(bc(R+224|0)&127)<<1)+21424>>1];P:{if(j){break P}a=b-2|0;l=(a|0)==-1?l:0;if((b|0)>1){b=a;break P}b=ac(R+256|0)}d=x[R+232>>2];f=x[R+236>>2];a=x[R+240>>2];H=l>>>4|0;i=x[k>>2]|(H&3|l>>>2&48)<<$;x[k>>2]=i;F=l&16;j=l>>>5&7|F>>>4;h=a;a=l&7;o=h-a|0;h=f>>>a|0;f=((1<>>a;a=f;d=0;if((T|0)>(p|2)){d=z[(j<<8|(a&127)<<1)+21424>>1];Q:{if(j){break Q}a=b-2|0;d=(a|0)==-1?d:0;if((b|0)>1){b=a;break Q}b=ac(R+256|0)}j=d>>>4&1|d>>>5&7;a=d&7;o=o-a|0;f=((1<>>a;h=h>>>a|0;a=f}x[k>>2]=i|(d<<2&768|d&48)<<$+4;U=d>>>2&2|l>>>3&1;R:{if((U|0)!=3){break R}i=b-2|0;U=(i|0)==-1?4:3;if((b|0)>1){b=i;break R}b=ac(R+256|0)}S:{if(!U){x[R+120>>2]=1;x[R+124>>2]=1;a=0;break S}if(U>>>0<=2){i=y[(a&7)+25572|0];s=i>>>2&7;r=i&3;i=(((-1<>>r)+(i>>>5|0)|0)+1|0;a=(U|0)==1;x[R+124>>2]=a?1:i;x[R+120>>2]=a?i:1;a=r+s|0;break S}i=a;a=y[(a&7)+25572|0];K=a&3;i=i>>>K|0;if((U|0)==3){J=(a>>>5|0)+1|0;if((K|0)==3){x[R+124>>2]=i&1|2;a=a>>>2&7;x[R+120>>2]=J+((-1<>>1);a=a+4|0;break S}I=y[(i&7)+25572|0];r=I&3;i=i>>>r|0;s=a>>>2&7;x[R+120>>2]=J+(i&(-1<>>2&7;x[R+124>>2]=(((-1<>>s)+(I>>>5|0)|0)+1;a=a+(r+(s+K|0)|0)|0;break S}I=y[(i&7)+25572|0];r=I&3;i=i>>>r|0;s=a>>>2&7;x[R+120>>2]=((i&(-1<>>5|0)|0)+3;a=I>>>2&7;x[R+124>>2]=(((-1<>>s)+(I>>>5|0)|0)+3;a=a+(s+(r+K|0)|0)|0}T:{J=x[R+120>>2];if(J>>>0<=X>>>0){I=x[R+124>>2];if(I>>>0<=X>>>0){break T}}if(ba){l=0;hb(Z,1,19725,0);break i}l=0;hb(Z,1,19725,0);break i}x[R+240>>2]=o-a;o=a&31;if((a&63)>>>0>=32){i=0;a=h>>>o|0}else{i=h>>>o|0;a=((1<>>o}x[R+232>>2]=a;x[R+236>>2]=i;f=d&240|H&15;o=p+4|0;a=(o|0)<=(T|0)?255:255>>>(o-T<<1)|0;H=(ca|0)>1?a:a&85;if(f&(H^-1)){if(ba){l=0;hb(Z,1,16163,0);break i}l=0;hb(Z,1,16163,0);break i}U:{V:{if(F){f=cc(R+192|0);r=J+(l<<19>>31)|0;x[R+208>>2]=x[R+208>>2]-r;h=x[R+204>>2];a=x[R+200>>2];s=r&31;if((r&63)>>>0>=32){i=0;a=h>>>s|0}else{i=h>>>s|0;a=((1<>>s}x[R+200>>2]=a;x[R+204>>2]=i;a=(f&(-1<>>8&1)<>2]=a}W:{if(l&32){f=cc(R+192|0);r=J+(l<<18>>31)|0;x[R+208>>2]=x[R+208>>2]-r;h=x[R+204>>2];a=x[R+200>>2];s=r&31;if((r&63)>>>0>=32){i=0;a=h>>>s|0}else{i=h>>>s|0;a=((1<>>s}x[R+200>>2]=a;x[R+204>>2]=i;a=f&(-1<>>9&1)<>2]=a+2<>>0>>0?f:a)|128;break W}if(!(H&2)){break W}x[(T<<2)+c>>2]=0}r=c+4|0;X:{Y:{if(l&64){f=cc(R+192|0);s=J+(l<<17>>31)|0;x[R+208>>2]=x[R+208>>2]-s;h=x[R+204>>2];a=x[R+200>>2];F=s&31;if((s&63)>>>0>=32){i=0;a=h>>>F|0}else{i=h>>>F|0;a=((1<>>F}x[R+200>>2]=a;x[R+204>>2]=i;U=(f&(-1<>>10&1)<>2]=U}v[g+1|0]=0;Z:{if(l&128){f=cc(R+192|0);s=J+(l<<16>>31)|0;x[R+208>>2]=x[R+208>>2]-s;h=x[R+204>>2];a=x[R+200>>2];F=s&31;if((s&63)>>>0>=32){i=0;a=h>>>F|0}else{i=h>>>F|0;a=((1<>>F}x[R+200>>2]=a;x[R+204>>2]=i;a=f&(-1<>>11&1)<>2]=a+2<>2]=0}l=c+8|0;_:{$:{if(d&16){f=cc(R+192|0);r=I+(d<<19>>31)|0;x[R+208>>2]=x[R+208>>2]-r;h=x[R+204>>2];a=x[R+200>>2];s=r&31;if((r&63)>>>0>=32){i=0;a=h>>>s|0}else{i=h>>>s|0;a=((1<>>s}x[R+200>>2]=a;x[R+204>>2]=i;U=(f&(-1<>>8&1)<>2]=U}aa:{if(d&32){f=cc(R+192|0);r=I+(d<<18>>31)|0;x[R+208>>2]=x[R+208>>2]-r;h=x[R+204>>2];a=x[R+200>>2];s=r&31;if((r&63)>>>0>=32){i=0;a=h>>>s|0}else{i=h>>>s|0;a=((1<>>s}x[R+200>>2]=a;x[R+204>>2]=i;a=f&(-1<>>9&1)<>2]=a+2<>>0>>0?f:a)|128;break aa}if(!(H&32)){break aa}x[l+(T<<2)>>2]=0}l=c+12|0;ba:{ca:{if(d&64){f=cc(R+192|0);r=I+(d<<17>>31)|0;x[R+208>>2]=x[R+208>>2]-r;h=x[R+204>>2];a=x[R+200>>2];s=r&31;if((r&63)>>>0>=32){i=0;a=h>>>s|0}else{i=h>>>s|0;a=((1<>>s}x[R+200>>2]=a;x[R+204>>2]=i;U=(f&(-1<>>10&1)<>2]=U}g=g+2|0;v[g|0]=0;da:{if(d&128){f=cc(R+192|0);r=I+(d<<16>>31)|0;x[R+208>>2]=x[R+208>>2]-r;h=x[R+204>>2];a=x[R+200>>2];s=r&31;if((r&63)>>>0>=32){i=0;a=h>>>s|0}else{i=h>>>s|0;a=((1<>>s}x[R+200>>2]=a;x[R+204>>2]=i;a=f&(-1<>>11&1)<>2]=a+2<>>0<128){break da}x[l+(T<<2)>>2]=0}$=$^16;k=(p&4)+k|0;c=c+16|0;if((o|0)<(T|0)){continue}break}}ra=q&8;ka=u+1584|0;la=u+1056|0;ga=u+528|0;if((ca|0)>=3){ma=D(T,3);P=T<<1;da=qa-1|0;a=qa-2|0;_=3<>>1&2147483644)+4|0;F=2;while(1){s=F;o=y[m|0];v[m|0]=0;$=$&-17^2;ea:{if((T|0)<=0){F=s+2|0;break ea}j=s&4?ga:u;F=s+2|0;g=t+(D(s,T)<<2)|0;H=0;c=m;p=0;while(1){r=p;q=o;a=y[c+1|0]>>>5&4|(o>>>7|H);d=z[(a<<8|(bc(R+224|0)&127)<<1)+23472>>1];fa:{if(a){break fa}a=b-2|0;d=(a|0)==-1?d:0;if((b|0)>1){b=a;break fa}b=ac(R+256|0)}f=x[R+232>>2];k=x[R+236>>2];a=x[R+240>>2];i=x[j>>2]|(d>>>4&3|d>>>2&48)<<$;x[j>>2]=i;J=d&64;I=d&128;H=J>>>5|I>>>6;h=a;a=d&7;U=h-a|0;h=k>>>a|0;f=((1<>>a;p=f;o=0;ga:{if((T|0)<=(r|2)){l=0;break ga}a=y[c+2|0]>>>5&4|y[c+1|0]>>>7|H;l=z[(a<<8|(p&127)<<1)+23472>>1];ha:{if(a){break ha}a=b-2|0;l=(a|0)==-1?l:0;if((b|0)>1){b=a;break ha}b=ac(R+256|0)}H=(l>>>5|l>>>6)&2;a=l&7;U=U-a|0;f=((1<>>a;h=h>>>a|0;p=f}x[j>>2]=i|(l<<2&768|l&48)<<$+4;a=1;k=1;i=l>>>2&2|d>>>3&1;ia:{if(!i){break ia}W=y[(p&7)+25572|0];O=W&3;k=p>>>O|0;if((i|0)!=3){o=W>>>2&7;k=((k&(-1<>>5|0)|0)+1|0;i=(i|0)==1;a=i?1:k;k=i?k:1;o=o+O|0;break ia}N=y[(k&7)+25572|0];a=N&3;p=W>>>2&7;i=N>>>2&7;o=(a+(O+p|0)|0)+i|0;a=k>>>a|0;k=((a&(-1<>>5|0)|0)+1|0;a=(((-1<>>p)+(N>>>5|0)|0)+1|0}x[R+240>>2]=U-o;p=o&31;if((o&63)>>>0>=32){i=0;f=h>>>p|0}else{i=h>>>p|0;f=((1<>>p}x[R+232>>2]=f;x[R+236>>2]=i;p=d&240;if(p-1&p){h=q&127;f=y[c+1|0]&127;h=f>>>0>>0?h:f;f=h-2|0;k=k+(f>>>0<=h>>>0?f:0)|0}i=l&240;if(i-1&i){h=y[c+1|0]&127;f=y[c+2|0]&127;f=f>>>0>>0?h:f;a=a+(f>>>0>2?f-2|0:0)|0}if(!(k>>>0<=X>>>0&a>>>0<=X>>>0)){if(ba){l=0;hb(Z,1,19825,0);break i}l=0;hb(Z,1,19825,0);break i}o=y[c+2|0];v[c+1|0]=0;v[c+2|0]=0;h=i|p>>>4;p=r+4|0;f=(p|0)<=(T|0)?255:255>>>(p-T<<1)|0;W=(F|0)>(ca|0)?f&85:f;if(h&(W^-1)){if(ba){l=0;hb(Z,1,16163,0);break i}l=0;hb(Z,1,16163,0);break i}ja:{ka:{if(d&16){h=cc(R+192|0);N=(d<<19>>31)+k|0;x[R+208>>2]=x[R+208>>2]-N;q=x[R+204>>2];f=x[R+200>>2];O=N&31;if((N&63)>>>0>=32){i=0;f=q>>>O|0}else{i=q>>>O|0;f=((1<>>O}x[R+200>>2]=f;x[R+204>>2]=i;U=(h&(-1<>>8&1)<>2]=U}la:{if(d&32){h=cc(R+192|0);N=(d<<18>>31)+k|0;x[R+208>>2]=x[R+208>>2]-N;q=x[R+204>>2];f=x[R+200>>2];O=N&31;if((N&63)>>>0>=32){i=0;f=q>>>O|0}else{i=q>>>O|0;f=((1<>>O}x[R+200>>2]=f;x[R+204>>2]=i;f=h&(-1<>>9&1)<>2]=f+2<>>0>>0?h:f)|128;break la}if(!(W&2)){break la}x[(T<<2)+g>>2]=0}N=g+4|0;ma:{na:{if(J){h=cc(R+192|0);J=(d<<17>>31)+k|0;x[R+208>>2]=x[R+208>>2]-J;q=x[R+204>>2];f=x[R+200>>2];O=J&31;if((J&63)>>>0>=32){i=0;f=q>>>O|0}else{i=q>>>O|0;f=((1<>>O}x[R+200>>2]=f;x[R+204>>2]=i;ea=(h&(-1<>>10&1)<>2]=ea}oa:{if(I){h=cc(R+192|0);q=(d<<16>>31)+k|0;x[R+208>>2]=x[R+208>>2]-q;k=x[R+204>>2];f=x[R+200>>2];I=q&31;if((q&63)>>>0>=32){i=0;f=k>>>I|0}else{i=k>>>I|0;f=((1<>>I}x[R+200>>2]=f;x[R+204>>2]=i;d=h&(-1<>>11&1)<>2]=d+2<>2]=0}q=g+8|0;pa:{qa:{if(l&16){f=cc(R+192|0);k=(l<<19>>31)+a|0;x[R+208>>2]=x[R+208>>2]-k;h=x[R+204>>2];d=x[R+200>>2];I=k&31;if((k&63)>>>0>=32){i=0;d=h>>>I|0}else{i=h>>>I|0;d=((1<>>I}x[R+200>>2]=d;x[R+204>>2]=i;k=(f&(-1<>>8&1)<>2]=k}ra:{if(l&32){f=cc(R+192|0);k=(l<<18>>31)+a|0;x[R+208>>2]=x[R+208>>2]-k;h=x[R+204>>2];d=x[R+200>>2];I=k&31;if((k&63)>>>0>=32){i=0;d=h>>>I|0}else{i=h>>>I|0;d=((1<>>I}x[R+200>>2]=d;x[R+204>>2]=i;d=f&(-1<>>9&1)<>2]=d+2<>>0>>0?f:d)|128;break ra}if(!(W&32)){break ra}x[q+(T<<2)>>2]=0}q=g+12|0;sa:{ta:{if(l&64){f=cc(R+192|0);k=(l<<17>>31)+a|0;x[R+208>>2]=x[R+208>>2]-k;h=x[R+204>>2];d=x[R+200>>2];I=k&31;if((k&63)>>>0>=32){i=0;d=h>>>I|0}else{i=h>>>I|0;d=((1<>>I}x[R+200>>2]=d;x[R+204>>2]=i;k=(f&(-1<>>10&1)<>2]=k}c=c+2|0;ua:{if(l&128){d=cc(R+192|0);h=(l<<16>>31)+a|0;x[R+208>>2]=x[R+208>>2]-h;f=x[R+204>>2];a=x[R+200>>2];k=h&31;if((h&63)>>>0>=32){i=0;a=f>>>k|0}else{i=f>>>k|0;a=((1<>>k}x[R+200>>2]=a;x[R+204>>2]=i;a=d&(-1<>>11&1)<>2]=a+2<>>0<128){break ua}x[q+(T<<2)>>2]=0}$=$^16;j=(r&4)+j|0;g=g+16|0;if((p|0)<(T|0)){continue}break}}va:{if(F&2|n>>>0<2){break va}j=F&4;wa:{xa:{if(ha){r=j?u:ga;o=0;if((T|0)<=0){break xa}g=t+(D(T,s-2|0)<<2)|0;while(1){d=bc(R+128|0);l=0;i=x[r>>2];if(i){l=g+(o<<2)|0;a=0;c=15;while(1){ya:{if(!(c&i)){break ya}h=c&286331153;if(h&i){x[l>>2]=Y|x[l>>2]^((d^-1)&1)<>>1|0}if(i&h<<1){f=(T<<2)+l|0;x[f>>2]=Y|x[f>>2]^((d^-1)&1)<>>1|0}if(i&h<<2){f=(P<<2)+l|0;x[f>>2]=Y|x[f>>2]^((d^-1)&1)<>>1|0}if(!(i&h<<3)){break ya}f=(ma<<2)+l|0;x[f>>2]=Y|x[f>>2]^((d^-1)&1)<>>1|0}l=l+4|0;c=c<<4;a=a+1|0;if((a|0)!=8){continue}break}l=Jl(i)}r=r+4|0;x[R+144>>2]=x[R+144>>2]-l;c=x[R+140>>2];a=x[R+136>>2];d=l&31;if((l&63)>>>0>=32){i=0;a=c>>>d|0}else{i=c>>>d|0;a=((1<>>d}x[R+136>>2]=a;x[R+140>>2]=i;o=o+8|0;if((T|0)>(o|0)){continue}break}}o=!j;k=0;d=0;ea=j?la:ka;l=ea;r=j?u:ga;c=r;if((T|0)<=0){break wa}while(1){a=d>>>28|0;d=x[c>>2];a=d|(a|d<<4|d>>>4);x[l>>2]=a;a=a|x[c+4>>2]<<28;x[l>>2]=(a>>>1&2004318071|a<<1&-286331154|a)&(d^-1);l=l+4|0;c=c+4|0;k=k+8|0;if((T|0)>(k|0)){continue}break}break wa}o=!j;ea=j?la:ka}if(s>>>0<6){break va}a=0;j=0;l=r;ia=o?la:ka;d=ia;h=o?u:ga;c=h;i=(T|0)<=0;za:{if(i){break za}while(1){f=l+4|0;k=x[d>>2];g=x[l>>2];x[d>>2]=(x[c>>2]^-1)&(ra?k:k|(g|(g<<4|j>>>28|g>>>4|x[f>>2]<<28))<<3&-2004318072);c=c+4|0;d=d+4|0;j=g;l=f;a=a+8|0;if((T|0)>(a|0)){continue}break}if(i){break za}J=t+(D(T,s-6|0)<<2)|0;U=0;j=h;while(1){k=0;l=x[ia>>2];if(l){I=T-U|0;d=0;H=0;while(1){f=d;d=cc(R+160|0);a=H+4|0;N=(T|0)>(a+U|0)?a:I;s=(N|0)<=(H|0);Aa:{if(s){c=0;break Aa}W=x[j>>2]^-1;o=((H|U)<<2)+J|0;c=0;a=H;q=a<<2;p=15<>>1|0;c=c+1|0}i=O<<1;if(i&l){if(d&1){l=W&116<<(a<<2)|l;k=i|k}d=d>>>1|0;c=c+1|0}i=O<<2;if(i&l){if(d&1){l=W&232<<(a<<2)|l;k=i|k}d=d>>>1|0;c=c+1|0}i=O<<3;if(!(i&l)){break Ba}if(d&1){l=W&192<<(a<<2)|l;k=i|k}c=c+1|0;d=d>>>1|0}g=g<<4;a=a+1|0;if((N|0)>(a|0)){continue}break}if(s|!(k>>>q&65535)){break Aa}while(1){Ca:{if(!(k&p)){break Ca}g=p&286331153;if(g&k){x[o>>2]=_|(x[o>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(g<<1&k){a=(T<<2)+o|0;x[a>>2]=_|(x[a>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(g<<2&k){a=(P<<2)+o|0;x[a>>2]=_|(x[a>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(!(g<<3&k)){break Ca}a=(ma<<2)+o|0;x[a>>2]=_|(x[a>>2]|d<<31);c=c+1|0;d=d>>>1|0}p=p<<4;o=o+4|0;H=H+1|0;if((N|0)>(H|0)){continue}break}}x[R+176>>2]=x[R+176>>2]-c;d=x[R+172>>2];a=x[R+168>>2];g=c&31;if((c&63)>>>0>=32){i=0;a=d>>>g|0}else{i=d>>>g|0;a=((1<>>g}x[R+168>>2]=a;x[R+172>>2]=i;d=1;H=4;if(!(f&1)){continue}break}x[ia+4>>2]=x[ia+4>>2]|(k>>>27&14|k>>>29|k>>>28)&(x[j+4>>2]^-1)}d=x[j>>2]|k;f=d>>>3&286331153;c=f>>>4|f<<4|f;if(U){a=ea-4|0;x[a>>2]=x[a>>2]|(x[r-4>>2]^-1)&f<<28}x[ea>>2]=x[ea>>2]|c&(x[r>>2]^-1);x[ea+4>>2]=x[ea+4>>2]|(x[r+4>>2]^-1)&d>>>31;ia=ia+4|0;j=j+4|0;ea=ea+4|0;r=r+4|0;U=U+8|0;if((T|0)>(U|0)){continue}break}}Hc(h,0,K)}if((F|0)<(ca|0)){continue}break}}Da:{if(n>>>0<2){break Da}j=(ca&3)-1|0;Ea:{if(ha&j>>>0<2){if((T|0)<=0){break Ea}m=1<>2];if(n){l=h+(H<<2)|0;c=15;a=0;while(1){Fa:{if(!(c&n)){break Fa}i=c&286331153;if(i&n){x[l>>2]=m|x[l>>2]^((d^-1)&1)<>>1|0}if(n&i<<1){b=(T<<2)+l|0;x[b>>2]=m|x[b>>2]^((d^-1)&1)<>>1|0}if(n&i<<2){b=f+l|0;x[b>>2]=m|x[b>>2]^((d^-1)&1)<>>1|0}if(!(n&i<<3)){break Fa}b=g+l|0;x[b>>2]=m|x[b>>2]^((d^-1)&1)<>>1|0}l=l+4|0;c=c<<4;a=a+1|0;if((a|0)!=8){continue}break}l=Jl(n)}X=X+4|0;x[R+144>>2]=x[R+144>>2]-l;b=x[R+140>>2];a=x[R+136>>2];c=l&31;if((l&63)>>>0>=32){i=0;a=b>>>c|0}else{i=b>>>c|0;a=((1<>>c}x[R+136>>2]=a;x[R+140>>2]=i;H=H+8|0;if((T|0)>(H|0)){continue}break}}if((T|0)<=0|j>>>0>1){break Ea}a=ca&4;l=a?ga:u;c=a?ka:la;k=0;d=0;while(1){a=d>>>28|0;d=x[l>>2];a=d|(a|d<<4|d>>>4);x[c>>2]=a;a=a|x[l+4>>2]<<28;x[c>>2]=(a>>>1&2004318071|a<<1&-286331154|a)&(d^-1);c=c+4|0;l=l+4|0;k=k+8|0;if((T|0)>(k|0)){continue}break}}n=(ca|0)>6?(ca-(ca+1&3)|0)-3|0:0;if((ca|0)<=(n|0)){break Da}O=3<>>0>=3){U=-1;if((b|0)<5){break Ha}if((T|0)<=0){break Ga}a=n&4;l=a?ga:u;d=a?ka:la;c=0;if(!ra){c=a?u:ga;k=0;g=0;while(1){a=g>>>28|0;g=x[c>>2];x[d>>2]=(x[d>>2]|(g|(a|g<<4|g>>>4|x[c+4>>2]<<28))<<3&-2004318072)&(x[l>>2]^-1);l=l+4|0;d=d+4|0;c=c+4|0;k=k+8|0;if((T|0)>(k|0)){continue}break}break Ha}while(1){x[d>>2]=x[d>>2]&(x[l>>2]^-1);l=l+4|0;d=d+4|0;c=c+8|0;if((T|0)>(c|0)){continue}break}break Ha}U=x[(a<<2)+25580>>2]}if((T|0)<=0){break Ga}a=n&4;$=a?ga:u;j=a?ka:la;p=a?u:ga;b=a?la:ka;F=t+(D(n,T)<<2)|0;r=0;while(1){k=0;l=x[j>>2]&U;if(l){s=T-r|0;d=0;f=0;while(1){h=d;d=cc(R+160|0);a=f+4|0;J=(T|0)>(a+r|0)?a:s;q=(J|0)<=(f|0);Ia:{if(q){c=0;break Ia}N=(x[$>>2]^-1)&U;o=F+((f|r)<<2)|0;c=0;a=f;m=a<<2;X=15<>>1|0;c=c+1|0}i=K<<1;if(i&l){if(d&1){l=N&116<<(a<<2)|l;k=i|k}d=d>>>1|0;c=c+1|0}i=K<<2;if(i&l){if(d&1){l=N&232<<(a<<2)|l;k=i|k}d=d>>>1|0;c=c+1|0}i=K<<3;if(!(i&l)){break Ja}if(d&1){l=N&192<<(a<<2)|l;k=i|k}c=c+1|0;d=d>>>1|0}g=g<<4;a=a+1|0;if((J|0)>(a|0)){continue}break}if(q|!(k>>>m&65535)){break Ia}while(1){Ka:{if(!(k&X)){break Ka}g=X&286331153;if(g&k){x[o>>2]=O|(x[o>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(g<<1&k){a=(T<<2)+o|0;x[a>>2]=O|(x[a>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(g<<2&k){a=o+H|0;x[a>>2]=O|(x[a>>2]|d<<31);d=d>>>1|0;c=c+1|0}if(!(g<<3&k)){break Ka}a=o+I|0;x[a>>2]=O|(x[a>>2]|d<<31);c=c+1|0;d=d>>>1|0}X=X<<4;o=o+4|0;f=f+1|0;if((J|0)>(f|0)){continue}break}}x[R+176>>2]=x[R+176>>2]-c;d=x[R+172>>2];a=x[R+168>>2];f=c&31;if((c&63)>>>0>=32){i=0;a=d>>>f|0}else{i=d>>>f|0;a=((1<>>f}x[R+168>>2]=a;x[R+172>>2]=i;d=1;f=4;if(!(h&1)){continue}break}x[j+4>>2]=x[j+4>>2]|(k>>>27&14|k>>>29|k>>>28)&(x[$+4>>2]^-1)}d=x[$>>2]|k;f=d>>>3&286331153;c=f>>>4|f<<4|f;if(r){a=b-4|0;x[a>>2]=x[a>>2]|(x[p-4>>2]^-1)&f<<28}x[b>>2]=x[b>>2]|c&(x[p>>2]^-1);x[b+4>>2]=x[b+4>>2]|(x[p+4>>2]^-1)&d>>>31;j=j+4|0;$=$+4|0;b=b+4|0;p=p+4|0;r=r+8|0;if((T|0)>(r|0)){continue}break}}n=n+4|0;if((ca|0)>(n|0)){continue}break}}l=1;if((ca|0)<=0|(T|0)<=0){break i}f=T&-4;g=T&3;c=ja+(S^-1)>>>0<3;j=0;while(1){d=t+(D(j,T)<<2)|0;l=0;if(!c){while(1){b=x[d>>2];a=b&2147483647;x[d>>2]=(b|0)<0?0-a|0:a;b=x[d+4>>2];a=b&2147483647;x[d+4>>2]=(b|0)<0?0-a|0:a;b=x[d+8>>2];a=b&2147483647;x[d+8>>2]=(b|0)<0?0-a|0:a;b=x[d+12>>2];a=b&2147483647;x[d+12>>2]=(b|0)<0?0-a|0:a;d=d+16|0;l=l+4|0;if((f|0)!=(l|0)){continue}break}}l=0;if(g){while(1){b=x[d>>2];a=b&2147483647;x[d>>2]=(b|0)<0?0-a|0:a;d=d+4|0;l=l+1|0;if((g|0)!=(l|0)){continue}break}}l=1;j=j+1|0;if((ca|0)!=(j|0)){continue}break}break i}if(!ba){break u}x[R+52>>2]=x[V+24>>2];x[R+48>>2]=J;hb(Z,1,13776,R+48|0);break t}x[R+20>>2]=l;x[R+16>>2]=J;hb(Z,1,13776,R+16|0);l=0;break i}l=0}Ca=R+304|0;if(l){break h}break b}x[Q+108>>2]=(a<<9)+27104;b=x[Q+116>>2];La:{Ma:{j=x[V+16>>2]-x[V+8>>2]|0;i=x[V+20>>2]-x[V+12>>2]|0;a=D(j,i);Na:{Oa:{Pa:{if(a>>>0>A[Q+132>>2]){jd(b);b=wc(a<<2);x[Q+116>>2]=b;if(!b){break Na}x[Q+132>>2]=a;break Pa}if(!b){break Oa}}Hc(b,0,a<<2)}b=x[Q+120>>2];k=j+2|0;g=i+3>>>2|0;a=D(k,g+2|0);if(a>>>0<=A[Q+136>>2]){c=a<<2;break Ma}jd(b);c=a<<2;b=wc(c);x[Q+120>>2]=b;if(b){break Ma}}a=0;break La}x[Q+136>>2]=a;Hc(b,0,c);a=x[Q+120>>2];Qa:{if(!k){break Qa}b=a;f=j+1|0;if(f>>>0>=7){c=k&-8;while(1){x[b+24>>2]=1226833920;x[b+28>>2]=1226833920;x[b+16>>2]=1226833920;x[b+20>>2]=1226833920;x[b+8>>2]=1226833920;x[b+12>>2]=1226833920;x[b>>2]=1226833920;x[b+4>>2]=1226833920;b=b+32|0;l=l+8|0;if((c|0)!=(l|0)){continue}break}}c=k&7;if(c){l=0;while(1){x[b>>2]=1226833920;b=b+4|0;l=l+1|0;if((c|0)!=(l|0)){continue}break}}if(!k){break Qa}b=a+(D(k,g+1|0)<<2)|0;if(f>>>0>=7){c=k&-8;l=0;while(1){x[b+24>>2]=1226833920;x[b+28>>2]=1226833920;x[b+16>>2]=1226833920;x[b+20>>2]=1226833920;x[b+8>>2]=1226833920;x[b+12>>2]=1226833920;x[b>>2]=1226833920;x[b+4>>2]=1226833920;b=b+32|0;l=l+8|0;if((c|0)!=(l|0)){continue}break}}c=k&7;if(!c){break Qa}l=0;while(1){x[b>>2]=1226833920;b=b+4|0;l=l+1|0;if((c|0)!=(l|0)){continue}break}}b=i&3;Ra:{if(!b|!k){break Ra}f=(b|0)==1?1224736768:(b|0)==2?1207959552:1073741824;b=a+(D(g,k)<<2)|0;if(j+1>>>0>=7){a=k&-8;c=0;while(1){x[b+28>>2]=f;x[b+24>>2]=f;x[b+20>>2]=f;x[b+16>>2]=f;x[b+12>>2]=f;x[b+8>>2]=f;x[b+4>>2]=f;x[b>>2]=f;b=b+32|0;c=c+8|0;if((a|0)!=(c|0)){continue}break}}a=k&7;if(!a){break Ra}c=0;while(1){x[b>>2]=f;b=b+4|0;c=c+1|0;if((a|0)!=(c|0)){continue}break}}x[Q+128>>2]=i;x[Q+124>>2]=j;a=1}if(!a){break b}F=h+x[V+28>>2]|0;if((F|0)>=31){if(!ba){break g}x[aa+16>>2]=F;hb(Z,2,13001,aa+16|0);break b}dc(Q);c=0;x[Q+100>>2]=27072;x[Q+96>>2]=25696;x[Q+28>>2]=25728;Sa:{Ta:{Ua:{Va:{g=x[V+52>>2];if(g>>>0>1){break Va}if(!x[Q+144>>2]){break Ta}if(g){break Va}break Ua}f=x[V+4>>2];if(g-1>>>0>=3){a=g&-4;while(1){b=p<<3;c=x[(f+(b|24)|0)+4>>2]+(x[(f+(b|16)|0)+4>>2]+(x[(f+(b|8)|0)+4>>2]+(x[(b+f|0)+4>>2]+c|0)|0)|0)|0;p=p+4|0;d=d+4|0;if((a|0)!=(d|0)){continue}break}}a=g&3;if(!a){break Ua}b=0;while(1){c=x[(f+(p<<3)|0)+4>>2]+c|0;p=p+1|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}b=c+2|0;if(b>>>0>A[Q+152>>2]){a=yc(x[Q+148>>2],b);if(!a){break b}x[Q+148>>2]=a;a=a+c|0;v[a|0]=0;v[a+1|0]=0;x[Q+152>>2]=b;g=x[V+52>>2]}$=x[Q+148>>2];if(!g){break Sa}c=x[V+4>>2];p=0;a=0;while(1){d=a<<3;b=d+c|0;Gc(p+$|0,x[b>>2],x[b+4>>2]);c=x[V+4>>2];p=x[(d+c|0)+4>>2]+p|0;a=a+1|0;if(a>>>0>2]){continue}break}break Sa}if((g|0)!=1){break h}$=x[x[V+4>>2]>>2]}a=x[V+60>>2];if(a){ia=x[Q+116>>2];x[Q+116>>2]=a}if(x[V+44>>2]){O=q&8;I=q&1;u=!(q&2);ja=2;while(1){e=$+ha|0;ma=x[V>>2]+D(ra,24)|0;b=x[ma>>2];P=I&(ja>>>0<2&(x[V+28>>2]-4|0)>=(F|0));Wa:{if(P){x[Q+20>>2]=e;a=b+e|0;x[Q+24>>2]=a;w[Q+112>>1]=y[a|0]|y[a+1|0]<<8;v[a|0]=255;v[x[Q+24>>2]+1|0]=255;x[Q+8>>2]=0;x[Q>>2]=0;x[Q+16>>2]=e;break Wa}x[Q+20>>2]=e;a=b+e|0;x[Q+24>>2]=a;w[Q+112>>1]=y[a|0]|y[a+1|0]<<8;v[a|0]=255;v[x[Q+24>>2]+1|0]=255;x[Q+104>>2]=Q+28;x[Q+16>>2]=e;x[Q+12>>2]=0;d=b?y[e|0]<<16:16711680;x[Q>>2]=d;c=1;a=e+1|0;b=y[e+1|0];Xa:{if(y[e|0]==255){if(b>>>0>=144){x[Q+12>>2]=1;a=d|65280;break Xa}x[Q+16>>2]=a;c=0;a=d+(b<<9)|0;break Xa}x[Q+16>>2]=a;a=d|b<<8}x[Q+8>>2]=c;x[Q+4>>2]=32768;x[Q>>2]=a<<7}t=x[ma>>2];Ya:{if(!x[ma+8>>2]|(F|0)<=0){break Ya}s=u|P;N=0;while(1){Za:{_a:{$a:{switch(ja|0){case 0:if(P){a=1<>>1|a;m=x[Q+124>>2];h=m<<2;a=(h+x[Q+120>>2]|0)+12|0;c=x[Q+116>>2];l=0;b=x[Q+128>>2];if(b>>>0>=4){if(!m){break Za}j=D(m,3);g=m<<1;k=0-n|0;while(1){b=0;while(1){d=a;a=x[a>>2];ab:{if(!a){break ab}if(!(!(a&495)|a&2097168)){a=x[Q>>2];e=x[Q+8>>2];bb:{if(e){break bb}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];cb:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break cb}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;e=7;break bb}a=255;x[Q>>2]=255}e=8}e=e-1|0;x[Q+8>>2]=e;db:{if(!(a>>>e&1)){break db}eb:{if(e){break eb}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];fb:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break fb}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;e=7;break eb}a=255;x[Q>>2]=255}e=8}e=e-1|0;x[Q+8>>2]=e;f=a>>>e&1;x[c>>2]=f?k:n;e=x[Q+124>>2];a=d-4|0;x[a>>2]=x[a>>2]|32;x[d+4>>2]=x[d+4>>2]|8;x[d>>2]=x[d>>2]|f<<19|16;if(O){break db}a=d+(-2-e<<2)|0;x[a+4>>2]=x[a+4>>2]|32768;x[a>>2]=x[a>>2]|f<<31|65536;a=a-4|0;x[a>>2]=x[a>>2]|131072}a=x[d>>2]|2097152;x[d>>2]=a}if(!(!(a&3960)|a&16777344)){a=x[Q>>2];e=x[Q+8>>2];gb:{if(e){break gb}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];hb:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break hb}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;e=7;break gb}a=255;x[Q>>2]=255}e=8}e=e-1|0;x[Q+8>>2]=e;if(a>>>e&1){ib:{if(e){break ib}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];jb:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break jb}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;e=7;break ib}a=255;x[Q>>2]=255}e=8}e=e-1|0;x[Q+8>>2]=e;e=a>>>e&1;x[c+h>>2]=e?k:n;a=d-4|0;x[a>>2]=x[a>>2]|256;x[d+4>>2]=x[d+4>>2]|64;a=x[d>>2]|e<<22|128}else{a=x[d>>2]}a=a|16777216;x[d>>2]=a}if(!(!(a&31680)|a&134218752)){a=x[Q>>2];e=x[Q+8>>2];kb:{if(e){break kb}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];lb:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break lb}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;e=7;break kb}a=255;x[Q>>2]=255}e=8}e=e-1|0;x[Q+8>>2]=e;if(a>>>e&1){f=(g<<2)+c|0;mb:{if(e){break mb}e=(a|0)==255;i=x[Q+16>>2];a=y[i|0];nb:{if(!e){x[Q>>2]=a;x[Q+16>>2]=i+1;break nb}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=i+1;e=7;break mb}a=255;x[Q>>2]=255}e=8}e=e-1|0;x[Q+8>>2]=e;e=a>>>e&1;x[f>>2]=e?k:n;a=d-4|0;x[a>>2]=x[a>>2]|2048;x[d+4>>2]=x[d+4>>2]|512;a=x[d>>2]|e<<25|1024}else{a=x[d>>2]}a=a|134217728;x[d>>2]=a}if(!(a&253440)|a&1073750016){break ab}a=x[Q>>2];e=x[Q+8>>2];ob:{if(e){break ob}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];pb:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break pb}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;e=7;break ob}a=255;x[Q>>2]=255}e=8}e=e-1|0;x[Q+8>>2]=e;if(a>>>e&1){f=(j<<2)+c|0;qb:{if(e){break qb}e=(a|0)==255;i=x[Q+16>>2];a=y[i|0];rb:{if(!e){x[Q>>2]=a;x[Q+16>>2]=i+1;break rb}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=i+1;e=7;break qb}a=255;x[Q>>2]=255}e=8}e=e-1|0;x[Q+8>>2]=e;i=f;f=a>>>e&1;x[i>>2]=f?k:n;e=x[Q+124>>2];a=d-4|0;x[a>>2]=x[a>>2]|16384;x[d+4>>2]=x[d+4>>2]|4096;x[d>>2]=x[d>>2]|f<<28|8192;a=d+(e<<2)|0;x[a+4>>2]=x[a+4>>2]|4;x[a+12>>2]=x[a+12>>2]|1;x[a+8>>2]=x[a+8>>2]|f<<18|2}x[d>>2]=x[d>>2]|1073741824}c=c+4|0;a=d+4|0;b=b+1|0;if((m|0)!=(b|0)){continue}break}a=d+12|0;c=(j<<2)+c|0;l=l+4|0;b=x[Q+128>>2];if(l>>>0<(b&-4)>>>0){continue}break}}if(!m|b>>>0<=l>>>0){break _a}X=0;f=0-n|0;e=b;while(1){sb:{if((e|0)==(l|0)){e=l;break sb}h=a-4|0;g=x[a>>2];p=0;while(1){i=D(p,3);d=g>>>i|0;if(!(d&2097168|!(d&495))){b=x[Q>>2];k=x[Q+8>>2];tb:{if(k){break tb}d=(b|0)!=255;e=x[Q+16>>2];b=y[e|0];ub:{if(!d){if(b>>>0>=144){b=255;x[Q>>2]=255;break ub}x[Q>>2]=b;x[Q+16>>2]=e+1;k=7;break tb}x[Q>>2]=b;x[Q+16>>2]=e+1}k=8}k=k-1|0;x[Q+8>>2]=k;vb:{if(!(b>>>k&1)){break vb}e=(D(m,p)<<2)+c|0;wb:{if(k){break wb}d=(b|0)!=255;g=x[Q+16>>2];b=y[g|0];xb:{if(!d){if(b>>>0>=144){b=255;x[Q>>2]=255;break xb}x[Q>>2]=b;x[Q+16>>2]=g+1;k=7;break wb}x[Q>>2]=b;x[Q+16>>2]=g+1}k=8}d=k-1|0;x[Q+8>>2]=d;g=e;e=b>>>d&1;x[g>>2]=e?f:n;d=x[Q+124>>2];x[h>>2]=x[h>>2]|32<>2]=x[a>>2]|(e<<19|16)<>2]=x[a+4>>2]|8<>2]=x[b+4>>2]|32768;x[b>>2]=x[b>>2]|e<<31|65536;b=b-4|0;x[b>>2]=x[b>>2]|131072}if((p|0)!=3){break vb}b=(d+2<<2)+a|0;x[b+4>>2]=x[b+4>>2]|1;x[b>>2]=x[b>>2]|e<<18|2;b=b-4|0;x[b>>2]=x[b>>2]|4}g=x[a>>2]|2097152<>2]=g;b=x[Q+128>>2]}e=b;p=p+1|0;if(p>>>0>>0){continue}break}}c=c+4|0;a=a+4|0;X=X+1|0;if((m|0)!=(X|0)){continue}break}break _a}o=0;yb:{zb:{Ab:{Y=x[Q+124>>2];if(!((Y|0)!=64|x[Q+128>>2]!=64)){a=1<>>1|a;r=0-H|0;c=x[Q+120>>2]+268|0;l=x[Q+8>>2];b=x[Q+4>>2];g=x[Q>>2];p=x[Q+104>>2];a=x[Q+116>>2];if(q&8){break Ab}while(1){n=0;while(1){d=a;e=c;c=x[c>>2];if(c){Bb:{if(c&2097168){break Bb}a=c&495;if(!a){break Bb}f=(y[a+x[Q+108>>2]|0]<<2)+Q|0;p=f+28|0;h=x[p>>2];a=x[h>>2];b=b-a|0;Cb:{if(g>>>16>>>0>>0){i=x[h+4>>2];j=f;f=a>>>0>b>>>0;x[j+28>>2]=x[h+(f?8:12)>>2];while(1){Db:{if(l){break Db}h=x[Q+16>>2];b=h+1|0;j=y[h+1|0];if(y[h|0]==255){if(j>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Db}x[Q+16>>2]=b;g=(j<<9)+g|0;l=7;break Db}x[Q+16>>2]=b;l=8;g=(j<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?i:!i;break Cb}g=g-(a<<16)|0;if(!(b&32768)){i=x[h+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[h+(a?12:8)>>2];while(1){Eb:{if(l){break Eb}h=x[Q+16>>2];f=h+1|0;j=y[h+1|0];if(y[h|0]==255){if(j>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Eb}x[Q+16>>2]=f;g=(j<<9)+g|0;l=7;break Eb}x[Q+16>>2]=f;l=8;g=(j<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!i:i;break Cb}a=x[h+4>>2]}if(a){k=e-4|0;f=x[e+4>>2]>>>17&4|(x[k>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));i=(y[f+29152|0]<<2)+Q|0;p=i+28|0;m=x[p>>2];a=x[m>>2];b=b-a|0;h=y[f+29408|0];Fb:{if(g>>>16>>>0>>0){j=x[m+4>>2];f=a>>>0>b>>>0;x[i+28>>2]=x[m+(f?8:12)>>2];while(1){Gb:{if(l){break Gb}i=x[Q+16>>2];b=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Gb}x[Q+16>>2]=b;g=(m<<9)+g|0;l=7;break Gb}x[Q+16>>2]=b;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break Fb}g=g-(a<<16)|0;if(!(b&32768)){j=x[m+4>>2];a=a>>>0>b>>>0;x[i+28>>2]=x[m+(a?12:8)>>2];while(1){Hb:{if(l){break Hb}i=x[Q+16>>2];f=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Hb}x[Q+16>>2]=f;g=(m<<9)+g|0;l=7;break Hb}x[Q+16>>2]=f;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break Fb}a=x[m+4>>2]}f=a^h;x[d>>2]=f?r:H;x[k>>2]=x[k>>2]|32;x[e+4>>2]=x[e+4>>2]|8;a=e-268|0;x[a>>2]=x[a>>2]|131072;a=e-260|0;x[a>>2]=x[a>>2]|32768;a=e-264|0;x[a>>2]=x[a>>2]|f<<31|65536;c=f<<19|c|16}c=c|2097152}if(!(!(c&3960)|c&16777344)){h=c>>>3|0;f=(y[x[Q+108>>2]+(h&495)|0]<<2)+Q|0;p=f+28|0;i=x[p>>2];a=x[i>>2];b=b-a|0;Ib:{if(g>>>16>>>0>>0){j=x[i+4>>2];k=f;f=a>>>0>b>>>0;x[k+28>>2]=x[i+(f?8:12)>>2];while(1){Jb:{if(l){break Jb}i=x[Q+16>>2];b=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Jb}x[Q+16>>2]=b;g=(k<<9)+g|0;l=7;break Jb}x[Q+16>>2]=b;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break Ib}g=g-(a<<16)|0;if(!(b&32768)){j=x[i+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[i+(a?12:8)>>2];while(1){Kb:{if(l){break Kb}i=x[Q+16>>2];f=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Kb}x[Q+16>>2]=f;g=(k<<9)+g|0;l=7;break Kb}x[Q+16>>2]=f;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break Ib}a=x[i+4>>2]}if(a){k=e-4|0;f=x[e+4>>2]>>>20&4|(x[k>>2]>>>22&1|(c>>>15&16|(c>>>19&64|h&170)));i=(y[f+29152|0]<<2)+Q|0;p=i+28|0;m=x[p>>2];a=x[m>>2];b=b-a|0;h=y[f+29408|0];Lb:{if(g>>>16>>>0>>0){j=x[m+4>>2];f=a>>>0>b>>>0;x[i+28>>2]=x[m+(f?8:12)>>2];while(1){Mb:{if(l){break Mb}i=x[Q+16>>2];b=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Mb}x[Q+16>>2]=b;g=(m<<9)+g|0;l=7;break Mb}x[Q+16>>2]=b;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break Lb}g=g-(a<<16)|0;if(!(b&32768)){j=x[m+4>>2];a=a>>>0>b>>>0;x[i+28>>2]=x[m+(a?12:8)>>2];while(1){Nb:{if(l){break Nb}i=x[Q+16>>2];f=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Nb}x[Q+16>>2]=f;g=(m<<9)+g|0;l=7;break Nb}x[Q+16>>2]=f;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break Lb}a=x[m+4>>2]}a=a^h;x[d+256>>2]=a?r:H;x[k>>2]=x[k>>2]|256;x[e+4>>2]=x[e+4>>2]|64;c=a<<22|c|128}c=c|16777216}if(!(!(c&31680)|c&134218752)){h=c>>>6|0;f=(y[x[Q+108>>2]+(h&495)|0]<<2)+Q|0;p=f+28|0;i=x[p>>2];a=x[i>>2];b=b-a|0;Ob:{if(g>>>16>>>0>>0){j=x[i+4>>2];k=f;f=a>>>0>b>>>0;x[k+28>>2]=x[i+(f?8:12)>>2];while(1){Pb:{if(l){break Pb}i=x[Q+16>>2];b=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Pb}x[Q+16>>2]=b;g=(k<<9)+g|0;l=7;break Pb}x[Q+16>>2]=b;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break Ob}g=g-(a<<16)|0;if(!(b&32768)){j=x[i+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[i+(a?12:8)>>2];while(1){Qb:{if(l){break Qb}i=x[Q+16>>2];f=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Qb}x[Q+16>>2]=f;g=(k<<9)+g|0;l=7;break Qb}x[Q+16>>2]=f;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break Ob}a=x[i+4>>2]}if(a){k=e-4|0;f=x[e+4>>2]>>>23&4|(x[k>>2]>>>25&1|(c>>>18&16|(c>>>22&64|h&170)));i=(y[f+29152|0]<<2)+Q|0;p=i+28|0;m=x[p>>2];a=x[m>>2];b=b-a|0;h=y[f+29408|0];Rb:{if(g>>>16>>>0>>0){j=x[m+4>>2];f=a>>>0>b>>>0;x[i+28>>2]=x[m+(f?8:12)>>2];while(1){Sb:{if(l){break Sb}i=x[Q+16>>2];b=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Sb}x[Q+16>>2]=b;g=(m<<9)+g|0;l=7;break Sb}x[Q+16>>2]=b;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break Rb}g=g-(a<<16)|0;if(!(b&32768)){j=x[m+4>>2];a=a>>>0>b>>>0;x[i+28>>2]=x[m+(a?12:8)>>2];while(1){Tb:{if(l){break Tb}i=x[Q+16>>2];f=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Tb}x[Q+16>>2]=f;g=(m<<9)+g|0;l=7;break Tb}x[Q+16>>2]=f;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break Rb}a=x[m+4>>2]}a=a^h;x[d+512>>2]=a?r:H;x[k>>2]=x[k>>2]|2048;x[e+4>>2]=x[e+4>>2]|512;c=a<<25|c|1024}c=c|134217728}if(!(!(c&253440)|c&1073750016)){h=c>>>9|0;f=(y[x[Q+108>>2]+(h&495)|0]<<2)+Q|0;p=f+28|0;i=x[p>>2];a=x[i>>2];b=b-a|0;Ub:{if(g>>>16>>>0>>0){j=x[i+4>>2];k=f;f=a>>>0>b>>>0;x[k+28>>2]=x[i+(f?8:12)>>2];while(1){Vb:{if(l){break Vb}i=x[Q+16>>2];b=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Vb}x[Q+16>>2]=b;g=(k<<9)+g|0;l=7;break Vb}x[Q+16>>2]=b;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break Ub}g=g-(a<<16)|0;if(!(b&32768)){j=x[i+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[i+(a?12:8)>>2];while(1){Wb:{if(l){break Wb}i=x[Q+16>>2];f=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Wb}x[Q+16>>2]=f;g=(k<<9)+g|0;l=7;break Wb}x[Q+16>>2]=f;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break Ub}a=x[i+4>>2]}if(a){k=e-4|0;f=x[e+4>>2]>>>26&4|(x[k>>2]>>>28&1|(c>>>21&16|(c>>>25&64|h&170)));i=(y[f+29152|0]<<2)+Q|0;p=i+28|0;m=x[p>>2];a=x[m>>2];b=b-a|0;h=y[f+29408|0];Xb:{if(g>>>16>>>0>>0){j=x[m+4>>2];f=a>>>0>b>>>0;x[i+28>>2]=x[m+(f?8:12)>>2];while(1){Yb:{if(l){break Yb}i=x[Q+16>>2];b=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Yb}x[Q+16>>2]=b;g=(m<<9)+g|0;l=7;break Yb}x[Q+16>>2]=b;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break Xb}g=g-(a<<16)|0;if(!(b&32768)){j=x[m+4>>2];a=a>>>0>b>>>0;x[i+28>>2]=x[m+(a?12:8)>>2];while(1){Zb:{if(l){break Zb}i=x[Q+16>>2];f=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break Zb}x[Q+16>>2]=f;g=(m<<9)+g|0;l=7;break Zb}x[Q+16>>2]=f;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break Xb}a=x[m+4>>2]}a=a^h;x[d+768>>2]=a?r:H;x[k>>2]=x[k>>2]|16384;x[e+4>>2]=x[e+4>>2]|4096;x[e+260>>2]=x[e+260>>2]|4;x[e+268>>2]=x[e+268>>2]|1;x[e+264>>2]=x[e+264>>2]|a<<18|2;c=a<<28|c|8192}c=c|1073741824}x[e>>2]=c}c=e+4|0;a=d+4|0;n=n+1|0;if((n|0)!=64){continue}break}c=e+12|0;a=d+772|0;d=o>>>0<60;o=o+4|0;if(d){continue}break}break zb}a=1<>>1|a;e=x[Q+120>>2];c=(e+(Y<<2)|0)+12|0;a=x[Q+128>>2];l=x[Q+8>>2];b=x[Q+4>>2];g=x[Q>>2];p=x[Q+104>>2];k=x[Q+116>>2];_b:{if(q&8){$b:{if(a>>>0<4){d=0;break $b}if(Y){d=0;K=0-W|0;H=D(Y,12);j=Y<<3;while(1){f=0;while(1){e=c;c=x[c>>2];if(c){ac:{if(c&2097168){break ac}a=c&495;if(!a){break ac}h=(y[a+x[Q+108>>2]|0]<<2)+Q|0;p=h+28|0;i=x[p>>2];a=x[i>>2];b=b-a|0;bc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;m=x[i+4>>2];if(b&32768){break bc}m=x[i+4>>2];a=a>>>0>b>>>0;x[h+28>>2]=x[i+(a?12:8)>>2];while(1){cc:{if(l){break cc}i=x[Q+16>>2];h=i+1|0;n=y[i+1|0];if(y[i|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break cc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break cc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}m=a?!m:m;break bc}m=x[i+4>>2];n=h;h=a>>>0>b>>>0;x[n+28>>2]=x[i+(h?8:12)>>2];while(1){dc:{if(l){break dc}i=x[Q+16>>2];b=i+1|0;n=y[i+1|0];if(y[i|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break dc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break dc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;m=h?m:!m}if(m){r=e-4|0;h=x[e+4>>2]>>>17&4|(x[r>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));n=(y[h+29152|0]<<2)+Q|0;p=n+28|0;S=x[p>>2];a=x[S>>2];b=b-a|0;i=y[h+29408|0];ec:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;h=x[S+4>>2];if(b&32768){break ec}m=x[S+4>>2];a=a>>>0>b>>>0;x[n+28>>2]=x[S+(a?12:8)>>2];while(1){fc:{if(l){break fc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break fc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break fc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}h=a?!m:m;break ec}m=x[S+4>>2];h=a>>>0>b>>>0;x[n+28>>2]=x[S+(h?8:12)>>2];while(1){gc:{if(l){break gc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break gc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break gc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;h=h?m:!m}a=h^i;x[k>>2]=a?K:W;x[r>>2]=x[r>>2]|32;x[e+4>>2]=x[e+4>>2]|8;c=a<<19|c|16}c=c|2097152}if(!(!(c&3960)|c&16777344)){i=c>>>3|0;h=(y[x[Q+108>>2]+(i&495)|0]<<2)+Q|0;p=h+28|0;n=x[p>>2];a=x[n>>2];b=b-a|0;hc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;m=x[n+4>>2];if(b&32768){break hc}m=x[n+4>>2];a=a>>>0>b>>>0;x[h+28>>2]=x[n+(a?12:8)>>2];while(1){ic:{if(l){break ic}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break ic}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break ic}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}m=a?!m:m;break hc}m=x[n+4>>2];r=h;h=a>>>0>b>>>0;x[r+28>>2]=x[n+(h?8:12)>>2];while(1){jc:{if(l){break jc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break jc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break jc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;m=h?m:!m}if(m){r=e-4|0;h=x[e+4>>2]>>>20&4|(x[r>>2]>>>22&1|(c>>>15&16|(c>>>19&64|i&170)));n=(y[h+29152|0]<<2)+Q|0;p=n+28|0;S=x[p>>2];a=x[S>>2];b=b-a|0;i=y[h+29408|0];R=(Y<<2)+k|0;kc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;h=x[S+4>>2];if(b&32768){break kc}m=x[S+4>>2];a=a>>>0>b>>>0;x[n+28>>2]=x[S+(a?12:8)>>2];while(1){lc:{if(l){break lc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break lc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break lc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}h=a?!m:m;break kc}m=x[S+4>>2];h=a>>>0>b>>>0;x[n+28>>2]=x[S+(h?8:12)>>2];while(1){mc:{if(l){break mc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break mc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break mc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;h=h?m:!m}a=h^i;x[R>>2]=a?K:W;x[r>>2]=x[r>>2]|256;x[e+4>>2]=x[e+4>>2]|64;c=a<<22|c|128}c=c|16777216}if(!(!(c&31680)|c&134218752)){i=c>>>6|0;h=(y[x[Q+108>>2]+(i&495)|0]<<2)+Q|0;p=h+28|0;n=x[p>>2];a=x[n>>2];b=b-a|0;nc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;m=x[n+4>>2];if(b&32768){break nc}m=x[n+4>>2];a=a>>>0>b>>>0;x[h+28>>2]=x[n+(a?12:8)>>2];while(1){oc:{if(l){break oc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break oc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break oc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}m=a?!m:m;break nc}m=x[n+4>>2];r=h;h=a>>>0>b>>>0;x[r+28>>2]=x[n+(h?8:12)>>2];while(1){pc:{if(l){break pc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break pc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break pc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;m=h?m:!m}if(m){r=e-4|0;h=x[e+4>>2]>>>23&4|(x[r>>2]>>>25&1|(c>>>18&16|(c>>>22&64|i&170)));n=(y[h+29152|0]<<2)+Q|0;p=n+28|0;S=x[p>>2];a=x[S>>2];b=b-a|0;i=y[h+29408|0];R=j+k|0;qc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;h=x[S+4>>2];if(b&32768){break qc}m=x[S+4>>2];a=a>>>0>b>>>0;x[n+28>>2]=x[S+(a?12:8)>>2];while(1){rc:{if(l){break rc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break rc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break rc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}h=a?!m:m;break qc}m=x[S+4>>2];h=a>>>0>b>>>0;x[n+28>>2]=x[S+(h?8:12)>>2];while(1){sc:{if(l){break sc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break sc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break sc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;h=h?m:!m}a=h^i;x[R>>2]=a?K:W;x[r>>2]=x[r>>2]|2048;x[e+4>>2]=x[e+4>>2]|512;c=a<<25|c|1024}c=c|134217728}if(!(!(c&253440)|c&1073750016)){i=c>>>9|0;h=(y[x[Q+108>>2]+(i&495)|0]<<2)+Q|0;p=h+28|0;n=x[p>>2];a=x[n>>2];b=b-a|0;tc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;m=x[n+4>>2];if(b&32768){break tc}m=x[n+4>>2];a=a>>>0>b>>>0;x[h+28>>2]=x[n+(a?12:8)>>2];while(1){uc:{if(l){break uc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break uc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break uc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}m=a?!m:m;break tc}m=x[n+4>>2];r=h;h=a>>>0>b>>>0;x[r+28>>2]=x[n+(h?8:12)>>2];while(1){vc:{if(l){break vc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break vc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break vc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;m=h?m:!m}if(m){r=e-4|0;h=x[e+4>>2]>>>26&4|(x[r>>2]>>>28&1|(c>>>21&16|(c>>>25&64|i&170)));n=(y[h+29152|0]<<2)+Q|0;p=n+28|0;S=x[p>>2];a=x[S>>2];b=b-a|0;i=y[h+29408|0];R=k+H|0;wc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;h=x[S+4>>2];if(b&32768){break wc}m=x[S+4>>2];a=a>>>0>b>>>0;x[n+28>>2]=x[S+(a?12:8)>>2];while(1){xc:{if(l){break xc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break xc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break xc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}h=a?!m:m;break wc}m=x[S+4>>2];h=a>>>0>b>>>0;x[n+28>>2]=x[S+(h?8:12)>>2];while(1){yc:{if(l){break yc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break yc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break yc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;h=h?m:!m}a=h^i;x[R>>2]=a?K:W;x[r>>2]=x[r>>2]|16384;x[e+4>>2]=x[e+4>>2]|4096;h=e+(x[Q+124>>2]<<2)|0;x[h+4>>2]=x[h+4>>2]|4;x[h+12>>2]=x[h+12>>2]|1;x[h+8>>2]=x[h+8>>2]|a<<18|2;c=a<<28|c|8192}c=c|1073741824}x[e>>2]=c}c=e+4|0;k=k+4|0;f=f+1|0;if((Y|0)!=(f|0)){continue}break}c=e+12|0;k=k+H|0;d=d+4|0;a=x[Q+128>>2];if(d>>>0<(a&-4)>>>0){continue}break}break $b}c=a&-4;c=(c>>>0<=4?4:c)-1|0;d=(c&-4)+4|0;c=(e+(c<<1&-8)|0)+20|0}x[Q+8>>2]=l;x[Q+4>>2]=b;x[Q>>2]=g;x[Q+104>>2]=p;if(!Y|a>>>0<=d>>>0){break _b}while(1){b=(a|0)==(d|0);l=0;a=d;if(!b){while(1){ec(Q,c,(D(l,Y)<<2)+k|0,W,l,x[Q+124>>2]+2|0,1);l=l+1|0;a=x[Q+128>>2];if(l>>>0>>0){continue}break}}c=c+4|0;k=k+4|0;o=o+1|0;if((Y|0)!=(o|0)){continue}break}break _b}zc:{if(a>>>0<4){d=0;break zc}if(Y){d=0;K=0-W|0;H=D(Y,12);j=Y<<3;while(1){f=0;while(1){e=c;c=x[c>>2];if(c){Ac:{if(c&2097168){break Ac}a=c&495;if(!a){break Ac}h=(y[a+x[Q+108>>2]|0]<<2)+Q|0;p=h+28|0;i=x[p>>2];a=x[i>>2];b=b-a|0;Bc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;m=x[i+4>>2];if(b&32768){break Bc}m=x[i+4>>2];a=a>>>0>b>>>0;x[h+28>>2]=x[i+(a?12:8)>>2];while(1){Cc:{if(l){break Cc}i=x[Q+16>>2];h=i+1|0;n=y[i+1|0];if(y[i|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break Cc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break Cc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}m=a?!m:m;break Bc}m=x[i+4>>2];n=h;h=a>>>0>b>>>0;x[n+28>>2]=x[i+(h?8:12)>>2];while(1){Dc:{if(l){break Dc}i=x[Q+16>>2];b=i+1|0;n=y[i+1|0];if(y[i|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break Dc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break Dc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;m=h?m:!m}if(m){r=e-4|0;h=x[e+4>>2]>>>17&4|(x[r>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));n=(y[h+29152|0]<<2)+Q|0;p=n+28|0;S=x[p>>2];a=x[S>>2];b=b-a|0;i=y[h+29408|0];Ec:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;h=x[S+4>>2];if(b&32768){break Ec}m=x[S+4>>2];a=a>>>0>b>>>0;x[n+28>>2]=x[S+(a?12:8)>>2];while(1){Fc:{if(l){break Fc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break Fc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break Fc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}h=a?!m:m;break Ec}m=x[S+4>>2];h=a>>>0>b>>>0;x[n+28>>2]=x[S+(h?8:12)>>2];while(1){Gc:{if(l){break Gc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break Gc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break Gc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;h=h?m:!m}h=h^i;x[k>>2]=h?K:W;x[r>>2]=x[r>>2]|32;x[e+4>>2]=x[e+4>>2]|8;a=e+(-2-x[Q+124>>2]<<2)|0;x[a+4>>2]=x[a+4>>2]|32768;x[a>>2]=x[a>>2]|h<<31|65536;a=a-4|0;x[a>>2]=x[a>>2]|131072;c=h<<19|c|16}c=c|2097152}if(!(!(c&3960)|c&16777344)){i=c>>>3|0;h=(y[x[Q+108>>2]+(i&495)|0]<<2)+Q|0;p=h+28|0;n=x[p>>2];a=x[n>>2];b=b-a|0;Hc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;m=x[n+4>>2];if(b&32768){break Hc}m=x[n+4>>2];a=a>>>0>b>>>0;x[h+28>>2]=x[n+(a?12:8)>>2];while(1){Ic:{if(l){break Ic}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break Ic}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break Ic}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}m=a?!m:m;break Hc}m=x[n+4>>2];r=h;h=a>>>0>b>>>0;x[r+28>>2]=x[n+(h?8:12)>>2];while(1){Jc:{if(l){break Jc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break Jc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break Jc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;m=h?m:!m}if(m){r=e-4|0;h=x[e+4>>2]>>>20&4|(x[r>>2]>>>22&1|(c>>>15&16|(c>>>19&64|i&170)));n=(y[h+29152|0]<<2)+Q|0;p=n+28|0;S=x[p>>2];a=x[S>>2];b=b-a|0;i=y[h+29408|0];R=(Y<<2)+k|0;Kc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;h=x[S+4>>2];if(b&32768){break Kc}m=x[S+4>>2];a=a>>>0>b>>>0;x[n+28>>2]=x[S+(a?12:8)>>2];while(1){Lc:{if(l){break Lc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break Lc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break Lc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}h=a?!m:m;break Kc}m=x[S+4>>2];h=a>>>0>b>>>0;x[n+28>>2]=x[S+(h?8:12)>>2];while(1){Mc:{if(l){break Mc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break Mc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break Mc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;h=h?m:!m}a=h^i;x[R>>2]=a?K:W;x[r>>2]=x[r>>2]|256;x[e+4>>2]=x[e+4>>2]|64;c=a<<22|c|128}c=c|16777216}if(!(!(c&31680)|c&134218752)){i=c>>>6|0;h=(y[x[Q+108>>2]+(i&495)|0]<<2)+Q|0;p=h+28|0;n=x[p>>2];a=x[n>>2];b=b-a|0;Nc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;m=x[n+4>>2];if(b&32768){break Nc}m=x[n+4>>2];a=a>>>0>b>>>0;x[h+28>>2]=x[n+(a?12:8)>>2];while(1){Oc:{if(l){break Oc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break Oc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break Oc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}m=a?!m:m;break Nc}m=x[n+4>>2];r=h;h=a>>>0>b>>>0;x[r+28>>2]=x[n+(h?8:12)>>2];while(1){Pc:{if(l){break Pc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break Pc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break Pc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;m=h?m:!m}if(m){r=e-4|0;h=x[e+4>>2]>>>23&4|(x[r>>2]>>>25&1|(c>>>18&16|(c>>>22&64|i&170)));n=(y[h+29152|0]<<2)+Q|0;p=n+28|0;S=x[p>>2];a=x[S>>2];b=b-a|0;i=y[h+29408|0];R=j+k|0;Qc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;h=x[S+4>>2];if(b&32768){break Qc}m=x[S+4>>2];a=a>>>0>b>>>0;x[n+28>>2]=x[S+(a?12:8)>>2];while(1){Rc:{if(l){break Rc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break Rc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break Rc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}h=a?!m:m;break Qc}m=x[S+4>>2];h=a>>>0>b>>>0;x[n+28>>2]=x[S+(h?8:12)>>2];while(1){Sc:{if(l){break Sc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break Sc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break Sc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;h=h?m:!m}a=h^i;x[R>>2]=a?K:W;x[r>>2]=x[r>>2]|2048;x[e+4>>2]=x[e+4>>2]|512;c=a<<25|c|1024}c=c|134217728}if(!(!(c&253440)|c&1073750016)){i=c>>>9|0;h=(y[x[Q+108>>2]+(i&495)|0]<<2)+Q|0;p=h+28|0;n=x[p>>2];a=x[n>>2];b=b-a|0;Tc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;m=x[n+4>>2];if(b&32768){break Tc}m=x[n+4>>2];a=a>>>0>b>>>0;x[h+28>>2]=x[n+(a?12:8)>>2];while(1){Uc:{if(l){break Uc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break Uc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break Uc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}m=a?!m:m;break Tc}m=x[n+4>>2];r=h;h=a>>>0>b>>>0;x[r+28>>2]=x[n+(h?8:12)>>2];while(1){Vc:{if(l){break Vc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break Vc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break Vc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;m=h?m:!m}if(m){r=e-4|0;h=x[e+4>>2]>>>26&4|(x[r>>2]>>>28&1|(c>>>21&16|(c>>>25&64|i&170)));n=(y[h+29152|0]<<2)+Q|0;p=n+28|0;S=x[p>>2];a=x[S>>2];b=b-a|0;i=y[h+29408|0];R=k+H|0;Wc:{if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;h=x[S+4>>2];if(b&32768){break Wc}m=x[S+4>>2];a=a>>>0>b>>>0;x[n+28>>2]=x[S+(a?12:8)>>2];while(1){Xc:{if(l){break Xc}l=x[Q+16>>2];h=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=h;l=8;g=(n<<8)+g|0;break Xc}if(n>>>0<=143){x[Q+16>>2]=h;g=(n<<9)+g|0;l=7;break Xc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}h=a?!m:m;break Wc}m=x[S+4>>2];h=a>>>0>b>>>0;x[n+28>>2]=x[S+(h?8:12)>>2];while(1){Yc:{if(l){break Yc}l=x[Q+16>>2];b=l+1|0;n=y[l+1|0];if(y[l|0]!=255){x[Q+16>>2]=b;l=8;g=(n<<8)+g|0;break Yc}if(n>>>0<=143){x[Q+16>>2]=b;g=(n<<9)+g|0;l=7;break Yc}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;h=h?m:!m}a=h^i;x[R>>2]=a?K:W;x[r>>2]=x[r>>2]|16384;x[e+4>>2]=x[e+4>>2]|4096;h=e+(x[Q+124>>2]<<2)|0;x[h+4>>2]=x[h+4>>2]|4;x[h+12>>2]=x[h+12>>2]|1;x[h+8>>2]=x[h+8>>2]|a<<18|2;c=a<<28|c|8192}c=c|1073741824}x[e>>2]=c}c=e+4|0;k=k+4|0;f=f+1|0;if((Y|0)!=(f|0)){continue}break}c=e+12|0;k=k+H|0;d=d+4|0;a=x[Q+128>>2];if(d>>>0<(a&-4)>>>0){continue}break}break zc}c=a&-4;c=(c>>>0<=4?4:c)-1|0;d=(c&-4)+4|0;c=(e+(c<<1&-8)|0)+20|0}x[Q+8>>2]=l;x[Q+4>>2]=b;x[Q>>2]=g;x[Q+104>>2]=p;if(!Y|a>>>0<=d>>>0){break _b}while(1){b=(a|0)==(d|0);l=0;a=d;if(!b){while(1){ec(Q,c,(D(l,Y)<<2)+k|0,W,l,x[Q+124>>2]+2|0,0);l=l+1|0;a=x[Q+128>>2];if(l>>>0>>0){continue}break}}c=c+4|0;k=k+4|0;o=o+1|0;if((Y|0)!=(o|0)){continue}break}}break yb}while(1){n=0;while(1){d=a;e=c;c=x[c>>2];if(c){Zc:{if(c&2097168){break Zc}a=c&495;if(!a){break Zc}f=(y[a+x[Q+108>>2]|0]<<2)+Q|0;p=f+28|0;h=x[p>>2];a=x[h>>2];b=b-a|0;_c:{if(g>>>16>>>0>>0){i=x[h+4>>2];j=f;f=a>>>0>b>>>0;x[j+28>>2]=x[h+(f?8:12)>>2];while(1){$c:{if(l){break $c}h=x[Q+16>>2];b=h+1|0;j=y[h+1|0];if(y[h|0]==255){if(j>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break $c}x[Q+16>>2]=b;g=(j<<9)+g|0;l=7;break $c}x[Q+16>>2]=b;l=8;g=(j<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?i:!i;break _c}g=g-(a<<16)|0;if(!(b&32768)){i=x[h+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[h+(a?12:8)>>2];while(1){ad:{if(l){break ad}h=x[Q+16>>2];f=h+1|0;j=y[h+1|0];if(y[h|0]==255){if(j>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break ad}x[Q+16>>2]=f;g=(j<<9)+g|0;l=7;break ad}x[Q+16>>2]=f;l=8;g=(j<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!i:i;break _c}a=x[h+4>>2]}if(a){k=e-4|0;f=x[e+4>>2]>>>17&4|(x[k>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));i=(y[f+29152|0]<<2)+Q|0;p=i+28|0;m=x[p>>2];a=x[m>>2];b=b-a|0;h=y[f+29408|0];bd:{if(g>>>16>>>0>>0){j=x[m+4>>2];f=a>>>0>b>>>0;x[i+28>>2]=x[m+(f?8:12)>>2];while(1){cd:{if(l){break cd}i=x[Q+16>>2];b=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break cd}x[Q+16>>2]=b;g=(m<<9)+g|0;l=7;break cd}x[Q+16>>2]=b;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break bd}g=g-(a<<16)|0;if(!(b&32768)){j=x[m+4>>2];a=a>>>0>b>>>0;x[i+28>>2]=x[m+(a?12:8)>>2];while(1){dd:{if(l){break dd}i=x[Q+16>>2];f=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break dd}x[Q+16>>2]=f;g=(m<<9)+g|0;l=7;break dd}x[Q+16>>2]=f;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break bd}a=x[m+4>>2]}a=a^h;x[d>>2]=a?r:H;x[k>>2]=x[k>>2]|32;x[e+4>>2]=x[e+4>>2]|8;c=a<<19|c|16}c=c|2097152}if(!(!(c&3960)|c&16777344)){h=c>>>3|0;f=(y[x[Q+108>>2]+(h&495)|0]<<2)+Q|0;p=f+28|0;i=x[p>>2];a=x[i>>2];b=b-a|0;ed:{if(g>>>16>>>0>>0){j=x[i+4>>2];k=f;f=a>>>0>b>>>0;x[k+28>>2]=x[i+(f?8:12)>>2];while(1){fd:{if(l){break fd}i=x[Q+16>>2];b=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break fd}x[Q+16>>2]=b;g=(k<<9)+g|0;l=7;break fd}x[Q+16>>2]=b;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break ed}g=g-(a<<16)|0;if(!(b&32768)){j=x[i+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[i+(a?12:8)>>2];while(1){gd:{if(l){break gd}i=x[Q+16>>2];f=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break gd}x[Q+16>>2]=f;g=(k<<9)+g|0;l=7;break gd}x[Q+16>>2]=f;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break ed}a=x[i+4>>2]}if(a){k=e-4|0;f=x[e+4>>2]>>>20&4|(x[k>>2]>>>22&1|(c>>>15&16|(c>>>19&64|h&170)));i=(y[f+29152|0]<<2)+Q|0;p=i+28|0;m=x[p>>2];a=x[m>>2];b=b-a|0;h=y[f+29408|0];hd:{if(g>>>16>>>0>>0){j=x[m+4>>2];f=a>>>0>b>>>0;x[i+28>>2]=x[m+(f?8:12)>>2];while(1){id:{if(l){break id}i=x[Q+16>>2];b=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break id}x[Q+16>>2]=b;g=(m<<9)+g|0;l=7;break id}x[Q+16>>2]=b;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break hd}g=g-(a<<16)|0;if(!(b&32768)){j=x[m+4>>2];a=a>>>0>b>>>0;x[i+28>>2]=x[m+(a?12:8)>>2];while(1){jd:{if(l){break jd}i=x[Q+16>>2];f=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break jd}x[Q+16>>2]=f;g=(m<<9)+g|0;l=7;break jd}x[Q+16>>2]=f;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break hd}a=x[m+4>>2]}a=a^h;x[d+256>>2]=a?r:H;x[k>>2]=x[k>>2]|256;x[e+4>>2]=x[e+4>>2]|64;c=a<<22|c|128}c=c|16777216}if(!(!(c&31680)|c&134218752)){h=c>>>6|0;f=(y[x[Q+108>>2]+(h&495)|0]<<2)+Q|0;p=f+28|0;i=x[p>>2];a=x[i>>2];b=b-a|0;kd:{if(g>>>16>>>0>>0){j=x[i+4>>2];k=f;f=a>>>0>b>>>0;x[k+28>>2]=x[i+(f?8:12)>>2];while(1){ld:{if(l){break ld}i=x[Q+16>>2];b=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break ld}x[Q+16>>2]=b;g=(k<<9)+g|0;l=7;break ld}x[Q+16>>2]=b;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break kd}g=g-(a<<16)|0;if(!(b&32768)){j=x[i+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[i+(a?12:8)>>2];while(1){md:{if(l){break md}i=x[Q+16>>2];f=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break md}x[Q+16>>2]=f;g=(k<<9)+g|0;l=7;break md}x[Q+16>>2]=f;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break kd}a=x[i+4>>2]}if(a){k=e-4|0;f=x[e+4>>2]>>>23&4|(x[k>>2]>>>25&1|(c>>>18&16|(c>>>22&64|h&170)));i=(y[f+29152|0]<<2)+Q|0;p=i+28|0;m=x[p>>2];a=x[m>>2];b=b-a|0;h=y[f+29408|0];nd:{if(g>>>16>>>0>>0){j=x[m+4>>2];f=a>>>0>b>>>0;x[i+28>>2]=x[m+(f?8:12)>>2];while(1){od:{if(l){break od}i=x[Q+16>>2];b=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break od}x[Q+16>>2]=b;g=(m<<9)+g|0;l=7;break od}x[Q+16>>2]=b;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break nd}g=g-(a<<16)|0;if(!(b&32768)){j=x[m+4>>2];a=a>>>0>b>>>0;x[i+28>>2]=x[m+(a?12:8)>>2];while(1){pd:{if(l){break pd}i=x[Q+16>>2];f=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break pd}x[Q+16>>2]=f;g=(m<<9)+g|0;l=7;break pd}x[Q+16>>2]=f;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break nd}a=x[m+4>>2]}a=a^h;x[d+512>>2]=a?r:H;x[k>>2]=x[k>>2]|2048;x[e+4>>2]=x[e+4>>2]|512;c=a<<25|c|1024}c=c|134217728}if(!(!(c&253440)|c&1073750016)){h=c>>>9|0;f=(y[x[Q+108>>2]+(h&495)|0]<<2)+Q|0;p=f+28|0;i=x[p>>2];a=x[i>>2];b=b-a|0;qd:{if(g>>>16>>>0>>0){j=x[i+4>>2];k=f;f=a>>>0>b>>>0;x[k+28>>2]=x[i+(f?8:12)>>2];while(1){rd:{if(l){break rd}i=x[Q+16>>2];b=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break rd}x[Q+16>>2]=b;g=(k<<9)+g|0;l=7;break rd}x[Q+16>>2]=b;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break qd}g=g-(a<<16)|0;if(!(b&32768)){j=x[i+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[i+(a?12:8)>>2];while(1){sd:{if(l){break sd}i=x[Q+16>>2];f=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break sd}x[Q+16>>2]=f;g=(k<<9)+g|0;l=7;break sd}x[Q+16>>2]=f;l=8;g=(k<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break qd}a=x[i+4>>2]}if(a){k=e-4|0;f=x[e+4>>2]>>>26&4|(x[k>>2]>>>28&1|(c>>>21&16|(c>>>25&64|h&170)));i=(y[f+29152|0]<<2)+Q|0;p=i+28|0;m=x[p>>2];a=x[m>>2];b=b-a|0;h=y[f+29408|0];td:{if(g>>>16>>>0>>0){j=x[m+4>>2];f=a>>>0>b>>>0;x[i+28>>2]=x[m+(f?8:12)>>2];while(1){ud:{if(l){break ud}i=x[Q+16>>2];b=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break ud}x[Q+16>>2]=b;g=(m<<9)+g|0;l=7;break ud}x[Q+16>>2]=b;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=a;a=f?j:!j;break td}g=g-(a<<16)|0;if(!(b&32768)){j=x[m+4>>2];a=a>>>0>b>>>0;x[i+28>>2]=x[m+(a?12:8)>>2];while(1){vd:{if(l){break vd}i=x[Q+16>>2];f=i+1|0;m=y[i+1|0];if(y[i|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;l=8;break vd}x[Q+16>>2]=f;g=(m<<9)+g|0;l=7;break vd}x[Q+16>>2]=f;l=8;g=(m<<8)+g|0}l=l-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=a?!j:j;break td}a=x[m+4>>2]}a=a^h;x[d+768>>2]=a?r:H;x[k>>2]=x[k>>2]|16384;x[e+4>>2]=x[e+4>>2]|4096;x[e+260>>2]=x[e+260>>2]|4;x[e+268>>2]=x[e+268>>2]|1;x[e+264>>2]=x[e+264>>2]|a<<18|2;c=a<<28|c|8192}c=c|1073741824}x[e>>2]=c}c=e+4|0;a=d+4|0;n=n+1|0;if((n|0)!=64){continue}break}c=e+12|0;a=d+772|0;d=o>>>0<60;o=o+4|0;if(d){continue}break}}x[Q+8>>2]=l;x[Q+4>>2]=b;x[Q>>2]=g;x[Q+104>>2]=p}break _a;case 1:if(P){r=1<>>1|0;n=x[Q+124>>2];i=n<<2;a=(i+x[Q+120>>2]|0)+12|0;c=x[Q+116>>2];g=0;b=x[Q+128>>2];if(b>>>0>=4){if(!n){break Za}k=D(n,3);h=n<<1;m=0-r|0;while(1){b=0;while(1){d=a;a=x[a>>2];wd:{if(!a){break wd}if((a&2097168)==16){a=x[Q>>2];o=x[Q+8>>2];xd:{if(o){break xd}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];yd:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break yd}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;o=7;break xd}a=255;x[Q>>2]=255}o=8}e=o-1|0;x[Q+8>>2]=e;e=a>>>e&1;a=x[c>>2];x[c>>2]=((e|0)==(a>>>31|0)?m:r)+a;a=x[d>>2]|1048576;x[d>>2]=a}if((a&16777344)==128){a=x[Q>>2];o=x[Q+8>>2];zd:{if(o){break zd}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];Ad:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break Ad}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;o=7;break zd}a=255;x[Q>>2]=255}o=8}f=o-1|0;x[Q+8>>2]=f;e=c+i|0;j=x[e>>2];x[e>>2]=j+((a>>>f&1)==(j>>>31|0)?m:r);a=x[d>>2]|8388608;x[d>>2]=a}if((a&134218752)==1024){j=(h<<2)+c|0;a=x[Q>>2];l=x[Q+8>>2];Bd:{if(l){break Bd}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];Cd:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break Cd}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;l=7;break Bd}a=255;x[Q>>2]=255}l=8}e=l-1|0;x[Q+8>>2]=e;e=a>>>e&1;a=x[j>>2];x[j>>2]=((e|0)==(a>>>31|0)?m:r)+a;a=x[d>>2]|67108864;x[d>>2]=a}if((a&1073750016)!=8192){break wd}j=(k<<2)+c|0;a=x[Q>>2];l=x[Q+8>>2];Dd:{if(l){break Dd}e=(a|0)==255;f=x[Q+16>>2];a=y[f|0];Ed:{if(!e){x[Q>>2]=a;x[Q+16>>2]=f+1;break Ed}if(a>>>0<=143){x[Q>>2]=a;x[Q+16>>2]=f+1;l=7;break Dd}a=255;x[Q>>2]=255}l=8}e=l-1|0;x[Q+8>>2]=e;e=a>>>e&1;a=x[j>>2];x[j>>2]=((e|0)==(a>>>31|0)?m:r)+a;x[d>>2]=x[d>>2]|536870912}c=c+4|0;a=d+4|0;b=b+1|0;if((n|0)!=(b|0)){continue}break}a=d+12|0;c=(k<<2)+c|0;g=g+4|0;b=x[Q+128>>2];if(g>>>0<(b&-4)>>>0){continue}break}}if(!n|b>>>0<=g>>>0){break _a}X=0;e=0-r|0;d=b;while(1){Fd:{if((d|0)==(g|0)){d=g;break Fd}o=x[a>>2];p=0;while(1){i=D(p,3);if((2097168<>2];l=x[Q+8>>2];Gd:{if(l){break Gd}d=(b|0)!=255;f=x[Q+16>>2];b=y[f|0];Hd:{if(!d){if(b>>>0>=144){b=255;x[Q>>2]=255;break Hd}x[Q>>2]=b;x[Q+16>>2]=f+1;l=7;break Gd}x[Q>>2]=b;x[Q+16>>2]=f+1}l=8}d=l-1|0;x[Q+8>>2]=d;d=b>>>d&1;b=x[h>>2];x[h>>2]=((d|0)==(b>>>31|0)?e:r)+b;o=x[a>>2]|1048576<>2]=o;b=x[Q+128>>2]}d=b;p=p+1|0;if(p>>>0>>0){continue}break}}c=c+4|0;a=a+4|0;X=X+1|0;if((n|0)!=(X|0)){continue}break}break _a}f=x[Q+120>>2];d=x[Q+116>>2];S=x[Q+124>>2];b=x[Q+128>>2];if(!((S|0)!=64|(b|0)!=64)){b=f+268|0;X=0;n=1<>>1|0;m=0-n|0;p=x[Q+8>>2];c=x[Q+4>>2];a=x[Q>>2];g=x[Q+104>>2];while(1){l=0;while(1){f=d;e=b;d=x[b>>2];if(d){if((d&2097168)==16){h=((d&1048576?16:d&495?15:14)<<2)+Q|0;g=h+28|0;i=x[g>>2];b=x[i>>2];c=c-b|0;Id:{if(a>>>16>>>0>>0){j=x[i+4>>2];k=h;h=b>>>0>c>>>0;x[k+28>>2]=x[i+(h?8:12)>>2];while(1){Jd:{if(p){break Jd}i=x[Q+16>>2];c=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8;break Jd}x[Q+16>>2]=c;a=(k<<9)+a|0;p=7;break Jd}x[Q+16>>2]=c;p=8;a=(k<<8)+a|0}p=p-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;h=h?j:!j;break Id}a=a-(b<<16)|0;if(!(c&32768)){j=x[i+4>>2];b=b>>>0>c>>>0;x[h+28>>2]=x[i+(b?12:8)>>2];while(1){Kd:{if(p){break Kd}i=x[Q+16>>2];h=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8;break Kd}x[Q+16>>2]=h;a=(k<<9)+a|0;p=7;break Kd}x[Q+16>>2]=h;p=8;a=(k<<8)+a|0}p=p-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}h=b?!j:j;break Id}h=x[i+4>>2]}b=x[f>>2];x[f>>2]=((h|0)==(b>>>31|0)?m:n)+b;d=d|1048576}if((d&16777344)==128){h=((d&8388608?16:d&3960?15:14)<<2)+Q|0;g=h+28|0;i=x[g>>2];b=x[i>>2];c=c-b|0;Ld:{if(a>>>16>>>0>>0){j=x[i+4>>2];k=h;h=b>>>0>c>>>0;x[k+28>>2]=x[i+(h?8:12)>>2];while(1){Md:{if(p){break Md}i=x[Q+16>>2];c=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8;break Md}x[Q+16>>2]=c;a=(k<<9)+a|0;p=7;break Md}x[Q+16>>2]=c;p=8;a=(k<<8)+a|0}p=p-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;h=h?j:!j;break Ld}a=a-(b<<16)|0;if(!(c&32768)){j=x[i+4>>2];b=b>>>0>c>>>0;x[h+28>>2]=x[i+(b?12:8)>>2];while(1){Nd:{if(p){break Nd}i=x[Q+16>>2];h=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8;break Nd}x[Q+16>>2]=h;a=(k<<9)+a|0;p=7;break Nd}x[Q+16>>2]=h;p=8;a=(k<<8)+a|0}p=p-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}h=b?!j:j;break Ld}h=x[i+4>>2]}b=x[f+256>>2];x[f+256>>2]=((h|0)==(b>>>31|0)?m:n)+b;d=d|8388608}if((d&134218752)==1024){h=((d&67108864?16:d&31680?15:14)<<2)+Q|0;g=h+28|0;i=x[g>>2];b=x[i>>2];c=c-b|0;Od:{if(a>>>16>>>0>>0){j=x[i+4>>2];k=h;h=b>>>0>c>>>0;x[k+28>>2]=x[i+(h?8:12)>>2];while(1){Pd:{if(p){break Pd}i=x[Q+16>>2];c=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8;break Pd}x[Q+16>>2]=c;a=(k<<9)+a|0;p=7;break Pd}x[Q+16>>2]=c;p=8;a=(k<<8)+a|0}p=p-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;h=h?j:!j;break Od}a=a-(b<<16)|0;if(!(c&32768)){j=x[i+4>>2];b=b>>>0>c>>>0;x[h+28>>2]=x[i+(b?12:8)>>2];while(1){Qd:{if(p){break Qd}i=x[Q+16>>2];h=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8;break Qd}x[Q+16>>2]=h;a=(k<<9)+a|0;p=7;break Qd}x[Q+16>>2]=h;p=8;a=(k<<8)+a|0}p=p-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}h=b?!j:j;break Od}h=x[i+4>>2]}b=x[f+512>>2];x[f+512>>2]=((h|0)==(b>>>31|0)?m:n)+b;d=d|67108864}if((d&1073750016)==8192){h=((d&536870912?16:d&253440?15:14)<<2)+Q|0;g=h+28|0;i=x[g>>2];b=x[i>>2];c=c-b|0;Rd:{if(a>>>16>>>0>>0){j=x[i+4>>2];k=h;h=b>>>0>c>>>0;x[k+28>>2]=x[i+(h?8:12)>>2];while(1){Sd:{if(p){break Sd}i=x[Q+16>>2];c=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8;break Sd}x[Q+16>>2]=c;a=(k<<9)+a|0;p=7;break Sd}x[Q+16>>2]=c;p=8;a=(k<<8)+a|0}p=p-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;h=h?j:!j;break Rd}a=a-(b<<16)|0;if(!(c&32768)){j=x[i+4>>2];b=b>>>0>c>>>0;x[h+28>>2]=x[i+(b?12:8)>>2];while(1){Td:{if(p){break Td}i=x[Q+16>>2];h=i+1|0;k=y[i+1|0];if(y[i|0]==255){if(k>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8;break Td}x[Q+16>>2]=h;a=(k<<9)+a|0;p=7;break Td}x[Q+16>>2]=h;p=8;a=(k<<8)+a|0}p=p-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}h=b?!j:j;break Rd}h=x[i+4>>2]}b=x[f+768>>2];x[f+768>>2]=((h|0)==(b>>>31|0)?m:n)+b;d=d|536870912}x[e>>2]=d}b=e+4|0;d=f+4|0;l=l+1|0;if((l|0)!=64){continue}break}b=e+12|0;d=f+772|0;e=X>>>0<60;X=X+4|0;if(e){continue}break}x[Q+8>>2]=p;x[Q+4>>2]=c;x[Q>>2]=a;x[Q+104>>2]=g;break _a}K=1<>>1|0;m=S<<2;k=(m+f|0)+12|0;p=x[Q+8>>2];c=x[Q+4>>2];a=x[Q>>2];g=x[Q+104>>2];j=0;Ud:{if(b>>>0<4){break Ud}if(S){o=D(S,3);i=S<<1;H=0-K|0;while(1){l=0;while(1){f=k;e=x[f>>2];if(e){if((e&2097168)==16){h=((e&1048576?16:e&495?15:14)<<2)+Q|0;g=h+28|0;k=x[g>>2];b=x[k>>2];c=c-b|0;Vd:{if(a>>>16>>>0>=b>>>0){a=a-(b<<16)|0;n=x[k+4>>2];if(c&32768){break Vd}n=x[k+4>>2];b=b>>>0>c>>>0;x[h+28>>2]=x[k+(b?12:8)>>2];while(1){Wd:{if(p){break Wd}k=x[Q+16>>2];h=k+1|0;r=y[k+1|0];if(y[k|0]!=255){x[Q+16>>2]=h;p=8;a=(r<<8)+a|0;break Wd}if(r>>>0<=143){x[Q+16>>2]=h;a=(r<<9)+a|0;p=7;break Wd}x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8}p=p-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}n=b?!n:n;break Vd}n=x[k+4>>2];r=h;h=b>>>0>c>>>0;x[r+28>>2]=x[k+(h?8:12)>>2];while(1){Xd:{if(p){break Xd}k=x[Q+16>>2];c=k+1|0;r=y[k+1|0];if(y[k|0]!=255){x[Q+16>>2]=c;p=8;a=(r<<8)+a|0;break Xd}if(r>>>0<=143){x[Q+16>>2]=c;a=(r<<9)+a|0;p=7;break Xd}x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8}p=p-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;n=h?n:!n}h=n;b=x[d>>2];x[d>>2]=((h|0)==(b>>>31|0)?H:K)+b;e=e|1048576}if((e&16777344)==128){h=((e&8388608?16:e&3960?15:14)<<2)+Q|0;g=h+28|0;k=x[g>>2];b=x[k>>2];c=c-b|0;Yd:{if(a>>>16>>>0>=b>>>0){a=a-(b<<16)|0;n=x[k+4>>2];if(c&32768){break Yd}n=x[k+4>>2];b=b>>>0>c>>>0;x[h+28>>2]=x[k+(b?12:8)>>2];while(1){Zd:{if(p){break Zd}k=x[Q+16>>2];h=k+1|0;r=y[k+1|0];if(y[k|0]!=255){x[Q+16>>2]=h;p=8;a=(r<<8)+a|0;break Zd}if(r>>>0<=143){x[Q+16>>2]=h;a=(r<<9)+a|0;p=7;break Zd}x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8}p=p-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}n=b?!n:n;break Yd}n=x[k+4>>2];r=h;h=b>>>0>c>>>0;x[r+28>>2]=x[k+(h?8:12)>>2];while(1){_d:{if(p){break _d}k=x[Q+16>>2];c=k+1|0;r=y[k+1|0];if(y[k|0]!=255){x[Q+16>>2]=c;p=8;a=(r<<8)+a|0;break _d}if(r>>>0<=143){x[Q+16>>2]=c;a=(r<<9)+a|0;p=7;break _d}x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8}p=p-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;n=h?n:!n}h=n;b=d+m|0;k=x[b>>2];x[b>>2]=k+((h|0)==(k>>>31|0)?H:K);e=e|8388608}if((e&134218752)==1024){h=((e&67108864?16:e&31680?15:14)<<2)+Q|0;g=h+28|0;k=x[g>>2];b=x[k>>2];c=c-b|0;$d:{if(a>>>16>>>0>=b>>>0){a=a-(b<<16)|0;n=x[k+4>>2];if(c&32768){break $d}n=x[k+4>>2];b=b>>>0>c>>>0;x[h+28>>2]=x[k+(b?12:8)>>2];while(1){ae:{if(p){break ae}k=x[Q+16>>2];h=k+1|0;r=y[k+1|0];if(y[k|0]!=255){x[Q+16>>2]=h;p=8;a=(r<<8)+a|0;break ae}if(r>>>0<=143){x[Q+16>>2]=h;a=(r<<9)+a|0;p=7;break ae}x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8}p=p-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}n=b?!n:n;break $d}n=x[k+4>>2];r=h;h=b>>>0>c>>>0;x[r+28>>2]=x[k+(h?8:12)>>2];while(1){be:{if(p){break be}k=x[Q+16>>2];c=k+1|0;r=y[k+1|0];if(y[k|0]!=255){x[Q+16>>2]=c;p=8;a=(r<<8)+a|0;break be}if(r>>>0<=143){x[Q+16>>2]=c;a=(r<<9)+a|0;p=7;break be}x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8}p=p-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;n=h?n:!n}h=n;b=(i<<2)+d|0;k=x[b>>2];x[b>>2]=k+((h|0)==(k>>>31|0)?H:K);e=e|67108864}if((e&1073750016)==8192){h=((e&536870912?16:e&253440?15:14)<<2)+Q|0;g=h+28|0;k=x[g>>2];b=x[k>>2];c=c-b|0;ce:{if(a>>>16>>>0>=b>>>0){a=a-(b<<16)|0;n=x[k+4>>2];if(c&32768){break ce}n=x[k+4>>2];b=b>>>0>c>>>0;x[h+28>>2]=x[k+(b?12:8)>>2];while(1){de:{if(p){break de}k=x[Q+16>>2];h=k+1|0;r=y[k+1|0];if(y[k|0]!=255){x[Q+16>>2]=h;p=8;a=(r<<8)+a|0;break de}if(r>>>0<=143){x[Q+16>>2]=h;a=(r<<9)+a|0;p=7;break de}x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8}p=p-1|0;a=a<<1;c=c<<1;if(c>>>0<32768){continue}break}n=b?!n:n;break ce}n=x[k+4>>2];r=h;h=b>>>0>c>>>0;x[r+28>>2]=x[k+(h?8:12)>>2];while(1){ee:{if(p){break ee}k=x[Q+16>>2];c=k+1|0;r=y[k+1|0];if(y[k|0]!=255){x[Q+16>>2]=c;p=8;a=(r<<8)+a|0;break ee}if(r>>>0<=143){x[Q+16>>2]=c;a=(r<<9)+a|0;p=7;break ee}x[Q+12>>2]=x[Q+12>>2]+1;a=a+65280|0;p=8}p=p-1|0;a=a<<1;b=b<<1;if(b>>>0<32768){continue}break}c=b;n=h?n:!n}h=n;b=(o<<2)+d|0;k=x[b>>2];x[b>>2]=k+((h|0)==(k>>>31|0)?H:K);e=e|536870912}x[f>>2]=e}k=f+4|0;d=d+4|0;l=l+1|0;if((S|0)!=(l|0)){continue}break}k=f+12|0;d=(o<<2)+d|0;j=j+4|0;b=x[Q+128>>2];if(j>>>0<(b&-4)>>>0){continue}break}break Ud}e=b&-4;e=(e>>>0<=4?4:e)-1|0;j=(e&-4)+4|0;k=(f+(e<<1&-8)|0)+20|0}x[Q+8>>2]=p;x[Q+4>>2]=c;x[Q>>2]=a;x[Q+104>>2]=g;if(!S|b>>>0<=j>>>0){break _a}n=0;e=0-K|0;a=b;while(1){fe:{if((a|0)==(j|0)){a=j;break fe}p=x[k>>2];o=0;while(1){m=D(o,3);if((2097168<>>m|0;f=((a&1048576?16:a&495?15:14)<<2)+Q|0;x[Q+104>>2]=f+28;g=x[f+28>>2];a=x[g>>2];b=x[Q+4>>2]-a|0;x[Q+4>>2]=b;c=x[Q>>2];ge:{if(c>>>16>>>0>>0){h=x[g+4>>2];x[Q+4>>2]=a;b=a>>>0>b>>>0;x[f+28>>2]=x[g+(b?8:12)>>2];p=x[Q+8>>2];while(1){he:{if(p){break he}g=x[Q+16>>2];f=g+1|0;l=y[g+1|0];if(y[g|0]==255){if(l>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;c=c+65280|0;p=8;break he}x[Q+16>>2]=f;c=(l<<9)+c|0;p=7;break he}x[Q+16>>2]=f;p=8;c=(l<<8)+c|0}p=p-1|0;x[Q+8>>2]=p;c=c<<1;x[Q>>2]=c;a=a<<1;x[Q+4>>2]=a;if(a>>>0<32768){continue}break}b=b?h:!h;break ge}c=c-(a<<16)|0;x[Q>>2]=c;if(!(b&32768)){h=x[g+4>>2];a=a>>>0>b>>>0;x[f+28>>2]=x[g+(a?12:8)>>2];p=x[Q+8>>2];while(1){ie:{if(p){break ie}g=x[Q+16>>2];f=g+1|0;l=y[g+1|0];if(y[g|0]==255){if(l>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;c=c+65280|0;p=8;break ie}x[Q+16>>2]=f;c=(l<<9)+c|0;p=7;break ie}x[Q+16>>2]=f;p=8;c=(l<<8)+c|0}p=p-1|0;x[Q+8>>2]=p;c=c<<1;x[Q>>2]=c;b=b<<1;x[Q+4>>2]=b;if(b>>>0<32768){continue}break}b=a?!h:h;break ge}b=x[g+4>>2]}a=x[i>>2];x[i>>2]=((b|0)==(a>>>31|0)?e:K)+a;p=x[k>>2]|1048576<>2]=p;b=x[Q+128>>2]}o=o+1|0;a=b;if(o>>>0>>0){continue}break}}k=k+4|0;d=d+4|0;n=n+1|0;if((S|0)!=(n|0)){continue}break};break _a;case 2:break $a;default:break _a}}r=0;U=0;o=0;je:{ke:{le:{_=x[Q+124>>2];if(!((_|0)!=64|x[Q+128>>2]!=64)){a=1<>>1|a;K=0-S|0;i=Q+100|0;h=Q+96|0;c=x[Q+120>>2]+268|0;f=x[Q+8>>2];a=x[Q+4>>2];g=x[Q>>2];d=x[Q+104>>2];b=x[Q+116>>2];if(q&8){break le}while(1){p=0;while(1){j=b;k=c;me:{ne:{oe:{pe:{c=x[c>>2];qe:{if(!c){d=x[h>>2];c=x[d>>2];a=a-c|0;re:{if(g>>>16>>>0>>0){e=x[d+4>>2];b=a>>>0>>0;x[h>>2]=x[d+(b?8:12)>>2];while(1){se:{if(f){break se}d=x[Q+16>>2];a=d+1|0;l=y[d+1|0];if(y[d|0]==255){if(l>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break se}x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break se}x[Q+16>>2]=a;f=8;g=(l<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=b?e:!e;break re}g=g-(c<<16)|0;if(!(a&32768)){e=x[d+4>>2];b=a>>>0>>0;x[h>>2]=x[d+(b?12:8)>>2];while(1){te:{if(f){break te}d=x[Q+16>>2];c=d+1|0;l=y[d+1|0];if(y[d|0]==255){if(l>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break te}x[Q+16>>2]=c;g=(l<<9)+g|0;f=7;break te}x[Q+16>>2]=c;f=8;g=(l<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!e:e;break re}b=x[d+4>>2]}if(!b){d=h;break me}b=x[i>>2];c=x[b>>2];a=a-c|0;ue:{if(g>>>16>>>0>>0){l=x[b+4>>2];d=a>>>0>>0;b=x[(d?8:12)+b>>2];x[i>>2]=b;while(1){ve:{if(f){break ve}e=x[Q+16>>2];a=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ve}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break ve}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;e=d?l:!l;break ue}g=g-(c<<16)|0;if(!(a&32768)){l=x[b+4>>2];c=a>>>0>>0;b=x[(c?12:8)+b>>2];x[i>>2]=b;while(1){we:{if(f){break we}e=x[Q+16>>2];d=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break we}x[Q+16>>2]=d;g=(m<<9)+g|0;f=7;break we}x[Q+16>>2]=d;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}e=c?!l:l;break ue}e=x[b+4>>2]}c=x[b>>2];a=a-c|0;xe:{if(g>>>16>>>0>>0){l=x[b+4>>2];d=b;b=a>>>0>>0;x[i>>2]=x[d+(b?8:12)>>2];while(1){ye:{if(f){break ye}d=x[Q+16>>2];a=d+1|0;m=y[d+1|0];if(y[d|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ye}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break ye}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=b?l:!l;break xe}g=g-(c<<16)|0;if(!(a&32768)){l=x[b+4>>2];d=b;b=a>>>0>>0;x[i>>2]=x[d+(b?12:8)>>2];while(1){ze:{if(f){break ze}d=x[Q+16>>2];c=d+1|0;m=y[d+1|0];if(y[d|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ze}x[Q+16>>2]=c;g=(m<<9)+g|0;f=7;break ze}x[Q+16>>2]=c;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break xe}b=x[b+4>>2]}c=0;d=i;Ae:{Be:{Ce:{De:{Ee:{switch(b|e<<1){case 0:m=k-4|0;d=x[k+4>>2]>>>17&4|x[m>>2]>>>19&1;b=(y[d+29152|0]<<2)+Q|0;e=x[b+28>>2];c=x[e>>2];a=a-c|0;Fe:{if(g>>>16>>>0>>0){l=x[e+4>>2];n=b;b=a>>>0>>0;x[n+28>>2]=x[e+(b?8:12)>>2];while(1){Ge:{if(f){break Ge}e=x[Q+16>>2];a=e+1|0;n=y[e+1|0];if(y[e|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ge}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break Ge}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=b?l:!l;break Fe}g=g-(c<<16)|0;if(!(a&32768)){l=x[e+4>>2];n=b;b=a>>>0>>0;x[n+28>>2]=x[e+(b?12:8)>>2];while(1){He:{if(f){break He}e=x[Q+16>>2];c=e+1|0;n=y[e+1|0];if(y[e|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break He}x[Q+16>>2]=c;g=(n<<9)+g|0;f=7;break He}x[Q+16>>2]=c;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Fe}b=x[e+4>>2]}c=b^y[d+29408|0];x[j>>2]=c?K:S;x[m>>2]=x[m>>2]|32;x[k+4>>2]=x[k+4>>2]|8;b=k-268|0;x[b>>2]=x[b>>2]|131072;b=k-260|0;x[b>>2]=x[b>>2]|32768;b=k-264|0;x[b>>2]=x[b>>2]|c<<31|65536;d=c<<19;b=(y[x[Q+108>>2]+2|0]<<2)+Q|0;e=x[b+28>>2];c=x[e>>2];a=a-c|0;Ie:{if(g>>>16>>>0>>0){l=x[e+4>>2];m=b;b=a>>>0>>0;x[m+28>>2]=x[e+(b?8:12)>>2];while(1){Je:{if(f){break Je}e=x[Q+16>>2];a=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Je}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Je}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=b?l:!l;break Ie}g=g-(c<<16)|0;if(!(a&32768)){l=x[e+4>>2];m=b;b=a>>>0>>0;x[m+28>>2]=x[e+(b?12:8)>>2];while(1){Ke:{if(f){break Ke}e=x[Q+16>>2];c=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ke}x[Q+16>>2]=c;g=(m<<9)+g|0;f=7;break Ke}x[Q+16>>2]=c;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Ie}b=x[e+4>>2]}c=d|16;if(!b){break De}break;case 3:break Ae;case 2:break Ce;case 1:break Ee;default:break ne}}m=k-4|0;e=x[k+4>>2]>>>20&4|(x[m>>2]>>>22&1|(c>>>15&16|(c>>>19&64|c>>>3&170)));d=(y[e+29152|0]<<2)+Q|0;n=x[d+28>>2];b=x[n>>2];a=a-b|0;Le:{if(g>>>16>>>0>>0){l=x[n+4>>2];r=d;d=a>>>0>>0;x[r+28>>2]=x[n+(d?8:12)>>2];while(1){Me:{if(f){break Me}f=x[Q+16>>2];a=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Me}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break Me}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=d?l:!l;break Le}g=g-(b<<16)|0;if(!(a&32768)){l=x[n+4>>2];b=a>>>0>>0;x[d+28>>2]=x[n+(b?12:8)>>2];while(1){Ne:{if(f){break Ne}f=x[Q+16>>2];d=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ne}x[Q+16>>2]=d;g=(n<<9)+g|0;f=7;break Ne}x[Q+16>>2]=d;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Le}b=x[n+4>>2]}b=b^y[e+29408|0];x[j+256>>2]=b?K:S;x[m>>2]=x[m>>2]|256;x[k+4>>2]=x[k+4>>2]|64;c=b<<22|c|128}d=(y[x[Q+108>>2]+(c>>>6&495)|0]<<2)+Q|0;e=x[d+28>>2];b=x[e>>2];a=a-b|0;Oe:{if(g>>>16>>>0>>0){l=x[e+4>>2];m=d;d=a>>>0>>0;x[m+28>>2]=x[e+(d?8:12)>>2];while(1){Pe:{if(f){break Pe}e=x[Q+16>>2];a=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Pe}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Pe}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=d?l:!l;break Oe}g=g-(b<<16)|0;if(!(a&32768)){l=x[e+4>>2];b=a>>>0>>0;x[d+28>>2]=x[e+(b?12:8)>>2];while(1){Qe:{if(f){break Qe}e=x[Q+16>>2];d=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Qe}x[Q+16>>2]=d;g=(m<<9)+g|0;f=7;break Qe}x[Q+16>>2]=d;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Oe}b=x[e+4>>2]}if(!b){break Be}}m=k-4|0;e=x[k+4>>2]>>>23&4|(x[m>>2]>>>25&1|(c>>>18&16|(c>>>22&64|c>>>6&170)));d=(y[e+29152|0]<<2)+Q|0;n=x[d+28>>2];b=x[n>>2];a=a-b|0;Re:{if(g>>>16>>>0>>0){l=x[n+4>>2];r=d;d=a>>>0>>0;x[r+28>>2]=x[n+(d?8:12)>>2];while(1){Se:{if(f){break Se}f=x[Q+16>>2];a=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Se}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break Se}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=d?l:!l;break Re}g=g-(b<<16)|0;if(!(a&32768)){l=x[n+4>>2];b=a>>>0>>0;x[d+28>>2]=x[n+(b?12:8)>>2];while(1){Te:{if(f){break Te}f=x[Q+16>>2];d=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Te}x[Q+16>>2]=d;g=(n<<9)+g|0;f=7;break Te}x[Q+16>>2]=d;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Re}b=x[n+4>>2]}b=b^y[e+29408|0];x[j+512>>2]=b?K:S;x[m>>2]=x[m>>2]|2048;x[k+4>>2]=x[k+4>>2]|512;c=b<<25|c|1024}e=(y[x[Q+108>>2]+(c>>>9&495)|0]<<2)+Q|0;d=e+28|0;m=x[d>>2];b=x[m>>2];a=a-b|0;Ue:{if(g>>>16>>>0>>0){l=x[m+4>>2];n=e;e=a>>>0>>0;x[n+28>>2]=x[m+(e?8:12)>>2];while(1){Ve:{if(f){break Ve}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ve}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Ve}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?l:!l;break Ue}g=g-(b<<16)|0;if(!(a&32768)){l=x[m+4>>2];b=a>>>0>>0;x[e+28>>2]=x[m+(b?12:8)>>2];while(1){We:{if(f){break We}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break We}x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break We}x[Q+16>>2]=e;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Ue}b=x[m+4>>2]}if(!b){break ne}}r=k-4|0;H=x[k+4>>2]>>>26&4|(x[r>>2]>>>28&1|(c>>>21&16|(c>>>25&64|c>>>9&170)));m=(y[H+29152|0]<<2)+Q|0;d=m+28|0;e=x[d>>2];b=x[e>>2];a=a-b|0;if(g>>>16>>>0>>0){l=x[e+4>>2];n=e;e=a>>>0>>0;x[m+28>>2]=x[n+(e?8:12)>>2];while(1){Xe:{if(f){break Xe}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Xe}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Xe}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?l:!l;break oe}g=g-(b<<16)|0;if(a&32768){break qe}l=x[e+4>>2];b=a>>>0>>0;x[m+28>>2]=x[(b?12:8)+e>>2];while(1){Ye:{if(f){break Ye}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ye}x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break Ye}x[Q+16>>2]=e;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break oe}Ze:{if(c&2097168){break Ze}e=(y[x[Q+108>>2]+(c&495)|0]<<2)+Q|0;d=e+28|0;m=x[d>>2];b=x[m>>2];a=a-b|0;_e:{if(g>>>16>>>0>>0){l=x[m+4>>2];n=e;e=a>>>0>>0;x[n+28>>2]=x[m+(e?8:12)>>2];while(1){$e:{if(f){break $e}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break $e}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break $e}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?l:!l;break _e}g=g-(b<<16)|0;if(!(a&32768)){l=x[m+4>>2];b=a>>>0>>0;x[e+28>>2]=x[m+(b?12:8)>>2];while(1){af:{if(f){break af}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break af}x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break af}x[Q+16>>2]=e;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break _e}b=x[m+4>>2]}if(!b){break Ze}n=k-4|0;l=x[k+4>>2]>>>17&4|(x[n>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));e=(y[l+29152|0]<<2)+Q|0;d=e+28|0;r=x[d>>2];b=x[r>>2];a=a-b|0;bf:{if(g>>>16>>>0>>0){m=x[r+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[r+(e?8:12)>>2];while(1){cf:{if(f){break cf}f=x[Q+16>>2];a=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break cf}x[Q+16>>2]=a;g=(r<<9)+g|0;f=7;break cf}x[Q+16>>2]=a;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break bf}g=g-(b<<16)|0;if(!(a&32768)){m=x[r+4>>2];b=a>>>0>>0;x[e+28>>2]=x[r+(b?12:8)>>2];while(1){df:{if(f){break df}f=x[Q+16>>2];e=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break df}x[Q+16>>2]=e;g=(r<<9)+g|0;f=7;break df}x[Q+16>>2]=e;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break bf}b=x[r+4>>2]}e=b^y[l+29408|0];x[j>>2]=e?K:S;x[n>>2]=x[n>>2]|32;x[k+4>>2]=x[k+4>>2]|8;b=k-268|0;x[b>>2]=x[b>>2]|131072;b=k-260|0;x[b>>2]=x[b>>2]|32768;b=k-264|0;x[b>>2]=x[b>>2]|e<<31|65536;c=e<<19|c|16}ef:{if(c&16777344){break ef}l=c>>>3|0;e=(y[x[Q+108>>2]+(l&495)|0]<<2)+Q|0;d=e+28|0;n=x[d>>2];b=x[n>>2];a=a-b|0;ff:{if(g>>>16>>>0>>0){m=x[n+4>>2];r=e;e=a>>>0>>0;x[r+28>>2]=x[n+(e?8:12)>>2];while(1){gf:{if(f){break gf}f=x[Q+16>>2];a=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break gf}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break gf}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break ff}g=g-(b<<16)|0;if(!(a&32768)){m=x[n+4>>2];b=a>>>0>>0;x[e+28>>2]=x[n+(b?12:8)>>2];while(1){hf:{if(f){break hf}f=x[Q+16>>2];e=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break hf}x[Q+16>>2]=e;g=(n<<9)+g|0;f=7;break hf}x[Q+16>>2]=e;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break ff}b=x[n+4>>2]}if(!b){break ef}n=k-4|0;l=x[k+4>>2]>>>20&4|(x[n>>2]>>>22&1|(c>>>15&16|(c>>>19&64|l&170)));e=(y[l+29152|0]<<2)+Q|0;d=e+28|0;r=x[d>>2];b=x[r>>2];a=a-b|0;jf:{if(g>>>16>>>0>>0){m=x[r+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[r+(e?8:12)>>2];while(1){kf:{if(f){break kf}f=x[Q+16>>2];a=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break kf}x[Q+16>>2]=a;g=(r<<9)+g|0;f=7;break kf}x[Q+16>>2]=a;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break jf}g=g-(b<<16)|0;if(!(a&32768)){m=x[r+4>>2];b=a>>>0>>0;x[e+28>>2]=x[r+(b?12:8)>>2];while(1){lf:{if(f){break lf}f=x[Q+16>>2];e=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break lf}x[Q+16>>2]=e;g=(r<<9)+g|0;f=7;break lf}x[Q+16>>2]=e;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break jf}b=x[r+4>>2]}b=b^y[l+29408|0];x[j+256>>2]=b?K:S;x[n>>2]=x[n>>2]|256;x[k+4>>2]=x[k+4>>2]|64;c=b<<22|c|128}mf:{if(c&134218752){break mf}l=c>>>6|0;e=(y[x[Q+108>>2]+(l&495)|0]<<2)+Q|0;d=e+28|0;n=x[d>>2];b=x[n>>2];a=a-b|0;nf:{if(g>>>16>>>0>>0){m=x[n+4>>2];r=e;e=a>>>0>>0;x[r+28>>2]=x[n+(e?8:12)>>2];while(1){of:{if(f){break of}f=x[Q+16>>2];a=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break of}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break of}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break nf}g=g-(b<<16)|0;if(!(a&32768)){m=x[n+4>>2];b=a>>>0>>0;x[e+28>>2]=x[n+(b?12:8)>>2];while(1){pf:{if(f){break pf}f=x[Q+16>>2];e=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break pf}x[Q+16>>2]=e;g=(n<<9)+g|0;f=7;break pf}x[Q+16>>2]=e;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break nf}b=x[n+4>>2]}if(!b){break mf}n=k-4|0;l=x[k+4>>2]>>>23&4|(x[n>>2]>>>25&1|(c>>>18&16|(c>>>22&64|l&170)));e=(y[l+29152|0]<<2)+Q|0;d=e+28|0;r=x[d>>2];b=x[r>>2];a=a-b|0;qf:{if(g>>>16>>>0>>0){m=x[r+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[r+(e?8:12)>>2];while(1){rf:{if(f){break rf}f=x[Q+16>>2];a=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break rf}x[Q+16>>2]=a;g=(r<<9)+g|0;f=7;break rf}x[Q+16>>2]=a;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break qf}g=g-(b<<16)|0;if(!(a&32768)){m=x[r+4>>2];b=a>>>0>>0;x[e+28>>2]=x[r+(b?12:8)>>2];while(1){sf:{if(f){break sf}f=x[Q+16>>2];e=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break sf}x[Q+16>>2]=e;g=(r<<9)+g|0;f=7;break sf}x[Q+16>>2]=e;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break qf}b=x[r+4>>2]}b=b^y[l+29408|0];x[j+512>>2]=b?K:S;x[n>>2]=x[n>>2]|2048;x[k+4>>2]=x[k+4>>2]|512;c=b<<25|c|1024}if(c&1073750016){break ne}e=a;l=c>>>9|0;a=(y[x[Q+108>>2]+(l&495)|0]<<2)+Q|0;d=a+28|0;n=x[d>>2];b=x[n>>2];e=e-b|0;tf:{if(g>>>16>>>0>>0){m=x[n+4>>2];r=a;a=b>>>0>e>>>0;x[r+28>>2]=x[n+(a?8:12)>>2];while(1){uf:{if(f){break uf}f=x[Q+16>>2];e=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break uf}x[Q+16>>2]=e;g=(n<<9)+g|0;f=7;break uf}x[Q+16>>2]=e;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}e=b;a=a?m:!m;break tf}g=g-(b<<16)|0;if(!(e&32768)){m=x[n+4>>2];r=a;a=b>>>0>e>>>0;x[r+28>>2]=x[n+(a?12:8)>>2];while(1){vf:{if(f){break vf}f=x[Q+16>>2];b=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break vf}x[Q+16>>2]=b;g=(n<<9)+g|0;f=7;break vf}x[Q+16>>2]=b;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;e=e<<1;if(e>>>0<32768){continue}break}a=a?!m:m;break tf}a=x[n+4>>2]}if(!a){a=e;break ne}b=e;r=k-4|0;H=x[k+4>>2]>>>26&4|(x[r>>2]>>>28&1|(c>>>21&16|(c>>>25&64|l&170)));m=(y[H+29152|0]<<2)+Q|0;d=m+28|0;e=x[d>>2];a=x[e>>2];b=b-a|0;if(g>>>16>>>0>>0){l=x[e+4>>2];b=a>>>0>b>>>0;x[m+28>>2]=x[(b?8:12)+e>>2];while(1){wf:{if(f){break wf}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break wf}x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break wf}x[Q+16>>2]=e;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?l:!l;break oe}g=g-(a<<16)|0;if(!(b&32768)){break pe}a=b}b=x[e+4>>2];break oe}l=x[e+4>>2];n=e;e=a>>>0>b>>>0;x[m+28>>2]=x[n+(e?12:8)>>2];while(1){xf:{if(f){break xf}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break xf}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break xf}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?!l:l}b=b^y[H+29408|0];x[j+768>>2]=b?K:S;x[r>>2]=x[r>>2]|16384;x[k+4>>2]=x[k+4>>2]|4096;x[k+260>>2]=x[k+260>>2]|4;x[k+268>>2]=x[k+268>>2]|1;x[k+264>>2]=x[k+264>>2]|b<<18|2;c=b<<28|c|8192}x[k>>2]=c&-1226833921}c=k+4|0;b=j+4|0;p=p+1|0;if((p|0)!=64){continue}break}c=k+12|0;b=j+772|0;e=o>>>0<60;o=o+4|0;if(e){continue}break}break ke}a=1<>>1|a;e=x[Q+120>>2];b=(e+(_<<2)|0)+12|0;c=x[Q+128>>2];f=x[Q+8>>2];a=x[Q+4>>2];g=x[Q>>2];d=x[Q+104>>2];n=x[Q+116>>2];yf:{zf:{if(q&8){if(c>>>0<4){break yf}if(!_){break zf}i=Q+100|0;h=Q+96|0;K=D(_,3);o=_<<1;W=0-Y|0;while(1){S=0;while(1){j=b;Af:{Bf:{Cf:{Df:{b=x[b>>2];if(b){Ef:{if(b&2097168){break Ef}e=(y[x[Q+108>>2]+(b&495)|0]<<2)+Q|0;d=e+28|0;l=x[d>>2];c=x[l>>2];a=a-c|0;Ff:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[l+4>>2];if(a&32768){break Ff}k=x[l+4>>2];c=a>>>0>>0;x[e+28>>2]=x[l+(c?12:8)>>2];while(1){Gf:{if(f){break Gf}f=x[Q+16>>2];e=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(l<<8)+g|0;break Gf}if(l>>>0<=143){x[Q+16>>2]=e;g=(l<<9)+g|0;f=7;break Gf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break Ff}k=x[l+4>>2];m=e;e=a>>>0>>0;x[m+28>>2]=x[l+(e?8:12)>>2];while(1){Hf:{if(f){break Hf}f=x[Q+16>>2];a=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Hf}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Hf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=e?k:!k}if(!k){break Ef}m=j-4|0;k=x[j+4>>2]>>>17&4|(x[m>>2]>>>19&1|(b>>>14&16|(b>>>16&64|b&170)));e=(y[k+29152|0]<<2)+Q|0;d=e+28|0;p=x[d>>2];c=x[p>>2];a=a-c|0;If:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[p+4>>2];if(a&32768){break If}l=x[p+4>>2];c=a>>>0>>0;x[e+28>>2]=x[p+(c?12:8)>>2];while(1){Jf:{if(f){break Jf}f=x[Q+16>>2];e=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(p<<8)+g|0;break Jf}if(p>>>0<=143){x[Q+16>>2]=e;g=(p<<9)+g|0;f=7;break Jf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break If}l=x[p+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[p+(e?8:12)>>2];while(1){Kf:{if(f){break Kf}f=x[Q+16>>2];a=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(p<<8)+g|0;break Kf}if(p>>>0<=143){x[Q+16>>2]=a;g=(p<<9)+g|0;f=7;break Kf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}c=l;c=c^y[k+29408|0];x[n>>2]=c?W:Y;x[m>>2]=x[m>>2]|32;x[j+4>>2]=x[j+4>>2]|8;b=c<<19|b|16}Lf:{if(b&16777344){break Lf}k=b>>>3|0;e=(y[x[Q+108>>2]+(k&495)|0]<<2)+Q|0;d=e+28|0;m=x[d>>2];c=x[m>>2];a=a-c|0;Mf:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[m+4>>2];if(a&32768){break Mf}l=x[m+4>>2];c=a>>>0>>0;x[e+28>>2]=x[m+(c?12:8)>>2];while(1){Nf:{if(f){break Nf}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(m<<8)+g|0;break Nf}if(m>>>0<=143){x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break Nf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break Mf}l=x[m+4>>2];p=e;e=a>>>0>>0;x[p+28>>2]=x[m+(e?8:12)>>2];while(1){Of:{if(f){break Of}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break Of}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Of}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}if(!l){break Lf}m=j-4|0;k=x[j+4>>2]>>>20&4|(x[m>>2]>>>22&1|(b>>>15&16|(b>>>19&64|k&170)));e=(y[k+29152|0]<<2)+Q|0;d=e+28|0;p=x[d>>2];c=x[p>>2];a=a-c|0;Pf:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[p+4>>2];if(a&32768){break Pf}l=x[p+4>>2];c=a>>>0>>0;x[e+28>>2]=x[p+(c?12:8)>>2];while(1){Qf:{if(f){break Qf}f=x[Q+16>>2];e=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(p<<8)+g|0;break Qf}if(p>>>0<=143){x[Q+16>>2]=e;g=(p<<9)+g|0;f=7;break Qf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break Pf}l=x[p+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[p+(e?8:12)>>2];while(1){Rf:{if(f){break Rf}f=x[Q+16>>2];a=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(p<<8)+g|0;break Rf}if(p>>>0<=143){x[Q+16>>2]=a;g=(p<<9)+g|0;f=7;break Rf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}c=l;c=c^y[k+29408|0];x[(_<<2)+n>>2]=c?W:Y;x[m>>2]=x[m>>2]|256;x[j+4>>2]=x[j+4>>2]|64;b=c<<22|b|128}Sf:{if(b&134218752){break Sf}k=b>>>6|0;e=(y[x[Q+108>>2]+(k&495)|0]<<2)+Q|0;d=e+28|0;m=x[d>>2];c=x[m>>2];a=a-c|0;Tf:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[m+4>>2];if(a&32768){break Tf}l=x[m+4>>2];c=a>>>0>>0;x[e+28>>2]=x[m+(c?12:8)>>2];while(1){Uf:{if(f){break Uf}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(m<<8)+g|0;break Uf}if(m>>>0<=143){x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break Uf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break Tf}l=x[m+4>>2];p=e;e=a>>>0>>0;x[p+28>>2]=x[m+(e?8:12)>>2];while(1){Vf:{if(f){break Vf}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break Vf}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Vf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}if(!l){break Sf}m=j-4|0;k=x[j+4>>2]>>>23&4|(x[m>>2]>>>25&1|(b>>>18&16|(b>>>22&64|k&170)));e=(y[k+29152|0]<<2)+Q|0;d=e+28|0;p=x[d>>2];c=x[p>>2];a=a-c|0;Wf:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[p+4>>2];if(a&32768){break Wf}l=x[p+4>>2];c=a>>>0>>0;x[e+28>>2]=x[p+(c?12:8)>>2];while(1){Xf:{if(f){break Xf}f=x[Q+16>>2];e=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(p<<8)+g|0;break Xf}if(p>>>0<=143){x[Q+16>>2]=e;g=(p<<9)+g|0;f=7;break Xf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break Wf}l=x[p+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[p+(e?8:12)>>2];while(1){Yf:{if(f){break Yf}f=x[Q+16>>2];a=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(p<<8)+g|0;break Yf}if(p>>>0<=143){x[Q+16>>2]=a;g=(p<<9)+g|0;f=7;break Yf}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}c=l;c=c^y[k+29408|0];x[(o<<2)+n>>2]=c?W:Y;x[m>>2]=x[m>>2]|2048;x[j+4>>2]=x[j+4>>2]|512;b=c<<25|b|1024}if(b&1073750016){break Bf}e=a;k=b>>>9|0;a=(y[x[Q+108>>2]+(k&495)|0]<<2)+Q|0;d=a+28|0;m=x[d>>2];c=x[m>>2];e=e-c|0;Zf:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[m+4>>2];if(e&32768){break Zf}l=x[m+4>>2];p=a;a=c>>>0>e>>>0;x[p+28>>2]=x[m+(a?12:8)>>2];while(1){_f:{if(f){break _f}f=x[Q+16>>2];c=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=c;f=8;g=(m<<8)+g|0;break _f}if(m>>>0<=143){x[Q+16>>2]=c;g=(m<<9)+g|0;f=7;break _f}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;e=e<<1;if(e>>>0<32768){continue}break}l=a?!l:l;break Zf}l=x[m+4>>2];p=a;a=c>>>0>e>>>0;x[p+28>>2]=x[m+(a?8:12)>>2];while(1){$f:{if(f){break $f}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(m<<8)+g|0;break $f}if(m>>>0<=143){x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break $f}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}e=c;l=a?l:!l}if(!l){a=e;break Bf}c=e;p=j-4|0;X=x[j+4>>2]>>>26&4|(x[p>>2]>>>28&1|(b>>>21&16|(b>>>25&64|k&170)));e=(y[X+29152|0]<<2)+Q|0;d=e+28|0;H=x[d>>2];a=x[H>>2];c=c-a|0;if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;if(c&32768){a=c;break Df}k=x[H+4>>2];l=e;e=a>>>0>c>>>0;x[l+28>>2]=x[H+(e?12:8)>>2];while(1){ag:{if(f){break ag}f=x[Q+16>>2];a=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break ag}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break ag}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;c=e?!k:k;break Cf}k=x[H+4>>2];c=a>>>0>c>>>0;x[e+28>>2]=x[H+(c?8:12)>>2];while(1){bg:{if(f){break bg}f=x[Q+16>>2];e=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(l<<8)+g|0;break bg}if(l>>>0<=143){x[Q+16>>2]=e;g=(l<<9)+g|0;f=7;break bg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}c=c?k:!k;break Cf}d=x[h>>2];b=x[d>>2];a=a-b|0;cg:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;c=x[d+4>>2];if(a&32768){break cg}e=x[d+4>>2];b=a>>>0>>0;x[h>>2]=x[d+(b?12:8)>>2];while(1){dg:{if(f){break dg}d=x[Q+16>>2];c=d+1|0;k=y[d+1|0];if(y[d|0]!=255){x[Q+16>>2]=c;f=8;g=(k<<8)+g|0;break dg}if(k>>>0<=143){x[Q+16>>2]=c;g=(k<<9)+g|0;f=7;break dg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}c=b?!e:e;break cg}e=x[d+4>>2];c=a>>>0>>0;x[h>>2]=x[d+(c?8:12)>>2];while(1){eg:{if(f){break eg}d=x[Q+16>>2];a=d+1|0;k=y[d+1|0];if(y[d|0]!=255){x[Q+16>>2]=a;f=8;g=(k<<8)+g|0;break eg}if(k>>>0<=143){x[Q+16>>2]=a;g=(k<<9)+g|0;f=7;break eg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;c=c?e:!e}if(!c){d=h;break Af}c=x[i>>2];b=x[c>>2];a=a-b|0;fg:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;e=x[c+4>>2];if(a&32768){break fg}k=x[c+4>>2];b=a>>>0>>0;c=x[(b?12:8)+c>>2];x[i>>2]=c;while(1){gg:{if(f){break gg}e=x[Q+16>>2];d=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=d;f=8;g=(l<<8)+g|0;break gg}if(l>>>0<=143){x[Q+16>>2]=d;g=(l<<9)+g|0;f=7;break gg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}e=b?!k:k;break fg}k=x[c+4>>2];d=a>>>0>>0;c=x[(d?8:12)+c>>2];x[i>>2]=c;while(1){hg:{if(f){break hg}e=x[Q+16>>2];a=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break hg}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break hg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;e=d?k:!k}b=x[c>>2];a=a-b|0;ig:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;d=x[c+4>>2];if(a&32768){break ig}k=x[c+4>>2];b=a>>>0>>0;x[i>>2]=x[(b?12:8)+c>>2];while(1){jg:{if(f){break jg}d=x[Q+16>>2];c=d+1|0;l=y[d+1|0];if(y[d|0]!=255){x[Q+16>>2]=c;f=8;g=(l<<8)+g|0;break jg}if(l>>>0<=143){x[Q+16>>2]=c;g=(l<<9)+g|0;f=7;break jg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}d=b?!k:k;break ig}k=x[c+4>>2];d=c;c=a>>>0>>0;x[i>>2]=x[d+(c?8:12)>>2];while(1){kg:{if(f){break kg}d=x[Q+16>>2];a=d+1|0;l=y[d+1|0];if(y[d|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break kg}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break kg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;d=c?k:!k}c=d;b=0;d=i;lg:{mg:{ng:{og:{pg:{switch(c|e<<1){case 0:l=j-4|0;d=x[j+4>>2]>>>17&4|x[l>>2]>>>19&1;c=(y[d+29152|0]<<2)+Q|0;e=x[c+28>>2];b=x[e>>2];a=a-b|0;qg:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;k=x[e+4>>2];if(a&32768){break qg}k=x[e+4>>2];b=a>>>0>>0;x[c+28>>2]=x[e+(b?12:8)>>2];while(1){rg:{if(f){break rg}e=x[Q+16>>2];c=e+1|0;m=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=c;f=8;g=(m<<8)+g|0;break rg}if(m>>>0<=143){x[Q+16>>2]=c;g=(m<<9)+g|0;f=7;break rg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=b?!k:k;break qg}k=x[e+4>>2];m=c;c=a>>>0>>0;x[m+28>>2]=x[e+(c?8:12)>>2];while(1){sg:{if(f){break sg}e=x[Q+16>>2];a=e+1|0;m=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break sg}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break sg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;k=c?k:!k}b=k;b=b^y[d+29408|0];x[n>>2]=b?W:Y;x[l>>2]=x[l>>2]|32;x[j+4>>2]=x[j+4>>2]|8;d=b<<19;c=(y[x[Q+108>>2]+2|0]<<2)+Q|0;e=x[c+28>>2];b=x[e>>2];a=a-b|0;tg:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;k=x[e+4>>2];if(a&32768){break tg}k=x[e+4>>2];b=a>>>0>>0;x[c+28>>2]=x[e+(b?12:8)>>2];while(1){ug:{if(f){break ug}e=x[Q+16>>2];c=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=c;f=8;g=(l<<8)+g|0;break ug}if(l>>>0<=143){x[Q+16>>2]=c;g=(l<<9)+g|0;f=7;break ug}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=b?!k:k;break tg}k=x[e+4>>2];l=c;c=a>>>0>>0;x[l+28>>2]=x[e+(c?8:12)>>2];while(1){vg:{if(f){break vg}e=x[Q+16>>2];a=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break vg}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break vg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;k=c?k:!k}c=k;b=d|16;if(!c){break og}break;case 3:break lg;case 2:break ng;case 1:break pg;default:break Bf}}l=j-4|0;e=x[j+4>>2]>>>20&4|(x[l>>2]>>>22&1|(b>>>15&16|(b>>>19&64|b>>>3&170)));d=(y[e+29152|0]<<2)+Q|0;m=x[d+28>>2];c=x[m>>2];a=a-c|0;wg:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[m+4>>2];if(a&32768){break wg}k=x[m+4>>2];c=a>>>0>>0;x[d+28>>2]=x[m+(c?12:8)>>2];while(1){xg:{if(f){break xg}f=x[Q+16>>2];d=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=d;f=8;g=(m<<8)+g|0;break xg}if(m>>>0<=143){x[Q+16>>2]=d;g=(m<<9)+g|0;f=7;break xg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break wg}k=x[m+4>>2];p=d;d=a>>>0>>0;x[p+28>>2]=x[m+(d?8:12)>>2];while(1){yg:{if(f){break yg}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break yg}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break yg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=d?k:!k}c=k;c=c^y[e+29408|0];x[(_<<2)+n>>2]=c?W:Y;x[l>>2]=x[l>>2]|256;x[j+4>>2]=x[j+4>>2]|64;b=c<<22|b|128}d=(y[x[Q+108>>2]+(b>>>6&495)|0]<<2)+Q|0;e=x[d+28>>2];c=x[e>>2];a=a-c|0;zg:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[e+4>>2];if(a&32768){break zg}k=x[e+4>>2];c=a>>>0>>0;x[d+28>>2]=x[e+(c?12:8)>>2];while(1){Ag:{if(f){break Ag}e=x[Q+16>>2];d=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=d;f=8;g=(l<<8)+g|0;break Ag}if(l>>>0<=143){x[Q+16>>2]=d;g=(l<<9)+g|0;f=7;break Ag}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break zg}k=x[e+4>>2];l=d;d=a>>>0>>0;x[l+28>>2]=x[e+(d?8:12)>>2];while(1){Bg:{if(f){break Bg}e=x[Q+16>>2];a=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Bg}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Bg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=d?k:!k}if(!k){break mg}}l=j-4|0;e=x[j+4>>2]>>>23&4|(x[l>>2]>>>25&1|(b>>>18&16|(b>>>22&64|b>>>6&170)));d=(y[e+29152|0]<<2)+Q|0;m=x[d+28>>2];c=x[m>>2];a=a-c|0;Cg:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[m+4>>2];if(a&32768){break Cg}k=x[m+4>>2];c=a>>>0>>0;x[d+28>>2]=x[m+(c?12:8)>>2];while(1){Dg:{if(f){break Dg}f=x[Q+16>>2];d=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=d;f=8;g=(m<<8)+g|0;break Dg}if(m>>>0<=143){x[Q+16>>2]=d;g=(m<<9)+g|0;f=7;break Dg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break Cg}k=x[m+4>>2];p=d;d=a>>>0>>0;x[p+28>>2]=x[m+(d?8:12)>>2];while(1){Eg:{if(f){break Eg}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break Eg}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Eg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=d?k:!k}c=k;c=c^y[e+29408|0];x[(o<<2)+n>>2]=c?W:Y;x[l>>2]=x[l>>2]|2048;x[j+4>>2]=x[j+4>>2]|512;b=c<<25|b|1024}e=(y[x[Q+108>>2]+(b>>>9&495)|0]<<2)+Q|0;d=e+28|0;l=x[d>>2];c=x[l>>2];a=a-c|0;Fg:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[l+4>>2];if(a&32768){break Fg}k=x[l+4>>2];c=a>>>0>>0;x[e+28>>2]=x[l+(c?12:8)>>2];while(1){Gg:{if(f){break Gg}f=x[Q+16>>2];e=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(l<<8)+g|0;break Gg}if(l>>>0<=143){x[Q+16>>2]=e;g=(l<<9)+g|0;f=7;break Gg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break Fg}k=x[l+4>>2];m=e;e=a>>>0>>0;x[m+28>>2]=x[l+(e?8:12)>>2];while(1){Hg:{if(f){break Hg}f=x[Q+16>>2];a=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Hg}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Hg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=e?k:!k}if(!k){break Bf}}p=j-4|0;X=x[j+4>>2]>>>26&4|(x[p>>2]>>>28&1|(b>>>21&16|(b>>>25&64|b>>>9&170)));e=(y[X+29152|0]<<2)+Q|0;d=e+28|0;H=x[d>>2];c=x[H>>2];a=a-c|0;if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;if(a&32768){break Df}k=x[H+4>>2];c=a>>>0>>0;x[e+28>>2]=x[H+(c?12:8)>>2];while(1){Ig:{if(f){break Ig}f=x[Q+16>>2];e=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(l<<8)+g|0;break Ig}if(l>>>0<=143){x[Q+16>>2]=e;g=(l<<9)+g|0;f=7;break Ig}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}c=c?!k:k;break Cf}k=x[H+4>>2];l=e;e=a>>>0>>0;x[l+28>>2]=x[H+(e?8:12)>>2];while(1){Jg:{if(f){break Jg}f=x[Q+16>>2];a=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Jg}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Jg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;c=e?k:!k;break Cf}c=x[H+4>>2]}c=c^y[X+29408|0];x[(K<<2)+n>>2]=c?W:Y;x[p>>2]=x[p>>2]|16384;x[j+4>>2]=x[j+4>>2]|4096;e=j+(x[Q+124>>2]<<2)|0;x[e+4>>2]=x[e+4>>2]|4;x[e+12>>2]=x[e+12>>2]|1;x[e+8>>2]=x[e+8>>2]|c<<18|2;b=c<<28|b|8192}x[j>>2]=b&-1226833921}b=j+4|0;n=n+4|0;S=S+1|0;if((_|0)!=(S|0)){continue}break}b=j+12|0;n=(K<<2)+n|0;r=r+4|0;c=x[Q+128>>2];if(r>>>0<(c&-4)>>>0){continue}break}break yf}Kg:{if(c>>>0<4){break Kg}if(_){i=Q+100|0;h=Q+96|0;K=D(_,3);o=_<<1;W=0-Y|0;while(1){S=0;while(1){j=b;Lg:{Mg:{Ng:{Og:{b=x[b>>2];if(b){Pg:{if(b&2097168){break Pg}e=(y[x[Q+108>>2]+(b&495)|0]<<2)+Q|0;d=e+28|0;l=x[d>>2];c=x[l>>2];a=a-c|0;Qg:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[l+4>>2];if(a&32768){break Qg}k=x[l+4>>2];c=a>>>0>>0;x[e+28>>2]=x[l+(c?12:8)>>2];while(1){Rg:{if(f){break Rg}f=x[Q+16>>2];e=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(l<<8)+g|0;break Rg}if(l>>>0<=143){x[Q+16>>2]=e;g=(l<<9)+g|0;f=7;break Rg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break Qg}k=x[l+4>>2];m=e;e=a>>>0>>0;x[m+28>>2]=x[l+(e?8:12)>>2];while(1){Sg:{if(f){break Sg}f=x[Q+16>>2];a=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Sg}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Sg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=e?k:!k}if(!k){break Pg}m=j-4|0;k=x[j+4>>2]>>>17&4|(x[m>>2]>>>19&1|(b>>>14&16|(b>>>16&64|b&170)));e=(y[k+29152|0]<<2)+Q|0;d=e+28|0;p=x[d>>2];c=x[p>>2];a=a-c|0;Tg:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[p+4>>2];if(a&32768){break Tg}l=x[p+4>>2];c=a>>>0>>0;x[e+28>>2]=x[p+(c?12:8)>>2];while(1){Ug:{if(f){break Ug}f=x[Q+16>>2];e=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(p<<8)+g|0;break Ug}if(p>>>0<=143){x[Q+16>>2]=e;g=(p<<9)+g|0;f=7;break Ug}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break Tg}l=x[p+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[p+(e?8:12)>>2];while(1){Vg:{if(f){break Vg}f=x[Q+16>>2];a=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(p<<8)+g|0;break Vg}if(p>>>0<=143){x[Q+16>>2]=a;g=(p<<9)+g|0;f=7;break Vg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}c=l;e=c^y[k+29408|0];x[n>>2]=e?W:Y;x[m>>2]=x[m>>2]|32;x[j+4>>2]=x[j+4>>2]|8;c=j+(-2-x[Q+124>>2]<<2)|0;x[c+4>>2]=x[c+4>>2]|32768;x[c>>2]=x[c>>2]|e<<31|65536;c=c-4|0;x[c>>2]=x[c>>2]|131072;b=e<<19|b|16}Wg:{if(b&16777344){break Wg}k=b>>>3|0;e=(y[x[Q+108>>2]+(k&495)|0]<<2)+Q|0;d=e+28|0;m=x[d>>2];c=x[m>>2];a=a-c|0;Xg:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[m+4>>2];if(a&32768){break Xg}l=x[m+4>>2];c=a>>>0>>0;x[e+28>>2]=x[m+(c?12:8)>>2];while(1){Yg:{if(f){break Yg}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(m<<8)+g|0;break Yg}if(m>>>0<=143){x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break Yg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break Xg}l=x[m+4>>2];p=e;e=a>>>0>>0;x[p+28>>2]=x[m+(e?8:12)>>2];while(1){Zg:{if(f){break Zg}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break Zg}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Zg}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}if(!l){break Wg}m=j-4|0;k=x[j+4>>2]>>>20&4|(x[m>>2]>>>22&1|(b>>>15&16|(b>>>19&64|k&170)));e=(y[k+29152|0]<<2)+Q|0;d=e+28|0;p=x[d>>2];c=x[p>>2];a=a-c|0;_g:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[p+4>>2];if(a&32768){break _g}l=x[p+4>>2];c=a>>>0>>0;x[e+28>>2]=x[p+(c?12:8)>>2];while(1){$g:{if(f){break $g}f=x[Q+16>>2];e=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(p<<8)+g|0;break $g}if(p>>>0<=143){x[Q+16>>2]=e;g=(p<<9)+g|0;f=7;break $g}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break _g}l=x[p+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[p+(e?8:12)>>2];while(1){ah:{if(f){break ah}f=x[Q+16>>2];a=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(p<<8)+g|0;break ah}if(p>>>0<=143){x[Q+16>>2]=a;g=(p<<9)+g|0;f=7;break ah}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}c=l;c=c^y[k+29408|0];x[(_<<2)+n>>2]=c?W:Y;x[m>>2]=x[m>>2]|256;x[j+4>>2]=x[j+4>>2]|64;b=c<<22|b|128}bh:{if(b&134218752){break bh}k=b>>>6|0;e=(y[x[Q+108>>2]+(k&495)|0]<<2)+Q|0;d=e+28|0;m=x[d>>2];c=x[m>>2];a=a-c|0;ch:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[m+4>>2];if(a&32768){break ch}l=x[m+4>>2];c=a>>>0>>0;x[e+28>>2]=x[m+(c?12:8)>>2];while(1){dh:{if(f){break dh}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(m<<8)+g|0;break dh}if(m>>>0<=143){x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break dh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break ch}l=x[m+4>>2];p=e;e=a>>>0>>0;x[p+28>>2]=x[m+(e?8:12)>>2];while(1){eh:{if(f){break eh}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break eh}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break eh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}if(!l){break bh}m=j-4|0;k=x[j+4>>2]>>>23&4|(x[m>>2]>>>25&1|(b>>>18&16|(b>>>22&64|k&170)));e=(y[k+29152|0]<<2)+Q|0;d=e+28|0;p=x[d>>2];c=x[p>>2];a=a-c|0;fh:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[p+4>>2];if(a&32768){break fh}l=x[p+4>>2];c=a>>>0>>0;x[e+28>>2]=x[p+(c?12:8)>>2];while(1){gh:{if(f){break gh}f=x[Q+16>>2];e=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(p<<8)+g|0;break gh}if(p>>>0<=143){x[Q+16>>2]=e;g=(p<<9)+g|0;f=7;break gh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}l=c?!l:l;break fh}l=x[p+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[p+(e?8:12)>>2];while(1){hh:{if(f){break hh}f=x[Q+16>>2];a=f+1|0;p=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(p<<8)+g|0;break hh}if(p>>>0<=143){x[Q+16>>2]=a;g=(p<<9)+g|0;f=7;break hh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;l=e?l:!l}c=l;c=c^y[k+29408|0];x[(o<<2)+n>>2]=c?W:Y;x[m>>2]=x[m>>2]|2048;x[j+4>>2]=x[j+4>>2]|512;b=c<<25|b|1024}if(b&1073750016){break Mg}e=a;k=b>>>9|0;a=(y[x[Q+108>>2]+(k&495)|0]<<2)+Q|0;d=a+28|0;m=x[d>>2];c=x[m>>2];e=e-c|0;ih:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;l=x[m+4>>2];if(e&32768){break ih}l=x[m+4>>2];p=a;a=c>>>0>e>>>0;x[p+28>>2]=x[m+(a?12:8)>>2];while(1){jh:{if(f){break jh}f=x[Q+16>>2];c=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=c;f=8;g=(m<<8)+g|0;break jh}if(m>>>0<=143){x[Q+16>>2]=c;g=(m<<9)+g|0;f=7;break jh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;e=e<<1;if(e>>>0<32768){continue}break}l=a?!l:l;break ih}l=x[m+4>>2];p=a;a=c>>>0>e>>>0;x[p+28>>2]=x[m+(a?8:12)>>2];while(1){kh:{if(f){break kh}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(m<<8)+g|0;break kh}if(m>>>0<=143){x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break kh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}e=c;l=a?l:!l}if(!l){a=e;break Mg}c=e;p=j-4|0;X=x[j+4>>2]>>>26&4|(x[p>>2]>>>28&1|(b>>>21&16|(b>>>25&64|k&170)));e=(y[X+29152|0]<<2)+Q|0;d=e+28|0;H=x[d>>2];a=x[H>>2];c=c-a|0;if(g>>>16>>>0>=a>>>0){g=g-(a<<16)|0;if(c&32768){a=c;break Og}k=x[H+4>>2];l=e;e=a>>>0>c>>>0;x[l+28>>2]=x[H+(e?12:8)>>2];while(1){lh:{if(f){break lh}f=x[Q+16>>2];a=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break lh}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break lh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;c=e?!k:k;break Ng}k=x[H+4>>2];c=a>>>0>c>>>0;x[e+28>>2]=x[H+(c?8:12)>>2];while(1){mh:{if(f){break mh}f=x[Q+16>>2];e=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(l<<8)+g|0;break mh}if(l>>>0<=143){x[Q+16>>2]=e;g=(l<<9)+g|0;f=7;break mh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}c=c?k:!k;break Ng}d=x[h>>2];b=x[d>>2];a=a-b|0;nh:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;c=x[d+4>>2];if(a&32768){break nh}e=x[d+4>>2];b=a>>>0>>0;x[h>>2]=x[d+(b?12:8)>>2];while(1){oh:{if(f){break oh}d=x[Q+16>>2];c=d+1|0;k=y[d+1|0];if(y[d|0]!=255){x[Q+16>>2]=c;f=8;g=(k<<8)+g|0;break oh}if(k>>>0<=143){x[Q+16>>2]=c;g=(k<<9)+g|0;f=7;break oh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}c=b?!e:e;break nh}e=x[d+4>>2];c=a>>>0>>0;x[h>>2]=x[d+(c?8:12)>>2];while(1){ph:{if(f){break ph}d=x[Q+16>>2];a=d+1|0;k=y[d+1|0];if(y[d|0]!=255){x[Q+16>>2]=a;f=8;g=(k<<8)+g|0;break ph}if(k>>>0<=143){x[Q+16>>2]=a;g=(k<<9)+g|0;f=7;break ph}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;c=c?e:!e}if(!c){d=h;break Lg}c=x[i>>2];b=x[c>>2];a=a-b|0;qh:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;e=x[c+4>>2];if(a&32768){break qh}k=x[c+4>>2];b=a>>>0>>0;c=x[(b?12:8)+c>>2];x[i>>2]=c;while(1){rh:{if(f){break rh}e=x[Q+16>>2];d=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=d;f=8;g=(l<<8)+g|0;break rh}if(l>>>0<=143){x[Q+16>>2]=d;g=(l<<9)+g|0;f=7;break rh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}e=b?!k:k;break qh}k=x[c+4>>2];d=a>>>0>>0;c=x[(d?8:12)+c>>2];x[i>>2]=c;while(1){sh:{if(f){break sh}e=x[Q+16>>2];a=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break sh}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break sh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;e=d?k:!k}b=x[c>>2];a=a-b|0;th:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;d=x[c+4>>2];if(a&32768){break th}k=x[c+4>>2];b=a>>>0>>0;x[i>>2]=x[(b?12:8)+c>>2];while(1){uh:{if(f){break uh}d=x[Q+16>>2];c=d+1|0;l=y[d+1|0];if(y[d|0]!=255){x[Q+16>>2]=c;f=8;g=(l<<8)+g|0;break uh}if(l>>>0<=143){x[Q+16>>2]=c;g=(l<<9)+g|0;f=7;break uh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}d=b?!k:k;break th}k=x[c+4>>2];d=c;c=a>>>0>>0;x[i>>2]=x[d+(c?8:12)>>2];while(1){vh:{if(f){break vh}d=x[Q+16>>2];a=d+1|0;l=y[d+1|0];if(y[d|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break vh}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break vh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;d=c?k:!k}c=d;b=0;d=i;wh:{xh:{yh:{zh:{Ah:{switch(c|e<<1){case 0:l=j-4|0;d=x[j+4>>2]>>>17&4|x[l>>2]>>>19&1;c=(y[d+29152|0]<<2)+Q|0;e=x[c+28>>2];b=x[e>>2];a=a-b|0;Bh:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;k=x[e+4>>2];if(a&32768){break Bh}k=x[e+4>>2];b=a>>>0>>0;x[c+28>>2]=x[e+(b?12:8)>>2];while(1){Ch:{if(f){break Ch}e=x[Q+16>>2];c=e+1|0;m=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=c;f=8;g=(m<<8)+g|0;break Ch}if(m>>>0<=143){x[Q+16>>2]=c;g=(m<<9)+g|0;f=7;break Ch}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=b?!k:k;break Bh}k=x[e+4>>2];m=c;c=a>>>0>>0;x[m+28>>2]=x[e+(c?8:12)>>2];while(1){Dh:{if(f){break Dh}e=x[Q+16>>2];a=e+1|0;m=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break Dh}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Dh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;k=c?k:!k}b=k;c=b^y[d+29408|0];x[n>>2]=c?W:Y;x[l>>2]=x[l>>2]|32;x[j+4>>2]=x[j+4>>2]|8;b=j+(-2-x[Q+124>>2]<<2)|0;x[b+4>>2]=x[b+4>>2]|32768;x[b>>2]=x[b>>2]|c<<31|65536;b=b-4|0;x[b>>2]=x[b>>2]|131072;d=c<<19;c=(y[x[Q+108>>2]+2|0]<<2)+Q|0;e=x[c+28>>2];b=x[e>>2];a=a-b|0;Eh:{if(g>>>16>>>0>=b>>>0){g=g-(b<<16)|0;k=x[e+4>>2];if(a&32768){break Eh}k=x[e+4>>2];b=a>>>0>>0;x[c+28>>2]=x[e+(b?12:8)>>2];while(1){Fh:{if(f){break Fh}e=x[Q+16>>2];c=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=c;f=8;g=(l<<8)+g|0;break Fh}if(l>>>0<=143){x[Q+16>>2]=c;g=(l<<9)+g|0;f=7;break Fh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=b?!k:k;break Eh}k=x[e+4>>2];l=c;c=a>>>0>>0;x[l+28>>2]=x[e+(c?8:12)>>2];while(1){Gh:{if(f){break Gh}e=x[Q+16>>2];a=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Gh}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Gh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;k=c?k:!k}c=k;b=d|16;if(!c){break zh}break;case 3:break wh;case 2:break yh;case 1:break Ah;default:break Mg}}l=j-4|0;e=x[j+4>>2]>>>20&4|(x[l>>2]>>>22&1|(b>>>15&16|(b>>>19&64|b>>>3&170)));d=(y[e+29152|0]<<2)+Q|0;m=x[d+28>>2];c=x[m>>2];a=a-c|0;Hh:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[m+4>>2];if(a&32768){break Hh}k=x[m+4>>2];c=a>>>0>>0;x[d+28>>2]=x[m+(c?12:8)>>2];while(1){Ih:{if(f){break Ih}f=x[Q+16>>2];d=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=d;f=8;g=(m<<8)+g|0;break Ih}if(m>>>0<=143){x[Q+16>>2]=d;g=(m<<9)+g|0;f=7;break Ih}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break Hh}k=x[m+4>>2];p=d;d=a>>>0>>0;x[p+28>>2]=x[m+(d?8:12)>>2];while(1){Jh:{if(f){break Jh}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break Jh}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Jh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=d?k:!k}c=k;c=c^y[e+29408|0];x[(_<<2)+n>>2]=c?W:Y;x[l>>2]=x[l>>2]|256;x[j+4>>2]=x[j+4>>2]|64;b=c<<22|b|128}d=(y[x[Q+108>>2]+(b>>>6&495)|0]<<2)+Q|0;e=x[d+28>>2];c=x[e>>2];a=a-c|0;Kh:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[e+4>>2];if(a&32768){break Kh}k=x[e+4>>2];c=a>>>0>>0;x[d+28>>2]=x[e+(c?12:8)>>2];while(1){Lh:{if(f){break Lh}e=x[Q+16>>2];d=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=d;f=8;g=(l<<8)+g|0;break Lh}if(l>>>0<=143){x[Q+16>>2]=d;g=(l<<9)+g|0;f=7;break Lh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break Kh}k=x[e+4>>2];l=d;d=a>>>0>>0;x[l+28>>2]=x[e+(d?8:12)>>2];while(1){Mh:{if(f){break Mh}e=x[Q+16>>2];a=e+1|0;l=y[e+1|0];if(y[e|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Mh}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Mh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=d?k:!k}if(!k){break xh}}l=j-4|0;e=x[j+4>>2]>>>23&4|(x[l>>2]>>>25&1|(b>>>18&16|(b>>>22&64|b>>>6&170)));d=(y[e+29152|0]<<2)+Q|0;m=x[d+28>>2];c=x[m>>2];a=a-c|0;Nh:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[m+4>>2];if(a&32768){break Nh}k=x[m+4>>2];c=a>>>0>>0;x[d+28>>2]=x[m+(c?12:8)>>2];while(1){Oh:{if(f){break Oh}f=x[Q+16>>2];d=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=d;f=8;g=(m<<8)+g|0;break Oh}if(m>>>0<=143){x[Q+16>>2]=d;g=(m<<9)+g|0;f=7;break Oh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break Nh}k=x[m+4>>2];p=d;d=a>>>0>>0;x[p+28>>2]=x[m+(d?8:12)>>2];while(1){Ph:{if(f){break Ph}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(m<<8)+g|0;break Ph}if(m>>>0<=143){x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Ph}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=d?k:!k}c=k;c=c^y[e+29408|0];x[(o<<2)+n>>2]=c?W:Y;x[l>>2]=x[l>>2]|2048;x[j+4>>2]=x[j+4>>2]|512;b=c<<25|b|1024}e=(y[x[Q+108>>2]+(b>>>9&495)|0]<<2)+Q|0;d=e+28|0;l=x[d>>2];c=x[l>>2];a=a-c|0;Qh:{if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;k=x[l+4>>2];if(a&32768){break Qh}k=x[l+4>>2];c=a>>>0>>0;x[e+28>>2]=x[l+(c?12:8)>>2];while(1){Rh:{if(f){break Rh}f=x[Q+16>>2];e=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(l<<8)+g|0;break Rh}if(l>>>0<=143){x[Q+16>>2]=e;g=(l<<9)+g|0;f=7;break Rh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}k=c?!k:k;break Qh}k=x[l+4>>2];m=e;e=a>>>0>>0;x[m+28>>2]=x[l+(e?8:12)>>2];while(1){Sh:{if(f){break Sh}f=x[Q+16>>2];a=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Sh}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Sh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;k=e?k:!k}if(!k){break Mg}}p=j-4|0;X=x[j+4>>2]>>>26&4|(x[p>>2]>>>28&1|(b>>>21&16|(b>>>25&64|b>>>9&170)));e=(y[X+29152|0]<<2)+Q|0;d=e+28|0;H=x[d>>2];c=x[H>>2];a=a-c|0;if(g>>>16>>>0>=c>>>0){g=g-(c<<16)|0;if(a&32768){break Og}k=x[H+4>>2];c=a>>>0>>0;x[e+28>>2]=x[H+(c?12:8)>>2];while(1){Th:{if(f){break Th}f=x[Q+16>>2];e=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=e;f=8;g=(l<<8)+g|0;break Th}if(l>>>0<=143){x[Q+16>>2]=e;g=(l<<9)+g|0;f=7;break Th}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}c=c?!k:k;break Ng}k=x[H+4>>2];l=e;e=a>>>0>>0;x[l+28>>2]=x[H+(e?8:12)>>2];while(1){Uh:{if(f){break Uh}f=x[Q+16>>2];a=f+1|0;l=y[f+1|0];if(y[f|0]!=255){x[Q+16>>2]=a;f=8;g=(l<<8)+g|0;break Uh}if(l>>>0<=143){x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break Uh}x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;c=e?k:!k;break Ng}c=x[H+4>>2]}c=c^y[X+29408|0];x[(K<<2)+n>>2]=c?W:Y;x[p>>2]=x[p>>2]|16384;x[j+4>>2]=x[j+4>>2]|4096;e=j+(x[Q+124>>2]<<2)|0;x[e+4>>2]=x[e+4>>2]|4;x[e+12>>2]=x[e+12>>2]|1;x[e+8>>2]=x[e+8>>2]|c<<18|2;b=c<<28|b|8192}x[j>>2]=b&-1226833921}b=j+4|0;n=n+4|0;S=S+1|0;if((_|0)!=(S|0)){continue}break}b=j+12|0;n=(K<<2)+n|0;r=r+4|0;c=x[Q+128>>2];if(r>>>0<(c&-4)>>>0){continue}break}break Kg}b=c&-4;b=(b>>>0<=4?4:b)-1|0;r=(b&-4)+4|0;b=(e+(b<<1&-8)|0)+20|0}x[Q+8>>2]=f;x[Q+4>>2]=a;x[Q>>2]=g;x[Q+104>>2]=d;if(!_|c>>>0<=r>>>0){break je}while(1){f=0;if(x[Q+128>>2]!=(r|0)){while(1){fc(Q,b,(D(f,_)<<2)+n|0,Y,f,0);f=f+1|0;if(f>>>0>2]-r>>>0){continue}break}}x[b>>2]=x[b>>2]&-1226833921;n=n+4|0;b=b+4|0;U=U+1|0;if((_|0)!=(U|0)){continue}break}break je}b=c&-4;b=(b>>>0<=4?4:b)-1|0;r=(b&-4)+4|0;b=(e+(b<<1&-8)|0)+20|0}x[Q+8>>2]=f;x[Q+4>>2]=a;x[Q>>2]=g;x[Q+104>>2]=d;if(!_|c>>>0<=r>>>0){break je}while(1){f=0;if(x[Q+128>>2]!=(r|0)){while(1){fc(Q,b,(D(f,_)<<2)+n|0,Y,f,1);f=f+1|0;if(f>>>0>2]-r>>>0){continue}break}}x[b>>2]=x[b>>2]&-1226833921;n=n+4|0;b=b+4|0;U=U+1|0;if((_|0)!=(U|0)){continue}break}break je}while(1){p=0;while(1){j=b;k=c;Vh:{Wh:{Xh:{Yh:{c=x[c>>2];Zh:{if(!c){d=x[h>>2];c=x[d>>2];a=a-c|0;_h:{if(g>>>16>>>0>>0){e=x[d+4>>2];b=a>>>0>>0;x[h>>2]=x[d+(b?8:12)>>2];while(1){$h:{if(f){break $h}d=x[Q+16>>2];a=d+1|0;l=y[d+1|0];if(y[d|0]==255){if(l>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break $h}x[Q+16>>2]=a;g=(l<<9)+g|0;f=7;break $h}x[Q+16>>2]=a;f=8;g=(l<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=b?e:!e;break _h}g=g-(c<<16)|0;if(!(a&32768)){e=x[d+4>>2];b=a>>>0>>0;x[h>>2]=x[d+(b?12:8)>>2];while(1){ai:{if(f){break ai}d=x[Q+16>>2];c=d+1|0;l=y[d+1|0];if(y[d|0]==255){if(l>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ai}x[Q+16>>2]=c;g=(l<<9)+g|0;f=7;break ai}x[Q+16>>2]=c;f=8;g=(l<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!e:e;break _h}b=x[d+4>>2]}if(!b){d=h;break Vh}b=x[i>>2];c=x[b>>2];a=a-c|0;bi:{if(g>>>16>>>0>>0){l=x[b+4>>2];d=a>>>0>>0;b=x[(d?8:12)+b>>2];x[i>>2]=b;while(1){ci:{if(f){break ci}e=x[Q+16>>2];a=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ci}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break ci}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;e=d?l:!l;break bi}g=g-(c<<16)|0;if(!(a&32768)){l=x[b+4>>2];c=a>>>0>>0;b=x[(c?12:8)+b>>2];x[i>>2]=b;while(1){di:{if(f){break di}e=x[Q+16>>2];d=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break di}x[Q+16>>2]=d;g=(m<<9)+g|0;f=7;break di}x[Q+16>>2]=d;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}e=c?!l:l;break bi}e=x[b+4>>2]}c=x[b>>2];a=a-c|0;ei:{if(g>>>16>>>0>>0){l=x[b+4>>2];d=b;b=a>>>0>>0;x[i>>2]=x[d+(b?8:12)>>2];while(1){fi:{if(f){break fi}d=x[Q+16>>2];a=d+1|0;m=y[d+1|0];if(y[d|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break fi}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break fi}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=b?l:!l;break ei}g=g-(c<<16)|0;if(!(a&32768)){l=x[b+4>>2];d=b;b=a>>>0>>0;x[i>>2]=x[d+(b?12:8)>>2];while(1){gi:{if(f){break gi}d=x[Q+16>>2];c=d+1|0;m=y[d+1|0];if(y[d|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break gi}x[Q+16>>2]=c;g=(m<<9)+g|0;f=7;break gi}x[Q+16>>2]=c;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break ei}b=x[b+4>>2]}c=0;d=i;hi:{ii:{ji:{ki:{li:{switch(b|e<<1){case 0:m=k-4|0;d=x[k+4>>2]>>>17&4|x[m>>2]>>>19&1;b=(y[d+29152|0]<<2)+Q|0;e=x[b+28>>2];c=x[e>>2];a=a-c|0;mi:{if(g>>>16>>>0>>0){l=x[e+4>>2];n=b;b=a>>>0>>0;x[n+28>>2]=x[e+(b?8:12)>>2];while(1){ni:{if(f){break ni}e=x[Q+16>>2];a=e+1|0;n=y[e+1|0];if(y[e|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ni}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break ni}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=b?l:!l;break mi}g=g-(c<<16)|0;if(!(a&32768)){l=x[e+4>>2];n=b;b=a>>>0>>0;x[n+28>>2]=x[e+(b?12:8)>>2];while(1){oi:{if(f){break oi}e=x[Q+16>>2];c=e+1|0;n=y[e+1|0];if(y[e|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break oi}x[Q+16>>2]=c;g=(n<<9)+g|0;f=7;break oi}x[Q+16>>2]=c;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break mi}b=x[e+4>>2]}b=b^y[d+29408|0];x[j>>2]=b?K:S;x[m>>2]=x[m>>2]|32;x[k+4>>2]=x[k+4>>2]|8;d=b<<19;b=(y[x[Q+108>>2]+2|0]<<2)+Q|0;e=x[b+28>>2];c=x[e>>2];a=a-c|0;pi:{if(g>>>16>>>0>>0){l=x[e+4>>2];m=b;b=a>>>0>>0;x[m+28>>2]=x[e+(b?8:12)>>2];while(1){qi:{if(f){break qi}e=x[Q+16>>2];a=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break qi}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break qi}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;c=c<<1;if(c>>>0<32768){continue}break}a=c;b=b?l:!l;break pi}g=g-(c<<16)|0;if(!(a&32768)){l=x[e+4>>2];m=b;b=a>>>0>>0;x[m+28>>2]=x[e+(b?12:8)>>2];while(1){ri:{if(f){break ri}e=x[Q+16>>2];c=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ri}x[Q+16>>2]=c;g=(m<<9)+g|0;f=7;break ri}x[Q+16>>2]=c;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break pi}b=x[e+4>>2]}c=d|16;if(!b){break ki}break;case 3:break hi;case 2:break ji;case 1:break li;default:break Wh}}m=k-4|0;e=x[k+4>>2]>>>20&4|(x[m>>2]>>>22&1|(c>>>15&16|(c>>>19&64|c>>>3&170)));d=(y[e+29152|0]<<2)+Q|0;n=x[d+28>>2];b=x[n>>2];a=a-b|0;si:{if(g>>>16>>>0>>0){l=x[n+4>>2];r=d;d=a>>>0>>0;x[r+28>>2]=x[n+(d?8:12)>>2];while(1){ti:{if(f){break ti}f=x[Q+16>>2];a=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ti}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break ti}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=d?l:!l;break si}g=g-(b<<16)|0;if(!(a&32768)){l=x[n+4>>2];b=a>>>0>>0;x[d+28>>2]=x[n+(b?12:8)>>2];while(1){ui:{if(f){break ui}f=x[Q+16>>2];d=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break ui}x[Q+16>>2]=d;g=(n<<9)+g|0;f=7;break ui}x[Q+16>>2]=d;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break si}b=x[n+4>>2]}b=b^y[e+29408|0];x[j+256>>2]=b?K:S;x[m>>2]=x[m>>2]|256;x[k+4>>2]=x[k+4>>2]|64;c=b<<22|c|128}d=(y[x[Q+108>>2]+(c>>>6&495)|0]<<2)+Q|0;e=x[d+28>>2];b=x[e>>2];a=a-b|0;vi:{if(g>>>16>>>0>>0){l=x[e+4>>2];m=d;d=a>>>0>>0;x[m+28>>2]=x[e+(d?8:12)>>2];while(1){wi:{if(f){break wi}e=x[Q+16>>2];a=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break wi}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break wi}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=d?l:!l;break vi}g=g-(b<<16)|0;if(!(a&32768)){l=x[e+4>>2];b=a>>>0>>0;x[d+28>>2]=x[e+(b?12:8)>>2];while(1){xi:{if(f){break xi}e=x[Q+16>>2];d=e+1|0;m=y[e+1|0];if(y[e|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break xi}x[Q+16>>2]=d;g=(m<<9)+g|0;f=7;break xi}x[Q+16>>2]=d;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break vi}b=x[e+4>>2]}if(!b){break ii}}m=k-4|0;e=x[k+4>>2]>>>23&4|(x[m>>2]>>>25&1|(c>>>18&16|(c>>>22&64|c>>>6&170)));d=(y[e+29152|0]<<2)+Q|0;n=x[d+28>>2];b=x[n>>2];a=a-b|0;yi:{if(g>>>16>>>0>>0){l=x[n+4>>2];r=d;d=a>>>0>>0;x[r+28>>2]=x[n+(d?8:12)>>2];while(1){zi:{if(f){break zi}f=x[Q+16>>2];a=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break zi}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break zi}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=d?l:!l;break yi}g=g-(b<<16)|0;if(!(a&32768)){l=x[n+4>>2];b=a>>>0>>0;x[d+28>>2]=x[n+(b?12:8)>>2];while(1){Ai:{if(f){break Ai}f=x[Q+16>>2];d=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ai}x[Q+16>>2]=d;g=(n<<9)+g|0;f=7;break Ai}x[Q+16>>2]=d;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break yi}b=x[n+4>>2]}b=b^y[e+29408|0];x[j+512>>2]=b?K:S;x[m>>2]=x[m>>2]|2048;x[k+4>>2]=x[k+4>>2]|512;c=b<<25|c|1024}e=(y[x[Q+108>>2]+(c>>>9&495)|0]<<2)+Q|0;d=e+28|0;m=x[d>>2];b=x[m>>2];a=a-b|0;Bi:{if(g>>>16>>>0>>0){l=x[m+4>>2];n=e;e=a>>>0>>0;x[n+28>>2]=x[m+(e?8:12)>>2];while(1){Ci:{if(f){break Ci}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ci}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Ci}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?l:!l;break Bi}g=g-(b<<16)|0;if(!(a&32768)){l=x[m+4>>2];b=a>>>0>>0;x[e+28>>2]=x[m+(b?12:8)>>2];while(1){Di:{if(f){break Di}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Di}x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break Di}x[Q+16>>2]=e;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Bi}b=x[m+4>>2]}if(!b){break Wh}}r=k-4|0;H=x[k+4>>2]>>>26&4|(x[r>>2]>>>28&1|(c>>>21&16|(c>>>25&64|c>>>9&170)));m=(y[H+29152|0]<<2)+Q|0;d=m+28|0;e=x[d>>2];b=x[e>>2];a=a-b|0;if(g>>>16>>>0>>0){l=x[e+4>>2];n=e;e=a>>>0>>0;x[m+28>>2]=x[n+(e?8:12)>>2];while(1){Ei:{if(f){break Ei}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ei}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Ei}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?l:!l;break Xh}g=g-(b<<16)|0;if(a&32768){break Zh}l=x[e+4>>2];b=a>>>0>>0;x[m+28>>2]=x[(b?12:8)+e>>2];while(1){Fi:{if(f){break Fi}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Fi}x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break Fi}x[Q+16>>2]=e;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Xh}Gi:{if(c&2097168){break Gi}e=(y[x[Q+108>>2]+(c&495)|0]<<2)+Q|0;d=e+28|0;m=x[d>>2];b=x[m>>2];a=a-b|0;Hi:{if(g>>>16>>>0>>0){l=x[m+4>>2];n=e;e=a>>>0>>0;x[n+28>>2]=x[m+(e?8:12)>>2];while(1){Ii:{if(f){break Ii}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ii}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break Ii}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?l:!l;break Hi}g=g-(b<<16)|0;if(!(a&32768)){l=x[m+4>>2];b=a>>>0>>0;x[e+28>>2]=x[m+(b?12:8)>>2];while(1){Ji:{if(f){break Ji}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ji}x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break Ji}x[Q+16>>2]=e;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!l:l;break Hi}b=x[m+4>>2]}if(!b){break Gi}n=k-4|0;l=x[k+4>>2]>>>17&4|(x[n>>2]>>>19&1|(c>>>14&16|(c>>>16&64|c&170)));e=(y[l+29152|0]<<2)+Q|0;d=e+28|0;r=x[d>>2];b=x[r>>2];a=a-b|0;Ki:{if(g>>>16>>>0>>0){m=x[r+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[r+(e?8:12)>>2];while(1){Li:{if(f){break Li}f=x[Q+16>>2];a=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Li}x[Q+16>>2]=a;g=(r<<9)+g|0;f=7;break Li}x[Q+16>>2]=a;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break Ki}g=g-(b<<16)|0;if(!(a&32768)){m=x[r+4>>2];b=a>>>0>>0;x[e+28>>2]=x[r+(b?12:8)>>2];while(1){Mi:{if(f){break Mi}f=x[Q+16>>2];e=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Mi}x[Q+16>>2]=e;g=(r<<9)+g|0;f=7;break Mi}x[Q+16>>2]=e;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break Ki}b=x[r+4>>2]}b=b^y[l+29408|0];x[j>>2]=b?K:S;x[n>>2]=x[n>>2]|32;x[k+4>>2]=x[k+4>>2]|8;c=b<<19|c|16}Ni:{if(c&16777344){break Ni}l=c>>>3|0;e=(y[x[Q+108>>2]+(l&495)|0]<<2)+Q|0;d=e+28|0;n=x[d>>2];b=x[n>>2];a=a-b|0;Oi:{if(g>>>16>>>0>>0){m=x[n+4>>2];r=e;e=a>>>0>>0;x[r+28>>2]=x[n+(e?8:12)>>2];while(1){Pi:{if(f){break Pi}f=x[Q+16>>2];a=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Pi}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break Pi}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break Oi}g=g-(b<<16)|0;if(!(a&32768)){m=x[n+4>>2];b=a>>>0>>0;x[e+28>>2]=x[n+(b?12:8)>>2];while(1){Qi:{if(f){break Qi}f=x[Q+16>>2];e=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Qi}x[Q+16>>2]=e;g=(n<<9)+g|0;f=7;break Qi}x[Q+16>>2]=e;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break Oi}b=x[n+4>>2]}if(!b){break Ni}n=k-4|0;l=x[k+4>>2]>>>20&4|(x[n>>2]>>>22&1|(c>>>15&16|(c>>>19&64|l&170)));e=(y[l+29152|0]<<2)+Q|0;d=e+28|0;r=x[d>>2];b=x[r>>2];a=a-b|0;Ri:{if(g>>>16>>>0>>0){m=x[r+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[r+(e?8:12)>>2];while(1){Si:{if(f){break Si}f=x[Q+16>>2];a=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Si}x[Q+16>>2]=a;g=(r<<9)+g|0;f=7;break Si}x[Q+16>>2]=a;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break Ri}g=g-(b<<16)|0;if(!(a&32768)){m=x[r+4>>2];b=a>>>0>>0;x[e+28>>2]=x[r+(b?12:8)>>2];while(1){Ti:{if(f){break Ti}f=x[Q+16>>2];e=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Ti}x[Q+16>>2]=e;g=(r<<9)+g|0;f=7;break Ti}x[Q+16>>2]=e;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break Ri}b=x[r+4>>2]}b=b^y[l+29408|0];x[j+256>>2]=b?K:S;x[n>>2]=x[n>>2]|256;x[k+4>>2]=x[k+4>>2]|64;c=b<<22|c|128}Ui:{if(c&134218752){break Ui}l=c>>>6|0;e=(y[x[Q+108>>2]+(l&495)|0]<<2)+Q|0;d=e+28|0;n=x[d>>2];b=x[n>>2];a=a-b|0;Vi:{if(g>>>16>>>0>>0){m=x[n+4>>2];r=e;e=a>>>0>>0;x[r+28>>2]=x[n+(e?8:12)>>2];while(1){Wi:{if(f){break Wi}f=x[Q+16>>2];a=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Wi}x[Q+16>>2]=a;g=(n<<9)+g|0;f=7;break Wi}x[Q+16>>2]=a;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break Vi}g=g-(b<<16)|0;if(!(a&32768)){m=x[n+4>>2];b=a>>>0>>0;x[e+28>>2]=x[n+(b?12:8)>>2];while(1){Xi:{if(f){break Xi}f=x[Q+16>>2];e=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Xi}x[Q+16>>2]=e;g=(n<<9)+g|0;f=7;break Xi}x[Q+16>>2]=e;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break Vi}b=x[n+4>>2]}if(!b){break Ui}n=k-4|0;l=x[k+4>>2]>>>23&4|(x[n>>2]>>>25&1|(c>>>18&16|(c>>>22&64|l&170)));e=(y[l+29152|0]<<2)+Q|0;d=e+28|0;r=x[d>>2];b=x[r>>2];a=a-b|0;Yi:{if(g>>>16>>>0>>0){m=x[r+4>>2];H=e;e=a>>>0>>0;x[H+28>>2]=x[r+(e?8:12)>>2];while(1){Zi:{if(f){break Zi}f=x[Q+16>>2];a=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break Zi}x[Q+16>>2]=a;g=(r<<9)+g|0;f=7;break Zi}x[Q+16>>2]=a;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?m:!m;break Yi}g=g-(b<<16)|0;if(!(a&32768)){m=x[r+4>>2];b=a>>>0>>0;x[e+28>>2]=x[r+(b?12:8)>>2];while(1){_i:{if(f){break _i}f=x[Q+16>>2];e=f+1|0;r=y[f+1|0];if(y[f|0]==255){if(r>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break _i}x[Q+16>>2]=e;g=(r<<9)+g|0;f=7;break _i}x[Q+16>>2]=e;f=8;g=(r<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?!m:m;break Yi}b=x[r+4>>2]}b=b^y[l+29408|0];x[j+512>>2]=b?K:S;x[n>>2]=x[n>>2]|2048;x[k+4>>2]=x[k+4>>2]|512;c=b<<25|c|1024}if(c&1073750016){break Wh}e=a;l=c>>>9|0;a=(y[x[Q+108>>2]+(l&495)|0]<<2)+Q|0;d=a+28|0;n=x[d>>2];b=x[n>>2];e=e-b|0;$i:{if(g>>>16>>>0>>0){m=x[n+4>>2];r=a;a=b>>>0>e>>>0;x[r+28>>2]=x[n+(a?8:12)>>2];while(1){aj:{if(f){break aj}f=x[Q+16>>2];e=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break aj}x[Q+16>>2]=e;g=(n<<9)+g|0;f=7;break aj}x[Q+16>>2]=e;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}e=b;a=a?m:!m;break $i}g=g-(b<<16)|0;if(!(e&32768)){m=x[n+4>>2];r=a;a=b>>>0>e>>>0;x[r+28>>2]=x[n+(a?12:8)>>2];while(1){bj:{if(f){break bj}f=x[Q+16>>2];b=f+1|0;n=y[f+1|0];if(y[f|0]==255){if(n>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break bj}x[Q+16>>2]=b;g=(n<<9)+g|0;f=7;break bj}x[Q+16>>2]=b;f=8;g=(n<<8)+g|0}f=f-1|0;g=g<<1;e=e<<1;if(e>>>0<32768){continue}break}a=a?!m:m;break $i}a=x[n+4>>2]}if(!a){a=e;break Wh}b=e;r=k-4|0;H=x[k+4>>2]>>>26&4|(x[r>>2]>>>28&1|(c>>>21&16|(c>>>25&64|l&170)));m=(y[H+29152|0]<<2)+Q|0;d=m+28|0;e=x[d>>2];a=x[e>>2];b=b-a|0;if(g>>>16>>>0>>0){l=x[e+4>>2];b=a>>>0>b>>>0;x[m+28>>2]=x[(b?8:12)+e>>2];while(1){cj:{if(f){break cj}f=x[Q+16>>2];e=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break cj}x[Q+16>>2]=e;g=(m<<9)+g|0;f=7;break cj}x[Q+16>>2]=e;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;a=a<<1;if(a>>>0<32768){continue}break}b=b?l:!l;break Xh}g=g-(a<<16)|0;if(!(b&32768)){break Yh}a=b}b=x[e+4>>2];break Xh}l=x[e+4>>2];n=e;e=a>>>0>b>>>0;x[m+28>>2]=x[n+(e?12:8)>>2];while(1){dj:{if(f){break dj}f=x[Q+16>>2];a=f+1|0;m=y[f+1|0];if(y[f|0]==255){if(m>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;g=g+65280|0;f=8;break dj}x[Q+16>>2]=a;g=(m<<9)+g|0;f=7;break dj}x[Q+16>>2]=a;f=8;g=(m<<8)+g|0}f=f-1|0;g=g<<1;b=b<<1;if(b>>>0<32768){continue}break}a=b;b=e?!l:l}b=b^y[H+29408|0];x[j+768>>2]=b?K:S;x[r>>2]=x[r>>2]|16384;x[k+4>>2]=x[k+4>>2]|4096;x[k+260>>2]=x[k+260>>2]|4;x[k+268>>2]=x[k+268>>2]|1;x[k+264>>2]=x[k+264>>2]|b<<18|2;c=b<<28|c|8192}x[k>>2]=c&-1226833921}c=k+4|0;b=j+4|0;p=p+1|0;if((p|0)!=64){continue}break}c=k+12|0;b=j+772|0;e=o>>>0<60;o=o+4|0;if(e){continue}break}}x[Q+8>>2]=f;x[Q+4>>2]=a;x[Q>>2]=g;x[Q+104>>2]=d}ej:{if(!(q&32)){break ej}x[Q+104>>2]=Q+100;c=x[Q+100>>2];a=x[c>>2];g=x[Q+4>>2]-a|0;x[Q+4>>2]=g;f=x[Q>>2];fj:{if(f>>>16>>>0>>0){x[Q+4>>2]=a;c=x[(a>>>0>g>>>0?8:12)+c>>2];x[Q+100>>2]=c;g=x[Q+8>>2];while(1){gj:{if(g){break gj}d=x[Q+16>>2];b=d+1|0;e=y[d+1|0];if(y[d|0]==255){if(e>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;f=f+65280|0;g=8;break gj}x[Q+16>>2]=b;f=(e<<9)+f|0;g=7;break gj}x[Q+16>>2]=b;g=8;f=(e<<8)+f|0}g=g-1|0;x[Q+8>>2]=g;f=f<<1;x[Q>>2]=f;a=a<<1;x[Q+4>>2]=a;if(a>>>0<32768){continue}break}g=a;break fj}f=f-(a<<16)|0;x[Q>>2]=f;if(g&32768){break fj}c=x[(a>>>0>g>>>0?12:8)+c>>2];x[Q+100>>2]=c;a=x[Q+8>>2];while(1){hj:{if(a){break hj}b=x[Q+16>>2];a=b+1|0;d=y[b+1|0];if(y[b|0]==255){if(d>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;f=f+65280|0;a=8;break hj}x[Q+16>>2]=a;f=(d<<9)+f|0;a=7;break hj}x[Q+16>>2]=a;a=8;f=(d<<8)+f|0}a=a-1|0;x[Q+8>>2]=a;f=f<<1;x[Q>>2]=f;g=g<<1;x[Q+4>>2]=g;if(g>>>0<32768){continue}break}}a=x[c>>2];g=g-a|0;x[Q+4>>2]=g;ij:{if(f>>>16>>>0>>0){x[Q+4>>2]=a;c=x[(a>>>0>g>>>0?8:12)+c>>2];x[Q+100>>2]=c;g=x[Q+8>>2];while(1){jj:{if(g){break jj}d=x[Q+16>>2];b=d+1|0;e=y[d+1|0];if(y[d|0]==255){if(e>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;f=f+65280|0;g=8;break jj}x[Q+16>>2]=b;f=(e<<9)+f|0;g=7;break jj}x[Q+16>>2]=b;g=8;f=(e<<8)+f|0}g=g-1|0;x[Q+8>>2]=g;f=f<<1;x[Q>>2]=f;a=a<<1;x[Q+4>>2]=a;if(a>>>0<32768){continue}break}g=a;break ij}f=f-(a<<16)|0;x[Q>>2]=f;if(g&32768){break ij}c=x[(a>>>0>g>>>0?12:8)+c>>2];x[Q+100>>2]=c;a=x[Q+8>>2];while(1){kj:{if(a){break kj}b=x[Q+16>>2];a=b+1|0;d=y[b+1|0];if(y[b|0]==255){if(d>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;f=f+65280|0;a=8;break kj}x[Q+16>>2]=a;f=(d<<9)+f|0;a=7;break kj}x[Q+16>>2]=a;a=8;f=(d<<8)+f|0}a=a-1|0;x[Q+8>>2]=a;f=f<<1;x[Q>>2]=f;g=g<<1;x[Q+4>>2]=g;if(g>>>0<32768){continue}break}}a=x[c>>2];g=g-a|0;x[Q+4>>2]=g;lj:{if(f>>>16>>>0>>0){x[Q+4>>2]=a;c=x[(a>>>0>g>>>0?8:12)+c>>2];x[Q+100>>2]=c;g=x[Q+8>>2];while(1){mj:{if(g){break mj}d=x[Q+16>>2];b=d+1|0;e=y[d+1|0];if(y[d|0]==255){if(e>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;f=f+65280|0;g=8;break mj}x[Q+16>>2]=b;f=(e<<9)+f|0;g=7;break mj}x[Q+16>>2]=b;g=8;f=(e<<8)+f|0}g=g-1|0;x[Q+8>>2]=g;f=f<<1;x[Q>>2]=f;a=a<<1;x[Q+4>>2]=a;if(a>>>0<32768){continue}break}g=a;break lj}f=f-(a<<16)|0;x[Q>>2]=f;if(g&32768){break lj}c=x[(a>>>0>g>>>0?12:8)+c>>2];x[Q+100>>2]=c;a=x[Q+8>>2];while(1){nj:{if(a){break nj}b=x[Q+16>>2];a=b+1|0;d=y[b+1|0];if(y[b|0]==255){if(d>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;f=f+65280|0;a=8;break nj}x[Q+16>>2]=a;f=(d<<9)+f|0;a=7;break nj}x[Q+16>>2]=a;a=8;f=(d<<8)+f|0}a=a-1|0;x[Q+8>>2]=a;f=f<<1;x[Q>>2]=f;g=g<<1;x[Q+4>>2]=g;if(g>>>0<32768){continue}break}}a=x[c>>2];g=g-a|0;x[Q+4>>2]=g;if(f>>>16>>>0>>0){x[Q+4>>2]=a;x[Q+100>>2]=x[(a>>>0>g>>>0?8:12)+c>>2];g=x[Q+8>>2];while(1){oj:{if(g){break oj}c=x[Q+16>>2];b=c+1|0;d=y[c+1|0];if(y[c|0]==255){if(d>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;f=f+65280|0;g=8;break oj}x[Q+16>>2]=b;f=(d<<9)+f|0;g=7;break oj}x[Q+16>>2]=b;g=8;f=(d<<8)+f|0}g=g-1|0;x[Q+8>>2]=g;f=f<<1;x[Q>>2]=f;a=a<<1;x[Q+4>>2]=a;if(a>>>0<32768){continue}break}break ej}d=f-(a<<16)|0;x[Q>>2]=d;if(g&32768){break ej}x[Q+100>>2]=x[(a>>>0>g>>>0?12:8)+c>>2];f=x[Q+8>>2];while(1){pj:{if(f){break pj}b=x[Q+16>>2];a=b+1|0;c=y[b+1|0];if(y[b|0]==255){if(c>>>0>=144){x[Q+12>>2]=x[Q+12>>2]+1;d=d+65280|0;f=8;break pj}x[Q+16>>2]=a;d=(c<<9)+d|0;f=7;break pj}x[Q+16>>2]=a;f=8;d=(c<<8)+d|0}f=f-1|0;x[Q+8>>2]=f;d=d<<1;x[Q>>2]=d;g=g<<1;x[Q+4>>2]=g;if(g>>>0<32768){continue}break}}}if(s){break Za}dc(Q);x[Q+100>>2]=27072;x[Q+96>>2]=25696;x[Q+28>>2]=25728}a=ja+1|0;b=(a|0)==3;ja=b?0:a;F=F-b|0;N=N+1|0;if(N>>>0>=A[ma+8>>2]){break Ya}if((F|0)>0){continue}break}}ha=t+ha|0;b=x[Q+24>>2];a=z[Q+112>>1];v[b|0]=a;v[b+1|0]=a>>>8;ra=ra+1|0;if(ra>>>0>2]){continue}break}}qj:{if(!J){break qj}rj:{c=x[Q+24>>2];b=x[Q+16>>2];if(c>>>0>b+2>>>0){if(!ba){break rj}c=x[Q+16>>2];b=x[Q+24>>2];a=x[Q+20>>2];x[aa+56>>2]=b-a;x[aa+52>>2]=c-a;x[aa+48>>2]=(b-c|0)-2;hb(Z,2,19204,aa+48|0);break qj}a=x[Q+12>>2];if(a>>>0<3){break qj}if(ba){x[aa+80>>2]=x[Q+12>>2];hb(Z,2,11433,aa+80|0);break qj}x[aa+64>>2]=a;hb(Z,2,11433,aa- -64|0);break qj}a=x[Q+20>>2];x[aa+40>>2]=c-a;x[aa+36>>2]=b-a;x[aa+32>>2]=(c-b|0)-2;hb(Z,2,19204,aa+32|0)}if(!x[V+60>>2]){break h}x[Q+116>>2]=ia}l=x[V+8>>2]-x[pa>>2]|0;c=x[pa+16>>2];if(c&1){a=(x[na+28>>2]+D(sa,152)|0)-152|0;l=(x[a+8>>2]+l|0)-x[a>>2]|0}b=x[V+12>>2]-x[pa+4>>2]|0;if(c&2){a=(x[na+28>>2]+D(sa,152)|0)-152|0;b=(x[a+12>>2]+b|0)-x[a+4>>2]|0}h=x[V+60>>2];p=h?h:x[Q+116>>2];n=x[Q+128>>2];q=x[Q+124>>2];g=x[oa+808>>2];sj:{if(!g){break sj}a=!n|!q;if((g|0)<=30){if(a){break sj}o=0;while(1){e=D(o,q);a=0;while(1){d=(a+e<<2)+p|0;f=x[d>>2];c=f>>31;c=(c^f)-c|0;if(c>>>g|0){c=c>>>x[oa+808>>2]|0;x[d>>2]=(f|0)<0?0-c|0:c}a=a+1|0;if((q|0)!=(a|0)){continue}break}o=o+1|0;if((n|0)!=(o|0)){continue}break}break sj}if(a){break sj}Hc(p,0,D(n,q)<<2)}if(h){e=D(n,q);if(x[oa+20>>2]==1){if(!e){break a}a=0;if((e|0)!=1){d=e&-2;Q=0;while(1){c=a<<2;b=c+p|0;x[b>>2]=x[b>>2]/2;b=(c|4)+p|0;x[b>>2]=x[b>>2]/2;a=a+2|0;Q=Q+2|0;if((d|0)!=(Q|0)){continue}break}}if(!(e&1)){break a}a=(a<<2)+p|0;x[a>>2]=x[a>>2]/2;break a}if(!e){break a}fa=E(B[pa+32>>2]*E(.5));if(e>>>0>=4){b=e&-4;a=0;while(1){B[p>>2]=fa*E(x[p>>2]);B[p+4>>2]=fa*E(x[p+4>>2]);B[p+8>>2]=fa*E(x[p+8>>2]);B[p+12>>2]=fa*E(x[p+12>>2]);p=p+16|0;a=a+4|0;if((b|0)!=(a|0)){continue}break}}b=e&3;if(!b){break a}a=0;while(1){B[p>>2]=fa*E(x[p>>2]);p=p+4|0;a=a+1|0;if((b|0)!=(a|0)){continue}break}break a}m=L-M|0;if(x[oa+20>>2]==1){if(!n){break a}k=x[na+36>>2]+(D(b,m)+l<<2)|0;h=q&-4;e=0;while(1){a=0;if(h){g=D(e,m);f=D(e,q);while(1){j=(a+f<<2)+p|0;d=x[j+12>>2];c=x[j+8>>2];b=x[j+4>>2];i=k+(a+g<<2)|0;x[i>>2]=x[j>>2]/2;x[i+4>>2]=(b|0)/2;x[i+8>>2]=(c|0)/2;x[i+12>>2]=(d|0)/2;a=a+4|0;if(h>>>0>a>>>0){continue}break}}tj:{if(a>>>0>=q>>>0){break tj}b=a+1|0;d=D(e,m);c=D(e,q);if(q-a&1){x[k+(a+d<<2)>>2]=x[(a+c<<2)+p>>2]/2;a=b}if((b|0)==(q|0)){break tj}while(1){x[k+(a+d<<2)>>2]=x[(a+c<<2)+p>>2]/2;b=a+1|0;x[k+(b+d<<2)>>2]=x[(b+c<<2)+p>>2]/2;a=a+2|0;if((q|0)!=(a|0)){continue}break}}e=e+1|0;if((n|0)!=(e|0)){continue}break}break a}if(!n|!q){break a}fa=E(B[pa+32>>2]*E(.5));c=q&-4;d=q&3;e=x[na+36>>2]+(D(b,m)+l<<2)|0;k=0;b=q-1>>>0<3;while(1){a=e;Q=0;if(!b){while(1){B[a>>2]=fa*E(x[p>>2]);B[a+4>>2]=fa*E(x[p+4>>2]);B[a+8>>2]=fa*E(x[p+8>>2]);B[a+12>>2]=fa*E(x[p+12>>2]);a=a+16|0;p=p+16|0;Q=Q+4|0;if((c|0)!=(Q|0)){continue}break}}Q=0;if(d){while(1){B[a>>2]=fa*E(x[p>>2]);a=a+4|0;p=p+4|0;Q=Q+1|0;if((d|0)!=(Q|0)){continue}break}}e=(m<<2)+e|0;k=k+1|0;if((n|0)!=(k|0)){continue}break}break a}x[aa>>2]=F;hb(Z,2,13001,aa)}x[x[e>>2]>>2]=0}jd(C);Ca=aa+96|0;Ha=0;return 0} +function Db(a,b,c,d,e,f){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,z=0,C=0,G=0,H=0,I=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=E(0),ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Da=0,Ea=0,Fa=0,Ga=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Wa=E(0),Xa=E(0),Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,db=0,eb=0,fb=0,ib=0;Ka=Ca-16|0;Ca=Ka;a:{if(!(y[a+8|0]&128)|x[a+204>>2]!=(b|0)){break a}g=x[a+156>>2];Qa=g+D(b,5644)|0;H=x[Qa+5596>>2];if(!H){Ab(Qa);break a}I=x[a+76>>2];if(!I){I=x[a+72>>2]}k=x[I>>2];i=x[I+4>>2];j=x[I+8>>2];h=x[I+12>>2];l=x[a+60>>2];m=x[a- -64>>2];db=g+D(b,5644)|0;r=x[db+5600>>2];Da=Ca-16|0;Ca=Da;N=x[a+208>>2];x[N+36>>2]=b;g=x[x[N+28>>2]+76>>2];x[N+64>>2]=1;x[N+60>>2]=h;x[N+56>>2]=j;x[N+52>>2]=i;x[N+48>>2]=k;x[N+32>>2]=g+D(b,5644);jd(x[N+68>>2]);x[N+68>>2]=0;b:{if(l){Q=vc(4,x[x[N+24>>2]+16>>2]);if(!Q){break b}b=0;if(l>>>0>=4){g=l&-4;h=0;while(1){j=b<<2;x[(x[j+m>>2]<<2)+Q>>2]=1;x[(x[m+(j|4)>>2]<<2)+Q>>2]=1;x[(x[m+(j|8)>>2]<<2)+Q>>2]=1;x[(x[m+(j|12)>>2]<<2)+Q>>2]=1;b=b+4|0;h=h+4|0;if((g|0)!=(h|0)){continue}break}}g=l&3;if(g){while(1){x[(x[m+(b<<2)>>2]<<2)+Q>>2]=1;b=b+1|0;na=na+1|0;if((g|0)!=(na|0)){continue}break}}x[N+68>>2]=Q}c:{g=x[N+24>>2];ka=x[g+16>>2];d:{if(!ka){break d}b=0;e:{while(1){f:{if(x[(b<<2)+Q>>2]?0:Q){break f}k=x[g+24>>2]+D(b,52)|0;n=x[k+4>>2];m=n-1|0;i=x[N+60>>2];j=m+i|0;s=0-!n|0;h=s;l=Hl(j,i>>>0>j>>>0?h+1|0:h,n,0);q=x[k>>2];k=q-1|0;i=x[N+56>>2];j=k+i|0;p=0-!q|0;h=p;i=Hl(j,i>>>0>j>>>0?h+1|0:h,q,0);j=x[N+52>>2];h=j+m|0;m=Hl(h,h>>>0>>0?s+1|0:s,n,0);n=x[x[x[N+20>>2]>>2]+20>>2]+D(b,76)|0;s=x[n+20>>2]-x[n+24>>2]|0;if(s>>>0>31){break f}j=x[N+48>>2];h=j+k|0;j=Hl(h,h>>>0>>0?p+1|0:p,q,0);h=j-x[n>>2]|0;g:{if((h>>>0<=j>>>0?h:0)>>>s|0){break g}h=m-x[n+4>>2]|0;if((h>>>0<=m>>>0?h:0)>>>s|0){break g}j=x[n+8>>2];h=j-i|0;if((h>>>0<=j>>>0?h:0)>>>s|0){break g}j=x[n+12>>2];h=j-l|0;if(!((h>>>0<=j>>>0?h:0)>>>s|0)){break f}}x[N+64>>2]=0;break e}b=b+1|0;if((ka|0)!=(b|0)){continue}break}if(!x[N+64>>2]){break e}if(!ka){break d}I=0;while(1){l=x[x[x[N+20>>2]>>2]+20>>2]+D(I,76)|0;b=(D(x[l+24>>2],152)+x[l+28>>2]|0)-152|0;k=x[b+4>>2];i=x[b+12>>2];h=x[b>>2];g=x[b+8>>2];b=x[N+68>>2];h:{if(x[b+(I<<2)>>2]?0:b){break h}j=i-k|0;b=g-h|0;i:{if((i|0)==(k|0)){break i}Fl(j,0,b,0);if(!Ha){break i}na=0;hb(f,1,7406,0);break b}b=D(b,j);if(b>>>0>=1073741824){na=0;hb(f,1,7406,0);break b}b=b<<2;x[l+44>>2]=b;j:{k:{l:{m:{g=x[l+36>>2];if(g){if(b>>>0<=A[l+48>>2]){break h}if(x[l+40>>2]){break m}}b=wc(b);x[l+36>>2]=b;g=b;b=x[l+44>>2];if(!(b?g:1)){break l}x[l+48>>2]=b;b=l+40|0;break j}b=l+40|0;jd(g);g=wc(x[l+44>>2]);x[l+36>>2]=g;if(g){break k}x[l+48>>2]=0;x[l+44>>2]=0;x[l+40>>2]=0}na=0;hb(f,1,7406,0);break b}x[l+48>>2]=x[l+44>>2]}x[b>>2]=1}I=I+1|0;g=x[N+24>>2];if(I>>>0>2]){continue}break}break d}if(!ka){break d}C=x[g+24>>2];n=x[x[x[N+20>>2]>>2]+20>>2];h=0;while(1){n:{if(x[(h<<2)+Q>>2]?0:Q){break n}z=n+D(h,76)|0;l=x[z>>2];k=C+D(h,52)|0;u=x[k>>2];m=u-1|0;i=x[N+48>>2];j=m+i|0;q=0-!u|0;b=q;b=Hl(j,i>>>0>j>>>0?b+1|0:b,u,0);b=b>>>0>>0?l:b;x[z+56>>2]=b;l=x[z+4>>2];G=x[k+4>>2];p=G-1|0;k=x[N+52>>2];i=p+k|0;s=0-!G|0;j=s;j=Hl(i,i>>>0>>0?j+1|0:j,G,0);j=j>>>0>>0?l:j;x[z+60>>2]=j;l=x[z+8>>2];k=x[N+56>>2];i=k+m|0;i=Hl(i,i>>>0>>0?q+1|0:q,u,0);k=i>>>0>l>>>0?l:i;x[z+64>>2]=k;m=x[z+12>>2];l=x[N+60>>2];i=p+l|0;i=Hl(i,i>>>0>>0?s+1|0:s,G,0);l=i>>>0>m>>>0?m:i;x[z+68>>2]=l;if(b>>>0>k>>>0|j>>>0>l>>>0){break c}G=x[z+20>>2];if(!G){break n}q=x[z+28>>2];L=0;m=0;i=0;while(1){T=q+D(m,152)|0;W=G+(L^-1)|0;s=W&31;if((W&63)>>>0>=32){M=-1<>>32-s}z=p^-1;s=l+z|0;R=M^-1;p=R;p=l>>>0>s>>>0?p+1|0:p;u=W&31;P=(W&63)>>>0>=32;x[T+148>>2]=P?p>>>u|0:((1<>>u;W=R+1|0;s=k+z|0;p=s>>>0>>0?W:R;x[T+144>>2]=P?p>>>u|0:((1<>>u;s=j+z|0;p=s>>>0>>0?W:R;x[T+140>>2]=P?p>>>u|0:((1<>>u;s=b+z|0;p=s>>>0>>0?W:R;x[T+136>>2]=P?p>>>u|0:((1<>>u;L=L+1|0;m=m+1|0;i=m?i:i+1|0;if(i|(m|0)!=(G|0)){continue}break}}h=h+1|0;if((ka|0)!=(h|0)){continue}break}}na=0;x[Da+8>>2]=0;b=x[N+28>>2];ma=vc(1,8);if(ma){x[ma+4>>2]=b;x[ma>>2]=g}if(!ma){break b}ia=x[x[N+20>>2]>>2];t=Ca-144|0;Ca=t;_=x[N+36>>2];b=D(_,5644);G=x[ma+4>>2];fa=b+x[G+76>>2]|0;ka=x[fa+420>>2];m=0;l=0;p=0;X=Ca-32|0;Ca=X;pa=x[G+76>>2];T=pa+b|0;qa=x[T+420>>2];ea=x[ma>>2];oa=x[ea+16>>2];k=uc(D(oa,528));o:{if(!k){break o}g=uc(oa<<2);p:{if(!g){g=k;break p}j=x[G+76>>2];n=x[(j+D(_,5644)|0)+420>>2];h=n+1|0;b=vc(h,240);q:{if(b){r:{if(h){q=(j+D(_,5644)|0)+5584|0;$=x[ea+16>>2];j=b;while(1){x[j+236>>2]=f;h=vc($,16);x[j+200>>2]=h;if(!h){break r}h=x[ea+16>>2];x[j+196>>2]=h;P=0;$=0;if(h){while(1){s=x[j+200>>2]+(P<<4)|0;i=x[q>>2]+D(P,1080)|0;h=vc(x[i+4>>2],16);x[s+12>>2]=h;if(!h){break r}x[s+8>>2]=x[i+4>>2];P=P+1|0;$=x[ea+16>>2];if(P>>>0<$>>>0){continue}break}}j=j+240|0;h=(n|0)==(aa|0);aa=aa+1|0;if(!h){continue}break}}break q}h=x[b+4>>2];if(h){jd(h);x[b+4>>2]=0}j=b;h=0;while(1){P=x[j+200>>2];if(P){$=0;aa=x[j+196>>2];if(aa){while(1){i=x[P+12>>2];if(i){jd(i);x[P+12>>2]=0;aa=x[j+196>>2]}P=P+16|0;$=$+1|0;if($>>>0>>0){continue}break}P=x[j+200>>2]}jd(P);x[j+200>>2]=0}j=j+240|0;i=(h|0)==(n|0);h=h+1|0;if(!i){continue}break}jd(b)}b=0}if(b){s:{if(!oa){break s}h=k;if(oa>>>0>=8){j=oa&-8;while(1){i=U<<2;x[i+g>>2]=h;x[(i|4)+g>>2]=h+528;x[(i|8)+g>>2]=h+1056;x[(i|12)+g>>2]=h+1584;x[(i|16)+g>>2]=h+2112;x[(i|20)+g>>2]=h+2640;x[(i|24)+g>>2]=h+3168;x[(i|28)+g>>2]=h+3696;U=U+8|0;h=h+4224|0;m=m+8|0;if((j|0)!=(m|0)){continue}break}}j=oa&7;if(!j){break s}while(1){x[(U<<2)+g>>2]=h;U=U+1|0;h=h+528|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}C=g;$=0;h=x[(x[G+76>>2]+D(_,5644)|0)+5584>>2];g=x[ea+24>>2];j=x[G+24>>2];l=(_>>>0)/(j>>>0)|0;i=x[G+4>>2]+D(x[G+12>>2],_-D(j,l)|0)|0;j=x[ea>>2];x[X+20>>2]=i>>>0>j>>>0?i:j;j=i+x[G+12>>2]|0;i=i>>>0>j>>>0?-1:j;j=x[ea+8>>2];x[X+16>>2]=i>>>0>>0?i:j;i=x[G+8>>2]+D(l,x[G+16>>2])|0;j=x[ea+4>>2];x[X+12>>2]=i>>>0>j>>>0?i:j;j=i+x[G+16>>2]|0;i=i>>>0>j>>>0?-1:j;j=x[ea+12>>2];x[X+8>>2]=i>>>0>>0?i:j;x[X+24>>2]=0;x[X+28>>2]=0;x[X+4>>2]=2147483647;x[X>>2]=2147483647;if(x[ea+16>>2]){while(1){i=C?x[C+($<<2)>>2]:0;z=x[g+4>>2];n=z-1|0;m=x[X+8>>2];l=n+m|0;u=0-!z|0;j=u;m=Hl(l,l>>>0>>0?j+1|0:j,z,0);R=x[g>>2];q=R-1|0;s=x[X+16>>2];l=q+s|0;G=0-!R|0;j=G;s=Hl(l,l>>>0>>0?j+1|0:j,R,0);l=x[X+12>>2];j=l+n|0;z=Hl(j,j>>>0>>0?u+1|0:u,z,0);l=x[X+20>>2];j=l+q|0;l=Hl(j,j>>>0>>0?G+1|0:G,R,0);j=x[h+4>>2];if(j>>>0>A[X+28>>2]){x[X+28>>2]=j;j=x[h+4>>2]}if(j){q=s;s=l;aa=0;while(1){l=(aa<<2)+h|0;W=x[l+944>>2];ga=x[l+812>>2];U=0;if(i){x[i+4>>2]=W;x[i>>2]=ga;U=i+8|0}j=j-1|0;n=ga+j|0;t:{if(n>>>0>31){break t}i=x[g>>2];if(i>>>0>-1>>>n>>>0){break t}l=x[X+4>>2];i=i<>2]=i>>>0>l>>>0?l:i}n=j+W|0;u:{if(n>>>0>31){break u}i=x[g+4>>2];if(i>>>0>-1>>>n>>>0){break u}l=x[X>>2];i=i<>2]=i>>>0>l>>>0?l:i}i=0;n=j&31;if((j&63)>>>0>=32){M=-1<>>32-n}ba=l^-1;l=ba+m|0;ha=M^-1;n=ha;G=l>>>0>>0?n+1|0:n;R=j&31;u=W&31;if((W&63)>>>0>=32){M=1<>>32-u}I=(j&63)>>>0>=32;G=I?G>>>R|0:((1<>>R;u=n+G|0;l=(n>>>0>u>>>0?M+1|0:M)-!u|0;n=W&31;R=(W&63)>>>0>=32?l>>>n|0:((1<>>n;ca=ha+1|0;n=z+ba|0;l=n>>>0>>0?ca:ha;P=j&31;u=P;l=I?l>>>u|0:((1<>>u;u=(l|0)!=(G|0)?R-(l>>>W|0)&-1>>>W:0;l=q+ba|0;G=l>>>0>>0?ca:ha;W=P;R=ga&31;if((ga&63)>>>0>=32){M=1<>>32-R}P=(j&63)>>>0>=32;G=P?G>>>W|0:((1<>>W;R=n+G|0;l=(n>>>0>R>>>0?M+1|0:M)-!R|0;n=ga&31;W=(ga&63)>>>0>=32?l>>>n|0:((1<>>n;n=s+ba|0;l=n>>>0>>0?ha+1|0:ha;R=j&31;l=P?l>>>R|0:((1<>>R;l=(l|0)!=(G|0)?W-(l>>>ga|0)&-1>>>ga:0;if(U){x[U+4>>2]=u;x[U>>2]=l;i=U+8|0}l=D(l,u);if(l>>>0>A[X+24>>2]){x[X+24>>2]=l}aa=aa+1|0;if(aa>>>0>2]){continue}break}}g=g+52|0;h=h+1080|0;$=$+1|0;if($>>>0>2]){continue}break}}s=qa+1|0;ga=x[X+28>>2];$=x[X+24>>2];x[b+4>>2]=0;W=pa+D(_,5644)|0;g=x[W+8>>2]+1|0;R=D($,oa);ha=D(R,ga);Fl(g,0,ha,0);v:{if(!Ha){g=D(g,ha);x[b+8>>2]=g;g=vc(g,2);x[b+4>>2]=g;if(g){break v}}jd(k);jd(C);g=x[b+4>>2];if(g){jd(g);x[b+4>>2]=0}if(!s){g=b;break p}i=0;m=b;while(1){h=x[m+200>>2];if(h){n=0;U=x[m+196>>2];if(U){while(1){g=x[h+12>>2];if(g){jd(g);x[h+12>>2]=0;U=x[m+196>>2]}h=h+16|0;n=n+1|0;if(U>>>0>n>>>0){continue}break}h=x[m+200>>2]}jd(h);x[m+200>>2]=0}m=m+240|0;g=(i|0)==(qa|0);i=i+1|0;if(!g){continue}break}g=b;break p}g=x[ea+24>>2];z=x[X+20>>2];x[b+204>>2]=z;u=x[X+12>>2];x[b+208>>2]=u;G=x[X+16>>2];x[b+212>>2]=G;q=x[X+8>>2];x[b+216>>2]=q;x[b+12>>2]=ha;x[b+16>>2]=R;x[b+20>>2]=$;p=1;x[b+24>>2]=1;if(oa){m=x[b+200>>2];j=0;i=g;while(1){h=x[C+(j<<2)>>2];x[m>>2]=x[i>>2];x[m+4>>2]=x[i+4>>2];ba=x[m+8>>2];w:{if(!ba){break w}n=x[m+12>>2];if((ba|0)!=1){l=ba&-2;U=0;while(1){x[n>>2]=x[h>>2];x[n+4>>2]=x[h+4>>2];x[n+8>>2]=x[h+8>>2];x[n+12>>2]=x[h+12>>2];x[n+16>>2]=x[h+16>>2];x[n+20>>2]=x[h+20>>2];x[n+24>>2]=x[h+24>>2];x[n+28>>2]=x[h+28>>2];n=n+32|0;h=h+32|0;U=U+2|0;if((l|0)!=(U|0)){continue}break}}if(!(ba&1)){break w}x[n>>2]=x[h>>2];x[n+4>>2]=x[h+4>>2];x[n+8>>2]=x[h+8>>2];x[n+12>>2]=x[h+12>>2]}i=i+52|0;m=m+16|0;j=j+1|0;if((oa|0)!=(j|0)){continue}break}}if(s>>>0>1){l=b;while(1){x[l+456>>2]=q;x[l+452>>2]=G;x[l+448>>2]=u;x[l+444>>2]=z;x[l+264>>2]=1;x[l+260>>2]=$;x[l+256>>2]=R;x[l+252>>2]=ha;if(oa){m=x[l+440>>2];j=0;i=g;while(1){h=x[C+(j<<2)>>2];x[m>>2]=x[i>>2];x[m+4>>2]=x[i+4>>2];ba=x[m+8>>2];x:{if(!ba){break x}n=x[m+12>>2];if((ba|0)!=1){s=ba&-2;U=0;while(1){x[n>>2]=x[h>>2];x[n+4>>2]=x[h+4>>2];x[n+8>>2]=x[h+8>>2];x[n+12>>2]=x[h+12>>2];x[n+16>>2]=x[h+16>>2];x[n+20>>2]=x[h+20>>2];x[n+24>>2]=x[h+24>>2];x[n+28>>2]=x[h+28>>2];n=n+32|0;h=h+32|0;U=U+2|0;if((s|0)!=(U|0)){continue}break}}if(!(ba&1)){break x}x[n>>2]=x[h>>2];x[n+4>>2]=x[h+4>>2];x[n+8>>2]=x[h+8>>2];x[n+12>>2]=x[h+12>>2]}i=i+52|0;m=m+16|0;j=j+1|0;if((oa|0)!=(j|0)){continue}break}}h=x[l+8>>2];x[l+244>>2]=x[l+4>>2];x[l+248>>2]=h;h=(p|0)!=(qa|0);l=l+240|0;p=p+1|0;if(h){continue}break}}jd(k);jd(C);l=x[T+420>>2];y:{if(y[(pa+D(_,5644)|0)+5640|0]&4){if((l|0)==-1){break y}n=(pa+D(_,5644)|0)+424|0;j=x[W+8>>2];U=0;h=b;while(1){g=x[n+36>>2];x[h+44>>2]=1;x[h+84>>2]=g;x[h+48>>2]=x[n>>2];g=x[n+4>>2];x[h+68>>2]=0;x[h+72>>2]=0;x[h+52>>2]=g;x[h+60>>2]=x[n+12>>2];x[h- -64>>2]=x[n+16>>2];g=x[n+8>>2];x[h+76>>2]=$;x[h+56>>2]=g>>>0>>0?g:j;n=n+148|0;h=h+240|0;g=(l|0)==(U|0);U=U+1|0;if(!g){continue}break}break y}if((l|0)==-1){break y}g=l+1|0;j=g&1;k=x[(pa+D(_,5644)|0)+4>>2];i=x[W+8>>2];h=b;if(l){g=g&-2;l=0;while(1){x[h+44>>2]=1;x[h+48>>2]=0;x[h+68>>2]=0;x[h+72>>2]=0;x[h+52>>2]=0;x[h+84>>2]=k;x[h+60>>2]=ga;x[h- -64>>2]=x[h+196>>2];x[h+324>>2]=k;x[h+76>>2]=$;x[h+56>>2]=i;x[h+308>>2]=0;x[h+312>>2]=0;x[h+292>>2]=0;x[h+284>>2]=1;x[h+288>>2]=0;x[h+300>>2]=ga;x[h+296>>2]=i;x[h+316>>2]=$;x[h+304>>2]=x[h+436>>2];h=h+480|0;l=l+2|0;if((g|0)!=(l|0)){continue}break}}if(!j){break y}x[h+44>>2]=1;x[h+48>>2]=0;x[h+68>>2]=0;x[h+72>>2]=0;x[h+52>>2]=0;x[h+84>>2]=k;x[h+60>>2]=ga;x[h- -64>>2]=x[h+196>>2];x[h+76>>2]=$;x[h+56>>2]=i}p=b;break o}jd(k)}jd(g)}Ca=X+32|0;i=p;z:{A:{if(!i){break A}z=ka+1|0;m=H;k=i;B:{C:{while(1){if(x[k+84>>2]==-1){break B}b=uc(x[ea+16>>2]<<2);if(!b){break B}T=Hc(b,1,x[ea+16>>2]<<2);if(_b(k)){while(1){j=x[ia+20>>2];D:{E:{if(A[k+40>>2]>=A[fa+12>>2]){break E}g=x[k+32>>2];b=D(x[k+28>>2],76)+j|0;if(g>>>0>=A[b+24>>2]){break E}g=x[b+28>>2]+D(g,152)|0;if(!x[g+24>>2]){break E}L=0;F:{while(1){b=g+D(L,36)|0;h=x[b+48>>2]+D(x[k+36>>2],40)|0;if(!lc(N,x[k+28>>2],x[k+32>>2],x[b+44>>2],x[h>>2],x[h+4>>2],x[h+8>>2],x[h+12>>2])){L=L+1|0;if(L>>>0>2]){continue}break F}break}b=x[ia+20>>2];x[T+(x[k+28>>2]<<2)>>2]=0;x[t+136>>2]=0;if(!ic(x[ma+4>>2],b,fa,k,t+140|0,m,t+136|0,r,f)){break C}j=x[k+32>>2];L=x[k+28>>2];P=x[t+136>>2];if(x[t+140>>2]){U=0;x[t+136>>2]=0;u=x[(x[ia+20>>2]+D(L,76)|0)+28>>2]+D(j,152)|0;j=x[u+24>>2];G:{if(!j){break G}U=r-P|0;G=m+r|0;p=u+28|0;n=0;b=0;C=m+P|0;aa=C;while(1){H:{if(x[p+8>>2]==x[p>>2]|x[p+12>>2]==x[p+4>>2]){break H}g=x[p+20>>2]+D(x[k+36>>2],40)|0;s=D(x[g+20>>2],x[g+16>>2]);if(!s){break H}L=x[g+24>>2];_=0;while(1){if(b){x[L+52>>2]=0}h=x[L+36>>2];if(h){j=x[L>>2];l=x[L+40>>2];I:{if(l){g=D(l,24)+j|0;j=g-24|0;if(x[j+4>>2]!=x[j+12>>2]){break I}j=g;g=l+1|0}else{g=1}x[L+40>>2]=g}J:{while(1){g=x[j+20>>2];K:{if(!(!(b|g>>>0>(aa^-1)>>>0)&G>>>0>=g+aa>>>0)){l=x[k+28>>2];h=x[k+32>>2];b=x[k+36>>2];if(x[x[ma+4>>2]+104>>2]){x[t+120>>2]=l;x[t+116>>2]=h;x[t+112>>2]=n;x[t+108>>2]=b;x[t+104>>2]=_;x[t+100>>2]=U;x[t+96>>2]=g;hb(f,1,18662,t+96|0);break C}x[t+88>>2]=l;x[t+84>>2]=h;x[t+80>>2]=n;x[t+76>>2]=b;x[t+72>>2]=_;x[t+68>>2]=U;x[t+64>>2]=g;hb(f,2,18662,t- -64|0);x[L+52>>2]=0;l=x[j+16>>2];x[j+4>>2]=l+x[j+4>>2];g=x[L+36>>2];h=g-l|0;x[L+36>>2]=h;b=1;if((g|0)==(l|0)){break K}j=x[L+40>>2]+1|0;x[L+40>>2]=j;break J}q=x[L+4>>2];b=x[L+52>>2];if(!((b|0)!=x[L+56>>2])){b=b<<1|1;q=yc(q,b<<3);if(!q){hb(f,1,1072,0);break C}x[L+56>>2]=b;x[L+4>>2]=q;b=x[L+52>>2];g=x[j+20>>2];h=x[L+36>>2]}l=h;h=(b<<3)+q|0;x[h+4>>2]=g;x[h>>2]=aa;x[L+52>>2]=b+1;x[j>>2]=x[j>>2]+g;q=x[j+16>>2];b=q+x[j+4>>2]|0;x[j+4>>2]=b;h=l-q|0;x[L+36>>2]=h;x[j+8>>2]=b;aa=g+aa|0;b=0;if((l|0)==(q|0)){break K}x[L+40>>2]=x[L+40>>2]+1;j=j+24|0}if(h){continue}break}j=x[L+40>>2]}x[L+44>>2]=j}L=L- -64|0;_=_+1|0;if((s|0)!=(_|0)){continue}break}j=x[u+24>>2]}p=p+36|0;n=n+1|0;if(n>>>0>>0){continue}break}if(b){break G}U=aa-C|0}P=P+U|0;L=x[k+28>>2];j=x[k+32>>2]}b=x[ea+24>>2]+D(L,52)|0;g=x[b+36>>2];x[b+36>>2]=g>>>0>>0?j:g;break D}j=x[ia+20>>2]}x[t+136>>2]=0;if(!ic(x[ma+4>>2],j,fa,k,t+140|0,m,t+136|0,r,f)){break C}L=x[k+28>>2];P=x[t+136>>2];if(!x[t+140>>2]){break D}s=x[(x[ia+20>>2]+D(L,76)|0)+28>>2]+D(x[k+32>>2],152)|0;j=x[s+24>>2];if(!j){break D}G=r-P|0;n=s+28|0;b=0;_=0;while(1){L:{if(x[n+8>>2]==x[n>>2]|x[n+12>>2]==x[n+4>>2]){break L}g=x[n+20>>2]+D(x[k+36>>2],40)|0;l=D(x[g+20>>2],x[g+16>>2]);if(!l){break L}L=x[g+24>>2];q=0;while(1){M:{h=x[L+36>>2];if(!h){break M}j=x[L>>2];N:{O:{p=x[L+40>>2];if(p){j=D(p,24)+j|0;g=j-24|0;if(x[g+4>>2]!=x[g+12>>2]){j=g;break O}ua=p+1|0}else{ua=1}g=0;break N}g=1}while(1){if(!g){x[L+40>>2]=ua;g=1;continue}P:{Q:{C=x[j+20>>2];g=C+b|0;if(!(g>>>0>=C>>>0&g>>>0<=G>>>0)){p=x[k+28>>2];h=x[k+32>>2];g=x[k+36>>2];if(x[x[ma+4>>2]+104>>2]){break Q}x[t+24>>2]=p;x[t+20>>2]=h;x[t+16>>2]=_;x[t+12>>2]=g;x[t+8>>2]=q;x[t+4>>2]=G;x[t>>2]=C;hb(f,2,18577,t);h=x[L+36>>2];g=x[j+20>>2]+b|0}p=x[j+16>>2];x[j+4>>2]=p+x[j+4>>2];b=h-p|0;x[L+36>>2]=b;if((h|0)!=(p|0)){break P}b=g;break M}x[t+56>>2]=p;x[t+52>>2]=h;x[t+48>>2]=_;x[t+44>>2]=g;x[t+40>>2]=q;x[t+36>>2]=G;x[t+32>>2]=C;hb(f,1,18577,t+32|0);break C}j=j+24|0;ua=x[L+40>>2]+1|0;h=b;b=g;g=0;continue}}L=L- -64|0;q=q+1|0;if((l|0)!=(q|0)){continue}break}j=x[s+24>>2]}n=n+36|0;_=_+1|0;if(_>>>0>>0){continue}break}L=x[k+28>>2];P=b+P|0}R:{if(!x[T+(L<<2)>>2]){break R}b=x[ea+24>>2]+D(L,52)|0;if(x[b+36>>2]){break R}x[b+36>>2]=x[(x[ia+20>>2]+D(L,76)|0)+24>>2]-1}r=r-P|0;m=m+P|0;if(_b(k)){continue}break}}jd(T);k=k+240|0;Y=Y+1|0;if(Y>>>0<=A[fa+420>>2]){continue}break}Zb(i,z);x[Da+8>>2]=m-H;b=1;break z}Zb(i,z);jd(T);break A}Zb(i,z)}b=0}Ca=t+144|0;Va(ma);if(!b){break b}b=x[x[N+32>>2]+5584>>2];H=x[x[N+20>>2]>>2];L=x[H+20>>2];x[Da+12>>2]=1;h=vc(1,24);if(!h){h=0}I=0;g=x[N+32>>2];s=x[b+16>>2]>>>4&1&x[g+12>>2]==x[g+8>>2];na=x[H+16>>2];S:{if(!na){break S}while(1){g=x[N+68>>2];if(!(x[g+(I<<2)>>2]?0:g)){p=Da+12|0;m=0;j=x[L+24>>2];T:{if(!j){break T}n=x[N+44>>2];while(1){u=x[L+28>>2]+D(m,152)|0;r=x[u+24>>2];if(r){j=x[u+20>>2];k=x[u+16>>2];C=0;while(1){if(D(j,k)){G=u+D(C,36)|0;l=G+28|0;q=0;while(1){z=x[G+48>>2]+D(q,40)|0;g=lc(N,x[L+16>>2],m,x[G+44>>2],x[z>>2],x[z+4>>2],x[z+8>>2],x[z+12>>2]);k=x[z+20>>2];r=x[z+16>>2];j=D(k,r);U:{if(g){if(!j){break U}r=0;while(1){j=x[z+24>>2]+(r<<6)|0;V:{if(!lc(N,x[L+16>>2],m,x[G+44>>2],x[j+8>>2],x[j+12>>2],x[j+16>>2],x[j+20>>2])){g=x[j+60>>2];if(!g){break V}jd(g);x[j+60>>2]=0;break V}if(!(x[j+60>>2]|x[j+16>>2]==x[j+8>>2]|x[j+20>>2]==x[j+12>>2]?x[N+64>>2]:1)){break V}i=vc(1,44);if(!i){x[Da+12>>2]=0;break T}g=x[N+64>>2];x[i+36>>2]=h;x[i+28>>2]=p;x[i+20>>2]=b;x[i+16>>2]=L;x[i+12>>2]=l;x[i+8>>2]=j;x[i+4>>2]=m;x[i>>2]=g;x[i+40>>2]=s;x[i+32>>2]=f;x[i+24>>2]=x[n+4>>2]>1;nb(n,154,i);if(!x[Da+12>>2]){break T}}r=r+1|0;if(r>>>0>2],x[z+16>>2])>>>0){continue}break}break U}if(!j){break U}j=0;while(1){i=x[z+24>>2]+(j<<6)|0;g=x[i+60>>2];if(g){jd(g);x[i+60>>2]=0;r=x[z+16>>2];k=x[z+20>>2]}j=j+1|0;if(j>>>0>>0){continue}break}}q=q+1|0;j=x[u+20>>2];k=x[u+16>>2];if(q>>>0>>0){continue}break}r=x[u+24>>2]}C=C+1|0;if(C>>>0>>0){continue}break}j=x[L+24>>2]}m=m+1|0;if(m>>>0>>0){continue}break}}if(!x[Da+12>>2]){break S}na=x[H+16>>2]}b=b+1080|0;L=L+76|0;I=I+1|0;if(na>>>0>I>>>0){continue}break}}na=0;ob(x[N+44>>2]);if(h){jd(h)}if(!x[Da+12>>2]){break b}W:{if(x[N+64>>2]){break W}L=x[N+24>>2];if(!x[L+16>>2]){break W}b=0;while(1){l=x[x[x[N+20>>2]>>2]+20>>2]+D(b,76)|0;g=x[l+28>>2]+D(x[(x[L+24>>2]+D(b,52)|0)+36>>2],152)|0;k=x[g+136>>2];i=x[g+144>>2];j=x[g+140>>2];h=x[g+148>>2];jd(x[l+52>>2]);x[l+52>>2]=0;X:{g=x[N+68>>2];if((i|0)==(k|0)|(x[g+(b<<2)>>2]?0:g)|(h|0)==(j|0)){break X}h=h-j|0;g=i-k|0;Fl(h,0,g,0);if(Ha){hb(f,1,7406,0);break b}g=D(g,h);if(g>>>0>=1073741824){hb(f,1,7406,0);break b}g=wc(g<<2);x[l+52>>2]=g;if(g){break X}hb(f,1,7406,0);break b}b=b+1|0;L=x[N+24>>2];if(b>>>0>2]){continue}break}}b=x[N+32>>2];Y=x[x[N+20>>2]>>2];if(x[Y+16>>2]){I=x[Y+20>>2];b=x[b+5584>>2];L=x[x[N+24>>2]+24>>2];Q=0;while(1){Y:{g=x[N+68>>2];if(x[g+(Q<<2)>>2]?0:g){break Y}h=x[L+36>>2]+1|0;if(x[b+20>>2]==1){ia=h;g=0;ra=Ca-32|0;Ca=ra;Z:{_:{if(x[N+64>>2]){h=1;if((ia|0)==1){break Z}k=x[I+28>>2];q=ia-1|0;m=q&1;T=x[N+44>>2];$:{if((ia|0)==2){r=0;i=k;break $}l=q&-2;r=0;i=k;h=0;while(1){g=x[i+160>>2]-x[i+152>>2]|0;j=g>>>0>>0?r:g;g=x[i+164>>2]-x[i+156>>2]|0;j=g>>>0>>0?j:g;g=x[i+312>>2]-x[i+304>>2]|0;j=g>>>0>>0?j:g;g=x[i+316>>2]-x[i+308>>2]|0;r=g>>>0>>0?j:g;i=i+304|0;h=h+2|0;if((l|0)!=(h|0)){continue}break}}if(m){g=x[i+160>>2]-x[i+152>>2]|0;h=g>>>0>>0?r:g;g=x[i+164>>2]-x[i+156>>2]|0;r=g>>>0>>0?h:g}h=0;if(r>>>0>134217727){break Z}g=(D(x[I+24>>2],152)+k|0)-152|0;p=x[g>>2];m=x[g+8>>2];l=x[k+4>>2];g=x[k+12>>2];i=x[k>>2];j=x[k+8>>2];u=x[T+4>>2];H=r<<5;z=xc(H);x[ra+16>>2]=z;if(!z){break Z}x[ra>>2]=z;if(q){G=m-p|0;g=g-l|0;j=j-i|0;while(1){C=x[I+36>>2];h=g;x[ra+8>>2]=g;g=j;x[ra+24>>2]=g;m=x[k+156>>2];l=x[k+164>>2];i=x[k+160>>2];j=x[k+152>>2];x[ra+28>>2]=(j|0)%2;j=i-j|0;x[ra+20>>2]=j-g;p=(u|0)<2;g=l-m|0;aa:{if(!(!p&g>>>0>1)){i=0;if(!g){break aa}while(1){rb(ra+16|0,C+(D(i,G)<<2)|0);i=i+1|0;if((i|0)!=(g|0)){continue}break}break aa}n=g>>>0>>0?g:u;m=n-1|0;s=(g>>>0)/(n>>>0)|0;r=0;while(1){i=uc(36);if(!i){break _}l=x[ra+20>>2];x[i>>2]=x[ra+16>>2];x[i+4>>2]=l;l=x[ra+28>>2];x[i+8>>2]=x[ra+24>>2];x[i+12>>2]=l;x[i+28>>2]=D(r,s);x[i+24>>2]=C;x[i+20>>2]=G;x[i+16>>2]=j;l=(m|0)==(r|0);r=r+1|0;x[i+32>>2]=l?g:D(s,r);l=xc(H);x[i>>2]=l;if(!l){h=0;ob(T);jd(i);jd(z);break Z}nb(T,73,i);if((n|0)!=(r|0)){continue}break}ob(T)}x[ra+4>>2]=g-h;x[ra+12>>2]=x[k+156>>2]%2;ba:{if(!(!p&j>>>0>1)){r=8;i=0;if(j>>>0>=8){while(1){sb(ra,C+(i<<2)|0,G,8);i=r;r=i+8|0;if(r>>>0<=j>>>0){continue}break}}if(i>>>0>=j>>>0){break ba}sb(ra,C+(i<<2)|0,G,j-i|0);break ba}p=j>>>0>>0?j:u;l=p-1|0;m=(j>>>0)/(p>>>0)|0;r=0;while(1){i=uc(36);if(!i){break _}h=x[ra+4>>2];x[i>>2]=x[ra>>2];x[i+4>>2]=h;h=x[ra+12>>2];x[i+8>>2]=x[ra+8>>2];x[i+12>>2]=h;x[i+28>>2]=D(m,r);x[i+24>>2]=C;x[i+20>>2]=G;x[i+16>>2]=g;h=(l|0)==(r|0);r=r+1|0;x[i+32>>2]=h?j:D(m,r);h=xc(H);x[i>>2]=h;if(!h){h=0;ob(T);jd(i);jd(z);break Z}nb(T,74,i);if((r|0)!=(p|0)){continue}break}ob(T)}k=k+152|0;q=q-1|0;if(q){continue}break}}h=1;jd(z);break Z}h=1;m=x[I+28>>2];Ra=ia-1|0;La=m+D(Ra,152)|0;if(x[La>>2]==x[La+8>>2]|x[La+4>>2]==x[La+12>>2]){break Z}q=x[m+4>>2];s=x[m+12>>2];r=x[m>>2];p=x[m+8>>2];pa=x[I+68>>2];ea=x[I+64>>2];ga=x[I+60>>2];qa=x[I+56>>2];Ea=tb(I,ia);if(!Ea){h=0;break Z}ca:{da:{ea:{fa:{ga:{if((ia|0)!=1){l=Ra&1;if((ia|0)!=2){break ga}h=0;i=m;break fa}break ea}k=Ra&-2;h=0;i=m;while(1){j=x[i+160>>2]-x[i+152>>2]|0;j=h>>>0>j>>>0?h:j;h=x[i+164>>2]-x[i+156>>2]|0;j=h>>>0>>0?j:h;h=x[i+312>>2]-x[i+304>>2]|0;j=h>>>0>>0?j:h;h=x[i+316>>2]-x[i+308>>2]|0;h=h>>>0>>0?j:h;i=i+304|0;g=g+2|0;if((k|0)!=(g|0)){continue}break}}if(l){g=x[i+160>>2]-x[i+152>>2]|0;h=g>>>0>>0?h:g;g=x[i+164>>2]-x[i+156>>2]|0;h=g>>>0>>0?h:g}if(h>>>0>=268435456){break ca}o=xc(h<<4);if(!o){break ca}ha:{if(ia>>>0<2){break ha}q=s-q|0;n=p-r|0;eb=o+28|0;T=o+24|0;z=o+20|0;Ia=o+4|0;Na=1;_=m;ia:while(1){h=x[_+156>>2];ha=x[_+164>>2]-h|0;za=ha-q|0;g=x[_+152>>2];Ga=(g|0)%2|0;Sa=(h|0)%2|0;ba=x[_+160>>2]-g|0;va=ba-n|0;i=qa;g=i;l=ga;j=l;h=ea;wa=h;k=pa;P=k;p=x[I+20>>2];ja:{if((p|0)==(Na|0)){break ja}H=p-Na|0;j=0;g=0;if(qa){h=H&31;if((H&63)>>>0>=32){M=-1<>>32-h}h=qa+(g^-1)|0;g=M^-1;g=h>>>0>>0?g+1|0:g;i=H&31;g=(H&63)>>>0>=32?g>>>i|0:((1<>>i}if(ga){j=H&31;if((H&63)>>>0>=32){M=-1<>>32-j}j=ga+(h^-1)|0;h=M^-1;h=j>>>0>>0?h+1|0:h;i=H&31;j=(H&63)>>>0>=32?h>>>i|0:((1<>>i}k=0;h=0;if(ea){i=H&31;if((H&63)>>>0>=32){M=-1<>>32-i}i=ea+(h^-1)|0;h=M^-1;h=i>>>0>>0?h+1|0:h;l=H&31;h=(H&63)>>>0>=32?h>>>l|0:((1<>>l}if(pa){k=H&31;if((H&63)>>>0>=32){M=-1<>>32-k}k=pa+(i^-1)|0;i=M^-1;i=k>>>0>>0?i+1|0:i;l=H&31;k=(H&63)>>>0>=32?i>>>l|0:((1<>>l}wa=0;i=0;s=1<>>0>>0){l=H&31;if((H&63)>>>0>=32){M=-1<>>32-l}l=i^-1;p=l+(qa-s|0)|0;i=M^-1;i=l>>>0>p>>>0?i+1|0:i;l=H&31;i=(H&63)>>>0>=32?i>>>l|0:((1<>>l}if(s>>>0>>0){p=H&31;if((H&63)>>>0>=32){M=-1<>>32-p}p=l^-1;r=p+(ea-s|0)|0;l=M^-1;l=r>>>0

>>0?l+1|0:l;p=H&31;wa=(H&63)>>>0>=32?l>>>p|0:((1<>>p}P=0;l=0;if(s>>>0>>0){p=H&31;if((H&63)>>>0>=32){M=-1<>>32-p}p=l^-1;r=p+(ga-s|0)|0;l=M^-1;l=r>>>0

>>0?l+1|0:l;p=H&31;l=(H&63)>>>0>=32?l>>>p|0:((1<>>p}if(s>>>0>=pa>>>0){break ja}r=H&31;if((H&63)>>>0>=32){M=-1<>>32-r}r=p^-1;s=r+(pa-s|0)|0;p=M^-1;p=r>>>0>s>>>0?p+1|0:p;r=H&31;P=(H&63)>>>0>=32?p>>>r|0:((1<>>r}H=x[_+180>>2];p=wa-H|0;r=p>>>0<=wa>>>0?p:0;p=r+2|0;p=r>>>0>p>>>0?-1:p;Aa=p>>>0>>0?p:va;s=x[_+216>>2];p=h-s|0;p=h>>>0>=p>>>0?p:0;h=p+2|0;h=h>>>0

>>0?-1:h;Z=h>>>0>>0?h:n;p=(Ga?Aa:Z)<<1;h=(Ga?Z:Aa)<<1|1;Ma=h>>>0

>>0?p:h;W=Ma>>>0>>0;h=i-H|0;i=h>>>0<=i>>>0?h:0;h=i-2|0;r=h>>>0<=i>>>0?h:0;h=g-s|0;h=g>>>0>=h>>>0?h:0;g=h-2|0;s=g>>>0<=h>>>0?g:0;R=(Ga?r:s)<<1;ka=(Ga?s:r)<<1|1;H=R>>>0>>0;i=x[_+184>>2];g=j-i|0;h=g>>>0<=j>>>0?g:0;g=h-2|0;p=g>>>0<=h>>>0?g:0;ua=p;j=x[_+220>>2];g=l-j|0;h=g>>>0<=l>>>0?g:0;g=h-2|0;l=g>>>0<=h>>>0?g:0;u=l;g=k-i|0;h=g>>>0<=k>>>0?g:0;g=h+2|0;g=g>>>0>>0?-1:g;$=g>>>0>>0?g:q;G=$;g=P-j|0;h=g>>>0<=P>>>0?g:0;g=h+2|0;g=g>>>0>>0?-1:g;fa=g>>>0>>0?g:za;C=fa;if(Sa){u=p;G=fa;ua=l;C=$}Oa=W?Ma:ba;U=H?R:ka;fb=q+fa|0;ib=l+q|0;if(ha){i=va<<1;j=i-1|0;h=(s|0)<(va|0);Ya=o+((h?s<<1|1:j)<<2)|0;R=(n|0)>(Aa|0)?Aa:n-1|0;P=0;Za=(n|0)>1|(va|0)>0;_a=(Oa|0)!=0&ba>>>0>Ma>>>0;g=Ga<<2;$a=(Ia-g|0)+(r<<3)|0;Pa=o+(s<<3)|0;V=Pa+g|0;ka=(Z|0)<(va|0)?Z:va;H=s+1|0;aa=n+Aa|0;ca=n+r|0;ta=o+(U<<2)|0;xa=!n&(va|0)==1;Ba=o+(Oa<<2)|0;Fa=Ba-4|0;g=n<<1;S=g-2|0;sa=o+(S<<2)|0;M=o+(j<<2)|0;O=g-1|0;t=o+(O<<2)|0;X=i-2|0;ma=o+(X<<2)|0;oa=(o+((h?s:va)<<3)|0)-4|0;while(1){ka:{if(!(P>>>0<$>>>0&p>>>0<=P>>>0|P>>>0>>0&P>>>0>=ib>>>0)){W=P+1|0;break ka}if(_a){x[Fa>>2]=0}if(ba>>>0>Ma>>>0){x[Ba>>2]=0}W=P+1|0;Ac(Ea,s,P,Z,W,V,2,0);Ac(Ea,ca,P,aa,W,$a,2,0);la:{ma:{na:{if(!Ga){if(!Za){break la}if((s|0)>=(Z|0)){break ma}oa:{pa:{if((s|0)>0){h=x[oa>>2];break pa}h=x[Ia>>2];g=h;if((s|0)<0){break oa}}g=h;h=x[Ya>>2]}x[Pa>>2]=x[Pa>>2]-((g+h|0)+2>>2);j=s;h=H;g=h;if((ka|0)<=(g|0)){break na}while(1){h=o+(g<<3)|0;x[h>>2]=x[h>>2]-((x[(o+(j<<3)|0)+4>>2]+x[h+4>>2]|0)+2>>2);j=g;g=g+1|0;if((ka|0)!=(g|0)){continue}break}h=ka;break na}qa:{if(!xa){h=s;if((Z|0)<=(h|0)){break qa}while(1){g=o+(h<<3)|0;i=g;j=x[g+4>>2];ra:{sa:{if((h|0)>=0){g=h+1|0;wa=x[o+(((h|0)<(va|0)?h<<1:X)<<2)>>2];break sa}wa=x[o>>2];g=0;h=h+1|0;k=o;if(h){break ra}}if((g|0)>=(va|0)){h=g;k=ma;break ra}h=g;k=o+(g<<3)|0}g=k;x[i+4>>2]=j-((x[g>>2]+wa|0)+2>>2);if((h|0)<(Z|0)){continue}break}break qa}x[o>>2]=x[o>>2]/2;break la}h=r;if((Aa|0)<=(h|0)){break la}while(1){i=o+(h<<3)|0;j=x[i>>2];ta:{if((h|0)<0){k=x[Ia>>2];wa=Ia;break ta}g=h<<1;k=x[o+(((h|0)<(n|0)?g|1:O)<<2)>>2];wa=Ia;if(!h){break ta}wa=t;if((h|0)>(n|0)){break ta}wa=(o+(g<<2)|0)-4|0}g=wa;x[i>>2]=j+(x[g>>2]+k>>1);h=h+1|0;if((Aa|0)!=(h|0)){continue}break}break la}if((h|0)>=(Z|0)){break ma}while(1){g=o+(h<<3)|0;i=g;j=x[g>>2];ua:{va:{if((h|0)>0){k=x[(o+(((h|0)<(va|0)?h:va)<<3)|0)-4>>2];break va}k=x[Ia>>2];g=Ia;if((h|0)<0){break ua}}g=M;if((h|0)>=(va|0)){break ua}g=(o+(h<<3)|0)+4|0}x[i>>2]=j-((x[g>>2]+k|0)+2>>2);h=h+1|0;if((Z|0)!=(h|0)){continue}break}}if((r|0)>=(Aa|0)){break la}g=r;h=g;if((R|0)>(g|0)){while(1){g=o+(h<<3)|0;h=h+1|0;x[g+4>>2]=x[g+4>>2]+(x[o+(h<<3)>>2]+x[g>>2]>>1);if((h|0)!=(R|0)){continue}break}g=R}if((g|0)>=(Aa|0)){break la}while(1){h=g;wa:{xa:{if((g|0)>=0){i=x[o+(((h|0)<(n|0)?h<<1:S)<<2)>>2];j=h+1|0;break xa}i=x[o>>2];j=0;g=h+1|0;k=o;if(g){break wa}}if((j|0)>=(n|0)){g=j;k=sa;break wa}g=j;k=o+(g<<3)|0}j=k;h=o+(h<<3)|0;x[h+4>>2]=x[h+4>>2]+(x[j>>2]+i>>1);if((g|0)<(Aa|0)){continue}break}}if(!Cc(Ea,U,P,Oa,W,ta,1,0)){break da}}P=W;if((ha|0)!=(P|0)){continue}break}}_=_+152|0;h=G<<1;g=C<<1|1;g=g>>>0>>0?h:g;wa=g>>>0>>0?g:ha;g=p<<3;h=za<<3;r=h-1|0;C=(p|0)<(za|0);Ga=o+((C?g|7:r)<<2)|0;k=h-2|0;Ma=o+((C?g|6:k)<<2)|0;i=h-3|0;Pa=o+((C?g|5:i)<<2)|0;ab=h-4|0;Ya=o+((C?g|4:ab)<<2)|0;H=(q|0)>(fa|0)?fa:q-1|0;g=(za|0)>0;Za=g|(q|0)>1;ya=o+(p<<5)|0;_a=ya+(Sa<<4)|0;$a=(o+(4-(Sa<<2)<<2)|0)+(l<<5)|0;j=q<<3;va=j-8|0;Ta=o+(((q|0)<=0?va:0)<<2)|0;Aa=h-8|0;Ua=o+((g?0:Aa)<<2)|0;n=($|0)<(za|0)?$:za;s=p+1|0;h=ua<<1;g=u<<1|1;V=g>>>0>h>>>0?h:g;aa=o+(V<<4)|0;ca=!q&(za|0)==1;g=o+(q<<5)|0;ta=g-20|0;xa=g-24|0;Ba=g-28|0;Fa=g-4|0;S=g-8|0;sa=g-12|0;g=o+(za<<5)|0;M=g-20|0;O=g-24|0;t=g-28|0;X=o+(va<<2)|0;ma=o+(r<<2)|0;oa=o+(k<<2)|0;P=o+(i<<2)|0;ua=o+(ab<<2)|0;W=j-4|0;R=o+(W<<2)|0;ka=o+(Aa<<2)|0;g=o+((C?p:za)<<5)|0;u=g-4|0;r=g-8|0;i=g-12|0;G=g-16|0;while(1){ya:{za:{Aa:{Ba:{C=U;if(C>>>0>>0){g=Oa-C|0;U=C+(g>>>0>=4?4:g)|0;Ac(Ea,C,p,U,$,_a,1,8);Ac(Ea,C,ib,U,fb,$a,1,8);if(!Sa){if(!Za){break ya}if((p|0)>=($|0)){break za}Ca:{if((p|0)>0){h=x[G>>2];k=r;j=i;g=u;break Ca}h=x[o+16>>2];if((p|0)<0){break Ba}k=T;j=z;g=eb}x[ya>>2]=x[ya>>2]-((x[Ya>>2]+h|0)+2>>2);x[ya+4>>2]=x[ya+4>>2]-((x[j>>2]+x[Pa>>2]|0)+2>>2);x[ya+8>>2]=x[ya+8>>2]-((x[k>>2]+x[Ma>>2]|0)+2>>2);h=x[Ga>>2];g=x[g>>2];break Aa}if(ca){x[o>>2]=x[o>>2]/2;x[o+4>>2]=x[o+4>>2]/2;x[o+8>>2]=x[o+8>>2]/2;x[o+12>>2]=x[o+12>>2]/2;break ya}h=p;if(($|0)>(h|0)){while(1){ja=h<<3;g=ja|4;Da:{Ea:{if((h|0)<0){k=o+(g<<2)|0;j=x[k>>2];g=x[o>>2];if((h|0)==-1){break Ea}x[k>>2]=j-((g<<1)+2>>2);j=ja<<2;g=o+(j|20)|0;x[g>>2]=x[g>>2]-((x[o+4>>2]<<1)+2>>2);g=o+(j|24)|0;x[g>>2]=x[g>>2]-((x[o+8>>2]<<1)+2>>2);k=(x[o+12>>2]<<1)+2|0;g=o+(j|28)|0;break Da}k=(h|0)<(za|0)?ja:Aa;j=h+1|0;if((j|0)>=(za|0)){g=o+(g<<2)|0;k=k<<2;x[g>>2]=x[g>>2]-((x[k+o>>2]+x[ka>>2]|0)+2>>2);j=ja<<2;g=o+(j|20)|0;x[g>>2]=x[g>>2]-((x[o+(k|4)>>2]+x[t>>2]|0)+2>>2);g=o+(j|24)|0;x[g>>2]=x[g>>2]-((x[o+(k|8)>>2]+x[O>>2]|0)+2>>2);k=(x[o+(k|12)>>2]+x[M>>2]|0)+2|0;g=o+(j|28)|0;break Da}g=o+(g<<2)|0;Z=k<<2;k=o+(j<<5)|0;x[g>>2]=x[g>>2]-((x[Z+o>>2]+x[k>>2]|0)+2>>2);j=ja<<2;g=o+(j|20)|0;x[g>>2]=x[g>>2]-((x[o+(Z|4)>>2]+x[k+4>>2]|0)+2>>2);g=o+(j|24)|0;x[g>>2]=x[g>>2]-((x[o+(Z|8)>>2]+x[k+8>>2]|0)+2>>2);k=(x[o+(Z|12)>>2]+x[k+12>>2]|0)+2|0;g=o+(j|28)|0;break Da}x[k>>2]=j-((g+x[Ua>>2]|0)+2>>2);j=ja<<2;g=o+(j|20)|0;x[g>>2]=x[g>>2]-((x[o+4>>2]+x[Ua+4>>2]|0)+2>>2);g=o+(j|24)|0;x[g>>2]=x[g>>2]-((x[o+8>>2]+x[Ua+8>>2]|0)+2>>2);k=(x[o+12>>2]+x[Ua+12>>2]|0)+2|0;g=o+(j|28)|0}x[g>>2]=x[g>>2]-(k>>2);h=h+1|0;if(($|0)!=(h|0)){continue}break}}h=l;if((fa|0)<=(h|0)){break ya}while(1){k=h<<3;Fa:{if((h|0)<0){j=k<<2;g=j+o|0;x[g>>2]=x[g>>2]+(x[o+16>>2]<<1>>1);g=o+(j|4)|0;x[g>>2]=x[g>>2]+(x[o+20>>2]<<1>>1);g=o+(j|8)|0;x[g>>2]=x[g>>2]+(x[o+24>>2]<<1>>1);k=x[o+28>>2]<<1;g=o+(j|12)|0;break Fa}la=((h|0)<(q|0)?k|4:W)<<2;j=x[la+o>>2];ja=k<<2;Z=ja+o|0;g=x[Z>>2];if(!h){x[Z>>2]=g+(j+x[o+16>>2]>>1);g=o+(ja|4)|0;x[g>>2]=x[g>>2]+(x[o+20>>2]+x[o+(la|4)>>2]>>1);g=o+(ja|8)|0;x[g>>2]=x[g>>2]+(x[o+24>>2]+x[o+(la|8)>>2]>>1);k=x[o+28>>2]+x[o+(la|12)>>2]|0;g=o+(ja|12)|0;break Fa}if((h|0)<=(q|0)){x[Z>>2]=g+(j+x[o+(k-4<<2)>>2]>>1);g=o+(ja|4)|0;x[g>>2]=x[g>>2]+(x[Z-12>>2]+x[o+(la|4)>>2]>>1);g=o+(ja|8)|0;x[g>>2]=x[g>>2]+(x[Z-8>>2]+x[o+(la|8)>>2]>>1);k=x[Z-4>>2]+x[o+(la|12)>>2]|0;g=o+(ja|12)|0;break Fa}x[Z>>2]=g+(j+x[R>>2]>>1);g=o+(ja|4)|0;x[g>>2]=x[g>>2]+(x[sa>>2]+x[o+(la|4)>>2]>>1);g=o+(ja|8)|0;x[g>>2]=x[g>>2]+(x[S>>2]+x[o+(la|8)>>2]>>1);k=x[Fa>>2]+x[o+(la|12)>>2]|0;g=o+(ja|12)|0}x[g>>2]=x[g>>2]+(k>>1);h=h+1|0;if((fa|0)!=(h|0)){continue}break}break ya}n=ba;q=ha;Na=Na+1|0;if((ia|0)!=(Na|0)){continue ia}break ha}x[ya>>2]=x[ya>>2]-((h<<1)+2>>2);x[ya+4>>2]=x[ya+4>>2]-((x[z>>2]<<1)+2>>2);x[ya+8>>2]=x[ya+8>>2]-((x[T>>2]<<1)+2>>2);h=x[eb>>2];g=h}x[ya+12>>2]=x[ya+12>>2]-((g+h|0)+2>>2);j=p;g=s;h=g;if((n|0)>(g|0)){while(1){k=o+(g<<5)|0;h=o+(j<<5)|0;x[k>>2]=x[k>>2]-((x[h+16>>2]+x[k+16>>2]|0)+2>>2);x[k+4>>2]=x[k+4>>2]-((x[h+20>>2]+x[k+20>>2]|0)+2>>2);x[k+8>>2]=x[k+8>>2]-((x[h+24>>2]+x[k+24>>2]|0)+2>>2);x[k+12>>2]=x[k+12>>2]-((x[h+28>>2]+x[k+28>>2]|0)+2>>2);j=g;g=g+1|0;if((n|0)!=(g|0)){continue}break}h=n}if((h|0)>=($|0)){break za}while(1){la=h<<3;Z=la|4;ja=(h|0)<(za|0);Ga:{if((h|0)<=0){k=x[o+16>>2];if((h|0)>=0){j=la<<2;g=j+o|0;Z=(ja?Z:ab)<<2;x[g>>2]=x[g>>2]-((k+x[Z+o>>2]|0)+2>>2);g=o+(j|4)|0;x[g>>2]=x[g>>2]-((x[o+20>>2]+x[o+(Z|4)>>2]|0)+2>>2);g=o+(j|8)|0;x[g>>2]=x[g>>2]-((x[o+24>>2]+x[o+(Z|8)>>2]|0)+2>>2);j=(x[o+28>>2]+x[o+(Z|12)>>2]|0)+2|0;break Ga}j=la<<2;g=j+o|0;x[g>>2]=x[g>>2]-((k<<1)+2>>2);g=o+(j|4)|0;x[g>>2]=x[g>>2]-((x[o+20>>2]<<1)+2>>2);g=o+(j|8)|0;x[g>>2]=x[g>>2]-((x[o+24>>2]<<1)+2>>2);j=(x[o+28>>2]<<1)+2|0;break Ga}Ja=o+((ja?h:za)<<5)|0;k=x[Ja-16>>2];if(!ja){j=la<<2;g=j+o|0;x[g>>2]=x[g>>2]-((k+x[ua>>2]|0)+2>>2);g=o+(j|4)|0;x[g>>2]=x[g>>2]-((x[Ja-12>>2]+x[P>>2]|0)+2>>2);g=o+(j|8)|0;x[g>>2]=x[g>>2]-((x[Ja-8>>2]+x[oa>>2]|0)+2>>2);j=(x[Ja-4>>2]+x[ma>>2]|0)+2|0;break Ga}j=la<<2;g=j+o|0;x[g>>2]=x[g>>2]-((k+x[o+(Z<<2)>>2]|0)+2>>2);g=o+(j|4)|0;x[g>>2]=x[g>>2]-((x[Ja-12>>2]+x[o+(j|20)>>2]|0)+2>>2);g=o+(j|8)|0;x[g>>2]=x[g>>2]-((x[Ja-8>>2]+x[o+(j|24)>>2]|0)+2>>2);j=(x[Ja-4>>2]+x[o+(j|28)>>2]|0)+2|0}g=o+(la<<2|12)|0;x[g>>2]=x[g>>2]-(j>>2);h=h+1|0;if(($|0)!=(h|0)){continue}break}}if((l|0)>=(fa|0)){break ya}g=l;h=g;if((H|0)>(g|0)){while(1){h=o+(g<<5)|0;x[h+16>>2]=x[h+16>>2]+(x[h+32>>2]+x[h>>2]>>1);x[h+28>>2]=x[h+28>>2]+(x[h+44>>2]+x[h+12>>2]>>1);x[h+24>>2]=x[h+24>>2]+(x[h+40>>2]+x[h+8>>2]>>1);x[h+20>>2]=x[h+20>>2]+(x[h+36>>2]+x[h+4>>2]>>1);g=g+1|0;if((H|0)!=(g|0)){continue}break}h=H}if((h|0)>=(fa|0)){break ya}while(1){la=h<<3;g=la|4;k=o+(la<<2|28)|0;Ha:{if((h|0)<0){j=x[o>>2];if((h|0)!=-1){g=o+(g<<2)|0;x[g>>2]=j+x[g>>2];j=la<<2;g=o+(j|20)|0;x[g>>2]=x[g>>2]+x[o+4>>2];g=o+(j|24)|0;x[g>>2]=x[g>>2]+x[o+8>>2];g=x[o+12>>2];break Ha}g=o+(g<<2)|0;x[g>>2]=x[g>>2]+(j+x[Ta>>2]>>1);j=la<<2;g=o+(j|20)|0;x[g>>2]=x[g>>2]+(x[Ta+4>>2]+x[o+4>>2]>>1);g=o+(j|24)|0;x[g>>2]=x[g>>2]+(x[Ta+8>>2]+x[o+8>>2]>>1);g=x[Ta+12>>2]+x[o+12>>2]>>1;break Ha}Z=(h|0)<(q|0)?la:va;j=h+1|0;if((j|0)>=(q|0)){g=o+(g<<2)|0;Z=Z<<2;x[g>>2]=x[g>>2]+(x[X>>2]+x[Z+o>>2]>>1);j=la<<2;g=o+(j|20)|0;x[g>>2]=x[g>>2]+(x[Ba>>2]+x[o+(Z|4)>>2]>>1);g=o+(j|24)|0;x[g>>2]=x[g>>2]+(x[xa>>2]+x[o+(Z|8)>>2]>>1);g=x[ta>>2]+x[o+(Z|12)>>2]>>1;break Ha}g=o+(g<<2)|0;ja=o+(j<<5)|0;Z=Z<<2;x[g>>2]=x[g>>2]+(x[ja>>2]+x[Z+o>>2]>>1);j=la<<2;g=o+(j|20)|0;x[g>>2]=x[g>>2]+(x[ja+4>>2]+x[o+(Z|4)>>2]>>1);g=o+(j|24)|0;x[g>>2]=x[g>>2]+(x[ja+8>>2]+x[o+(Z|8)>>2]>>1);g=x[ja+12>>2]+x[o+(Z|12)>>2]>>1}x[k>>2]=g+x[k>>2];h=h+1|0;if((fa|0)!=(h|0)){continue}break}}if(Cc(Ea,C,V,U,wa,aa,1,4)){continue}break}break}break da}jd(o);h=1}l=m+D(Ra,152)|0;k=x[l+136>>2];i=x[La>>2];j=x[La+4>>2];g=x[l+144>>2];Ac(Ea,k-i|0,x[l+140>>2]-j|0,g-i|0,x[l+148>>2]-j|0,x[I+52>>2],1,g-k|0);zc(Ea);break Z}zc(Ea);jd(o);h=0;break Z}zc(Ea);h=0;break Z}h=0;ob(T);jd(z)}Ca=ra+32|0;if(h){break Y}break b}C=0;m=0;V=Ca+-64|0;Ca=V;Ia:{if(x[N+64>>2]){i=x[I+28>>2];r=1;if((h|0)==1){break Ia}aa=h-1|0;p=aa&1;Ja:{if((h|0)==2){k=0;g=i;break Ja}l=aa&-2;k=0;g=i;while(1){h=x[g+160>>2]-x[g+152>>2]|0;j=h>>>0>>0?k:h;h=x[g+164>>2]-x[g+156>>2]|0;j=h>>>0>>0?j:h;h=x[g+312>>2]-x[g+304>>2]|0;j=h>>>0>>0?j:h;h=x[g+316>>2]-x[g+308>>2]|0;k=h>>>0>>0?j:h;g=g+304|0;m=m+2|0;if((l|0)!=(m|0)){continue}break}}r=0;if(p){h=x[g+160>>2]-x[g+152>>2]|0;h=h>>>0>>0?k:h;g=x[g+164>>2]-x[g+156>>2]|0;k=g>>>0>>0?h:g}if(k>>>0>134217727){break Ia}g=(D(x[I+24>>2],152)+i|0)-152|0;s=x[g>>2];m=x[g+8>>2];l=x[i+4>>2];j=x[i+12>>2];h=x[i>>2];g=x[i+8>>2];sa=x[N+44>>2];ma=x[sa+4>>2];ua=k<<5;p=wc(ua);x[V+32>>2]=p;if(!p){break Ia}x[V>>2]=p;if(!aa){r=1;jd(p);break Ia}l=j-l|0;h=g-h|0;g=ma>>>1|0;$=g>>>0<=2?2:g;ia=p+32|0;S=m-s|0;pa=D(S,7);ea=D(S,6);ga=D(S,5);qa=S<<2;ha=D(S,3);ba=S<<1;j=x[I+36>>2];W=S<<5;n=p;Ka:{while(1){s=l;x[V+8>>2]=l;x[V+40>>2]=h;X=x[i+156>>2];oa=x[i+164>>2];g=x[i+160>>2];l=x[i+152>>2];x[V+56>>2]=0;k=h;x[V+52>>2]=h;x[V+48>>2]=0;q=(l|0)%2|0;x[V+44>>2]=q;h=g-l|0;z=h-k|0;x[V+60>>2]=z;x[V+36>>2]=z;G=(ma|0)<2;l=oa-X|0;La:{if(!(!G&l>>>0>15)){C=0;g=j;if(l>>>0<8){break La}n=x[V+32>>2];while(1){k=V+32|0;ub(k,g,S,8);vb(k);k=0;if(h){while(1){m=(k<<5)+n|0;B[(k<<2)+g>>2]=B[m>>2];B[(k+S<<2)+g>>2]=B[m+4>>2];B[(k+ba<<2)+g>>2]=B[m+8>>2];B[(k+ha<<2)+g>>2]=B[m+12>>2];k=k+1|0;if((k|0)!=(h|0)){continue}break}k=0;while(1){m=(k<<5)+n|0;B[(k+qa<<2)+g>>2]=B[m+16>>2];B[(k+ga<<2)+g>>2]=B[m+20>>2];B[(k+ea<<2)+g>>2]=B[m+24>>2];B[(k+pa<<2)+g>>2]=B[m+28>>2];k=k+1|0;if((k|0)!=(h|0)){continue}break}}g=g+W|0;C=C+8|0;if((C|7)>>>0>>0){continue}break}break La}g=l>>>3|0;u=g>>>0>>0?g:ma;H=(l>>>0)/(u>>>0)&-8;C=l&-8;r=0;g=j;while(1){T=uc(48);if(!T){r=0;ob(sa);jd(n);break Ia}m=wc(ua);x[T>>2]=m;if(!m){r=0;ob(sa);jd(T);jd(n);break Ia}x[T+40>>2]=g;x[T+36>>2]=S;x[T+32>>2]=h;x[T+28>>2]=z;x[T+24>>2]=0;x[T+20>>2]=k;x[T+16>>2]=0;x[T+12>>2]=q;x[T+8>>2]=k;x[T+4>>2]=z;m=C-D(r,H)|0;r=r+1|0;m=(u|0)==(r|0)?m:H;x[T+44>>2]=m;nb(sa,75,T);g=(D(m,S)<<2)+g|0;if((r|0)!=(u|0)){continue}break}ob(sa)}Ma:{if(l>>>0<=C>>>0){break Ma}k=V+32|0;m=l-C|0;ub(k,g,S,m);vb(k);if(!h){break Ma}u=m>>>0<=1?1:m;H=u&-4;C=u&3;r=0;n=x[V+32>>2];while(1){z=(r<<5)+n|0;k=0;m=0;if(u>>>0>=4){while(1){B[(D(k,S)+r<<2)+g>>2]=B[z+(k<<2)>>2];q=k|1;B[(D(q,S)+r<<2)+g>>2]=B[z+(q<<2)>>2];q=k|2;B[(D(q,S)+r<<2)+g>>2]=B[z+(q<<2)>>2];q=k|3;B[(D(q,S)+r<<2)+g>>2]=B[z+(q<<2)>>2];k=k+4|0;m=m+4|0;if((H|0)!=(m|0)){continue}break}}m=0;if(C){while(1){B[(D(k,S)+r<<2)+g>>2]=B[z+(k<<2)>>2];k=k+1|0;m=m+1|0;if((C|0)!=(m|0)){continue}break}}r=r+1|0;if((r|0)!=(h|0)){continue}break}}M=l-s|0;x[V+4>>2]=M;g=x[i+156>>2];x[V+28>>2]=M;x[V+24>>2]=0;x[V+20>>2]=s;x[V+16>>2]=0;P=(g|0)%2|0;x[V+12>>2]=P;Na:{if(!(!G&h>>>0>15)){k=j;if(h>>>0<8){break Na}R=l&-2;ka=l&1;T=M&-2;z=M&1;u=s&-2;G=s&1;C=s+X|0;fa=oa-1|0;H=D(s,S);g=P<<5;U=ia-g|0;_=g+p|0;r=h;while(1){g=0;m=0;Oa:{Pa:{switch(s|0){default:while(1){O=(D(g,S)<<2)+k|0;q=x[O+4>>2];t=_+(g<<6)|0;x[t>>2]=x[O>>2];x[t+4>>2]=q;q=x[O+28>>2];x[t+24>>2]=x[O+24>>2];x[t+28>>2]=q;q=x[O+20>>2];x[t+16>>2]=x[O+16>>2];x[t+20>>2]=q;q=x[O+12>>2];x[t+8>>2]=x[O+8>>2];x[t+12>>2]=q;q=g|1;O=_+(q<<6)|0;t=(D(q,S)<<2)+k|0;q=x[t+28>>2];x[O+24>>2]=x[t+24>>2];x[O+28>>2]=q;q=x[t+20>>2];x[O+16>>2]=x[t+16>>2];x[O+20>>2]=q;q=x[t+12>>2];x[O+8>>2]=x[t+8>>2];x[O+12>>2]=q;q=x[t+4>>2];x[O>>2]=x[t>>2];x[O+4>>2]=q;g=g+2|0;m=m+2|0;if((u|0)!=(m|0)){continue}break};break;case 0:break Oa;case 1:break Pa}}if(!G){break Oa}q=_+(g<<6)|0;m=(D(g,S)<<2)+k|0;g=x[m+4>>2];x[q>>2]=x[m>>2];x[q+4>>2]=g;g=x[m+28>>2];x[q+24>>2]=x[m+24>>2];x[q+28>>2]=g;g=x[m+20>>2];x[q+16>>2]=x[m+16>>2];x[q+20>>2]=g;g=x[m+12>>2];x[q+8>>2]=x[m+8>>2];x[q+12>>2]=g}Qa:{if((l|0)==(s|0)){break Qa}q=(H<<2)+k|0;g=0;ca=0;if((C|0)!=(fa|0)){while(1){O=q+(D(g,S)<<2)|0;m=x[O+4>>2];t=U+(g<<6)|0;x[t>>2]=x[O>>2];x[t+4>>2]=m;m=x[O+28>>2];x[t+24>>2]=x[O+24>>2];x[t+28>>2]=m;m=x[O+20>>2];x[t+16>>2]=x[O+16>>2];x[t+20>>2]=m;m=x[O+12>>2];x[t+8>>2]=x[O+8>>2];x[t+12>>2]=m;m=g|1;O=U+(m<<6)|0;t=q+(D(m,S)<<2)|0;m=x[t+28>>2];x[O+24>>2]=x[t+24>>2];x[O+28>>2]=m;m=x[t+20>>2];x[O+16>>2]=x[t+16>>2];x[O+20>>2]=m;m=x[t+12>>2];x[O+8>>2]=x[t+8>>2];x[O+12>>2]=m;m=x[t+4>>2];x[O>>2]=x[t>>2];x[O+4>>2]=m;g=g+2|0;ca=ca+2|0;if((T|0)!=(ca|0)){continue}break}}if(!z){break Qa}t=U+(g<<6)|0;m=q+(D(g,S)<<2)|0;g=x[m+4>>2];x[t>>2]=x[m>>2];x[t+4>>2]=g;g=x[m+28>>2];x[t+24>>2]=x[m+24>>2];x[t+28>>2]=g;g=x[m+20>>2];x[t+16>>2]=x[m+16>>2];x[t+20>>2]=g;g=x[m+12>>2];x[t+8>>2]=x[m+8>>2];x[t+12>>2]=g}vb(V);Ra:{if(!l){break Ra}g=0;m=0;if((X|0)!=(fa|0)){while(1){O=p+(g<<5)|0;q=x[O+4>>2];t=(D(g,S)<<2)+k|0;x[t>>2]=x[O>>2];x[t+4>>2]=q;q=x[O+28>>2];x[t+24>>2]=x[O+24>>2];x[t+28>>2]=q;q=x[O+20>>2];x[t+16>>2]=x[O+16>>2];x[t+20>>2]=q;q=x[O+12>>2];x[t+8>>2]=x[O+8>>2];x[t+12>>2]=q;q=g|1;O=(D(q,S)<<2)+k|0;t=p+(q<<5)|0;q=x[t+28>>2];x[O+24>>2]=x[t+24>>2];x[O+28>>2]=q;q=x[t+20>>2];x[O+16>>2]=x[t+16>>2];x[O+20>>2]=q;q=x[t+12>>2];x[O+8>>2]=x[t+8>>2];x[O+12>>2]=q;q=x[t+4>>2];x[O>>2]=x[t>>2];x[O+4>>2]=q;g=g+2|0;m=m+2|0;if((R|0)!=(m|0)){continue}break}}if(!ka){break Ra}q=(D(g,S)<<2)+k|0;m=p+(g<<5)|0;g=x[m+4>>2];x[q>>2]=x[m>>2];x[q+4>>2]=g;g=x[m+28>>2];x[q+24>>2]=x[m+24>>2];x[q+28>>2]=g;g=x[m+20>>2];x[q+16>>2]=x[m+16>>2];x[q+20>>2]=g;g=x[m+12>>2];x[q+8>>2]=x[m+8>>2];x[q+12>>2]=g}k=k+32|0;r=r-8|0;if(r>>>0>7){continue}break}break Na}g=h>>>3|0;H=g>>>0<$>>>0?g:$;g=(h>>>0)/(H>>>0)|0;k=j;if(H){q=g&-8;m=h&-8;r=0;while(1){C=uc(48);if(!C){ob(sa);r=0;break Ka}g=wc(ua);x[C>>2]=g;if(!g){ob(sa);jd(C);r=0;break Ka}x[C+40>>2]=k;x[C+36>>2]=S;x[C+32>>2]=l;x[C+28>>2]=M;x[C+24>>2]=0;x[C+20>>2]=s;x[C+16>>2]=0;x[C+12>>2]=P;x[C+8>>2]=s;x[C+4>>2]=M;g=m-D(q,r)|0;r=r+1|0;g=(H|0)==(r|0)?g:q;x[C+44>>2]=g;nb(sa,76,C);k=(g<<2)+k|0;if((r|0)!=(H|0)){continue}break}}ob(sa)}u=h&7;Sa:{if(!u){break Sa}H=P<<5;Ta:{if(!s){break Ta}G=p+H|0;C=u<<2;g=0;if((s|0)!=1){q=s&-2;m=0;while(1){Gc(G+(g<<6)|0,(D(g,S)<<2)+k|0,C);r=g|1;Gc(G+(r<<6)|0,(D(r,S)<<2)+k|0,C);g=g+2|0;m=m+2|0;if((q|0)!=(m|0)){continue}break}}if(!(s&1)){break Ta}Gc(G+(g<<6)|0,(D(g,S)<<2)+k|0,C)}Ua:{if((l|0)==(s|0)){break Ua}C=ia-H|0;H=(D(s,S)<<2)+k|0;q=u<<2;g=0;if((X|0)!=(oa+(s^-1)|0)){r=M&-2;ca=0;while(1){Gc(C+(g<<6)|0,H+(D(g,S)<<2)|0,q);m=g|1;Gc(C+(m<<6)|0,H+(D(m,S)<<2)|0,q);g=g+2|0;ca=ca+2|0;if((r|0)!=(ca|0)){continue}break}}if(!(M&1)){break Ua}Gc(C+(g<<6)|0,H+(D(g,S)<<2)|0,q)}vb(V);if(!l){break Sa}s=u<<2;g=0;if((oa|0)!=(X+1|0)){r=l&-2;C=0;while(1){Gc((D(g,S)<<2)+k|0,p+(g<<5)|0,s);m=g|1;Gc((D(m,S)<<2)+k|0,p+(m<<5)|0,s);g=g+2|0;C=C+2|0;if((r|0)!=(C|0)){continue}break}}if(!(l&1)){break Sa}Gc((D(g,S)<<2)+k|0,p+(g<<5)|0,s)}i=i+152|0;aa=aa-1|0;if(aa){continue}break}r=1}jd(x[V+32>>2]);break Ia}r=1;j=x[I+28>>2];O=h-1|0;Ba=j+D(O,152)|0;if(x[Ba>>2]==x[Ba+8>>2]|x[Ba+4>>2]==x[Ba+12>>2]){break Ia}n=x[j+4>>2];q=x[j+12>>2];s=x[j>>2];p=x[j+8>>2];W=x[I+68>>2];R=x[I+64>>2];ka=x[I+60>>2];T=x[I+56>>2];ta=tb(I,h);if(!ta){r=0;break Ia}Va:{Wa:{if((h|0)!=1){m=O&1;if((h|0)!=2){break Wa}r=0;g=j;break Va}k=j+D(O,152)|0;i=x[k+136>>2];j=x[Ba>>2];h=x[Ba+4>>2];g=x[k+144>>2];Ac(ta,i-j|0,x[k+140>>2]-h|0,g-j|0,x[k+148>>2]-h|0,x[I+52>>2],1,g-i|0);zc(ta);break Ia}l=O&-2;r=0;g=j;while(1){i=x[g+160>>2]-x[g+152>>2]|0;k=i>>>0>>0?r:i;i=x[g+164>>2]-x[g+156>>2]|0;k=i>>>0>>0?k:i;i=x[g+312>>2]-x[g+304>>2]|0;k=i>>>0>>0?k:i;i=x[g+316>>2]-x[g+308>>2]|0;r=i>>>0>>0?k:i;g=g+304|0;C=C+2|0;if((l|0)!=(C|0)){continue}break}}if(m){i=x[g+160>>2]-x[g+152>>2]|0;i=i>>>0>>0?r:i;g=x[g+164>>2]-x[g+156>>2]|0;r=g>>>0>>0?i:g}Xa:{if(r>>>0>=134217728){break Xa}xa=wc(r<<5);x[V+32>>2]=xa;if(!xa){break Xa}x[V>>2]=xa;Ya:{if(h>>>0>=2){l=q-n|0;q=p-s|0;ma=xa+32|0;s=h;oa=x[I+20>>2];aa=1;ua=0;p=j;while(1){x[V+8>>2]=l;x[V+40>>2]=q;i=x[p+164>>2];h=x[p+160>>2];k=x[p+156>>2];g=x[p+152>>2];Fa=(g|0)%2|0;x[V+44>>2]=Fa;P=(k|0)%2|0;x[V+12>>2]=P;H=h-g|0;u=H-q|0;x[V+36>>2]=u;ba=i-k|0;fa=ba-l|0;x[V+4>>2]=fa;m=T;k=m;h=ka;r=h;g=R;ca=g;C=W;ia=C;Za:{if(!ua&(aa|0)==(oa|0)){break Za}z=oa-aa|0;r=0;k=0;if(T){h=z&31;if((z&63)>>>0>=32){M=-1<>>32-h}h=T+(g^-1)|0;g=M^-1;g=h>>>0>>0?g+1|0:g;i=z&31;k=(z&63)>>>0>=32?g>>>i|0:((1<>>i}if(ka){h=z&31;if((z&63)>>>0>=32){M=-1<>>32-h}h=ka+(g^-1)|0;g=M^-1;g=h>>>0>>0?g+1|0:g;i=z&31;r=(z&63)>>>0>=32?g>>>i|0:((1<>>i}C=0;g=0;if(R){h=z&31;if((z&63)>>>0>=32){M=-1<>>32-h}h=R+(g^-1)|0;g=M^-1;g=h>>>0>>0?g+1|0:g;i=z&31;g=(z&63)>>>0>=32?g>>>i|0:((1<>>i}if(W){i=z&31;if((z&63)>>>0>=32){M=-1<>>32-i}i=W+(h^-1)|0;h=M^-1;h=i>>>0>>0?h+1|0:h;m=z&31;C=(z&63)>>>0>=32?h>>>m|0:((1<>>m}ca=0;m=0;G=1<>>0>>0){i=z&31;if((z&63)>>>0>=32){M=-1<>>32-i}i=h^-1;m=i+(T-G|0)|0;h=M^-1;h=i>>>0>m>>>0?h+1|0:h;i=z&31;m=(z&63)>>>0>=32?h>>>i|0:((1<>>i}if(G>>>0>>0){i=z&31;if((z&63)>>>0>=32){M=-1<>>32-i}i=h^-1;n=i+(R-G|0)|0;h=M^-1;h=i>>>0>n>>>0?h+1|0:h;i=z&31;ca=(z&63)>>>0>=32?h>>>i|0:((1<>>i}ia=0;h=0;if(G>>>0>>0){i=z&31;if((z&63)>>>0>=32){M=-1<>>32-i}i=h^-1;n=i+(ka-G|0)|0;h=M^-1;h=i>>>0>n>>>0?h+1|0:h;i=z&31;h=(z&63)>>>0>=32?h>>>i|0:((1<>>i}if(G>>>0>=W>>>0){break Za}n=z&31;if((z&63)>>>0>=32){M=-1<>>32-n}n=i^-1;G=n+(W-G|0)|0;i=M^-1;i=n>>>0>G>>>0?i+1|0:i;n=z&31;ia=(z&63)>>>0>=32?i>>>n|0:((1<>>n}G=x[p+180>>2];i=ca-G|0;n=i>>>0<=ca>>>0?i:0;i=n+4|0;i=i>>>0>>0?-1:i;t=i>>>0>>0?i:u;n=x[p+216>>2];i=g-n|0;i=g>>>0>=i>>>0?i:0;g=i+4|0;g=g>>>0>>0?-1:g;X=g>>>0>>0?g:q;i=(Fa?t:X)<<1;g=(Fa?X:t)<<1|1;pa=g>>>0>>0?i:g;ea=pa>>>0>>0;g=m-G|0;i=g>>>0<=m>>>0?g:0;g=i-4|0;S=g>>>0<=i>>>0?g:0;g=k-n|0;i=g>>>0<=k>>>0?g:0;g=i-4|0;sa=g>>>0<=i>>>0?g:0;ga=(Fa?S:sa)<<1;qa=(Fa?sa:S)<<1|1;ha=ga>>>0>>0;k=x[p+184>>2];g=r-k|0;i=g>>>0<=r>>>0?g:0;g=i-4|0;z=g>>>0<=i>>>0?g:0;n=z;i=x[p+220>>2];g=h-i|0;h=g>>>0<=h>>>0?g:0;g=h-4|0;u=g>>>0<=h>>>0?g:0;m=u;g=C-k|0;h=g>>>0<=C>>>0?g:0;g=h+4|0;g=g>>>0>>0?-1:g;G=g>>>0>>0?g:l;r=G;g=ia-i|0;h=g>>>0<=ia>>>0?g:0;g=h+4|0;g=g>>>0>>0?-1:g;C=g>>>0>>0?g:fa;i=C;if(P){n=u;m=z;r=C;i=G}M=ea?pa:H;ca=ha?ga:qa;x[V+60>>2]=t;x[V+56>>2]=S;x[V+52>>2]=X;x[V+48>>2]=sa;_a:{if(ba>>>0<8){k=7;g=0;break _a}g=Fa<<5;$=(ma-g|0)+(S<<6)|0;ia=(g+xa|0)+(sa<<6)|0;fa=q+t|0;pa=q+S|0;ea=l+C|0;ga=l+u|0;qa=xa+(ca<<5)|0;h=0;k=7;while(1){$a:{if(!(h>>>0>>0&k>>>0>=z>>>0|h>>>0>>0&k>>>0>=ga>>>0)){g=h+8|0;break $a}g=0;k=ba-h|0;ha=k>>>0>=8?8:k;if(ha){while(1){U=g+h|0;_=U+1|0;k=g<<2;Ac(ta,sa,U,X,_,k+ia|0,16,0);Ac(ta,pa,U,fa,_,k+$|0,16,0);g=g+1|0;if((ha|0)!=(g|0)){continue}break}}vb(V+32|0);g=h+8|0;if(!Cc(ta,ca,h,M,g,qa,8,1)){break Ya}}h=g;k=g|7;if(ba>>>0>k>>>0){continue}break}}if(!(!(g>>>0>>0&k>>>0>=z>>>0)&(l+C>>>0<=g>>>0|l+u>>>0>k>>>0)|g>>>0>=ba>>>0)){h=Fa<<5;ea=(ma-h|0)+(S<<6)|0;ga=(h+xa|0)+(sa<<6)|0;qa=q+t|0;ha=q+S|0;q=ba-g|0;k=0;while(1){fa=g+k|0;pa=fa+1|0;h=k<<2;Ac(ta,sa,fa,X,pa,h+ga|0,16,0);Ac(ta,ha,fa,qa,pa,h+ea|0,16,0);k=k+1|0;if((q|0)!=(k|0)){continue}break}vb(V+32|0);if(!Cc(ta,ca,g,M,ba,xa+(ca<<5)|0,8,1)){break Ya}}x[V+28>>2]=C;x[V+24>>2]=u;x[V+20>>2]=G;x[V+16>>2]=z;if(M>>>0>ca>>>0){h=r<<1;g=i<<1|1;g=g>>>0>>0?h:g;qa=g>>>0>>0?g:ba;g=P<<5;ha=(ma-g|0)+(u<<6)|0;q=(g+xa|0)+(z<<6)|0;r=l+C|0;k=l+u|0;h=n<<1;g=m<<1|1;i=g>>>0>h>>>0?h:g;h=xa+(i<<5)|0;while(1){g=M-ca|0;g=(g>>>0>=8?8:g)+ca|0;Ac(ta,ca,z,g,G,q,1,16);Ac(ta,ca,k,g,r,ha,1,16);vb(V);if(!Cc(ta,ca,i,g,qa,h,1,8)){break Ya}ca=ca+8|0;if(M>>>0>ca>>>0){continue}break}}p=p+152|0;q=H;l=ba;aa=aa+1|0;ua=aa?ua:ua+1|0;if(ua|(s|0)!=(aa|0)){continue}break}}r=1;k=j+D(O,152)|0;i=x[k+136>>2];j=x[Ba>>2];h=x[Ba+4>>2];g=x[k+144>>2];Ac(ta,i-j|0,x[k+140>>2]-h|0,g-j|0,x[k+148>>2]-h|0,x[I+52>>2],1,g-i|0);zc(ta);jd(xa);break Ia}zc(ta);jd(xa);r=0;break Ia}zc(ta);r=0}Ca=V- -64|0;if(r){break Y}break b}b=b+1080|0;L=L+52|0;I=I+76|0;Q=Q+1|0;if(Q>>>0>2]){continue}break}Y=x[x[N+20>>2]>>2];b=x[N+32>>2]}j=x[b+16>>2];ab:{if(x[N+68>>2]|!j){break ab}I=x[Y+20>>2];k=x[I+28>>2];bb:{cb:{l=x[N+64>>2];if(l){Q=x[Y+16>>2];if(Q>>>0<3){break bb}i=x[I+24>>2];if(!((i|0)==x[I+100>>2]&(i|0)==x[I+176>>2])){hb(f,1,14152,0);break b}h=x[x[N+24>>2]+24>>2];g=x[h+36>>2];db:{if((g|0)!=x[h+88>>2]|(g|0)!=x[h+140>>2]){break db}g=k;k=D(i,152);g=(g+k|0)-152|0;h=D(x[g+12>>2]-x[g+4>>2]|0,x[g+8>>2]-x[g>>2]|0);g=k+x[I+104>>2]|0;i=g-152|0;if((h|0)!=(D(x[i+12>>2]-x[i+4>>2]|0,x[i+8>>2]-x[g-152>>2]|0)|0)){break db}g=k+x[I+180>>2]|0;i=g-152|0;if((D(x[i+12>>2]-x[i+4>>2]|0,x[i+8>>2]-x[g-152>>2]|0)|0)==(h|0)){break cb}}hb(f,1,14152,0);break b}Q=x[Y+16>>2];if(Q>>>0<3){break bb}g=x[x[N+24>>2]+24>>2];h=x[g+36>>2];eb:{if((h|0)!=x[g+88>>2]|(h|0)!=x[g+140>>2]){break eb}g=D(h,152);h=g+k|0;h=D(x[h+148>>2]-x[h+140>>2]|0,x[h+144>>2]-x[h+136>>2]|0);i=g+x[I+104>>2]|0;if((h|0)!=(D(x[i+148>>2]-x[i+140>>2]|0,x[i+144>>2]-x[i+136>>2]|0)|0)){break eb}g=g+x[I+180>>2]|0;if((D(x[g+148>>2]-x[g+140>>2]|0,x[g+144>>2]-x[g+136>>2]|0)|0)==(h|0)){break cb}}hb(f,1,14152,0);break b}if((j|0)==2){if(!x[b+5608>>2]){break ab}u=uc(Q<<2);if(!u){break b}G=x[Y+16>>2];fb:{if(!G){break fb}gb:{hb:{if(x[N+64>>2]){i=G&3;g=0;if(G>>>0>=4){break hb}Q=0;break gb}i=G&3;g=0;ib:{if(G>>>0<4){Q=0;break ib}j=G&-4;Q=0;k=0;while(1){l=Q<<2;x[l+u>>2]=x[I+52>>2];x[u+(l|4)>>2]=x[I+128>>2];x[u+(l|8)>>2]=x[I+204>>2];x[u+(l|12)>>2]=x[I+280>>2];Q=Q+4|0;I=I+304|0;k=k+4|0;if((j|0)!=(k|0)){continue}break}}if(!i){break fb}while(1){x[u+(Q<<2)>>2]=x[I+52>>2];Q=Q+1|0;I=I+76|0;g=g+1|0;if((i|0)!=(g|0)){continue}break}break fb}j=G&-4;Q=0;k=0;while(1){l=Q<<2;x[l+u>>2]=x[I+36>>2];x[u+(l|4)>>2]=x[I+112>>2];x[u+(l|8)>>2]=x[I+188>>2];x[u+(l|12)>>2]=x[I+264>>2];Q=Q+4|0;I=I+304|0;k=k+4|0;if((j|0)!=(k|0)){continue}break}}if(!i){break fb}while(1){x[u+(Q<<2)>>2]=x[I+36>>2];Q=Q+1|0;I=I+76|0;g=g+1|0;if((i|0)!=(g|0)){continue}break}}g=x[b+5608>>2];p=0;H=uc(G<<3);b=0;jb:{if(!H){break jb}if(!(!h|!G)){i=H+(G<<2)|0;s=G&-4;q=G&3;l=G-1|0;while(1){b=0;m=0;if(l>>>0>=3){while(1){k=b<<2;B[k+H>>2]=B[x[k+u>>2]>>2];j=k|4;B[j+H>>2]=B[x[j+u>>2]>>2];j=k|8;B[j+H>>2]=B[x[j+u>>2]>>2];j=k|12;B[j+H>>2]=B[x[j+u>>2]>>2];b=b+4|0;m=m+4|0;if((s|0)!=(m|0)){continue}break}}r=0;if(q){while(1){j=b<<2;B[j+H>>2]=B[x[j+u>>2]>>2];b=b+1|0;r=r+1|0;if((q|0)!=(r|0)){continue}break}}I=0;b=g;while(1){j=I<<2;m=j+i|0;x[m>>2]=0;da=E(0);r=0;n=0;if(l>>>0>2){while(1){k=r<<2;da=E(E(B[b>>2]*B[k+H>>2])+da);B[m>>2]=da;da=E(E(B[b+4>>2]*B[H+(k|4)>>2])+da);B[m>>2]=da;da=E(E(B[b+8>>2]*B[H+(k|8)>>2])+da);B[m>>2]=da;da=E(E(B[b+12>>2]*B[H+(k|12)>>2])+da);B[m>>2]=da;r=r+4|0;b=b+16|0;n=n+4|0;if((s|0)!=(n|0)){continue}break}}C=0;if(q){while(1){da=E(E(B[b>>2]*B[H+(r<<2)>>2])+da);B[m>>2]=da;r=r+1|0;b=b+4|0;C=C+1|0;if((q|0)!=(C|0)){continue}break}}j=j+u|0;k=x[j>>2];x[j>>2]=k+4;B[k>>2]=da;I=I+1|0;if((G|0)!=(I|0)){continue}break}p=p+1|0;if((p|0)!=(h|0)){continue}break}}jd(H);b=1}jd(u);if(b){break ab}break b}if(x[x[b+5584>>2]+20>>2]==1){if(l){pb(x[I+36>>2],x[I+112>>2],x[I+188>>2],h);break ab}pb(x[I+52>>2],x[I+128>>2],x[I+204>>2],h);break ab}if(l){qb(x[I+36>>2],x[I+112>>2],x[I+188>>2],h);break ab}qb(x[I+52>>2],x[I+128>>2],x[I+204>>2],h);break ab}x[Da>>2]=Q;hb(f,1,14213,Da)}C=x[x[N+20>>2]>>2];if(!x[C+16>>2]){na=1;break b}H=x[N+68>>2];i=x[C+20>>2];h=x[x[N+32>>2]+5584>>2];r=x[x[N+24>>2]+24>>2];m=0;while(1){kb:{if(x[H+(m<<2)>>2]?0:H){break kb}b=x[r+36>>2];j=x[i+28>>2];lb:{if(!x[N+64>>2]){b=j+D(b,152)|0;k=x[b+148>>2]-x[b+140>>2]|0;Y=x[b+144>>2]-x[b+136>>2]|0;na=0;g=i+52|0;break lb}g=j+D(b,152)|0;k=x[g+12>>2]-x[g+4>>2]|0;b=(j+D(x[i+24>>2],152)|0)-152|0;Y=x[g+8>>2]-x[g>>2]|0;na=x[b+8>>2]-(Y+x[b>>2]|0)|0;g=i+36|0}b=x[r+24>>2];mb:{if(x[r+32>>2]){b=1<>2];if(x[h+20>>2]!=1){if(!k|!Y){break kb}n=L>>31;q=j>>31;g=0;while(1){Q=0;while(1){da=B[b>>2];l=L;nb:{if(da>E(2147483648)){break nb}l=j;if(da>2];p=l;l=l>>31;Wa=E(J(da));Xa=E(da-Wa);if(XaE(.5)){break ob}Xa=da;da=E(Wa*E(.5));da=E(da-E(J(da)))==E(0)?Wa:Xa}}pb:{if(E(F(da))>31)|0;G=l+1|0;u=l;l=p+s|0;p=s>>>0>l>>>0?G:u;l=j>>>0>l>>>0&(q|0)>=(p|0)|(q|0)>(p|0)?j:l>>>0>>0&(n|0)>=(p|0)|(n|0)>(p|0)?l:L}x[b>>2]=l;b=b+4|0;Q=Q+1|0;if((Y|0)!=(Q|0)){continue}break}b=(na<<2)+b|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}break kb}if(!k|!Y){break kb}p=Y&-2;l=Y&1;g=0;while(1){Q=0;if((Y|0)!=1){while(1){s=x[h+1076>>2]+x[b>>2]|0;x[b>>2]=(j|0)>(s|0)?j:(s|0)<(L|0)?s:L;s=x[h+1076>>2]+x[b+4>>2]|0;x[b+4>>2]=(j|0)>(s|0)?j:(s|0)<(L|0)?s:L;b=b+8|0;Q=Q+2|0;if((p|0)!=(Q|0)){continue}break}}if(l){s=x[h+1076>>2]+x[b>>2]|0;x[b>>2]=(j|0)>(s|0)?j:(s|0)<(L|0)?s:L;b=b+4|0}b=b+(na<<2)|0;g=g+1|0;if((k|0)!=(g|0)){continue}break}}i=i+76|0;h=h+1080|0;r=r+52|0;na=1;m=m+1|0;if(m>>>0>2]){continue}break}break b}na=0;hb(f,1,7796,0)}Ca=Da+16|0;if(!na){Ab(Qa);x[a+8>>2]=x[a+8>>2]|32768;hb(f,1,15460,0);break a}qb:{if(!c){break qb}b=0;na=0;l=x[a+208>>2];g=kc(l,1);if(!((g|0)==-1|d>>>0>>0)){rb:{b=1;d=x[l+24>>2];if(!x[d+16>>2]){break rb}I=x[d+24>>2];Q=x[x[x[l+20>>2]>>2]+20>>2];while(1){b=x[I+24>>2];i=b&7;j=b>>>3|0;b=x[I+36>>2];h=x[Q+28>>2];sb:{if(x[l+64>>2]){d=h+D(b,152)|0;g=x[d+12>>2]-x[d+4>>2]|0;b=(h+D(x[Q+24>>2],152)|0)-152|0;d=x[d+8>>2]-x[d>>2]|0;h=x[b+8>>2]-(d+x[b>>2]|0)|0;b=Q+36|0;break sb}b=h+D(b,152)|0;g=x[b+148>>2]-x[b+140>>2]|0;d=x[b+144>>2]-x[b+136>>2]|0;h=0;b=Q+52|0}b=x[b>>2];tb:{ub:{vb:{wb:{j=j+((i|0)!=0)|0;switch(((j|0)==3?4:j)-1|0){case 1:break ub;case 0:break vb;case 3:break wb;default:break tb}}if(!g){break tb}k=d+h|0;m=d<<2;if(g>>>0>=4){j=g&-4;Y=0;while(1){h=Gc(c,b,m);c=k<<2;i=b+c|0;b=c;d=c+i|0;c=d+c|0;b=b+c|0;c=Gc(Gc(Gc(h+m|0,i,m)+m|0,d,m)+m|0,c,m)+m|0;Y=Y+4|0;if((j|0)!=(Y|0)){continue}break}}Y=0;d=g&3;if(!d){break tb}while(1){c=Gc(c,b,m);b=(k<<2)+b|0;c=c+m|0;Y=Y+1|0;if((d|0)!=(Y|0)){continue}break}break tb}j=!g|!d;if(x[I+32>>2]){if(j){break tb}i=d&-8;k=d&7;j=d-1|0;Y=0;while(1){d=0;if(j>>>0>=7){while(1){v[c|0]=x[b>>2];v[c+1|0]=x[b+4>>2];v[c+2|0]=x[b+8>>2];v[c+3|0]=x[b+12>>2];v[c+4|0]=x[b+16>>2];v[c+5|0]=x[b+20>>2];v[c+6|0]=x[b+24>>2];v[c+7|0]=x[b+28>>2];c=c+8|0;b=b+32|0;d=d+8|0;if((i|0)!=(d|0)){continue}break}}d=0;if(k){while(1){v[c|0]=x[b>>2];c=c+1|0;b=b+4|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=(h<<2)+b|0;Y=Y+1|0;if((Y|0)!=(g|0)){continue}break}break tb}if(j){break tb}i=d&-8;k=d&7;j=d-1|0;Y=0;while(1){d=0;if(j>>>0>=7){while(1){v[c|0]=x[b>>2];v[c+1|0]=x[b+4>>2];v[c+2|0]=x[b+8>>2];v[c+3|0]=x[b+12>>2];v[c+4|0]=x[b+16>>2];v[c+5|0]=x[b+20>>2];v[c+6|0]=x[b+24>>2];v[c+7|0]=x[b+28>>2];c=c+8|0;b=b+32|0;d=d+8|0;if((i|0)!=(d|0)){continue}break}}d=0;if(k){while(1){v[c|0]=x[b>>2];c=c+1|0;b=b+4|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=(h<<2)+b|0;Y=Y+1|0;if((Y|0)!=(g|0)){continue}break}break tb}j=!g|!d;if(x[I+32>>2]){if(j){break tb}i=d&-8;k=d&7;j=d-1|0;Y=0;while(1){d=0;if(j>>>0>=7){while(1){w[c>>1]=x[b>>2];w[c+2>>1]=x[b+4>>2];w[c+4>>1]=x[b+8>>2];w[c+6>>1]=x[b+12>>2];w[c+8>>1]=x[b+16>>2];w[c+10>>1]=x[b+20>>2];w[c+12>>1]=x[b+24>>2];w[c+14>>1]=x[b+28>>2];c=c+16|0;b=b+32|0;d=d+8|0;if((i|0)!=(d|0)){continue}break}}d=0;if(k){while(1){w[c>>1]=x[b>>2];c=c+2|0;b=b+4|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=(h<<2)+b|0;Y=Y+1|0;if((Y|0)!=(g|0)){continue}break}break tb}if(j){break tb}i=d&-8;k=d&7;j=d-1|0;Y=0;while(1){d=0;if(j>>>0>=7){while(1){w[c>>1]=x[b>>2];w[c+2>>1]=x[b+4>>2];w[c+4>>1]=x[b+8>>2];w[c+6>>1]=x[b+12>>2];w[c+8>>1]=x[b+16>>2];w[c+10>>1]=x[b+20>>2];w[c+12>>1]=x[b+24>>2];w[c+14>>1]=x[b+28>>2];c=c+16|0;b=b+32|0;d=d+8|0;if((i|0)!=(d|0)){continue}break}}d=0;if(k){while(1){w[c>>1]=x[b>>2];c=c+2|0;b=b+4|0;d=d+1|0;if((k|0)!=(d|0)){continue}break}}b=(h<<2)+b|0;Y=Y+1|0;if((Y|0)!=(g|0)){continue}break}}Q=Q+76|0;I=I+52|0;b=1;na=na+1|0;if(na>>>0>2]+16>>2]){continue}break}}}if(!b){break a}c=Qa+5596|0;b=x[c>>2];if(!b){break qb}jd(b);x[c>>2]=0;x[db+5600>>2]=0}x[a+8>>2]=x[a+8>>2]&-129;v[a+68|0]=y[a+68|0]&254;bb=1;b=x[e+12>>2];d=b;g=x[e+8>>2];if(b|g){b=x[e+56>>2];c=g-b|0;b=d-(x[e+60>>2]+(b>>>0>g>>>0)|0)|0}else{c=0;b=0}c=!(b|c);b=x[a+8>>2];if(c&(b|0)==64|(b|0)==256){break a}if((gb(e,Ka+10|0,2,f)|0)!=2){hb(f,x[a+184>>2]?1:2,6896,0);bb=!x[a+184>>2];break a}cb(Ka+10|0,Ka+12|0,2);b=x[Ka+12>>2];if((b|0)==65424){break a}if((b|0)==65497){x[a+8>>2]=256;x[a+204>>2]=0;break a}b=x[e+12>>2];d=b;g=x[e+8>>2];if(b|g){b=x[e+56>>2];c=g-b|0;b=d-(x[e+60>>2]+(b>>>0>g>>>0)|0)|0}else{c=0;b=0}if(!(b|c)){x[a+8>>2]=64;hb(f,2,12704,0);break a}bb=0;hb(f,1,12640,0)}Ca=Ka+16|0;return bb}function Cb(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=0,o=0,q=0,r=0,s=0,t=0,u=0,z=0,C=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=E(0),V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=E(0);u=Ca-80|0;Ca=u;x[u+40>>2]=65424;z=D(x[a+108>>2],x[a+104>>2]);a:{b:{c:{o=x[a+8>>2];d:{if((o|0)!=8){j=0;if((o|0)!=256){break a}x[u+40>>2]=65497;break d}if(v[a+68|0]&1){break d}C=z&-2;P=z&1;M=u+77|0;O=u+76|0;Q=u+72|0;o=65424;e:{f:{g:{while(1){h:{if((o|0)==65427){break h}i:{while(1){l=x[j+12>>2];q=l;o=x[j+8>>2];if(l|o){m=x[j+56>>2];l=o-m|0;o=q-(x[j+60>>2]+(m>>>0>o>>>0)|0)|0}else{l=0;o=0}if(!(l|o)){x[a+8>>2]=64;break h}if((gb(j,x[a+16>>2],2,k)|0)!=2){hb(k,1,6896,0);j=0;break a}cb(x[a+16>>2],u+36|0,2);o=x[u+36>>2];if(o>>>0<=1){hb(k,1,10439,0);j=0;break a}j:{if(x[u+40>>2]==32896){l=x[j+12>>2];q=l;o=x[j+8>>2];if(l|o){m=x[j+56>>2];l=o-m|0;o=q-(x[j+60>>2]+(m>>>0>o>>>0)|0)|0}else{l=0;o=0}if(!(l|o)){break j}o=x[u+36>>2]}q=x[a+8>>2];if(q&16){x[a+24>>2]=(x[a+24>>2]-o|0)-2}r=o-2|0;x[u+36>>2]=r;l=21024;t=x[u+40>>2];while(1){o=l;m=x[l>>2];if(m){l=o+12|0;if((m|0)!=(t|0)){continue}}break}if(!(q&x[o+4>>2])){hb(k,1,9814,0);j=0;break a}k:{if(A[a+20>>2]>=r>>>0){l=x[a+16>>2];break k}q=x[j+12>>2];t=q;l=x[j+8>>2];if(q|l){s=x[j+56>>2];q=l-s|0;l=t-(x[j+60>>2]+(l>>>0>>0)|0)|0}else{q=0;l=0}if(q>>>0>>0&(l|0)<=0|(l|0)<0){hb(k,1,10188,0);j=0;break a}l=yc(x[a+16>>2],x[u+36>>2]);if(!l){jd(x[a+16>>2]);x[a+16>>2]=0;x[a+20>>2]=0;hb(k,1,9390,0);j=0;break a}x[a+16>>2]=l;r=x[u+36>>2];x[a+20>>2]=r}l=gb(j,l,r,k);if((l|0)!=x[u+36>>2]){hb(k,1,6896,0);j=0;break a}o=x[o+8>>2];if(!o){hb(k,1,15694,0);j=0;break a}if(!(Ia[o|0](a,0,x[a+16>>2],0,l,0,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){x[u+32>>2]=x[u+40>>2];hb(k,1,17928,u+32|0);j=0;break a}l=x[j+56>>2];t=x[u+36>>2];s=x[a+200>>2];r=x[s+40>>2];J=x[a+204>>2];F=D(J,40);o=r+F|0;q=x[o+20>>2];K=q+1|0;H=x[o+28>>2];l:{if(K>>>0<=H>>>0){o=x[o+24>>2];break l}U=E(E(H>>>0)+E(100));m:{if(U=E(0)){q=~~U>>>0;break m}q=0}x[o+28>>2]=q;o=yc(x[o+24>>2],D(q,24));r=x[s+40>>2];q=F+r|0;if(!o){break i}x[q+24>>2]=o;q=x[q+20>>2];K=q+1|0}o=D(q,24)+o|0;x[o+16>>2]=t+4;l=(l-t|0)-4|0;x[o+8>>2]=l;x[o+12>>2]=l>>31;w[o>>1]=m;o=r+F|0;x[o+20>>2]=K;n:{if((m|0)!=65424){break n}q=x[o+16>>2];if(q){o=q+D(x[o+12>>2],24)|0;x[o>>2]=l;x[o+4>>2]=0}o=(x[j+56>>2]-x[u+36>>2]|0)-4|0;l=x[a+52>>2];if(o>>>0<=A[a+48>>2]&(l|0)>=0|(l|0)>0){break n}x[a+48>>2]=o;x[a+52>>2]=0}if(y[a+68|0]&4){if((Ia[x[j+40>>2]](j,0,x[a+24>>2],0,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=x[a+24>>2]|Ha){hb(k,1,6896,0);j=0;break a}x[u+40>>2]=65427;break h}if((gb(j,x[a+16>>2],2,k)|0)!=2){hb(k,1,6896,0);j=0;break a}cb(x[a+16>>2],u+40|0,2);if(x[u+40>>2]!=65427){continue}break h}break}x[a+8>>2]=64;break h}jd(x[q+24>>2]);a=x[s+40>>2]+D(J,40)|0;x[a+28>>2]=0;x[a+20>>2]=0;x[a+24>>2]=0;hb(k,1,8287,0);j=0;break a}l=x[j+12>>2];q=l;o=x[j+8>>2];if(l|o){m=x[j+56>>2];l=o-m|0;o=q-(x[j+60>>2]+(m>>>0>o>>>0)|0)|0}else{l=0;o=0}o:{if(!(l|o)&x[a+8>>2]==64){break o}p:{q:{o=y[a+68|0];if(!(o&4)){l=x[a+204>>2];q=x[a+156>>2];r:{s:{if(x[a+56>>2]){o=x[j+8>>2];if(o|x[j+12>>2]){o=o-x[j+56>>2]|0}else{o=0}break s}o=x[a+24>>2];if(o>>>0<2){break r}}o=o-2|0;x[a+24>>2]=o}l=q+D(l,5644)|0;F=l+5600|0;s=l+5596|0;if(!o){break q}q=x[j+12>>2];m=q;l=x[j+8>>2];if(m|l){t=x[j+56>>2];q=l-t|0;l=m-(x[j+60>>2]+(l>>>0>>0)|0)|0}else{q=0;l=0}if((l|0)<=0&o>>>0>q>>>0|(l|0)<0){if(x[a+184>>2]){hb(k,1,10233,0);j=0;break a}hb(k,2,10233,0)}l=x[a+24>>2];if(l>>>0>=4294967294){hb(k,1,3614,0);j=0;break a}q=x[s>>2];t:{if(q){m=x[F>>2];if(m>>>0>-3-l>>>0){hb(k,1,2590,0);j=0;break a}l=yc(q,(l+m|0)+2|0);if(l){x[s>>2]=l;break q}jd(x[s>>2]);x[s>>2]=0;break t}l=uc(l+2|0);x[s>>2]=l;if(l){break q}}hb(k,1,10567,0);j=0;break a}x[a+8>>2]=8;v[a+68|0]=o&250;break p}J=x[a+200>>2];if(J){H=x[j+56>>2];t=H-2|0;m=x[j+60>>2];G=m-(H>>>0<2)|0;r=x[J+40>>2];N=x[a+204>>2];I=D(N,40);l=r+I|0;q=x[l+16>>2]+D(x[l+12>>2],24)|0;x[q+8>>2]=t;x[q+12>>2]=G;G=x[a+24>>2];H=G+H|0;x[q+16>>2]=H;x[q+20>>2]=H>>>0>>0?m+1|0:m;m=x[a+24>>2];K=x[l+20>>2];q=K+1|0;H=x[l+28>>2];u:{if(q>>>0<=H>>>0){l=x[l+24>>2];break u}U=E(E(H>>>0)+E(100));v:{if(U=E(0)){q=~~U>>>0;break v}q=0}x[l+28>>2]=q;l=yc(x[l+24>>2],D(q,24));r=x[J+40>>2];q=I+r|0;if(!l){break f}x[q+24>>2]=l;K=x[q+20>>2];q=K+1|0}l=D(K,24)+l|0;x[l+16>>2]=m+2;x[l+8>>2]=t;x[l+12>>2]=t>>31;w[l>>1]=65427;x[(r+I|0)+20>>2]=q}l=x[a+24>>2];w:{if(!o){o=0;break w}o=gb(j,x[s>>2]+x[F>>2]|0,l,k);l=x[a+24>>2]}x[a+8>>2]=(l|0)==(o|0)?8:64;x[F>>2]=x[F>>2]+o;o=y[a+68|0];if((o&9)!=1){break p}v[a+68|0]=o|8;if(x[j+28>>2]==62){break p}l=x[j+60>>2];m=l;o=x[j+56>>2];if((l&o)==-1){break p}t=x[a+204>>2];x:{while(1){l=0;if((gb(j,u+70|0,2,k)|0)!=2){break x}cb(u+70|0,u- -64|0,2);if(x[u+64>>2]!=65424){break x}s=6896;if((gb(j,u+70|0,2,k)|0)!=2){break c}cb(u+70|0,u+60|0,2);if(x[u+60>>2]!=10){s=10439;break c}x[u+60>>2]=8;q=gb(j,u+70|0,8,k);if((q|0)!=x[u+60>>2]){break c}if((q|0)!=8){s=8471;break c}cb(u+70|0,u+56|0,2);cb(Q,u+52|0,4);cb(O,u+48|0,1);cb(M,u+44|0,1);if((t|0)!=x[u+56>>2]){q=x[u+52>>2];if(q>>>0<14){break x}q=q-12|0;x[u+52>>2]=q;q=Ia[x[j+40>>2]](j,0,q,0,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(!Ha&x[u+52>>2]==(q|0)){continue}break x}break}l=x[u+48>>2]==x[u+44>>2]}if(!(Ia[x[j+44>>2]](j,0,o,m,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break b}if(!l){break p}v[a+68|0]=y[a+68|0]&238|16;y:{if(!z){break y}q=x[a+156>>2];o=0;l=0;if((z|0)!=1){while(1){m=q+D(o,5644)|0;t=x[m+5592>>2];if(t){x[m+5592>>2]=t+1}m=q+D(o|1,5644)|0;t=x[m+5592>>2];if(t){x[m+5592>>2]=t+1}o=o+2|0;l=l+2|0;if((C|0)!=(l|0)){continue}break}}if(!P){break y}o=q+D(o,5644)|0;l=x[o+5592>>2];if(!l){break y}x[o+5592>>2]=l+1}hb(k,2,13320,0)}if(v[a+68|0]&1){break o}if((gb(j,x[a+16>>2],2,k)|0)!=2){if(!(!z|(z|0)!=(x[a+204>>2]+1|0))){j=x[a+156>>2];o=0;while(1){l=j+D(o,5644)|0;if(!(x[l+5588>>2]|x[l+5592>>2])){break e}o=o+1|0;if((z|0)!=(o|0)){continue}break}}hb(k,1,6896,0);j=0;break a}cb(x[a+16>>2],u+40|0,2);o=x[u+40>>2];if(v[a+68|0]&1){break g}if((o|0)!=65497){continue}break g}break}o=x[u+40>>2]}if(x[a+8>>2]==256|(o|0)!=65497){break d}x[a+8>>2]=256;x[a+204>>2]=0;break d}jd(x[q+24>>2]);a=x[J+40>>2]+D(N,40)|0;x[a+28>>2]=0;x[a+20>>2]=0;x[a+24>>2]=0;hb(k,1,8287,0);j=0;break a}x[u+16>>2]=o;hb(k,4,15067,u+16|0);x[a+204>>2]=o;x[u+40>>2]=65497;x[a+8>>2]=256}m=x[a+156>>2];o=x[a+204>>2];z:{A:{if(v[a+68|0]&1){break A}B:{C:{if(o>>>0>=z>>>0){break C}j=m+D(o,5644)|0;while(1){if(x[j+5596>>2]){break C}o=o+1|0;x[a+204>>2]=o;j=j+5644|0;if((o|0)!=(z|0)){continue}break}break B}if((o|0)!=(z|0)){break A}}x[i>>2]=0;break z}D:{E:{j=m+D(o,5644)|0;if(x[j+5172>>2]){a=11228}else{if(!(y[j+5640|0]&2)){break D}t=j+5172|0;J=m+D(o,5644)|0;z=x[J+5160>>2];F:{if(!z){s=0;break F}l=x[J+5164>>2];q=0;s=0;j=0;if(z>>>0>=4){H=z&-4;r=0;while(1){F=j<<3;s=x[(l+(F|24)|0)+4>>2]+(x[(l+(F|16)|0)+4>>2]+(x[(l+(F|8)|0)+4>>2]+(x[(l+F|0)+4>>2]+s|0)|0)|0)|0;j=j+4|0;r=r+4|0;if((H|0)!=(r|0)){continue}break}}z=z&3;if(!z){break F}while(1){s=x[(l+(j<<3)|0)+4>>2]+s|0;j=j+1|0;q=q+1|0;if((z|0)!=(q|0)){continue}break}}j=uc(s);x[t>>2]=j;if(j){break E}a=8433}hb(k,1,a,0);hb(k,1,12393,0);j=0;break a}q=m+D(o,5644)|0;x[q+5180>>2]=s;m=q+5164|0;s=x[q+5164>>2];z=J+5160|0;j=x[z>>2];if(j){l=0;o=0;while(1){F=o<<3;J=F+s|0;H=x[J>>2];if(H){Gc(x[t>>2]+l|0,H,x[J+4>>2]);j=F+x[m>>2]|0;J=x[j+4>>2];jd(x[j>>2]);s=x[m>>2];j=F+s|0;x[j>>2]=0;x[j+4>>2]=0;l=l+J|0;j=x[z>>2]}o=o+1|0;if(o>>>0>>0){continue}break}}x[z>>2]=0;jd(s);x[m>>2]=0;x[q+5168>>2]=x[t>>2];x[q+5176>>2]=x[q+5180>>2]}o=x[a+208>>2];V=x[o+28>>2];l=x[a+204>>2];K=x[(x[V+76>>2]+D(l,5644)|0)+5584>>2];j=x[o+24>>2];X=x[j+24>>2];m=x[V+24>>2];q=(l>>>0)/(m>>>0)|0;R=x[x[o+20>>2]>>2];l=l-D(m,q)|0;m=x[V+12>>2];o=x[V+4>>2]+D(l,m)|0;l=x[j>>2];l=l>>>0>>0?o:l;x[R>>2]=l;m=m+o|0;o=m>>>0>>0?-1:m;m=x[j+8>>2];o=m>>>0>o>>>0?o:m;x[R+8>>2]=o;G:{H:{if(!((l|0)<(o|0)&(l|0)>=0)){hb(k,1,11073,0);break H}o=x[R+20>>2];m=x[V+16>>2];l=x[V+8>>2]+D(m,q)|0;q=x[j+4>>2];q=l>>>0>q>>>0?l:q;x[R+4>>2]=q;m=l+m|0;l=l>>>0>m>>>0?-1:m;j=x[j+12>>2];j=j>>>0>l>>>0?l:j;x[R+12>>2]=j;if(!((j|0)>(q|0)&(q|0)>=0)){hb(k,1,11035,0);break H}I:{if(x[K+4>>2]){if(x[R+16>>2]){break I}j=1;break G}hb(k,1,9775,0);break H}J:{K:{while(1){x[X+36>>2]=0;j=x[X>>2];m=j>>31;z=j-1|0;l=x[R>>2];t=l;q=z+l|0;J=m-!j|0;l=J+(l>>31)|0;la=o,ma=Gl(q,q>>>0>>0?l+1|0:l,j,m),x[la>>2]=ma;q=x[X+4>>2];s=q>>31;t=q-1|0;l=x[R+4>>2];H=l;F=t+l|0;r=s-!q|0;l=r+(l>>31)|0;la=o,ma=Gl(F,F>>>0>>0?l+1|0:l,q,s),x[la+4>>2]=ma;l=x[R+8>>2];F=l;z=l+z|0;l=(l>>31)+J|0;la=o,ma=Gl(z,z>>>0>>0?l+1|0:l,j,m),x[la+8>>2]=ma;j=x[R+12>>2];x[o+16>>2]=da;l=r+(j>>31)|0;j=j+t|0;l=j>>>0>>0?l+1|0:l;la=o,ma=Gl(j,l,q,s),x[la+12>>2]=ma;j=x[K+4>>2];x[o+20>>2]=j;l=x[V+80>>2];x[o+24>>2]=j>>>0>>0?1:j-l|0;jd(x[o+52>>2]);x[o+68>>2]=0;x[o+60>>2]=0;x[o+64>>2]=0;x[o+52>>2]=0;x[o+56>>2]=0;j=D(j,152);l=x[o+28>>2];L:{if(!l){l=uc(j);x[o+28>>2]=l;if(!l){break H}x[o+32>>2]=j;Hc(l,0,j);break L}if(j>>>0<=A[o+32>>2]){break L}l=yc(l,j);if(!l){hb(k,1,7514,0);jd(x[o+28>>2]);x[o+28>>2]=0;x[o+32>>2]=0;break H}x[o+28>>2]=l;m=l;l=x[o+32>>2];Hc(m+l|0,0,j-l|0);x[o+32>>2]=j}j=x[o+20>>2];if(j){$=K+28|0;q=x[o+28>>2];Y=0;while(1){z=j-1|0;l=z&31;if((z&63)>>>0>=32){m=-1<>>32-l;l=-1<>2];s=l;t=F+l|0;J=m^-1;l=J+(l>>31)|0;l=s>>>0>t>>>0?l+1|0:l;m=z&31;H=(z&63)>>>0>=32?l>>m:((1<>>m;x[q>>2]=H;l=x[o+4>>2];t=l;m=l+F|0;l=(l>>31)+J|0;l=m>>>0>>0?l+1|0:l;t=m;m=z&31;r=(z&63)>>>0>=32?l>>m:((1<>>m;x[q+4>>2]=r;l=x[o+8>>2];t=l;m=l+F|0;l=(l>>31)+J|0;l=m>>>0>>0?l+1|0:l;t=m;m=z&31;s=(z&63)>>>0>=32?l>>m:((1<>>m;I=s;x[q+8>>2]=s;m=x[o+12>>2];t=m;l=m+F|0;m=(m>>31)+J|0;m=l>>>0>>0?m+1|0:m;t=l;l=z&31;t=(z&63)>>>0>=32?m>>l:((1<>>l;x[q+12>>2]=t;C=s>>31;M=(Y<<2)+K|0;P=x[M+812>>2];l=P&31;if((P&63)>>>0>=32){m=1<>>32-l}O=G;s=O+s|0;l=m+C|0;m=(s>>>0>>0?l+1|0:l)-!s|0;s=s-1|0;l=P&31;s=((P&63)>>>0>=32?m>>l:((1<>>l)<>31;M=x[M+944>>2];m=M&31;if((M&63)>>>0>=32){l=-1<>>32-m;m=-1<>>0>>0?l+1|0:l;m=M&31;l=((M&63)>>>0>=32?l>>m:((1<>>m)<>M:0;x[q+20>>2]=t;_=H&-1<>P:0;x[q+16>>2]=l;M:{if(!l){break M}Fl(l,0,t,0);if(!Ha){break M}break K}aa=D(l,t);if(aa>>>0>=107374183){break K}W=D(aa,40);if(Y){M=M-1|0;P=P-1|0;l=Z>>31;m=Z+1|0;Z=((m?l:l+1|0)&1)<<31|m>>>1;l=_>>31;m=_+1|0;_=((m?l:l+1|0)&1)<<31|m>>>1;l=3}else{l=1}x[q+24>>2]=l;s=q+28|0;H=j;m=j&31;if((j&63)>>>0>=32){l=1<>>32-m}ea=j;t=l;j=x[K+12>>2];O=j>>>0>>0?j:M;j=O&31;if((O&63)>>>0>=32){l=-1<>>32-j;j=-1<>2];Q=j>>>0

>>0?j:P;j=Q&31;if((Q&63)>>>0>=32){l=-1<>>32-j;j=-1<>2];m=l;j=l+F|0;l=(l>>31)+J|0;l=j>>>0>>0?l+1|0:l;m=j;j=z&31;T=(z&63)>>>0>=32?l>>j:((1<>>j;l=x[o>>2];j=l+F|0;m=(l>>31)+J|0;m=j>>>0>>0?m+1|0:m;l=j;j=z&31;L=(z&63)>>>0>=32?m>>j:((1<>>j;j=0;I=J;r=F;C=r;m=J;G=z;break N}j=ca+1|0;m=j>>>1|0;r=z&31;if((z&63)>>>0>=32){l=m<>>32-r;m=m<>2];r=I+C|0;m=m>>>0>C>>>0?l+1|0:l;l=m+(I>>31)|0;l=r>>>0>>0?l+1|0:l;I=r;r=H&31;T=(H&63)>>>0>=32?l>>r:((1<>>r;r=j&1;I=z&31;if((z&63)>>>0>=32){l=r<>>32-I;r=r<>2];G=N+r|0;I=r>>>0>>0?l+1|0:l;l=I+(N>>31)|0;l=G>>>0>>0?l+1|0:l;N=G;G=H&31;L=(H&63)>>>0>=32?l>>G:((1<>>G;G=H}N=x[o+8>>2];S=N>>31;l=x[o+12>>2];x[s+4>>2]=T;x[s>>2]=L;x[s+16>>2]=j;m=(l>>31)+m|0;L=l;l=l+C|0;m=L>>>0>l>>>0?m+1|0:m;C=l;l=G&31;x[s+12>>2]=(G&63)>>>0>=32?m>>l:((1<>>l;l=I+S|0;m=r+N|0;l=m>>>0>>0?l+1|0:l;r=m;m=G&31;x[s+8>>2]=(G&63)>>>0>=32?l>>m:((1<>>m;r=0;m=x[$+4>>2];ba=1;j=(x[X+24>>2]+(!x[K+20>>2]|!j?r:(j|0)==3?2:1)|0)-x[$>>2]|0;O:{if((j|0)>=1024){ba=898846567431158e293;if(j>>>0<2047){j=j-1023|0;break O}ba=Infinity;j=((j|0)>=3069?3069:j)-2046|0;break O}if((j|0)>-1023){break O}ba=2004168360008973e-307;if(j>>>0>4294965304){j=j+969|0;break O}ba=0;j=((j|0)<=-2960?-2960:j)+1938|0}n(0,0);n(1,j+1023<<20);la=s,na=E(ba*+p()*(+(m|0)*.00048828125+1)),B[la+32>>2]=na;x[s+28>>2]=(x[$>>2]+x[K+804>>2]|0)-1;j=x[s+20>>2];P:{Q:{if(!(j|!aa)){j=uc(W);x[s+20>>2]=j;if(!j){hb(k,1,7278,0);break H}Hc(j,0,W);x[s+24>>2]=W;break Q}if(W>>>0>A[s+24>>2]){j=yc(j,W);if(!j){hb(k,1,7278,0);jd(x[s+20>>2]);x[s+20>>2]=0;x[s+24>>2]=0;break H}x[s+20>>2]=j;l=j;j=x[s+24>>2];Hc(l+j|0,0,W-j|0);x[s+24>>2]=W}if(!aa){break P}}j=x[s+20>>2];I=0;while(1){m=x[q+16>>2];l=(I>>>0)/(m>>>0)|0;m=I-D(l,m)|0;r=(m<>2];C=(r|0)>(C|0)?r:C;x[j>>2]=C;r=(l<>2];N=(r|0)>(G|0)?r:G;x[j+4>>2]=N;m=(m+1<>2];m=(m|0)<(r|0)?m:r;x[j+8>>2]=m;l=(l+1<>2];r=(l|0)<(r|0)?l:r;x[j+12>>2]=r;l=(m>>31)+ia|0;G=m;m=m+ha|0;l=G>>>0>m>>>0?l+1|0:l;G=C>>Q;C=m;m=Q&31;C=((Q&63)>>>0>=32?l>>m:((1<>>m)-G<>Q;x[j+16>>2]=C;l=(r>>31)+ga|0;m=r+fa|0;l=m>>>0>>0?l+1|0:l;r=m;m=O&31;N=N>>O;l=((O&63)>>>0>=32?l>>m:((1<>>m)-N<>O;x[j+20>>2]=l;r=D(l,C);m=r>>>26|0;if(m){hb(k,1,7359,0);break H}l=r<<6;m=x[j+24>>2];R:{S:{if(!(m|!r)){m=uc(l);x[j+24>>2]=m;if(!m){break H}Hc(m,0,l);m=j+28|0;break S}if(l>>>0<=A[j+28>>2]){break R}m=yc(m,l);if(!m){jd(x[j+24>>2]);x[j+24>>2]=0;x[j+28>>2]=0;hb(k,1,6973,0);break H}x[j+24>>2]=m;C=m;m=x[j+28>>2];Hc(C+m|0,0,l-m|0);m=j+28|0}x[m>>2]=l}l=x[j+20>>2];m=x[j+16>>2];C=x[j+32>>2];T:{if(!C){l=mc(m,l,k);break T}l=oc(C,m,l,k)}x[j+32>>2]=l;l=x[j+20>>2];m=x[j+16>>2];C=x[j+36>>2];U:{if(!C){l=mc(m,l,k);break U}l=oc(C,m,l,k)}x[j+36>>2]=l;if(r){m=0;while(1){S=x[j+16>>2];T=(m>>>0)/(S>>>0)|0;l=x[j+24>>2]+(m<<6)|0;L=x[l>>2];V:{if(L){ja=x[l+56>>2];ka=x[l+4>>2];C=x[l+48>>2];jd(x[l+60>>2]);x[l+56>>2]=0;x[l+60>>2]=0;x[l+48>>2]=0;x[l+52>>2]=0;x[l+40>>2]=0;x[l+44>>2]=0;x[l+32>>2]=0;x[l+36>>2]=0;x[l+24>>2]=0;x[l+28>>2]=0;x[l+16>>2]=0;x[l+20>>2]=0;x[l+8>>2]=0;x[l+12>>2]=0;x[l>>2]=L;x[l+48>>2]=C;if(C){Hc(L,0,D(C,24))}x[l+4>>2]=ka;x[l+56>>2]=ja;break V}C=vc(10,24);x[l>>2]=C;if(!C){break H}x[l+48>>2]=10}C=(m-D(T,S)|0)+G|0;L=C<>2];x[l+8>>2]=(L|0)>(S|0)?L:S;T=N+T|0;L=T<>2];x[l+12>>2]=(L|0)>(S|0)?L:S;C=C+1<>2];x[l+16>>2]=(C|0)<(L|0)?C:L;L=l;l=T+1<>2];x[L+20>>2]=(l|0)<(C|0)?l:C;m=m+1|0;if((r|0)!=(m|0)){continue}break}}j=j+40|0;I=I+1|0;if((I|0)!=(aa|0)){continue}break}}$=$+8|0;s=s+36|0;ca=ca+1|0;if(ca>>>0>2]){continue}break}q=q+152|0;j=z;Y=Y+1|0;if(Y>>>0>2]){continue}break}}X=X+52|0;o=o+76|0;K=K+1080|0;da=da+1|0;if(da>>>0>2]){continue}break}j=1;break G}hb(k,1,7406,0);break H}hb(k,1,6849,0)}j=0}if(!j){hb(k,1,8092,0);j=0;break a}j=x[a+204>>2];x[u+4>>2]=D(x[a+104>>2],x[a+108>>2]);x[u>>2]=j+1;hb(k,4,15794,u);x[b>>2]=x[a+204>>2];x[i>>2]=1;if(c){b=kc(x[a+208>>2],0);x[c>>2]=b;j=0;if((b|0)==-1){break a}}b=x[x[x[a+208>>2]+20>>2]>>2];x[d>>2]=x[b>>2];x[e>>2]=x[b+4>>2];x[f>>2]=x[b+8>>2];x[g>>2]=x[b+12>>2];x[h>>2]=x[b+16>>2];x[a+8>>2]=x[a+8>>2]|128}j=1;break a}hb(k,1,s,0)}hb(k,1,8126,0);j=0}Ca=u+80|0;return j}function _b(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,B=0,C=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;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{switch(x[a+84>>2]){case 0:k:{c=x[a+52>>2];b=x[a+196>>2];if(c>>>0>>0){j=x[a- -64>>2];if(j>>>0>>0){break k}}hb(x[a+236>>2],1,12776,0);break b}if(!x[a+44>>2]){i=x[a+36>>2];b=0;break i}x[a+44>>2]=0;m=x[a+68>>2];b=1;break i;case 1:l:{c=x[a+52>>2];b=x[a+196>>2];if(c>>>0>>0){j=x[a- -64>>2];if(j>>>0>>0){break l}}hb(x[a+236>>2],1,12821,0);break b}if(!x[a+44>>2]){k=x[a+36>>2];b=0;break e}x[a+44>>2]=0;m=x[a+48>>2];b=1;break e;case 2:m:{G=x[a+52>>2];C=x[a+196>>2];if(G>>>0>>0){k=x[a- -64>>2];if(k>>>0>>0){break m}}hb(x[a+236>>2],1,12956,0);break b}if(!x[a+44>>2]){E=x[a+40>>2];break f}x[a+228>>2]=0;x[a+232>>2]=0;x[a+44>>2]=0;u=x[a+200>>2];while(1){O=u+(r<<4)|0;g=x[O+8>>2];if(g){j=x[O+12>>2];b=0;while(1){f=g+(b^-1)|0;d=j+(b<<4)|0;t=f+x[d>>2]|0;n:{if(t>>>0>31){break n}c=x[O>>2];if(c>>>0>-1>>>t>>>0){break n}c=c<>>0>i>>>0?i:c:c;x[a+228>>2]=i}f=f+x[d+4>>2]|0;o:{if(f>>>0>31){break o}c=x[O+4>>2];if(c>>>0>-1>>>f>>>0){break o}c=c<>>0>m>>>0?m:c:c;x[a+232>>2]=m}b=b+1|0;if((g|0)!=(b|0)){continue}break}}r=r+1|0;if((C|0)!=(r|0)){continue}break};if(!i|!m){break d}if(!y[a|0]){x[a+108>>2]=x[a+208>>2];x[a+100>>2]=x[a+204>>2];x[a+112>>2]=x[a+216>>2];x[a+104>>2]=x[a+212>>2]}p=x[a+48>>2];b=1;break f;case 3:p:{G=x[a+52>>2];g=x[a+196>>2];if(G>>>0>>0){p=x[a- -64>>2];if(p>>>0>>0){break p}}hb(x[a+236>>2],1,12911,0);break b}if(!x[a+44>>2]){H=x[a+200>>2];k=x[a+28>>2];E=H+(k<<4)|0;I=x[a+40>>2];break g}x[a+228>>2]=0;x[a+232>>2]=0;x[a+44>>2]=0;H=x[a+200>>2];while(1){C=(o<<4)+H|0;t=x[C+8>>2];if(t){j=x[C+12>>2];b=0;while(1){f=t+(b^-1)|0;d=j+(b<<4)|0;u=f+x[d>>2]|0;q:{if(u>>>0>31){break q}c=x[C>>2];if(c>>>0>-1>>>u>>>0){break q}c=c<>>0>i>>>0?i:c:c;x[a+228>>2]=i}f=f+x[d+4>>2]|0;r:{if(f>>>0>31){break r}c=x[C+4>>2];if(c>>>0>-1>>>f>>>0){break r}c=c<>>0>m>>>0?m:c:c;x[a+232>>2]=m}b=b+1|0;if((t|0)!=(b|0)){continue}break}}o=o+1|0;if((g|0)!=(o|0)){continue}break};if(!i|!m){break d}s:{if(y[a|0]){o=x[a+108>>2];break s}o=x[a+208>>2];x[a+108>>2]=o;x[a+100>>2]=x[a+204>>2];x[a+112>>2]=x[a+216>>2];x[a+104>>2]=x[a+212>>2]}b=1;break g;case 4:break j;default:break d}}t:{o=x[a+52>>2];b=x[a+196>>2];if(o>>>0>>0){q=x[a- -64>>2];if(q>>>0>>0){break t}}hb(x[a+236>>2],1,12866,0);break d}if(!x[a+44>>2]){o=x[a+28>>2];m=x[a+200>>2]+(o<<4)|0;r=x[a+40>>2];b=0;break h}x[a+28>>2]=o;x[a+44>>2]=0;b=1;break h}u:while(1){v:{w:{if(!b){i=i+1|0;break w}x[a+40>>2]=m;if(A[a+56>>2]<=m>>>0){break b}k=x[a+48>>2];b=0;break v}b=1}x:while(1){y:{z:{A:{B:{if(!b){x[a+32>>2]=k;if(A[a+60>>2]<=k>>>0){break B}x[a+28>>2]=c;b=c;p=0;break y}x[a+36>>2]=i;if(A[a+76>>2]<=i>>>0){b=x[a+28>>2];p=1;break y}b=((D(x[a+16>>2],x[a+32>>2])+D(x[a+12>>2],x[a+40>>2])|0)+D(x[a+20>>2],x[a+28>>2])|0)+D(x[a+24>>2],i)|0;if(b>>>0>=A[a+8>>2]){break c}b=x[a+4>>2]+(b<<1)|0;if(z[b>>1]){break A}break a}m=x[a+40>>2]+1|0;break z}b=0;continue u}b=1;continue u}while(1){C:{D:{E:{if(!p){if(b>>>0>=j>>>0){break E}f=x[a+32>>2];d=x[a+200>>2];if(f>>>0>=A[(d+(b<<4)|0)+8>>2]){break C}if(!y[a|0]){b=x[(d+(b<<4)|0)+12>>2]+(f<<4)|0;x[a+76>>2]=D(x[b+12>>2],x[b+8>>2])}i=x[a+72>>2];b=1;continue x}b=b+1|0;x[a+28>>2]=b;break D}k=x[a+32>>2]+1|0;b=0;continue x}p=0;continue}p=1;continue}}}}F:while(1){G:{H:{if(!b){r=r+1|0;x[a+40>>2]=r;break H}if(q>>>0<=o>>>0){break b}x[a+228>>2]=0;x[a+232>>2]=0;c=x[a+200>>2];b=o<<4;m=c+b|0;g=x[m+8>>2];if(!g){break b}b=b+c|0;u=b;j=x[b+12>>2];i=0;k=0;b=0;while(1){f=g+(b^-1)|0;d=j+(b<<4)|0;t=f+x[d>>2]|0;I:{if(t>>>0>31){break I}c=x[m>>2];if(c>>>0>-1>>>t>>>0){break I}c=c<>>0>k>>>0?k:c:c;x[a+228>>2]=k}f=f+x[d+4>>2]|0;J:{if(f>>>0>31){break J}c=x[u+4>>2];if(c>>>0>-1>>>f>>>0){break J}c=c<>>0>i>>>0?i:c:c;x[a+232>>2]=i}b=b+1|0;if((g|0)!=(b|0)){continue}break}if(!k|!i){break d}K:{if(y[a|0]){i=x[a+108>>2];break K}i=x[a+208>>2];x[a+108>>2]=i;x[a+100>>2]=x[a+204>>2];x[a+112>>2]=x[a+216>>2];x[a+104>>2]=x[a+212>>2]}b=0;break G}b=1}L:while(1){M:{N:{O:{P:{if(!b){x[a+224>>2]=i;if(A[a+112>>2]<=i>>>0){break P}H=x[a+100>>2];b=0;break M}if(A[a+56>>2]<=r>>>0){p=x[a+32>>2];b=1;break M}b=((D(x[a+16>>2],x[a+32>>2])+D(x[a+12>>2],r)|0)+D(x[a+20>>2],o)|0)+D(x[a+24>>2],x[a+36>>2])|0;if(b>>>0>=A[a+8>>2]){break c}b=x[a+4>>2]+(b<<1)|0;if(z[b>>1]){break O}break a}o=o+1|0;x[a+28>>2]=o;break N}b=0;continue F}b=1;continue F}while(1){Q:{R:{S:{T:{if(!b){x[a+220>>2]=H;if(A[a+104>>2]<=H>>>0){break S}p=x[a+48>>2];break T}p=p+1|0}x[a+32>>2]=p;b=x[a+60>>2];d=x[m+8>>2];if((b>>>0>>0?b:d)>>>0>p>>>0){f=x[m>>2];c=f;h=d+(p^-1)|0;l=h;d=l&31;if((l&63)>>>0>=32){b=f<>>32-d;B=f<>>0>=32?c>>>d|0:((1<>>d)|0)){break Q}c=x[m+4>>2];b=l&31;j=-1>>>b|0;if((c&((l&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;v=c<>2];j=J+d|0;O=Hl(j,d>>>0>j>>>0?b+1|0:b,v,F);K=x[a+208>>2];d=J+K|0;b=K>>>0>d>>>0?b+1|0:b;u=Hl(d,b,v,F);G=B-1|0;d=x[a+212>>2];g=G+d|0;j=e-!B|0;b=j;C=Hl(g,d>>>0>g>>>0?b+1|0:b,B,e);L=x[a+204>>2];d=G+L|0;b=L>>>0>d>>>0?b+1|0:b;d=Hl(d,b,B,e);M=x[m+12>>2];N=x[M+(p<<4)>>2];s=N+h|0;b=s&31;g=-1>>>b|0;if((f|0)!=(((s&63)>>>0>=32?g:g|(1<>2];h=n+h|0;k=h&31;if((h&63)>>>0>=32){b=c<>>32-k;k=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break Q}g=x[a+224>>2];if(Il(g,k,b)|Ha){if((g|0)!=(K|0)){break Q}c=h&31;if((h&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=h<>>32-k|b<>2];if((s&63)>>>0>=32){b=f<>>32-h;h=f<>>0>=32){b=-1<>>32-f}h=h^-1;f=b^-1;k=h;b=0;h=d;s=l&31;if((l&63)>>>0>=32){b=h<>>32-s|b<>2];if(!h|!x[b+12>>2]|(d|0)==(C|0)){break Q}if((u|0)==(O|0)){break Q}r=x[a+68>>2];x[a+40>>2]=r;b=j;c=c+G|0;b=c>>>0>>0?b+1|0:b;f=(Hl(c,b,B,e)>>>N)-(d>>>N)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=D(h,(Hl(c,b,v,F)>>>n)-(u>>>n)|0)+f|0,x[Q+36>>2]=R;b=1;continue L}c=x[a+220>>2];b=x[a+228>>2];H=c+b-(c>>>0)%(b>>>0)|0;break R}c=x[a+224>>2];b=x[a+232>>2];i=c+b-(c>>>0)%(b>>>0)|0;b=0;continue L}b=0;continue}b=1;continue}}}}U:while(1){V:{W:{if(!b){I=I+1|0;x[a+40>>2]=I;break W}x[a+224>>2]=o;if(A[a+112>>2]<=o>>>0){break b}B=x[a+100>>2];b=0;break V}b=1}X:while(1){Y:{Z:{_:{$:{if(!b){x[a+220>>2]=B;if(A[a+104>>2]<=B>>>0){break $}x[a+28>>2]=G;k=G;b=0;break Y}if(A[a+56>>2]<=I>>>0){r=x[a+32>>2];b=1;break Y}b=((D(x[a+16>>2],x[a+32>>2])+D(x[a+12>>2],I)|0)+D(x[a+20>>2],k)|0)+D(x[a+24>>2],x[a+36>>2])|0;if(b>>>0>=A[a+8>>2]){break c}b=x[a+4>>2]+(b<<1)|0;if(z[b>>1]){break _}break a}c=x[a+224>>2];b=x[a+232>>2];o=c+b-(c>>>0)%(b>>>0)|0;break Z}b=0;continue U}b=1;continue U}while(1){aa:{ba:{ca:{da:{if(!b){if(k>>>0>=p>>>0){break ca}r=x[a+48>>2];x[a+32>>2]=r;E=(k<<4)+H|0;break da}r=r+1|0;x[a+32>>2]=r}b=x[a+60>>2];d=x[E+8>>2];if((b>>>0>>0?b:d)>>>0>r>>>0){f=x[E>>2];c=f;e=d+(r^-1)|0;q=e;d=e&31;if((e&63)>>>0>=32){b=f<>>32-d;i=f<>>0>=32?c>>>d|0:((1<>>d)|0)){break aa}c=x[E+4>>2];b=q&31;j=-1>>>b|0;if((c&((q&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;m=c<>2];j=J+d|0;O=Hl(j,d>>>0>j>>>0?b+1|0:b,m,h);v=x[a+208>>2];d=v+J|0;b=v>>>0>d>>>0?b+1|0:b;u=Hl(d,b,m,h);F=i-1|0;d=x[a+212>>2];g=F+d|0;j=s-!i|0;b=j;C=Hl(g,d>>>0>g>>>0?b+1|0:b,i,s);K=x[a+204>>2];d=F+K|0;b=K>>>0>d>>>0?b+1|0:b;d=Hl(d,b,i,s);L=x[E+12>>2];M=x[L+(r<<4)>>2];l=M+e|0;b=l&31;g=-1>>>b|0;if((f|0)!=(((l&63)>>>0>=32?g:g|(1<>2];e=N+e|0;n=e&31;if((e&63)>>>0>=32){b=c<>>32-n;n=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break aa}g=x[a+224>>2];if(Il(g,n,b)|Ha){if((g|0)!=(v|0)){break aa}c=e&31;if((e&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=e<>>32-n|b<>2];if((l&63)>>>0>=32){b=f<>>32-e;e=f<>>0>=32){b=-1<>>32-f}e=e^-1;f=b^-1;n=e;b=0;e=d;l=q&31;if((q&63)>>>0>=32){b=e<>>32-l|b<>2];if(!e|!x[b+12>>2]|(d|0)==(C|0)){break aa}if((u|0)==(O|0)){break aa}I=x[a+68>>2];x[a+40>>2]=I;b=j;c=c+F|0;b=c>>>0>>0?b+1|0:b;f=(Hl(c,b,i,s)>>>M)-(d>>>M)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=D(e,(Hl(c,b,m,h)>>>N)-(u>>>N)|0)+f|0,x[Q+36>>2]=R;b=1;continue X}k=k+1|0;x[a+28>>2]=k;break ba}c=x[a+220>>2];b=x[a+228>>2];B=c+b-(c>>>0)%(b>>>0)|0;b=0;continue X}b=0;continue}b=1;continue}}}}ea:while(1){fa:{ga:{if(!b){E=E+1|0;x[a+40>>2]=E;break ga}x[a+32>>2]=p;if(A[a+60>>2]<=p>>>0){break b}I=x[a+108>>2];b=0;break fa}b=1}ha:while(1){ia:{ja:{ka:{la:{if(!b){x[a+224>>2]=I;if(A[a+112>>2]<=I>>>0){break la}H=x[a+100>>2];b=0;break ia}if(A[a+56>>2]<=E>>>0){o=x[a+28>>2];b=1;break ia}b=((D(x[a+16>>2],x[a+32>>2])+D(x[a+12>>2],E)|0)+D(x[a+20>>2],x[a+28>>2])|0)+D(x[a+24>>2],x[a+36>>2])|0;if(b>>>0>=A[a+8>>2]){break c}b=x[a+4>>2]+(b<<1)|0;if(z[b>>1]){break ka}break a}p=x[a+32>>2]+1|0;break ja}b=0;continue ea}b=1;continue ea}while(1){ma:{na:{oa:{pa:{if(!b){x[a+220>>2]=H;if(A[a+104>>2]<=H>>>0){break oa}x[a+28>>2]=G;o=G;break pa}o=o+1|0;x[a+28>>2]=o}if(k>>>0>o>>>0){B=x[a+32>>2];d=x[a+200>>2];l=d+(o<<4)|0;b=x[l+8>>2];if(B>>>0>=b>>>0){break ma}f=x[l>>2];c=f;e=b+(B^-1)|0;q=e;j=e&31;if((e&63)>>>0>=32){b=f<>>32-j;i=f<>>0>=32?c>>>j|0:((1<>>j)|0)){break ma}c=x[(d+(o<<4)|0)+4>>2];b=q&31;j=-1>>>b|0;if((c&((q&63)>>>0>=32?j:j|(1<>>0>=32){b=c<>>32-d;m=c<>2];j=J+d|0;O=Hl(j,d>>>0>j>>>0?b+1|0:b,m,h);v=x[a+208>>2];d=v+J|0;b=v>>>0>d>>>0?b+1|0:b;u=Hl(d,b,m,h);F=i-1|0;d=x[a+212>>2];g=F+d|0;j=s-!i|0;b=j;C=Hl(g,d>>>0>g>>>0?b+1|0:b,i,s);K=x[a+204>>2];d=F+K|0;b=K>>>0>d>>>0?b+1|0:b;d=Hl(d,b,i,s);L=x[l+12>>2];M=x[L+(B<<4)>>2];l=M+e|0;b=l&31;g=-1>>>b|0;if((f|0)!=(((l&63)>>>0>=32?g:g|(1<>2];e=N+e|0;n=e&31;if((e&63)>>>0>=32){b=c<>>32-n;n=c<>>0>=32?b>>>g|0:((1<>>g)|0)){break ma}g=x[a+224>>2];if(Il(g,n,b)|Ha){if((g|0)!=(v|0)){break ma}c=e&31;if((e&63)>>>0>=32){b=-1<>>32-c;c=-1<>>0>=32){b=e<>>32-n|b<>2];if((l&63)>>>0>=32){b=f<>>32-e;e=f<>>0>=32){b=-1<>>32-f}e=e^-1;f=b^-1;n=e;b=0;e=d;l=q&31;if((q&63)>>>0>=32){b=e<>>32-l|b<>2];if(!e|!x[b+12>>2]|(d|0)==(C|0)){break ma}if((u|0)==(O|0)){break ma}E=x[a+68>>2];x[a+40>>2]=E;b=j;c=c+F|0;b=c>>>0>>0?b+1|0:b;f=(Hl(c,b,i,s)>>>M)-(d>>>M)|0;b=t;c=g+J|0;b=c>>>0>>0?b+1|0:b;Q=a,R=D(e,(Hl(c,b,m,h)>>>N)-(u>>>N)|0)+f|0,x[Q+36>>2]=R;b=1;continue ha}c=x[a+220>>2];b=x[a+228>>2];H=c+b-(c>>>0)%(b>>>0)|0;break na}c=x[a+224>>2];b=x[a+232>>2];I=c+b-(c>>>0)%(b>>>0)|0;b=0;continue ha}b=0;continue}b=1;continue}}}}qa:while(1){ra:{sa:{if(!b){k=k+1|0;break sa}x[a+32>>2]=m;if(A[a+60>>2]<=m>>>0){break b}i=x[a+68>>2];b=0;break ra}b=1}ta:while(1){ua:{va:{wa:{xa:{if(!b){x[a+40>>2]=i;if(A[a+56>>2]<=i>>>0){break xa}x[a+28>>2]=c;b=c;p=0;break ua}x[a+36>>2]=k;if(A[a+76>>2]<=k>>>0){b=x[a+28>>2];p=1;break ua}b=((D(x[a+16>>2],x[a+32>>2])+D(x[a+12>>2],x[a+40>>2])|0)+D(x[a+20>>2],x[a+28>>2])|0)+D(x[a+24>>2],k)|0;if(b>>>0>=A[a+8>>2]){break c}b=x[a+4>>2]+(b<<1)|0;if(z[b>>1]){break wa}break a}m=x[a+32>>2]+1|0;break va}b=0;continue qa}b=1;continue qa}while(1){ya:{za:{Aa:{if(!p){if(b>>>0>=j>>>0){break Aa}f=x[a+32>>2];d=x[a+200>>2];if(f>>>0>=A[(d+(b<<4)|0)+8>>2]){break ya}if(!y[a|0]){b=x[(d+(b<<4)|0)+12>>2]+(f<<4)|0;x[a+76>>2]=D(x[b+12>>2],x[b+8>>2])}k=x[a+72>>2];b=1;continue ta}b=b+1|0;x[a+28>>2]=b;break za}i=x[a+40>>2]+1|0;b=0;continue ta}p=0;continue}p=1;continue}}}}return 0}hb(x[a+236>>2],1,3158,0)}return 0}w[b>>1]=1;return 1}function ke(a){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;d=Ca-288|0;Ca=d;c=Pd(d+276|0,1702);f=x[c+4>>2];x[d+112>>2]=x[c>>2];x[d+116>>2]=f;f=Qd(a,d+112|0);v[d+287|0]=f;a:{b:{c:{d:{e:{f:{g:{h:{c=Ve(a);if(c){We(d+264|0,c);i:{switch(y[c+2|0]-1|0){case 1:b=x[d+268>>2];x[d+256>>2]=x[d+264>>2];x[d+260>>2]=b;b=v[c+3|0]>>1;c=x[d+260>>2];x[d+80>>2]=x[d+256>>2];x[d+84>>2]=c;c=Ca-16|0;Ca=c;x[c+12>>2]=b;b=ke(a);x[c+8>>2]=b;j:{k:{if(!b){break k}b=ke(a);x[c+4>>2]=b;if(!b){break k}e=Ca-16|0;Ca=e;f=De(a+408|0,24);g=x[c+8>>2];b=x[d+84>>2];a=x[d+80>>2];x[e+8>>2]=a;x[e+12>>2]=b;h=x[c+12>>2];i=x[c+4>>2];x[e>>2]=a;x[e+4>>2]=b;b=Fe(f,50,h,1,1,1);x[b+8>>2]=g;x[b>>2]=33624;a=x[e>>2];f=x[e+4>>2];x[b+20>>2]=i;x[b+12>>2]=a;x[b+16>>2]=f;Ca=e+16|0;break j}b=0}Ca=c+16|0;break a;default:b=x[d+268>>2];x[d+248>>2]=x[d+264>>2];x[d+252>>2]=b;b=v[c+3|0]>>1;c=x[d+252>>2];x[d+88>>2]=x[d+248>>2];x[d+92>>2]=c;b=Xe(a,d+88|0,b);break a;case 0:if(Sd(a,95)){b=x[d+268>>2];x[d+240>>2]=x[d+264>>2];x[d+244>>2]=b;b=v[c+3|0]>>1;c=x[d+244>>2];x[d+96>>2]=x[d+240>>2];x[d+100>>2]=c;b=Xe(a,d+96|0,b);break a}b=ke(a);x[d+228>>2]=b;if(!b){break b}x[d+212>>2]=v[c+3|0]>>1;c=Ca-16|0;Ca=c;e=De(a+408|0,20);f=x[d+228>>2];b=x[d+268>>2];a=x[d+264>>2];x[c+8>>2]=a;x[c+12>>2]=b;g=x[d+212>>2];x[c>>2]=a;x[c+4>>2]=b;b=Fe(e,52,g,1,1,1);x[b+8>>2]=f;x[b>>2]=33832;a=x[c+4>>2];x[b+12>>2]=x[c>>2];x[b+16>>2]=a;Ca=c+16|0;break a;case 2:b=ke(a);x[d+228>>2]=b;if(!b){break b}b=ke(a);x[d+212>>2]=b;if(!b){break b}x[d+236>>2]=v[c+3|0]>>1;a=De(a+408|0,16);c=x[d+228>>2];e=x[d+212>>2];b=Fe(a,51,x[d+236>>2],1,1,1);x[b+12>>2]=e;x[b+8>>2]=c;x[b>>2]=33936;break a;case 3:b=ke(a);x[d+228>>2]=b;if(!b){break b}b=ke(a);x[d+212>>2]=b;if(!b){break b}x[d+236>>2]=v[c+3|0]>>1;c=Ca-16|0;Ca=c;e=De(a+408|0,24);f=x[d+228>>2];b=x[d+268>>2];a=x[d+264>>2];x[c+8>>2]=a;x[c+12>>2]=b;g=x[d+236>>2];h=x[d+212>>2];x[c>>2]=a;x[c+4>>2]=b;b=Fe(e,54,g,1,1,1);x[b+8>>2]=f;x[b>>2]=34048;a=x[c>>2];e=x[c+4>>2];x[b+20>>2]=h;x[b+12>>2]=a;x[b+16>>2]=e;Ca=c+16|0;break a;case 4:e=a+8|0;f=x[e+4>>2]-x[e>>2]>>2;while(1){if(!Sd(a,95)){g=ke(a);x[d+228>>2]=g;if(!g){break a}de(e,d+228|0);continue}break};ee(d+228|0,a,f);f=Vd(a);x[d+236>>2]=f;if(!f){break a}f=Pd(d+220|0,2584);g=x[f+4>>2];x[d+104>>2]=x[f>>2];x[d+108>>2]=g;f=Qd(a,d+104|0);g=x[e+4>>2]-x[e>>2]>>2;while(1){if(!Sd(a,69)){if(!f){break a}h=ke(a);x[d+212>>2]=h;if(!h){break a}de(e,d+212|0);continue}break};ee(d+212|0,a,g);v[d+211|0]=v[c+3|0]&1;x[d+204>>2]=v[c+3|0]>>1;c=Ca-32|0;Ca=c;g=De(a+408|0,32);e=x[d+232>>2];a=x[d+228>>2];x[c+24>>2]=a;x[c+28>>2]=e;h=x[d+236>>2];f=x[d+216>>2];b=x[d+212>>2];x[c+16>>2]=b;x[c+20>>2]=f;i=x[d+204>>2];j=y[d+211|0];k=y[d+287|0];x[c+8>>2]=a;x[c+12>>2]=e;x[c>>2]=b;x[c+4>>2]=f;b=Fe(g,60,i,1,1,1);x[b>>2]=34152;a=x[c+8>>2];e=x[c+12>>2];x[b+16>>2]=h;x[b+8>>2]=a;x[b+12>>2]=e;a=x[c>>2];e=x[c+4>>2];v[b+29|0]=j;v[b+28|0]=k;x[b+20>>2]=a;x[b+24>>2]=e;Ca=c+32|0;break a;case 5:b=ke(a);x[d+228>>2]=b;if(!b){break b}v[d+236|0]=v[c+3|0]&1;x[d+212>>2]=v[c+3|0]>>1;a=De(a+408|0,16);c=x[d+228>>2];e=y[d+287|0];f=y[d+236|0];b=Fe(a,61,x[d+212>>2],1,1,1);v[b+13|0]=f;v[b+12|0]=e;x[b+8>>2]=c;x[b>>2]=34252;break a;case 6:e=ke(a);x[d+212>>2]=e;if(!e){break a}e=a+8|0;f=x[e+4>>2]-x[e>>2]>>2;while(1){if(!Sd(a,69)){g=ke(a);x[d+228>>2]=g;if(!g){break a}de(e,d+228|0);continue}break};b=d+228|0;ee(b,a,f);x[d+236>>2]=v[c+3|0]>>1;b=Ye(a,d+212|0,b,d+236|0);break a;case 7:x[d+228>>2]=a+388;v[d+232|0]=y[a+388|0];v[a+388|0]=0;x[11118]=0;e=na(208,a|0)|0;f=x[11118];x[11118]=0;if((f|0)==1){break h}x[d+212>>2]=e;v[x[d+228>>2]]=y[d+232|0];if(!e){break a}g=a+8|0;e=g;e=x[e+4>>2]-x[e>>2]>>2;f=Sd(a,95);while(1){if(Sd(a,69)){break g}h=ke(a);x[d+228>>2]=h;if(!h){break a}de(g,d+228|0);if(f){continue}break};ee(d+228|0,a,e);break d;case 8:b=ke(a);x[d+228>>2]=b;if(!b){break b}b=ke(a);x[d+212>>2]=b;if(!b){break b}b=ke(a);x[d+236>>2]=b;if(!b){break b}x[d+204>>2]=v[c+3|0]>>1;a=De(a+408|0,20);c=x[d+228>>2];e=x[d+212>>2];f=x[d+236>>2];b=Fe(a,53,x[d+204>>2],1,1,1);x[b+16>>2]=f;x[b+12>>2]=e;x[b+8>>2]=c;x[b>>2]=34564;break a;case 10:b=Vd(a);x[d+228>>2]=b;if(!b){break b}b=ke(a);x[d+212>>2]=b;if(!b){break b}x[d+236>>2]=v[c+3|0]>>1;c=Ca-16|0;Ca=c;e=De(a+408|0,24);b=x[d+268>>2];a=x[d+264>>2];x[c+8>>2]=a;x[c+12>>2]=b;f=x[d+236>>2];g=x[d+212>>2];h=x[d+228>>2];x[c>>2]=a;x[c+4>>2]=b;b=Fe(e,57,f,1,1,1);x[b>>2]=34672;a=x[c>>2];e=x[c+4>>2];x[b+20>>2]=g;x[b+16>>2]=h;x[b+8>>2]=a;x[b+12>>2]=e;Ca=c+16|0;break a;case 9:break a;case 11:break i}}l:{if(v[c+3|0]&1){b=Vd(a);break l}b=ke(a)}x[d+228>>2]=b;if(!b){break b}x[d+212>>2]=v[c+3|0]>>1;c=Ca-16|0;Ca=c;e=De(a+408|0,28);b=x[d+268>>2];a=x[d+264>>2];x[c+8>>2]=a;x[c+12>>2]=b;f=x[d+212>>2];g=x[d+228>>2];x[c>>2]=a;x[c+4>>2]=b;b=rf(e,c,g,f);Ca=c+16|0;break a}if(x[a+4>>2]-x[a>>2]>>>0<2){break a}m:{c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}c=c<<24>>24;if((c|0)!=102){b=c&255;if((b|0)!=84){if((b|0)!=76){break m}b=Ae(a);break a}b=ne(a);break a}n:{c=x[a>>2];if(x[a+4>>2]-c>>>0>1){c=y[c+1|0]}else{c=0}c=c<<24>>24;if((c|0)!=112){if((c&255)!=76){break n}c=x[a>>2];if(x[a+4>>2]-c>>>0>2){c=y[c+2|0]}else{c=0}if((c<<24>>24)-48>>>0>9){break n}}b=Ze(a);break a}f=Ca-32|0;Ca=f;o:{if(!Sd(a,102)){break o}v[f+31|0]=0;c=x[a>>2];if((c|0)!=x[a+4>>2]){g=y[c|0]}else{g=0}g=g<<24>>24;c=0;p:{if((g|0)==114){break p}q:{if((g|0)!=82){if((g|0)==108){break q}if((g|0)!=76){break o}v[f+31|0]=1;e=1;c=1;break p}e=1;c=0;break p}v[f+31|0]=1;c=1}x[a>>2]=x[a>>2]+1;g=Ve(a);if(!g){break o}r:{switch(y[g+2|0]-2|0){case 2:ff(f+20|0,g);if(x[f+20>>2]==x[f+24>>2]){wa(5172,2759,76,2570);r()}if(v[x[f+24>>2]-1|0]!=42){break o}break;case 0:break r;default:break o}}h=ke(a);x[f+16>>2]=h;if(!h){break o}x[f+12>>2]=0;s:{if(!e){break s}e=ke(a);x[f+12>>2]=e;if(!e){break o}if(!c){break s}b=x[f+16>>2];x[f+16>>2]=x[f+12>>2];x[f+12>>2]=b}We(f+20|0,g);b=Ca-16|0;Ca=b;g=De(a+408|0,28);h=y[f+31|0];e=x[f+24>>2];a=b;c=x[f+20>>2];x[a+8>>2]=c;x[a+12>>2]=e;i=x[f+12>>2];j=x[f+16>>2];x[a>>2]=c;x[a+4>>2]=e;b=Fe(g,67,0,1,1,1);x[b+12>>2]=i;x[b+8>>2]=j;x[b>>2]=36656;c=x[a>>2];e=x[a+4>>2];v[b+24|0]=h;x[b+16>>2]=c;x[b+20>>2]=e;Ca=a+16|0}Ca=f+32|0;break a}b=Pd(d+196|0,2495);c=x[b+4>>2];x[d+72>>2]=x[b>>2];x[d+76>>2]=c;if(Qd(a,d+72|0)){b=a+8|0;c=x[b+4>>2]-x[b>>2]>>2;while(1){if(!Sd(a,69)){e=_e(a);x[d+264>>2]=e;if(!e){break b}de(b,d+264|0);continue}break}ee(d+264|0,a,c);c=Ca-16|0;Ca=c;e=De(a+408|0,20);b=x[d+268>>2];a=x[d+264>>2];x[c>>2]=a;x[c+4>>2]=b;x[c+8>>2]=a;x[c+12>>2]=b;b=Cf(e,0,c);Ca=c+16|0;break a}b=Pd(d+188|0,3403);c=x[b+4>>2];x[d+64>>2]=x[b>>2];x[d+68>>2]=c;if(Qd(a,d- -64|0)){c=Ca-32|0;Ca=c;x[c+28>>2]=2;b=Vd(a);x[c+24>>2]=b;t:{u:{if(!b){break u}b=ke(a);x[c+20>>2]=b;if(!b){break u}Td(c+12|0,a,1);b=0;if(!Sd(a,69)){break t}e=Ca-16|0;Ca=e;f=De(a+408|0,24);g=x[c+20>>2];h=x[c+24>>2];b=x[c+16>>2];a=x[c+12>>2];x[e+8>>2]=a;x[e+12>>2]=b;i=x[c+28>>2];x[e>>2]=a;x[e+4>>2]=b;b=Fe(f,65,i,1,1,1);x[b+12>>2]=g;x[b+8>>2]=h;x[b>>2]=37192;a=x[e+4>>2];x[b+16>>2]=x[e>>2];x[b+20>>2]=a;Ca=e+16|0;break t}b=0}Ca=c+32|0;break a}b=Pd(d+180|0,1162);c=x[b+4>>2];x[d+56>>2]=x[b>>2];x[d+60>>2]=c;if(Qd(a,d+56|0)){b=ke(a);x[d+264>>2]=b;if(!b){break b}x[d+228>>2]=2;c=Ca-16|0;Ca=c;b=De(a+408|0,28);a=Pd(c+8|0,5709);e=x[d+228>>2];f=x[d+264>>2];g=x[a+4>>2];x[c>>2]=x[a>>2];x[c+4>>2]=g;b=rf(b,c,f,e);Ca=c+16|0;break a}b=Pd(d+172|0,2259);c=x[b+4>>2];x[d+48>>2]=x[b>>2];x[d+52>>2]=c;if(Qd(a,d+48|0)){c=Ca-32|0;Ca=c;b=Vd(a);x[c+28>>2]=b;v:{w:{if(!b){break w}b=ke(a);x[c+24>>2]=b;if(!b){break w}Td(c+16|0,a,1);b=a+8|0;e=x[b+4>>2];f=x[b>>2];while(1){if(Sd(a,95)){g=c+4|0;Td(g,a,0);l=c,m=je(a,g),x[l+12>>2]=m;de(b,c+12|0);continue}break}l=c,m=Sd(a,112),v[l+12|0]=m;b=0;if(!Sd(a,69)){break v}ee(c+4|0,a,e-f>>2);e=Ca-32|0;Ca=e;h=De(a+408|0,36);i=x[c+24>>2];j=x[c+28>>2];f=x[c+20>>2];a=x[c+16>>2];x[e+24>>2]=a;x[e+28>>2]=f;g=x[c+8>>2];b=x[c+4>>2];x[e+16>>2]=b;x[e+20>>2]=g;k=y[c+12|0];x[e+8>>2]=a;x[e+12>>2]=f;x[e>>2]=b;x[e+4>>2]=g;b=Fe(h,55,0,1,1,1);x[b+12>>2]=i;x[b+8>>2]=j;x[b>>2]=37316;a=x[e+12>>2];x[b+16>>2]=x[e+8>>2];x[b+20>>2]=a;a=x[e>>2];f=x[e+4>>2];v[b+32|0]=k;x[b+24>>2]=a;x[b+28>>2]=f;Ca=e+32|0;break v}b=0}Ca=c+32|0;break a}b=Pd(d+164|0,1971);c=x[b+4>>2];x[d+40>>2]=x[b>>2];x[d+44>>2]=c;if(Qd(a,d+40|0)){b=ke(a);x[d+264>>2]=b;if(!b){break b}b=me(a,d+264|0);break a}b=Pd(d+156|0,3495);c=x[b+4>>2];x[d+32>>2]=x[b>>2];x[d+36>>2]=c;if(Qd(a,d+32|0)){b=0;c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}if((c|0)==84){b=ne(a);x[d+264>>2]=b;if(!b){break b}a=De(a+408|0,12);c=x[d+264>>2];b=Fe(a,58,0,1,1,1);x[b+8>>2]=c;x[b>>2]=37424;break a}c=Ze(a);x[d+264>>2]=c;if(!c){break a}b=$e(a,d+264|0);break a}b=Pd(d+148|0,3540);c=x[b+4>>2];x[d+24>>2]=x[b>>2];x[d+28>>2]=c;if(Qd(a,d+24|0)){b=a+8|0;c=x[b+4>>2]-x[b>>2]>>2;while(1){if(!Sd(a,69)){e=ce(a);x[d+264>>2]=e;if(!e){break b}de(b,d+264|0);continue}break}ee(d+264|0,a,c);b=Ca-16|0;Ca=b;f=De(a+408|0,16);e=x[d+268>>2];c=x[d+264>>2];x[b>>2]=c;x[b+4>>2]=e;x[b+8>>2]=c;x[b+12>>2]=e;c=Fe(f,0,0,1,1,1);x[c>>2]=37536;e=x[b+4>>2];x[c+8>>2]=x[b>>2];x[c+12>>2]=e;Ca=b+16|0;x[d+228>>2]=c;b=$e(a,d+228|0);break a}b=Pd(d+140|0,2473);c=x[b+4>>2];x[d+16>>2]=x[b>>2];x[d+20>>2]=c;if(Qd(a,d+16|0)){c=Vd(a);x[d+228>>2]=c;b=0;if(!c){break a}c=a+8|0;e=x[c+4>>2]-x[c>>2]>>2;while(1){if(!Sd(a,69)){f=_e(a);x[d+264>>2]=f;if(!f){break a}de(c,d+264|0);continue}break}ee(d+264|0,a,e);c=Ca-16|0;Ca=c;e=De(a+408|0,20);f=x[d+228>>2];b=x[d+268>>2];a=x[d+264>>2];x[c>>2]=a;x[c+4>>2]=b;x[c+8>>2]=a;x[c+12>>2]=b;b=Cf(e,f,c);Ca=c+16|0;break a}b=Pd(d+132|0,1747);c=x[b+4>>2];x[d+8>>2]=x[b>>2];x[d+12>>2]=c;if(Qd(a,d+8|0)){b=he(a,1209);break a}b=Pd(d+124|0,1206);c=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=c;if(Qd(a,d)){b=ke(a);x[d+264>>2]=b;if(!b){break b}a=De(a+408|0,12);c=x[d+264>>2];b=Fe(a,68,0,1,1,1);x[b+8>>2]=c;x[b>>2]=37644;break a}if(Sd(a,117)){b=Ce(a);x[d+212>>2]=b;if(!b){break b}x[d+236>>2]=0;c=d+264|0;Ia[x[x[b>>2]+24>>2]](c,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=0;x:{if(!af(c,Pd(d+228|0,2995))){break x}y:{if(Sd(a,116)){e=Vd(a);break y}b=0;if(!Sd(a,122)){break x}e=ke(a)}x[d+236>>2]=e;b=1}c=a+8|0;f=x[c+4>>2]-x[c>>2]>>2;if(b){break f}while(1){if(Sd(a,69)){break e}b=ce(a);x[d+264>>2]=b;if(!b){break b}de(c,d+264|0);continue}}b=0;e=Ca-48|0;Ca=e;x[e+44>>2]=0;c=Pd(e+36|0,3546);g=x[c+4>>2];x[e+16>>2]=x[c>>2];x[e+20>>2]=g;z:{A:{if(Qd(a,e+16|0)){c=hf(a);x[e+44>>2]=c;if(!c){break z}b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}if((b|0)==73){b=oe(a,0);x[e+32>>2]=b;if(!b){break A}l=e,m=pe(a,e+44|0,e+32|0),x[l+44>>2]=m}while(1){if(!Sd(a,69)){b=jf(a);x[e+32>>2]=b;if(!b){break A}l=e,m=kf(a,e+44|0,e+32|0),x[l+44>>2]=m;continue}break}b=lf(a);x[e+32>>2]=b;if(!b){break A}b=kf(a,e+44|0,e+32|0);break z}c=Pd(e+24|0,1750);g=x[c+4>>2];x[e+8>>2]=x[c>>2];x[e+12>>2]=g;if(!Qd(a,e+8|0)){b=lf(a);x[e+44>>2]=b;if(!b|!f){break z}b=mf(a,e+44|0);break z}c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}B:{if((c<<24>>24)-48>>>0<=9){while(1){c=jf(a);x[e+32>>2]=c;if(!c){break A}C:{if(b){b=kf(a,e+44|0,e+32|0);x[e+44>>2]=b;break C}if(f){b=mf(a,e+32|0);x[e+44>>2]=b;break C}x[e+44>>2]=c;b=c}if(!Sd(a,69)){continue}break B}}b=hf(a);x[e+44>>2]=b;if(!b){break A}b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}if((b|0)!=73){break B}b=oe(a,0);x[e+32>>2]=b;if(!b){break A}l=e,m=pe(a,e+44|0,e+32|0),x[l+44>>2]=m}b=lf(a);x[e+32>>2]=b;if(!b){break A}b=kf(a,e+44|0,e+32|0);break z}b=0}Ca=e+48|0;break a}a=ta()|0;v[x[d+228>>2]]=y[d+232|0];ua(a|0);r()}ee(d+228|0,a,e);if(!f){break d}break c}if(!e){break b}de(c,d+236|0)}b=d+264|0;ee(b,a,f);x[d+228>>2]=1;b=Ye(a,d+212|0,b,d+228|0);break a}if(x[d+232>>2]!=1){break a}}x[d+236>>2]=v[c+3|0]>>1;c=Ca-16|0;Ca=c;e=De(a+408|0,20);f=x[d+212>>2];b=x[d+232>>2];a=x[d+228>>2];x[c+8>>2]=a;x[c+12>>2]=b;g=x[d+236>>2];x[c>>2]=a;x[c+4>>2]=b;b=Fe(e,64,g,1,1,1);x[b+8>>2]=f;x[b>>2]=34456;a=x[c+4>>2];x[b+12>>2]=x[c>>2];x[b+16>>2]=a;Ca=c+16|0;break a}b=0}Ca=d+288|0;return b}function Vd(a){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;f=Ca-32|0;Ca=f;x[f+28>>2]=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}g=c<<24>>24;switch(g-65|0){case 18:break j;case 6:break k;case 2:break l;case 14:break m;case 17:break n;case 15:break o;case 19:break p;case 12:break q;case 0:break r;case 3:break s;case 52:break t;case 57:break u;case 38:break v;case 36:break w;case 35:break x;case 37:break y;case 46:break z;case 45:break A;case 56:break B;case 55:break C;case 44:break D;case 43:break E;case 41:break F;case 40:break G;case 51:break H;case 50:break I;case 39:break J;case 32:break K;case 34:break L;case 33:break M;case 54:break N;case 53:break O;case 10:case 21:case 49:break P;case 5:break e;case 20:break f;default:break i}}Q:{d=x[a+4>>2];c=x[a>>2];h=d-c|0;b=(g|0)==114;b=((b>>>0>>0?y[b+c|0]:0)|0)==86?b?2:1:b;if(b>>>0>>0){d=y[b+c|0]}else{d=0}b=((d|0)==75)+b|0;if(h>>>0>b>>>0){c=y[b+c|0]}else{c=0}switch((c<<24>>24&255)-68|0){case 0:break Q;case 2:break e;default:break f}}b=b+1|0;c=x[a>>2];if(b>>>0>2]-c>>>0){b=y[b+c|0]}else{b=0}b=b<<24>>24&255;c=b-111|0;if(c>>>0>9|!(1<>2]=x[a>>2]+1;e=he(a,3273);break a}x[a>>2]=x[a>>2]+1;e=he(a,1534);break a}x[a>>2]=x[a>>2]+1;e=he(a,2476);break a}x[a>>2]=x[a>>2]+1;e=he(a,1966);break a}x[a>>2]=x[a>>2]+1;e=he(a,1959);break a}x[a>>2]=x[a>>2]+1;e=he(a,1957);break a}x[a>>2]=x[a>>2]+1;e=he(a,1331);break a}x[a>>2]=x[a>>2]+1;e=he(a,1322);break a}x[a>>2]=x[a>>2]+1;e=he(a,1411);break a}x[a>>2]=x[a>>2]+1;b=Ca-16|0;Ca=b;a=De(a+408|0,16);e=Pd(b+8|0,1402);c=x[e+4>>2];x[b>>2]=x[e>>2];x[b+4>>2]=c;e=Ie(a,b);Ca=b+16|0;break a}x[a>>2]=x[a>>2]+1;e=he(a,2922);break a}x[a>>2]=x[a>>2]+1;e=he(a,2913);break a}x[a>>2]=x[a>>2]+1;e=he(a,2903);break a}x[a>>2]=x[a>>2]+1;b=Ca-16|0;Ca=b;a=De(a+408|0,16);e=Pd(b+8|0,2894);c=x[e+4>>2];x[b>>2]=x[e>>2];x[b+4>>2]=c;e=Ie(a,b);Ca=b+16|0;break a}x[a>>2]=x[a>>2]+1;e=he(a,4769);break a}x[a>>2]=x[a>>2]+1;b=Ca-16|0;Ca=b;a=De(a+408|0,16);e=Pd(b+8|0,4760);c=x[e+4>>2];x[b>>2]=x[e>>2];x[b+4>>2]=c;e=Ie(a,b);Ca=b+16|0;break a}x[a>>2]=x[a>>2]+1;e=he(a,1506);break a}x[a>>2]=x[a>>2]+1;b=Ca-16|0;Ca=b;a=De(a+408|0,16);e=Pd(b+8|0,3121);c=x[e+4>>2];x[b>>2]=x[e>>2];x[b+4>>2]=c;e=Ie(a,b);Ca=b+16|0;break a}x[a>>2]=x[a>>2]+1;e=he(a,3116);break a}x[a>>2]=x[a>>2]+1;e=he(a,4778);break a}x[a>>2]=x[a>>2]+1;e=he(a,4995);break a}x[a>>2]=x[a>>2]+1;ie(f+20|0,a);if(x[f+20>>2]==x[f+24>>2]){break h}b=je(a,f+20|0);x[f+28>>2]=b;break c}R:{S:{T:{U:{V:{W:{X:{Y:{Z:{_:{$:{aa:{ba:{ca:{da:{ea:{c=x[a>>2];if(x[a+4>>2]-c>>>0>1){c=y[c+1|0]}else{c=0}c=c<<24>>24;switch(c-79|0){case 1:case 2:case 3:case 4:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 19:case 24:case 27:case 28:case 29:case 30:case 34:case 35:break a;case 0:case 32:case 40:case 41:break e;case 33:break R;case 39:break S;case 5:case 37:break T;case 31:break U;case 20:break V;case 18:break W;case 38:break X;case 36:break Y;case 26:break Z;case 6:break _;case 25:break aa;case 23:break ba;case 22:break ca;case 21:break da;default:break ea}}switch(c-66|0){case 0:break _;case 4:break $;default:break a}}x[a>>2]=x[a>>2]+2;e=he(a,4800);break a}x[a>>2]=x[a>>2]+2;e=he(a,4789);break a}x[a>>2]=x[a>>2]+2;e=he(a,4810);break a}x[a>>2]=x[a>>2]+2;e=he(a,3008);break a}x[a>>2]=x[a>>2]+2;b=f+20|0;Td(b,a,0);m=f,n=je(a,b),x[m+16>>2]=n;if(!Sd(a,95)){break a}a=De(a+408|0,12);b=x[f+16>>2];e=Fe(a,29,0,1,1,1);x[e+8>>2]=b;x[e>>2]=40592;break a}v[f+15|0]=(c|0)==66;x[a>>2]=x[a>>2]+2;b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}fa:{if((b<<24>>24)-48>>>0<=9){b=f+20|0;Td(b,a,0);m=f,n=je(a,b),x[m+16>>2]=n;break fa}b=ke(a);x[f+16>>2]=b;if(!b){break a}}if(!Sd(a,95)){break a}a=De(a+408|0,16);b=x[f+16>>2];c=y[f+15|0];e=Fe(a,30,0,1,1,1);v[e+12|0]=c;x[e+8>>2]=b;x[e>>2]=40700;break a}x[a>>2]=x[a>>2]+2;e=he(a,1568);break a}x[a>>2]=x[a>>2]+2;e=he(a,1550);break a}x[a>>2]=x[a>>2]+2;e=he(a,1542);break a}x[a>>2]=x[a>>2]+2;e=he(a,2244);break a}x[a>>2]=x[a>>2]+2;e=he(a,5093);break a}x[a>>2]=x[a>>2]+2;e=he(a,1519);break a}b=le(a);break d}c=Ca-32|0;Ca=c;d=Pd(c+24|0,1231);g=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=g;ga:{if(!Qd(a,c)){break ga}ha:{d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}if(((d<<24>>24)-49&255)>>>0<=8){d=c+12|0;Td(d,a,0);m=c,n=je(a,d),x[m+20>>2]=n;if(!Sd(a,95)){break ga}if(Sd(a,112)){b=De(a+408|0,12);d=x[c+20>>2];b=Fe(b,28,0,1,1,1);x[b+8>>2]=d;x[b>>2]=40804;break ga}b=Vd(a);x[c+12>>2]=b;if(!b){break ha}b=If(a,c+12|0,c+20|0);break ga}if(!Sd(a,95)){d=ke(a);x[c+12>>2]=d;if(!d){break ga}if(!Sd(a,95)){break ga}b=Vd(a);x[c+20>>2]=b;if(!b){break ha}b=If(a,c+20|0,c+12|0);break ga}b=Vd(a);x[c+12>>2]=b;if(!b){break ha}b=Jf(De(a+408|0,16),x[c+12>>2],0);break ga}b=0}Ca=c+32|0;break d}x[a>>2]=x[a>>2]+2;b=Vd(a);x[f+20>>2]=b;if(!b){break a}b=me(a,f+20|0);x[f+28>>2]=b;break c}c=Ca-16|0;Ca=c;ia:{if(!Sd(a,65)){break ia}x[c+12>>2]=0;d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}ja:{if((d<<24>>24)-48>>>0<=9){d=c+4|0;Td(d,a,0);m=c,n=je(a,d),x[m+12>>2]=n;if(Sd(a,95)){break ja}break ia}if(Sd(a,95)){break ja}d=ke(a);if(!d){break ia}if(!Sd(a,95)){break ia}x[c+12>>2]=d}b=Vd(a);x[c+4>>2]=b;if(!b){b=0;break ia}b=De(a+408|0,16);d=x[c+4>>2];g=x[c+12>>2];b=Te(b,14,0,0,1);x[b+12>>2]=g;x[b+8>>2]=d;x[b>>2]=41016}Ca=c+16|0;break d}c=Ca-16|0;Ca=c;ka:{if(!Sd(a,77)){break ka}b=Vd(a);x[c+12>>2]=b;la:{if(!b){break la}b=Vd(a);x[c+8>>2]=b;if(!b){break la}b=De(a+408|0,16);d=x[c+12>>2];g=x[c+8>>2];b=Te(b,13,y[g+5|0]>>>6|0,1,1);x[b+12>>2]=g;x[b+8>>2]=d;x[b>>2]=41120;break ka}b=0}Ca=c+16|0;break d}ma:{na:{b=x[a>>2];if(x[a+4>>2]-b>>>0>1){b=y[b+1|0]}else{b=0}b=b<<24>>24&255;switch(b-115|0){case 0:case 2:break i;case 1:break ma;default:break na}}if((b|0)==101){break i}}b=ne(a);x[f+28>>2]=b;if(!b){break h}if(!y[a+388|0]){break c}e=x[a>>2];if((e|0)!=x[a+4>>2]){e=y[e|0]}else{e=0}if((e|0)!=73){break c}b=oe(a,0);x[f+20>>2]=b;if(!b){break h}b=pe(a,f+28|0,f+20|0);x[f+28>>2]=b;break c}x[a>>2]=x[a>>2]+1;b=Vd(a);x[f+20>>2]=b;if(!b){break h}b=De(a+408|0,12);e=x[f+20>>2];b=Te(b,11,y[e+5|0]>>>6|0,1,1);x[b+8>>2]=e;x[b>>2]=41348;x[f+28>>2]=b;break c}x[a>>2]=x[a>>2]+1;b=Vd(a);x[f+20>>2]=b;if(!b){break h}x[f+16>>2]=0;b=qe(a,f+20|0,f+16|0);x[f+28>>2]=b;break c}x[a>>2]=x[a>>2]+1;b=Vd(a);x[f+20>>2]=b;if(!b){break h}x[f+16>>2]=1;b=qe(a,f+20|0,f+16|0);x[f+28>>2]=b;break c}x[a>>2]=x[a>>2]+1;b=Vd(a);x[f+20>>2]=b;if(!b){break a}e=Ca-16|0;Ca=e;b=De(a+408|0,20);c=x[f+20>>2];d=Pd(e+8|0,1165);g=x[d+4>>2];x[e>>2]=x[d>>2];x[e+4>>2]=g;b=Lf(b,c,e);Ca=e+16|0;x[f+28>>2]=b;break c}x[a>>2]=x[a>>2]+1;b=Vd(a);x[f+20>>2]=b;if(!b){break h}e=Ca-16|0;Ca=e;b=De(a+408|0,20);c=x[f+20>>2];d=Pd(e+8|0,1061);g=x[d+4>>2];x[e>>2]=x[d>>2];x[e+4>>2]=g;b=Lf(b,c,e);Ca=e+16|0;x[f+28>>2]=b;break c}b=x[a>>2];if(x[a+4>>2]-b>>>0>1){b=y[b+1|0]}else{b=0}if((b|0)==116){break i}v[f+16|0]=0;b=re(a,0,f+16|0);x[f+28>>2]=b;if(!b){break a}c=y[f+16|0];d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}if((d|0)==73){if(y[a+388|0]?0:c){break b}if(!c){de(a+148|0,f+28|0)}b=oe(a,0);x[f+20>>2]=b;if(!b){break a}b=pe(a,f+28|0,f+20|0);x[f+28>>2]=b;break c}e=b;if(!c){break c}break a}d=Ca+-64|0;Ca=d;x[d+56>>2]=0;x[d+60>>2]=0;b=Pd(d+48|0,1705);c=x[b+4>>2];x[d+16>>2]=x[b>>2];x[d+20>>2]=c;oa:{if(Qd(a,d+16|0)){b=Pd(d+40|0,1477);c=x[b+4>>2];x[d+56>>2]=x[b>>2];x[d+60>>2]=c;break oa}b=Pd(d+32|0,1234);c=x[b+4>>2];x[d+8>>2]=x[b>>2];x[d+12>>2]=c;if(Qd(a,d+8|0)){b=Pd(d+40|0,2384);c=x[b+4>>2];x[d+56>>2]=x[b>>2];x[d+60>>2]=c;break oa}b=Pd(d+24|0,3266);c=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=c;if(!Qd(a,d)){break oa}b=Pd(d+40|0,2403);c=x[b+4>>2];x[d+56>>2]=x[b>>2];x[d+60>>2]=c}c=ae(a,0);x[d+40>>2]=c;b=0;pa:{if(!c){break pa}b=c;if(x[d+56>>2]==x[d+60>>2]){break pa}c=Ca-16|0;Ca=c;h=De(a+408|0,20);b=x[d+60>>2];g=x[d+56>>2];x[c+8>>2]=g;x[c+12>>2]=b;i=x[d+40>>2];x[c>>2]=g;x[c+4>>2]=b;b=Fe(h,6,0,1,1,1);x[b>>2]=41232;g=x[c+4>>2];h=x[c>>2];x[b+16>>2]=i;x[b+8>>2]=h;x[b+12>>2]=g;Ca=c+16|0}Ca=d- -64|0;break d}e=0;break a}if((b|0)==79){break e}}b=se(a);break d}d=Ca-128|0;Ca=d;m=d,n=Je(a),x[m+124>>2]=n;x[d+120>>2]=0;b=Pd(d+112|0,2275);c=x[b+4>>2];x[d+48>>2]=x[b>>2];x[d+52>>2]=c;qa:{ra:{sa:{if(Qd(a,d+48|0)){m=d,n=he(a,1337),x[m+120>>2]=n;break sa}b=Pd(d+104|0,3543);c=x[b+4>>2];x[d+40>>2]=x[b>>2];x[d+44>>2]=c;if(Qd(a,d+40|0)){b=ke(a);x[d+88>>2]=b;if(!b){break ra}if(!Sd(a,69)){break ra}b=De(a+408|0,12);c=x[d+88>>2];b=Fe(b,16,0,1,1,1);x[b+8>>2]=c;x[b>>2]=39940;x[d+120>>2]=b;break sa}b=Pd(d+96|0,1228);c=x[b+4>>2];x[d+32>>2]=x[b>>2];x[d+36>>2]=c;if(!Qd(a,d+32|0)){break sa}b=a+8|0;c=x[b+4>>2]-x[b>>2]>>2;while(1){if(!Sd(a,69)){g=Vd(a);x[d+88>>2]=g;if(!g){break ra}de(b,d+88|0);continue}break}ee(d+88|0,a,c);c=Ca-16|0;Ca=c;h=De(a+408|0,16);b=x[d+92>>2];g=x[d+88>>2];x[c>>2]=g;x[c+4>>2]=b;x[c+8>>2]=g;x[c+12>>2]=b;b=Fe(h,17,0,1,1,1);x[b>>2]=40048;g=x[c+4>>2];x[b+8>>2]=x[c>>2];x[b+12>>2]=g;Ca=c+16|0;x[d+120>>2]=b}b=Pd(d+80|0,1174);c=x[b+4>>2];x[d+24>>2]=x[b>>2];x[d+28>>2]=c;Qd(a,d+24|0);b=0;if(!Sd(a,70)){break qa}Sd(a,89);b=Vd(a);x[d+76>>2]=b;if(!b){break ra}v[d+75|0]=0;b=a+8|0;c=x[b+4>>2]-x[b>>2]>>2;while(1){ta:{ua:{if(Sd(a,69)){break ua}if(Sd(a,118)){continue}g=Pd(d- -64|0,3597);h=x[g+4>>2];x[d+16>>2]=x[g>>2];x[d+20>>2]=h;if(Qd(a,d+16|0)){v[d+75|0]=1;break ua}g=Pd(d+56|0,3600);h=x[g+4>>2];x[d+8>>2]=x[g>>2];x[d+12>>2]=h;if(!Qd(a,d+8|0)){break ta}v[d+75|0]=2}ee(d+88|0,a,c);c=Ca-16|0;Ca=c;h=De(a+408|0,32);i=x[d+76>>2];b=x[d+92>>2];g=x[d+88>>2];x[c+8>>2]=g;x[c+12>>2]=b;j=x[d+120>>2];k=y[d+75|0];l=x[d+124>>2];x[c>>2]=g;x[c+4>>2]=b;b=Te(h,15,0,1,0);x[b+8>>2]=i;x[b>>2]=40164;g=x[c+4>>2];h=x[c>>2];x[b+28>>2]=j;v[b+24|0]=k;x[b+20>>2]=l;x[b+12>>2]=h;x[b+16>>2]=g;Ca=c+16|0;break qa}g=Vd(a);x[d+88>>2]=g;if(!g){break ra}de(b,d+88|0);continue}}b=0}Ca=d+128|0}x[f+28>>2]=b;if(!b){break a}}de(a+148|0,f+28|0)}e=b}Ca=f+32|0;return e}function bb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,B=0,C=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;L=Ca-16|0;Ca=L;a:{if(A[a+16>>2]<=2){x[a+20>>2]=2;break a}b:{c=x[a+24>>2];if(x[c>>2]!=1){break b}c:{switch(x[c+52>>2]-1|0){case 1:if(!(x[c+104>>2]!=2|x[c+4>>2]!=1|(x[c+56>>2]!=2|x[c+108>>2]!=2))){H=a;a=x[a+24>>2];h=x[a+24>>2];p=x[a+148>>2];v=x[a+96>>2];n=x[a+44>>2];J=x[a+8>>2];a=x[a+12>>2];c=D(J,a)<<2;y=wc(c);B=wc(c);C=wc(c);d:{e:{f:{if(!(!C|(!y|!B))){g=-1<>2]&1;O=c-a|0;s=x[H>>2];if(!a|!J){break f}i=+E(0-t|0);b=i*.344+i*.714;g:{if(F(b)<2147483648){e=~~b;break g}e=-2147483648}b=i*1.772;h:{if(F(b)<2147483648){j=~~b;break h}j=-2147483648}b=i*1.402;i:{if(F(b)<2147483648){d=~~b;break i}d=-2147483648}a=y;h=B;c=C;while(1){u=x[n>>2];r=u+d|0;x[a>>2]=(r|0)>=0?(g|0)>(r|0)?r:g:0;r=u-e|0;x[h>>2]=(r|0)>=0?(g|0)>(r|0)?r:g:0;r=j+u|0;x[c>>2]=(r|0)>=0?(g|0)>(r|0)?r:g:0;c=c+4|0;h=h+4|0;a=a+4|0;n=n+4|0;o=o+1|0;if((J|0)!=(o|0)){continue}break}break e}jd(y);jd(B);jd(C);break d}c=C;h=B;a=y}N=O&-2;if(N){K=s&1;P=J-K|0;i=+E(0-t|0);b=i*.344+i*.714;j:{if(F(b)<2147483648){l=~~b;break j}l=-2147483648}q=P&-2;d=q-1|0;b=i*1.772;k:{if(F(b)<2147483648){u=~~b;break k}u=-2147483648}j=N-1|0;d=d&-2;b=i*1.402;l:{if(F(b)<2147483648){r=~~b;break l}r=-2147483648}M=j&-2;s=d+2|0;I=J<<2;while(1){j=c+I|0;d=h+I|0;o=a+I|0;G=n+I|0;if(K){k=x[n>>2];e=k+r|0;x[a>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;e=k-l|0;x[h>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;e=k+u|0;x[c>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=x[v>>2];m=+E(x[p>>2]-t|0);b=m*1.402;m:{if(F(b)<2147483648){f=~~b;break m}f=-2147483648}e=x[G>>2];f=f+e|0;x[o>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+E(k-t|0);b=i*.344+m*.714;n:{if(F(b)<2147483648){f=~~b;break n}f=-2147483648}k=e-f|0;x[d>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;o:{if(F(b)<2147483648){f=~~b;break o}f=-2147483648}e=f+e|0;x[j>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;j=j+4|0;d=d+4|0;o=o+4|0;G=G+4|0;c=c+4|0;h=h+4|0;n=n+4|0;a=a+4|0}w=0;if(q){while(1){k=x[v>>2];m=+E(x[p>>2]-t|0);b=m*1.402;p:{if(F(b)<2147483648){f=~~b;break p}f=-2147483648}e=x[n>>2];f=f+e|0;x[a>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+E(k-t|0);b=i*.344+m*.714;q:{if(F(b)<2147483648){f=~~b;break q}f=-2147483648}k=e-f|0;x[h>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;r:{if(F(b)<2147483648){f=~~b;break r}f=-2147483648}e=f+e|0;x[c>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=x[v>>2];m=+E(x[p>>2]-t|0);b=m*1.402;s:{if(F(b)<2147483648){f=~~b;break s}f=-2147483648}e=x[n+4>>2];f=f+e|0;x[a+4>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+E(k-t|0);b=i*.344+m*.714;t:{if(F(b)<2147483648){f=~~b;break t}f=-2147483648}k=e-f|0;x[h+4>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;u:{if(F(b)<2147483648){f=~~b;break u}f=-2147483648}e=f+e|0;x[c+4>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=x[v>>2];m=+E(x[p>>2]-t|0);b=m*1.402;v:{if(F(b)<2147483648){f=~~b;break v}f=-2147483648}e=x[G>>2];f=f+e|0;x[o>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+E(k-t|0);b=i*.344+m*.714;w:{if(F(b)<2147483648){f=~~b;break w}f=-2147483648}k=e-f|0;x[d>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;x:{if(F(b)<2147483648){f=~~b;break x}f=-2147483648}e=f+e|0;x[j>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=x[v>>2];m=+E(x[p>>2]-t|0);b=m*1.402;y:{if(F(b)<2147483648){f=~~b;break y}f=-2147483648}e=x[G+4>>2];f=f+e|0;x[o+4>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+E(k-t|0);b=i*.344+m*.714;z:{if(F(b)<2147483648){f=~~b;break z}f=-2147483648}k=e-f|0;x[d+4>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;A:{if(F(b)<2147483648){f=~~b;break A}f=-2147483648}e=f+e|0;x[j+4>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;p=p+4|0;v=v+4|0;j=j+8|0;d=d+8|0;o=o+8|0;G=G+8|0;c=c+8|0;h=h+8|0;a=a+8|0;n=n+8|0;w=w+2|0;if(q>>>0>w>>>0){continue}break}e=s}else{e=0}if(e>>>0

>>0){k=x[v>>2];m=+E(x[p>>2]-t|0);b=m*1.402;B:{if(F(b)<2147483648){f=~~b;break B}f=-2147483648}e=x[n>>2];f=f+e|0;x[a>>2]=(f|0)>=0?(g|0)>(f|0)?f:g:0;i=+E(k-t|0);b=i*.344+m*.714;C:{if(F(b)<2147483648){f=~~b;break C}f=-2147483648}k=e-f|0;x[h>>2]=(k|0)>=0?(g|0)>(k|0)?k:g:0;b=i*1.772;D:{if(F(b)<2147483648){f=~~b;break D}f=-2147483648}e=f+e|0;x[c>>2]=(e|0)>=0?(g|0)>(e|0)?e:g:0;k=x[v>>2];f=o;m=+E(x[p>>2]-t|0);b=m*1.402;E:{if(F(b)<2147483648){o=~~b;break E}o=-2147483648}e=x[G>>2];o=o+e|0;x[f>>2]=(o|0)>=0?(g|0)>(o|0)?o:g:0;o=d;i=+E(k-t|0);b=i*.344+m*.714;F:{if(F(b)<2147483648){d=~~b;break F}d=-2147483648}d=e-d|0;x[o>>2]=(d|0)>=0?(g|0)>(d|0)?d:g:0;b=i*1.772;G:{if(F(b)<2147483648){d=~~b;break G}d=-2147483648}d=d+e|0;x[j>>2]=(d|0)>=0?(g|0)>(d|0)?d:g:0;p=p+4|0;v=v+4|0;c=c+4|0;h=h+4|0;n=n+4|0;a=a+4|0}c=c+I|0;h=h+I|0;a=a+I|0;n=n+I|0;z=z+2|0;if(N>>>0>z>>>0){continue}break}d=M+2|0}else{d=0}H:{if(d>>>0>=O>>>0){break H}r=J&-2;if(r){e=r-1&-2;o=0;while(1){j=x[v>>2];m=+E(x[p>>2]-t|0);b=m*1.402;I:{if(F(b)<2147483648){s=~~b;break I}s=-2147483648}d=x[n>>2];s=s+d|0;x[a>>2]=(s|0)>=0?(g|0)>(s|0)?s:g:0;i=+E(j-t|0);b=i*.344+m*.714;J:{if(F(b)<2147483648){j=~~b;break J}j=-2147483648}j=d-j|0;x[h>>2]=(j|0)>=0?(g|0)>(j|0)?j:g:0;b=i*1.772;K:{if(F(b)<2147483648){j=~~b;break K}j=-2147483648}d=j+d|0;x[c>>2]=(d|0)>=0?(g|0)>(d|0)?d:g:0;j=x[v>>2];m=+E(x[p>>2]-t|0);b=m*1.402;L:{if(F(b)<2147483648){s=~~b;break L}s=-2147483648}d=x[n+4>>2];s=s+d|0;x[a+4>>2]=(s|0)>=0?(g|0)>(s|0)?s:g:0;i=+E(j-t|0);b=i*.344+m*.714;M:{if(F(b)<2147483648){j=~~b;break M}j=-2147483648}j=d-j|0;x[h+4>>2]=(j|0)>=0?(g|0)>(j|0)?j:g:0;b=i*1.772;N:{if(F(b)<2147483648){j=~~b;break N}j=-2147483648}d=j+d|0;x[c+4>>2]=(d|0)>=0?(g|0)>(d|0)?d:g:0;p=p+4|0;v=v+4|0;c=c+8|0;h=h+8|0;a=a+8|0;n=n+8|0;o=o+2|0;if(r>>>0>o>>>0){continue}break}d=e+2|0}else{d=0}if(d>>>0>=J>>>0){break H}d=x[v>>2];e=a;m=+E(x[p>>2]-t|0);b=m*1.402;O:{if(F(b)<2147483648){j=~~b;break O}j=-2147483648}a=x[n>>2];j=j+a|0;x[e>>2]=(j|0)>=0?(g|0)>(j|0)?j:g:0;e=h;i=+E(d-t|0);b=i*.344+m*.714;P:{if(F(b)<2147483648){h=~~b;break P}h=-2147483648}h=a-h|0;x[e>>2]=(h|0)>=0?(g|0)>(h|0)?h:g:0;b=i*1.772;Q:{if(F(b)<2147483648){h=~~b;break Q}h=-2147483648}a=h+a|0;x[c>>2]=(a|0)>=0?(a|0)<(g|0)?a:g:0}jd(x[x[H+24>>2]+44>>2]);a=x[H+24>>2];x[a+44>>2]=y;jd(x[a+96>>2]);a=x[H+24>>2];x[a+96>>2]=B;jd(x[a+148>>2]);c=x[H+24>>2];x[c+148>>2]=C;a=x[c+8>>2];x[c+112>>2]=a;x[c+60>>2]=a;a=x[c+12>>2];x[c+116>>2]=a;x[c- -64>>2]=a;a=x[c>>2];x[c+104>>2]=a;x[c+52>>2]=a;a=x[c+4>>2];x[c+108>>2]=a;x[c+56>>2]=a;x[H+20>>2]=1}break a}if(x[c+104>>2]!=2|x[c+4>>2]!=1|(x[c+56>>2]!=1|x[c+108>>2]!=1)){break b}u=a;c=x[a+24>>2];h=x[c+24>>2];n=x[c+148>>2];p=x[c+96>>2];w=x[c+44>>2];a=x[c+8>>2];K=x[c+12>>2];c=D(a,K)<<2;r=wc(c);s=wc(c);e=wc(c);R:{if(!(!e|(!r|!s))){if(K){H=x[u>>2]&1;M=a-H|0;f=1<>2];d=l+C|0;x[a>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;d=l-y|0;x[h>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;d=l+B|0;x[c>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;h=h+4|0;w=w+4|0;c=c+4|0;a=a+4|0}G=0;if(k){while(1){l=x[p>>2];m=+E(x[n>>2]-f|0);b=m*1.402;V:{if(F(b)<2147483648){g=~~b;break V}g=-2147483648}d=x[w>>2];z=g+d|0;x[a>>2]=(z|0)>=0?(q|0)>(z|0)?z:q:0;i=+E(l-f|0);b=i*.344+m*.714;W:{if(F(b)<2147483648){l=~~b;break W}l=-2147483648}l=d-l|0;x[h>>2]=(l|0)>=0?(q|0)>(l|0)?l:q:0;b=i*1.772;X:{if(F(b)<2147483648){l=~~b;break X}l=-2147483648}d=l+d|0;x[c>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;l=x[p>>2];m=+E(x[n>>2]-f|0);b=m*1.402;Y:{if(F(b)<2147483648){g=~~b;break Y}g=-2147483648}d=x[w+4>>2];z=g+d|0;x[a+4>>2]=(z|0)>=0?(q|0)>(z|0)?z:q:0;i=+E(l-f|0);b=i*.344+m*.714;Z:{if(F(b)<2147483648){l=~~b;break Z}l=-2147483648}l=d-l|0;x[h+4>>2]=(l|0)>=0?(q|0)>(l|0)?l:q:0;b=i*1.772;_:{if(F(b)<2147483648){l=~~b;break _}l=-2147483648}d=l+d|0;x[c+4>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;n=n+4|0;p=p+4|0;c=c+8|0;h=h+8|0;a=a+8|0;w=w+8|0;G=G+2|0;if(k>>>0>G>>>0){continue}break}d=j}else{d=0}if(d>>>0>>0){l=x[p>>2];m=+E(x[n>>2]-f|0);b=m*1.402;$:{if(F(b)<2147483648){g=~~b;break $}g=-2147483648}d=x[w>>2];z=g+d|0;x[a>>2]=(z|0)>=0?(q|0)>(z|0)?z:q:0;i=+E(l-f|0);b=i*.344+m*.714;aa:{if(F(b)<2147483648){l=~~b;break aa}l=-2147483648}l=d-l|0;x[h>>2]=(l|0)>=0?(q|0)>(l|0)?l:q:0;b=i*1.772;ba:{if(F(b)<2147483648){l=~~b;break ba}l=-2147483648}d=l+d|0;x[c>>2]=(d|0)>=0?(d|0)<(q|0)?d:q:0;n=n+4|0;p=p+4|0;h=h+4|0;w=w+4|0;c=c+4|0;a=a+4|0}o=o+1|0;if((K|0)!=(o|0)){continue}break}}jd(x[x[u+24>>2]+44>>2]);a=x[u+24>>2];x[a+44>>2]=r;jd(x[a+96>>2]);a=x[u+24>>2];x[a+96>>2]=s;jd(x[a+148>>2]);c=x[u+24>>2];x[c+148>>2]=e;a=x[c+8>>2];x[c+112>>2]=a;x[c+60>>2]=a;a=x[c+12>>2];x[c+116>>2]=a;x[c- -64>>2]=a;a=x[c>>2];x[c+104>>2]=a;x[c+52>>2]=a;a=x[c+4>>2];x[c+108>>2]=a;x[c+56>>2]=a;x[u+20>>2]=1;break R}jd(r);jd(s);jd(e)}break a;case 0:break c;default:break b}}if(x[c+104>>2]!=1|x[c+4>>2]!=1|(x[c+56>>2]!=1|x[c+108>>2]!=1)){break b}c=x[a+24>>2];h=x[c+24>>2];w=x[c+148>>2];n=x[c+96>>2];p=x[c+44>>2];r=D(x[c+12>>2],x[c+8>>2]);c=r<<2;B=wc(c);C=wc(c);o=wc(c);ca:{if(!(!o|(!B|!C))){if(r){u=-1<>2];m=+E(x[w>>2]-s|0);b=m*1.402;da:{if(F(b)<2147483648){e=~~b;break da}e=-2147483648}j=x[p>>2];e=e+j|0;x[d>>2]=(e|0)>=0?(e|0)<(u|0)?e:u:0;i=+E(y-s|0);b=i*.344+m*.714;ea:{if(F(b)<2147483648){e=~~b;break ea}e=-2147483648}y=j-e|0;x[h>>2]=(y|0)>=0?(u|0)>(y|0)?y:u:0;b=i*1.772;fa:{if(F(b)<2147483648){e=~~b;break fa}e=-2147483648}j=e+j|0;x[c>>2]=(j|0)>=0?(j|0)<(u|0)?j:u:0;c=c+4|0;h=h+4|0;d=d+4|0;w=w+4|0;n=n+4|0;p=p+4|0;v=v+1|0;if((r|0)!=(v|0)){continue}break}}jd(x[x[a+24>>2]+44>>2]);c=x[a+24>>2];x[c+44>>2]=B;jd(x[c+96>>2]);c=x[a+24>>2];x[c+96>>2]=C;jd(x[c+148>>2]);x[x[a+24>>2]+148>>2]=o;x[a+20>>2]=1;break ca}jd(B);jd(C);jd(o)}break a}x[L+4>>2]=262;x[L>>2]=1974;Kc(x[7628],12598,L)}Ca=L+16|0}function id(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=Ca-16|0;Ca=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(a>>>0<=244){g=x[10994];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+44016|0;d=x[a+44024>>2];a=x[d+8>>2];o:{if((b|0)==(a|0)){m=43976,n=Kl(c)&g,x[m>>2]=n;break o}x[a+12>>2]=b;x[b+8>>2]=a}a=d+8|0;b=c<<3;x[d+4>>2]=b|3;b=b+d|0;x[b+4>>2]=x[b+4>>2]|1;break a}k=x[10996];if(k>>>0>=h>>>0){break n}if(b){a=2<>2];a=x[e+8>>2];p:{if((b|0)==(a|0)){g=Kl(d)&g;x[10994]=g;break p}x[a+12>>2]=b;x[b+8>>2]=a}x[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;x[c+4>>2]=d|1;x[a+e>>2]=d;if(k){b=(k&-8)+44016|0;f=x[10999];a=1<<(k>>>3);q:{if(!(a&g)){x[10994]=a|g;a=b;break q}a=x[b+8>>2]}x[b+8>>2]=f;x[a+12>>2]=f;x[f+12>>2]=b;x[f+8>>2]=a}a=e+8|0;x[10999]=c;x[10996]=d;break a}j=x[10995];if(!j){break n}c=x[(El(j)<<2)+44280>>2];f=(x[c+4>>2]&-8)-h|0;b=c;while(1){r:{a=x[b+16>>2];if(!a){a=x[b+20>>2];if(!a){break r}}b=(x[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=x[c+24>>2];d=x[c+12>>2];if((d|0)!=(c|0)){a=x[c+8>>2];x[a+12>>2]=d;x[d+8>>2]=a;break b}b=c+20|0;a=x[b>>2];if(!a){a=x[c+16>>2];if(!a){break m}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=x[b>>2];if(a){continue}b=d+16|0;a=x[d+16>>2];if(a){continue}break}x[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break n}a=a+11|0;h=a&-8;j=x[10995];if(!j){break n}f=0-h|0;g=0;s:{if(h>>>0<256){break s}g=31;if(h>>>0>16777215){break s}a=G(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=x[(g<<2)+44280>>2];t:{u:{v:{if(!b){a=0;break v}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){w:{e=(x[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break w}d=b;f=e;if(e){break w}f=0;a=b;break u}e=x[b+20>>2];b=x[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break t}}while(1){b=(x[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=x[a+16>>2];if(b){a=b}else{a=x[a+20>>2]}if(a){continue}break}}if(!d|x[10996]-h>>>0<=f>>>0){break n}g=x[d+24>>2];c=x[d+12>>2];if((d|0)!=(c|0)){a=x[d+8>>2];x[a+12>>2]=c;x[c+8>>2]=a;break c}b=d+20|0;a=x[b>>2];if(!a){a=x[d+16>>2];if(!a){break l}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=x[b>>2];if(a){continue}b=c+16|0;a=x[c+16>>2];if(a){continue}break}x[e>>2]=0;break c}a=x[10996];if(a>>>0>=h>>>0){d=x[10999];b=a-h|0;x:{if(b>>>0>=16){c=d+h|0;x[c+4>>2]=b|1;x[a+d>>2]=b;x[d+4>>2]=h|3;break x}x[d+4>>2]=a|3;a=a+d|0;x[a+4>>2]=x[a+4>>2]|1;c=0;b=0}x[10996]=b;x[10999]=c;a=d+8|0;break a}i=x[10997];if(i>>>0>h>>>0){b=i-h|0;x[10997]=b;c=x[11e3];a=c+h|0;x[11e3]=a;x[a+4>>2]=b|1;x[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(x[11112]){c=x[11114]}else{x[11115]=-1;x[11116]=-1;x[11113]=4096;x[11114]=4096;x[11112]=l+12&-16^1431655768;x[11117]=0;x[11105]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=x[11104];if(d){c=x[11102];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}y:{if(!(y[44420]&4)){z:{A:{B:{C:{d=x[11e3];if(d){a=44424;while(1){c=x[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break C}a=x[a+8>>2];if(a){continue}break}}c=hd(0);if((c|0)==-1){break z}g=b;d=x[11113];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break z}d=x[11104];if(d){a=x[11102];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break z}}a=hd(g);if((c|0)!=(a|0)){break B}break y}g=f&e-i;c=hd(g);if((c|0)==(x[a>>2]+x[a+4>>2]|0)){break A}a=c}if((a|0)==-1){break z}if(h+48>>>0<=g>>>0){c=a;break y}c=x[11114];c=c+(j-g|0)&0-c;if((hd(c)|0)==-1){break z}g=c+g|0;c=a;break y}if((c|0)!=-1){break y}}x[11105]=x[11105]|4}c=hd(b);a=hd(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break i}g=a-c|0;if(g>>>0<=h+40>>>0){break i}}a=x[11102]+g|0;x[11102]=a;if(a>>>0>A[11103]){x[11103]=a}D:{e=x[11e3];if(e){a=44424;while(1){d=x[a>>2];b=x[a+4>>2];if((d+b|0)==(c|0)){break D}a=x[a+8>>2];if(a){continue}break}break k}a=x[10998];if(!(a>>>0<=c>>>0?a:0)){x[10998]=c}a=0;x[11107]=g;x[11106]=c;x[11002]=-1;x[11003]=x[11112];x[11109]=0;while(1){d=a<<3;b=d+44016|0;x[d+44024>>2]=b;x[d+44028>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=-8-c&7;b=d-a|0;x[10997]=b;a=a+c|0;x[11e3]=a;x[a+4>>2]=b|1;x[(c+d|0)+4>>2]=40;x[11001]=x[11116];break j}if(x[a+12>>2]&8|(c>>>0<=e>>>0|d>>>0>e>>>0)){break k}x[a+4>>2]=b+g;a=-8-e&7;c=a+e|0;x[11e3]=c;b=x[10997]+g|0;a=b-a|0;x[10997]=a;x[c+4>>2]=a|1;x[(b+e|0)+4>>2]=40;x[11001]=x[11116];break j}d=0;break b}c=0;break c}if(A[10998]>c>>>0){x[10998]=c}b=c+g|0;a=44424;E:{F:{G:{while(1){if((b|0)!=x[a>>2]){a=x[a+8>>2];if(a){continue}break G}break}if(!(y[a+12|0]&8)){break F}}a=44424;while(1){b=x[a>>2];if(b>>>0<=e>>>0){f=b+x[a+4>>2]|0;if(f>>>0>e>>>0){break E}}a=x[a+8>>2];continue}}x[a>>2]=c;x[a+4>>2]=x[a+4>>2]+g;j=(-8-c&7)+c|0;x[j+4>>2]=h|3;g=b+(-8-b&7)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){x[11e3]=i;a=x[10997]+a|0;x[10997]=a;x[i+4>>2]=a|1;break d}if(x[10999]==(g|0)){x[10999]=i;a=x[10996]+a|0;x[10996]=a;x[i+4>>2]=a|1;x[a+i>>2]=a;break d}f=x[g+4>>2];if((f&3)!=1){break e}e=f&-8;if(f>>>0<=255){c=x[g+12>>2];b=x[g+8>>2];if((c|0)==(b|0)){m=43976,n=x[10994]&Kl(f>>>3|0),x[m>>2]=n;break f}x[b+12>>2]=c;x[c+8>>2]=b;break f}h=x[g+24>>2];c=x[g+12>>2];if((g|0)!=(c|0)){b=x[g+8>>2];x[b+12>>2]=c;x[c+8>>2]=b;break g}b=g+20|0;f=x[b>>2];if(!f){f=x[g+16>>2];if(!f){break h}b=g+16|0}while(1){d=b;c=f;b=c+20|0;f=x[b>>2];if(f){continue}b=c+16|0;f=x[c+16>>2];if(f){continue}break}x[d>>2]=0;break g}d=g-40|0;a=-8-c&7;b=d-a|0;x[10997]=b;a=a+c|0;x[11e3]=a;x[a+4>>2]=b|1;x[(c+d|0)+4>>2]=40;x[11001]=x[11116];a=(f+(39-f&7)|0)-47|0;d=a>>>0>>0?e:a;x[d+4>>2]=27;a=x[11109];x[d+16>>2]=x[11108];x[d+20>>2]=a;a=x[11107];x[d+8>>2]=x[11106];x[d+12>>2]=a;x[11108]=d+8;x[11107]=g;x[11106]=c;x[11109]=0;a=d+24|0;while(1){x[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break j}x[d+4>>2]=x[d+4>>2]&-2;f=d-e|0;x[e+4>>2]=f|1;x[d>>2]=f;if(f>>>0<=255){b=(f&-8)+44016|0;c=x[10994];a=1<<(f>>>3);H:{if(!(c&a)){x[10994]=a|c;a=b;break H}a=x[b+8>>2]}x[b+8>>2]=e;x[a+12>>2]=e;x[e+12>>2]=b;x[e+8>>2]=a;break j}a=31;if(f>>>0<=16777215){a=G(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}x[e+28>>2]=a;x[e+16>>2]=0;x[e+20>>2]=0;b=(a<<2)+44280|0;I:{d=x[10995];c=1<>2]=e;break J}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=x[b>>2];while(1){b=d;if((f|0)==(x[b+4>>2]&-8)){break I}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=x[c+16>>2];if(d){continue}break}x[c+16>>2]=e}x[e+24>>2]=b;x[e+12>>2]=e;x[e+8>>2]=e;break j}a=x[b+8>>2];x[a+12>>2]=e;x[b+8>>2]=e;x[e+24>>2]=0;x[e+12>>2]=b;x[e+8>>2]=a}a=x[10997];if(a>>>0<=h>>>0){break i}b=a-h|0;x[10997]=b;c=x[11e3];a=c+h|0;x[11e3]=a;x[a+4>>2]=b|1;x[c+4>>2]=h|3;a=c+8|0;break a}x[10518]=48;a=0;break a}c=0}if(!h){break f}d=x[g+28>>2];b=(d<<2)+44280|0;K:{if(x[b>>2]==(g|0)){x[b>>2]=c;if(c){break K}m=43980,n=x[10995]&Kl(d),x[m>>2]=n;break f}x[h+(x[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break f}}x[c+24>>2]=h;b=x[g+16>>2];if(b){x[c+16>>2]=b;x[b+24>>2]=c}b=x[g+20>>2];if(!b){break f}x[c+20>>2]=b;x[b+24>>2]=c}a=a+e|0;g=e+g|0;f=x[g+4>>2]}x[g+4>>2]=f&-2;x[i+4>>2]=a|1;x[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+44016|0;c=x[10994];a=1<<(a>>>3);L:{if(!(c&a)){x[10994]=a|c;a=b;break L}a=x[b+8>>2]}x[b+8>>2]=i;x[a+12>>2]=i;x[i+12>>2]=b;x[i+8>>2]=a;break d}f=31;if(a>>>0<=16777215){b=G(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}x[i+28>>2]=f;x[i+16>>2]=0;x[i+20>>2]=0;b=(f<<2)+44280|0;M:{d=x[10995];c=1<>2]=i;break N}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=x[b>>2];while(1){b=c;if((x[c+4>>2]&-8)==(a|0)){break M}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=x[d+16>>2];if(c){continue}break}x[d+16>>2]=i}x[i+24>>2]=b;x[i+12>>2]=i;x[i+8>>2]=i;break d}a=x[b+8>>2];x[a+12>>2]=i;x[b+8>>2]=i;x[i+24>>2]=0;x[i+12>>2]=b;x[i+8>>2]=a}a=j+8|0;break a}O:{if(!g){break O}b=x[d+28>>2];a=(b<<2)+44280|0;P:{if(x[a>>2]==(d|0)){x[a>>2]=c;if(c){break P}j=Kl(b)&j;x[10995]=j;break O}x[g+(x[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break O}}x[c+24>>2]=g;a=x[d+16>>2];if(a){x[c+16>>2]=a;x[a+24>>2]=c}a=x[d+20>>2];if(!a){break O}x[c+20>>2]=a;x[a+24>>2]=c}Q:{if(f>>>0<=15){a=f+h|0;x[d+4>>2]=a|3;a=a+d|0;x[a+4>>2]=x[a+4>>2]|1;break Q}x[d+4>>2]=h|3;e=d+h|0;x[e+4>>2]=f|1;x[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+44016|0;c=x[10994];a=1<<(f>>>3);R:{if(!(c&a)){x[10994]=a|c;a=b;break R}a=x[b+8>>2]}x[b+8>>2]=e;x[a+12>>2]=e;x[e+12>>2]=b;x[e+8>>2]=a;break Q}a=31;if(f>>>0<=16777215){a=G(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}x[e+28>>2]=a;x[e+16>>2]=0;x[e+20>>2]=0;b=(a<<2)+44280|0;S:{c=1<>2]=e;break T}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=x[b>>2];while(1){b=h;if((x[b+4>>2]&-8)==(f|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=x[c+16>>2];if(h){continue}break}x[c+16>>2]=e}x[e+24>>2]=b;x[e+12>>2]=e;x[e+8>>2]=e;break Q}a=x[b+8>>2];x[a+12>>2]=e;x[b+8>>2]=e;x[e+24>>2]=0;x[e+12>>2]=b;x[e+8>>2]=a}a=d+8|0;break a}U:{if(!i){break U}b=x[c+28>>2];a=(b<<2)+44280|0;V:{if(x[a>>2]==(c|0)){x[a>>2]=d;if(d){break V}m=43980,n=Kl(b)&j,x[m>>2]=n;break U}x[i+(x[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break U}}x[d+24>>2]=i;a=x[c+16>>2];if(a){x[d+16>>2]=a;x[a+24>>2]=d}a=x[c+20>>2];if(!a){break U}x[d+20>>2]=a;x[a+24>>2]=d}W:{if(f>>>0<=15){a=f+h|0;x[c+4>>2]=a|3;a=a+c|0;x[a+4>>2]=x[a+4>>2]|1;break W}x[c+4>>2]=h|3;d=c+h|0;x[d+4>>2]=f|1;x[d+f>>2]=f;if(k){b=(k&-8)+44016|0;e=x[10999];a=1<<(k>>>3);X:{if(!(a&g)){x[10994]=a|g;a=b;break X}a=x[b+8>>2]}x[b+8>>2]=e;x[a+12>>2]=e;x[e+12>>2]=b;x[e+8>>2]=a}x[10999]=d;x[10996]=f}a=c+8|0}Ca=l+16|0;return a|0}function ab(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,o=0,p=E(0),q=0,r=0,s=E(0),t=0,u=0,B=0,C=E(0),G=E(0),H=E(0),I=0,J=E(0);l=Ca-8272|0;Ca=l;x[l+16>>2]=0;i=x[x[a>>2]>>2];c=vc(1,96);e=0;a:{if(!c){break a}x[c+76>>2]=1;b:{c:{d:{switch(((i|0)!=1375686655)<<1){case 0:x[c+88>>2]=122;x[c+84>>2]=123;x[c+80>>2]=124;x[c+16>>2]=125;x[c+4>>2]=126;x[c+28>>2]=127;x[c+24>>2]=128;x[c+20>>2]=129;x[c>>2]=130;x[c+92>>2]=131;x[c+44>>2]=132;x[c+40>>2]=133;x[c+36>>2]=134;x[c+32>>2]=135;x[c+12>>2]=136;x[c+8>>2]=137;f=Hb();x[c+48>>2]=f;if(f){break c}break b;case 2:break d;default:break b}}x[c+88>>2]=138;x[c+84>>2]=139;x[c+80>>2]=140;x[c+16>>2]=141;x[c+4>>2]=142;x[c+92>>2]=143;x[c+44>>2]=144;x[c+40>>2]=145;x[c+36>>2]=146;x[c+32>>2]=147;x[c+28>>2]=148;x[c+24>>2]=149;x[c+20>>2]=150;x[c+12>>2]=151;x[c+8>>2]=152;x[c>>2]=153;f=vc(1,136);e:{if(f){i=Hb();x[f>>2]=i;f:{if(!i){break f}x[f+108>>2]=0;x[f+112>>2]=0;v[f+124|0]=0;x[f+116>>2]=0;x[f+120>>2]=0;i=rc();x[f+4>>2]=i;if(!i){break f}i=rc();x[f+8>>2]=i;if(!i){break f}break e}Xb(f)}f=0}x[c+48>>2]=f;if(!f){break b}}x[c+72>>2]=70;x[c+64>>2]=70;x[c+60>>2]=0;x[c+52>>2]=0;x[c+56>>2]=0;x[c+68>>2]=70;e=c;break a}jd(c);e=0}f=e;if(f){x[f+60>>2]=0;x[f+72>>2]=51}if(f){x[f+56>>2]=0;x[f+68>>2]=52}if(f){x[f+52>>2]=0;x[f- -64>>2]=53}c=l+20|0;if(c){c=Hc(c,0,8248);x[c+8248>>2]=0;x[c+8200>>2]=-1;x[c+8204>>2]=-1}x[l+20>>2]=b;x[l+24>>2]=x[a+84>>2];c=x[a>>2];x[l+8>>2]=c;x[l+4>>2]=c;x[l+12>>2]=x[a+4>>2]-c;c=vc(1,72);if(c){g:{x[c+64>>2]=1048576;i=uc(1048576);x[c+32>>2]=i;if(!i){jd(c);c=0;break g}x[c+36>>2]=i;x[c+28>>2]=62;x[c+24>>2]=63;x[c+20>>2]=64;x[c+16>>2]=65;x[c+44>>2]=66;x[c+40>>2]=68;x[c+68>>2]=x[c+68>>2]|2}}else{c=0}i=c;if(c){if(i){x[i+4>>2]=0;x[i>>2]=l+4}c=x[l+12>>2];if(i){x[i+8>>2]=c;x[i+12>>2]=0}if(!(!i|!(y[i+68|0]&2))){x[i+16>>2]=54}if(i){x[i+24>>2]=55}if(i){x[i+28>>2]=56}}c=l+20|0;if(!(!f|!c)){h:{if(!x[f+76>>2]){hb(f+52|0,1,13992,0);d=0;break h}Ia[x[f+24>>2]](x[f+48>>2],0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=1}}i:{if(!d){Rc(1833);fb(i);Yb(f);break i}d=l+16|0;c=0;j:{if(!i|!f){e=c}else{if(!x[f+76>>2]){hb(f+52|0,1,14073,0);e=0;break j}e=Ia[x[f>>2]](i,0,x[f+48>>2],0,d,0,f+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}if(!e){Rc(1896);fb(i);Yb(f);jb(x[l+16>>2]);break i}d=x[l+16>>2];if(!(!x[f+76>>2]|(!f|!i))){c=Ia[x[f+4>>2]](x[f+48>>2],0,i,0,d,0,f+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!c){Rc(5625);Yb(f);fb(i);jb(x[l+16>>2]);break i}c=0;if(!(!x[f+76>>2]|(!f|!i))){c=Ia[x[f+16>>2]](x[f+48>>2],0,i,0,f+52|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!c){Rc(3336)}m=x[l+16>>2];c=x[m+16>>2];k:{l:{m:{d=x[m+20>>2];if((d|0)!=3){if((c|0)==3){c=x[m+24>>2];if(x[c>>2]!=x[c+4>>2]|x[c+52>>2]==1){break m}x[m+20>>2]=3;bb(m);break k}if(c>>>0>2){break m}break l}if(c>>>0<3){break l}bb(m);break k}if(!(x[l+8224>>2]==14|(d|0)!=5)){e=Ca-16|0;Ca=e;n:{o:{p:{if(A[m+16>>2]<4){break p}c=x[m+24>>2];d=x[c>>2];if((d|0)!=x[c+52>>2]|(d|0)!=x[c+104>>2]|(d|0)!=x[c+156>>2]){break p}d=x[c+4>>2];if((d|0)!=x[c+56>>2]|(d|0)!=x[c+108>>2]){break p}if((d|0)==x[c+160>>2]){break o}}x[e+4>>2]=619;x[e>>2]=1974;Kc(x[7628],12513,e);break n}q=D(x[c+12>>2],x[c+8>>2]);q:{if(!q){h=x[c+200>>2];break q}C=E(E(1)/E(-1<>2]^-1));G=E(E(1)/E(-1<>2]^-1));s=E(E(1)/E(-1<>2]^-1));J=E(E(1)/E(-1<>2]^-1));h=x[c+200>>2];t=x[c+148>>2];g=x[c+96>>2];B=x[c+44>>2];while(1){d=j<<2;n=d+B|0;p=E(E(1)-E(G*E(x[d+h>>2])));H=E(E(E(E(1)-E(C*E(x[n>>2])))*E(255))*p);r:{if(E(F(H))>2];d=d+g|0;r=x[d>>2];x[n>>2]=o;H=E(E(E(E(1)-E(J*E(r|0)))*E(255))*p);s:{if(E(F(H))>2]=o;p=E(E(E(E(1)-E(s*E(u|0)))*E(255))*p);t:{if(E(F(p))>2]=d;j=j+1|0;if((q|0)!=(j|0)){continue}break}}jd(h);c=x[m+24>>2];x[c+24>>2]=8;x[c+128>>2]=8;x[c+76>>2]=8;x[c+200>>2]=0;x[m+20>>2]=1;c=x[m+16>>2]-1|0;x[m+16>>2]=c;if(c>>>0<4){break n}j=3;while(1){c=x[m+24>>2]+D(j,52)|0;x[c+48>>2]=x[c+100>>2];d=x[c+96>>2];x[c+40>>2]=x[c+92>>2];x[c+44>>2]=d;d=x[c+88>>2];x[c+32>>2]=x[c+84>>2];x[c+36>>2]=d;d=x[c+80>>2];x[c+24>>2]=x[c+76>>2];x[c+28>>2]=d;d=x[c+72>>2];x[c+16>>2]=x[c+68>>2];x[c+20>>2]=d;d=x[c+64>>2];x[c+8>>2]=x[c+60>>2];x[c+12>>2]=d;d=x[c+56>>2];x[c>>2]=x[c+52>>2];x[c+4>>2]=d;j=j+1|0;if(j>>>0>2]){continue}break}}Ca=e+16|0;break k}if((d|0)!=4){break k}o=Ca-16|0;Ca=o;u:{v:{w:{if(A[m+16>>2]<3){break w}d=x[m+24>>2];c=x[d>>2];if((c|0)!=x[d+52>>2]|(c|0)!=x[d+104>>2]){break w}c=x[d+4>>2];if((c|0)!=x[d+56>>2]){break w}if((c|0)==x[d+108>>2]){break v}}x[o+4>>2]=680;x[o>>2]=1974;Kc(x[7628],12555,o);break u}q=D(x[d+12>>2],x[d+8>>2]);if(q){h=x[d+24>>2];c=-1<>2]?0:h;g=x[d+84>>2]?0:h;B=x[d+148>>2];n=x[d+96>>2];u=x[d+44>>2];d=0;while(1){h=d<<2;j=h+B|0;p=E(x[j>>2]-t|0);e=h+n|0;C=E(x[e>>2]-g|0);r=h+u|0;G=E(x[r>>2]);s=E(E(E(p*E(1.4019900560379028))+E(E(C*E(-3680000008898787e-20))+G))+E(.5));x:{if(E(F(s))>2]=(c|0)<(h|0)?c:(h|0)>0?h:0;s=E(E(E(p*E(-.7141128182411194))+E(E(G*E(1.0003000497817993))+E(C*E(-.34412500262260437))))+E(.5));y:{if(E(F(s))>2]=(c|0)<(h|0)?c:(h|0)>0?h:0;p=E(E(E(p*E(-7999999979801942e-21))+E(E(G*E(.9998229742050171))+E(C*E(1.7720400094985962))))+E(.5));z:{if(E(F(p))>2]=(c|0)<(h|0)?c:(h|0)>0?h:0;d=d+1|0;if((q|0)!=(d|0)){continue}break}}x[m+20>>2]=1}Ca=o+16|0;break k}x[m+20>>2]=2}c=x[l+16>>2];d=x[c>>2];w[a+24>>1]=x[c+8>>2]-d;h=x[c+4>>2];w[a+26>>1]=x[c+12>>2]-h;v[a+29|0]=x[c+16>>2];j=0;e=x[c+24>>2];v[a+30|0]=x[e+32>>2]!=0;v[a+28|0]=x[e+24>>2];c=x[c+20>>2];x[a+48>>2]=h;x[a+44>>2]=d;x[a+80>>2]=c;if(f){c=Ia[x[f+84>>2]](x[f+48>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}else{c=0}x[a+76>>2]=x[c+40>>2];x[a+40>>2]=x[c+36>>2];d=x[c+48>>2];v[a+36|0]=x[d+24>>2]==1;x[a+68>>2]=1<>2];x[a+72>>2]=1<>2];x[a+60>>2]=x[c>>2];x[a- -64>>2]=x[c+4>>2];x[a+52>>2]=x[c+8>>2];x[a+56>>2]=x[c+12>>2];x[a+32>>2]=x[d+8>>2]-1;h=z[a+26>>1];d=z[a+24>>1];A:{if(!b){break A}e=b&3;B:{if(!e){c=b;break B}c=b;while(1){c=c-1|0;h=h+1>>>1|0;d=d+1>>>1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}if(b>>>0<4){break A}while(1){h=(((h+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;d=(((d+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;c=c-4|0;if(c){continue}break}}m=a+12|0;B=y[a+28|0]+7>>>3|0;b=D(B,D(y[a+29|0],D(d,h)));j=x[a+12>>2];c=x[a+16>>2]-j|0;C:{if(b>>>0>c>>>0){$a(m,b-c|0);break C}if(b>>>0>=c>>>0){break C}x[a+16>>2]=b+j}if(h){o=d&-2;q=d&1;t=d-1|0;while(1){j=y[a+29|0];b=D(d,I);c=D(j,D(b,B));D:{if((j|0)==1){j=x[x[x[l+16>>2]+24>>2]+44>>2]+(b<<2)|0;if(y[a+28|0]<=8){if(!d){break D}e=c+x[m>>2]|0;c=0;b=0;if(t){while(1){g=x[j+(c<<2)>>2];g=(g|0)>=255?255:g;v[c+e|0]=(g|0)>0?g:0;n=c|1;g=x[j+(n<<2)>>2];g=(g|0)>=255?255:g;v[e+n|0]=(g|0)>0?g:0;c=c+2|0;b=b+2|0;if((o|0)!=(b|0)){continue}break}}if(!q){break D}b=x[j+(c<<2)>>2];b=(b|0)>=255?255:b;v[c+e|0]=(b|0)>0?b:0;break D}e=c+x[a+12>>2]|0;if(y[a+30|0]){if(!d){break D}c=0;b=0;if(t){while(1){g=x[j+(c<<2)>>2];g=(g|0)>=32767?32767:g;w[e+(c<<1)>>1]=(g|0)<=-32768?-32768:g;n=c|1;g=x[j+(n<<2)>>2];g=(g|0)>=32767?32767:g;w[e+(n<<1)>>1]=(g|0)<=-32768?-32768:g;c=c+2|0;b=b+2|0;if((o|0)!=(b|0)){continue}break}}if(!q){break D}b=x[j+(c<<2)>>2];b=(b|0)>=32767?32767:b;w[e+(c<<1)>>1]=(b|0)<=-32768?-32768:b;break D}if(!d){break D}c=0;b=0;if(t){while(1){g=x[j+(c<<2)>>2];g=(g|0)>=65535?65535:g;w[e+(c<<1)>>1]=(g|0)>0?g:0;n=c|1;g=x[j+(n<<2)>>2];g=(g|0)>=65535?65535:g;w[e+(n<<1)>>1]=(g|0)>0?g:0;c=c+2|0;b=b+2|0;if((o|0)!=(b|0)){continue}break}}if(!q){break D}b=x[j+(c<<2)>>2];b=(b|0)>=65535?65535:b;w[e+(c<<1)>>1]=(b|0)>0?b:0;break D}if(y[a+28|0]<=8){if(!d){break D}g=c+x[m>>2]|0;c=0;while(1){j=g+D(c,3)|0;e=b+c<<2;v[j|0]=x[e+x[x[x[l+16>>2]+24>>2]+44>>2]>>2];v[j+1|0]=x[e+x[x[x[l+16>>2]+24>>2]+96>>2]>>2];v[j+2|0]=x[e+x[x[x[l+16>>2]+24>>2]+148>>2]>>2];c=c+1|0;if((d|0)!=(c|0)){continue}break}break D}j=c+x[a+12>>2]|0;if(y[a+30|0]){if(!d){break D}c=x[x[l+16>>2]+24>>2];n=x[c+148>>2];u=x[c+96>>2];r=x[c+44>>2];c=0;while(1){e=j+D(c,6)|0;g=b+c<<2;k=x[g+r>>2];k=(k|0)>=32767?32767:k;w[e>>1]=(k|0)<=-32768?-32768:k;k=x[g+u>>2];k=(k|0)>=32767?32767:k;w[e+2>>1]=(k|0)<=-32768?-32768:k;k=e;e=x[g+n>>2];e=(e|0)>=32767?32767:e;w[k+4>>1]=(e|0)<=-32768?-32768:e;c=c+1|0;if((d|0)!=(c|0)){continue}break}break D}if(!d){break D}c=x[x[l+16>>2]+24>>2];n=x[c+148>>2];u=x[c+96>>2];r=x[c+44>>2];c=0;while(1){e=j+D(c,6)|0;g=b+c<<2;k=x[g+r>>2];k=(k|0)>=65535?65535:k;w[e>>1]=(k|0)>0?k:0;k=x[g+u>>2];k=(k|0)>=65535?65535:k;w[e+2>>1]=(k|0)>0?k:0;k=e;e=x[g+n>>2];e=(e|0)>=65535?65535:e;w[k+4>>1]=(e|0)>0?e:0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}I=I+1|0;if((I|0)!=(h|0)){continue}break}}fb(i);Yb(f);jb(x[l+16>>2])}Ca=l+8272|0}function Bc(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;s=x[a>>2];a:{if(s>>>0>>0|b>>>0>=d>>>0|b>>>0>=s>>>0){break a}s=x[a+4>>2];if(s>>>0>>0|c>>>0>=e>>>0|c>>>0>=s>>>0){break a}G=(c>>>0)/A[a+12>>2]|0;r=x[a+8>>2];H=(b>>>0)/(r>>>0)|0;C=c;while(1){s=x[a+12>>2];j=s;j=(c|0)==(C|0)?j-((c>>>0)%(j>>>0)|0)|0:j;z=e-C|0;q=j>>>0>>0?j:z;E=q&-4;v=q&3;K=q&-8;I=q&7;B=q-1|0;L=(g|0)==2&(q|0)==1;J=D(s-j|0,r);F=(D(C-c|0,h)<<2)+f|0;z=H;s=b;while(1){j=(b|0)==(s|0)?(D(r,H)-b|0)+r|0:r;k=d-s|0;p=j>>>0>>0?j:k;k=r-j|0;j=x[x[a+24>>2]+(D(x[a+16>>2],G)+z<<2)>>2];b:{c:{if(i){d:{e:{f:{g:{if(j){k=((J<<2)+j|0)+(k<<2)|0;j=s-b|0;if((g|0)==1){break d}l=(D(g,j)<<2)+F|0;if((p|0)==1){break e}if(L){break f}if((g|0)!=8|p>>>0<=7){break g}if(!q){break b}o=p&-4;n=0;while(1){j=0;if(o){while(1){x[(j<<5)+l>>2]=x[(j<<2)+k>>2];m=j|1;x[(m<<5)+l>>2]=x[(m<<2)+k>>2];m=j|2;x[(m<<5)+l>>2]=x[(m<<2)+k>>2];m=j|3;x[(m<<5)+l>>2]=x[(m<<2)+k>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}}h:{if(j>>>0>=p>>>0){break h}u=(j^-1)+p|0;m=0;w=p-j&3;if(w){while(1){x[(j<<5)+l>>2]=x[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((w|0)!=(m|0)){continue}break}}if(u>>>0<3){break h}while(1){x[(j<<5)+l>>2]=x[(j<<2)+k>>2];m=j+1|0;x[(m<<5)+l>>2]=x[(m<<2)+k>>2];m=j+2|0;x[(m<<5)+l>>2]=x[(m<<2)+k>>2];m=j+3|0;x[(m<<5)+l>>2]=x[(m<<2)+k>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}if((g|0)!=1){if(!q){break b}u=p&-4;o=p&3;k=(D(s-b|0,g)<<2)+F|0;n=0;while(1){i:{if(!p){break i}l=0;j=0;m=0;if(p>>>0>=4){while(1){x[(D(g,j)<<2)+k>>2]=0;x[(D(j|1,g)<<2)+k>>2]=0;x[(D(j|2,g)<<2)+k>>2]=0;x[(D(j|3,g)<<2)+k>>2]=0;j=j+4|0;m=m+4|0;if((u|0)!=(m|0)){continue}break}}if(!o){break i}while(1){x[(D(g,j)<<2)+k>>2]=0;j=j+1|0;l=l+1|0;if((o|0)!=(l|0)){continue}break}}k=(h<<2)+k|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}if(!q){break b}j=p<<2;k=(s-b<<2)+F|0;l=0;if(B>>>0>=7){while(1){t=Hc(k,0,j);k=h<<2;k=Hc(Hc(Hc(Hc(Hc(Hc(Hc(t+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0,0,j)+k|0;l=l+8|0;if((K|0)!=(l|0)){continue}break}}l=0;if(!I){break b}while(1){k=Hc(k,0,j)+(h<<2)|0;l=l+1|0;if((I|0)!=(l|0)){continue}break}break b}if(!q){break b}w=p&-4;u=p&3;y=p-1|0;o=0;break c}j=0;m=p&-4;if(m){while(1){x[(j<<3)+l>>2]=x[(j<<2)+k>>2];n=j|1;x[(n<<3)+l>>2]=x[(n<<2)+k>>2];n=j|2;x[(n<<3)+l>>2]=x[(n<<2)+k>>2];n=j|3;x[(n<<3)+l>>2]=x[(n<<2)+k>>2];j=j+4|0;if(m>>>0>j>>>0){continue}break}}if(j>>>0>=p>>>0){break b}n=(j^-1)+p|0;m=0;o=p-j&3;if(o){while(1){x[(j<<3)+l>>2]=x[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((o|0)!=(m|0)){continue}break}}if(n>>>0<3){break b}while(1){x[(j<<3)+l>>2]=x[(j<<2)+k>>2];m=j+1|0;x[(m<<3)+l>>2]=x[(m<<2)+k>>2];m=j+2|0;x[(m<<3)+l>>2]=x[(m<<2)+k>>2];m=j+3|0;x[(m<<3)+l>>2]=x[(m<<2)+k>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}break b}if(!q){break b}m=0;if(B>>>0>=3){while(1){x[l>>2]=x[k>>2];j=h<<2;l=j+l|0;t=k;k=r<<2;n=t+k|0;x[l>>2]=x[n>>2];l=j+l|0;n=k+n|0;x[l>>2]=x[n>>2];l=j+l|0;n=k+n|0;x[l>>2]=x[n>>2];k=k+n|0;l=j+l|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}j=0;if(!v){break b}while(1){x[l>>2]=x[k>>2];k=(r<<2)+k|0;l=(h<<2)+l|0;j=j+1|0;if((v|0)!=(j|0)){continue}break}break b}j=(j<<2)+F|0;if((p|0)!=4){if(!q){break b}l=p<<2;m=0;if(B>>>0>=3){while(1){o=Gc(j,k,l);j=r<<2;n=j+k|0;u=j+n|0;w=u+j|0;k=w+j|0;j=h<<2;j=Gc(Gc(Gc(j+o|0,n,l)+j|0,u,l)+j|0,w,l)+j|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}m=0;if(!v){break b}while(1){j=Gc(j,k,l);k=(r<<2)+k|0;j=j+(h<<2)|0;m=m+1|0;if((v|0)!=(m|0)){continue}break}break b}if(!q){break b}n=0;if(B>>>0>=3){while(1){l=x[k+4>>2];x[j>>2]=x[k>>2];x[j+4>>2]=l;l=x[k+12>>2];x[j+8>>2]=x[k+8>>2];x[j+12>>2]=l;m=r<<2;k=m+k|0;o=x[k+12>>2];l=h<<2;j=l+j|0;x[j+8>>2]=x[k+8>>2];x[j+12>>2]=o;o=x[k+4>>2];x[j>>2]=x[k>>2];x[j+4>>2]=o;k=k+m|0;o=x[k+12>>2];j=j+l|0;x[j+8>>2]=x[k+8>>2];x[j+12>>2]=o;o=x[k+4>>2];x[j>>2]=x[k>>2];x[j+4>>2]=o;k=k+m|0;o=x[k+12>>2];j=j+l|0;x[j+8>>2]=x[k+8>>2];x[j+12>>2]=o;o=x[k+4>>2];x[j>>2]=x[k>>2];x[j+4>>2]=o;k=k+m|0;j=j+l|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}l=0;if(!v){break b}while(1){m=x[k+4>>2];x[j>>2]=x[k>>2];x[j+4>>2]=m;m=x[k+12>>2];x[j+8>>2]=x[k+8>>2];x[j+12>>2]=m;k=(r<<2)+k|0;j=(h<<2)+j|0;l=l+1|0;if((v|0)!=(l|0)){continue}break}break b}if(!j){j=vc(1,D(x[a+8>>2],x[a+12>>2])<<2);if(!j){return 0}x[x[a+24>>2]+(D(x[a+16>>2],G)+z<<2)>>2]=j}k=((J<<2)+j|0)+(k<<2)|0;j=s-b|0;j:{k:{l:{m:{if((g|0)!=1){l=(D(g,j)<<2)+F|0;if((p|0)==1){break m}if((g|0)!=8|p>>>0<=7){break l}if(!q){break b}o=p&-4;n=0;while(1){j=0;if(o){while(1){x[(j<<2)+k>>2]=x[(j<<5)+l>>2];m=j|1;x[(m<<2)+k>>2]=x[(m<<5)+l>>2];m=j|2;x[(m<<2)+k>>2]=x[(m<<5)+l>>2];m=j|3;x[(m<<2)+k>>2]=x[(m<<5)+l>>2];j=j+4|0;if(o>>>0>j>>>0){continue}break}}n:{if(j>>>0>=p>>>0){break n}u=(j^-1)+p|0;m=0;w=p-j&3;if(w){while(1){x[(j<<2)+k>>2]=x[(j<<5)+l>>2];j=j+1|0;m=m+1|0;if((w|0)!=(m|0)){continue}break}}if(u>>>0<3){break n}while(1){x[(j<<2)+k>>2]=x[(j<<5)+l>>2];m=j+1|0;x[(m<<2)+k>>2]=x[(m<<5)+l>>2];m=j+2|0;x[(m<<2)+k>>2]=x[(m<<5)+l>>2];m=j+3|0;x[(m<<2)+k>>2]=x[(m<<5)+l>>2];j=j+4|0;if((p|0)!=(j|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;n=n+1|0;if((q|0)!=(n|0)){continue}break}break b}j=(j<<2)+F|0;if((p|0)==4){break k}if(!q){break b}l=p<<2;m=0;if(B>>>0>=3){while(1){k=Gc(k,j,l);t=j;j=h<<2;n=t+j|0;o=j+n|0;u=o+j|0;j=u+j|0;t=k;k=r<<2;k=Gc(Gc(Gc(t+k|0,n,l)+k|0,o,l)+k|0,u,l)+k|0;m=m+4|0;if((E|0)!=(m|0)){continue}break}}m=0;if(!v){break b}while(1){k=Gc(k,j,l);j=(h<<2)+j|0;k=k+(r<<2)|0;m=m+1|0;if((v|0)!=(m|0)){continue}break}break b}if(!q){break b}n=0;if(B>>>0>=3){while(1){x[k>>2]=x[l>>2];j=r<<2;k=j+k|0;t=l;l=h<<2;m=t+l|0;x[k>>2]=x[m>>2];k=j+k|0;m=l+m|0;x[k>>2]=x[m>>2];k=j+k|0;m=l+m|0;x[k>>2]=x[m>>2];k=j+k|0;l=l+m|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}j=0;if(!v){break b}while(1){x[k>>2]=x[l>>2];k=(r<<2)+k|0;l=(h<<2)+l|0;j=j+1|0;if((v|0)!=(j|0)){continue}break}break b}if(!q){break b}w=p&-4;u=p&3;o=0;break j}if(!q){break b}n=0;if(B>>>0>=3){while(1){l=x[j+4>>2];x[k>>2]=x[j>>2];x[k+4>>2]=l;l=x[j+12>>2];x[k+8>>2]=x[j+8>>2];x[k+12>>2]=l;m=h<<2;j=m+j|0;o=x[j+12>>2];l=r<<2;k=l+k|0;x[k+8>>2]=x[j+8>>2];x[k+12>>2]=o;o=x[j+4>>2];x[k>>2]=x[j>>2];x[k+4>>2]=o;j=j+m|0;o=x[j+12>>2];k=k+l|0;x[k+8>>2]=x[j+8>>2];x[k+12>>2]=o;o=x[j+4>>2];x[k>>2]=x[j>>2];x[k+4>>2]=o;j=j+m|0;o=x[j+12>>2];k=k+l|0;x[k+8>>2]=x[j+8>>2];x[k+12>>2]=o;o=x[j+4>>2];x[k>>2]=x[j>>2];x[k+4>>2]=o;j=j+m|0;k=k+l|0;n=n+4|0;if((E|0)!=(n|0)){continue}break}}l=0;if(!v){break b}while(1){m=x[j+4>>2];x[k>>2]=x[j>>2];x[k+4>>2]=m;m=x[j+12>>2];x[k+8>>2]=x[j+8>>2];x[k+12>>2]=m;j=(h<<2)+j|0;k=(r<<2)+k|0;l=l+1|0;if((v|0)!=(l|0)){continue}break}break b}while(1){o:{if(!p){break o}m=0;j=0;n=0;if(p>>>0>=4){while(1){x[(j<<2)+k>>2]=x[(D(g,j)<<2)+l>>2];y=j|1;x[(y<<2)+k>>2]=x[(D(g,y)<<2)+l>>2];y=j|2;x[(y<<2)+k>>2]=x[(D(g,y)<<2)+l>>2];y=j|3;x[(y<<2)+k>>2]=x[(D(g,y)<<2)+l>>2];j=j+4|0;n=n+4|0;if((w|0)!=(n|0)){continue}break}}if(!u){break o}while(1){x[(j<<2)+k>>2]=x[(D(g,j)<<2)+l>>2];j=j+1|0;m=m+1|0;if((u|0)!=(m|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;o=o+1|0;if((o|0)!=(q|0)){continue}break}break b}while(1){p:{if(!p){break p}m=0;j=0;n=0;if(y>>>0>=3){while(1){x[(D(g,j)<<2)+l>>2]=x[(j<<2)+k>>2];t=j|1;x[(D(t,g)<<2)+l>>2]=x[(t<<2)+k>>2];t=j|2;x[(D(t,g)<<2)+l>>2]=x[(t<<2)+k>>2];t=j|3;x[(D(t,g)<<2)+l>>2]=x[(t<<2)+k>>2];j=j+4|0;n=n+4|0;if((w|0)!=(n|0)){continue}break}}if(!u){break p}while(1){x[(D(g,j)<<2)+l>>2]=x[(j<<2)+k>>2];j=j+1|0;m=m+1|0;if((u|0)!=(m|0)){continue}break}}k=(r<<2)+k|0;l=(h<<2)+l|0;o=o+1|0;if((o|0)!=(q|0)){continue}break}}z=z+1|0;s=p+s|0;if(s>>>0>>0){continue}break}G=G+1|0;C=q+C|0;if(C>>>0>>0){continue}break}}return 1}function Li(a,b,c,d,e,f,g,h,i,j,k,m,o,r,s,t,u,w,z,A,B,C,E,G,H,I,J,K,L,M,N,O){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;k=k|0;m=m|0;o=o|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;L=L|0;M=M|0;N=N|0;O=O|0;var P=0,Q=0,R=0,S=0;n(0,c|0);n(1,d|0);h=a;P=+p();j=e;r=0;C=0;m=Ca-560|0;Ca=m;x[m+44>>2]=0;q(+P);a=l(1)|0;l(0)|0;a:{if((a|0)<0){s=1;u=1187;P=-P;q(+P);a=l(1)|0;l(0)|0;break a}if(i&2048){s=1;u=1190;break a}s=i&1;u=s?1193:1188;C=!s}b:{if((a&2146435072)==2146435072){a=s+3|0;cd(h,32,j,a,i&-65537);_c(h,u,s);b=k&32;_c(h,P!=P?b?2393:3561:b?3004:3590,3);cd(h,32,j,a,i^8192);o=(a|0)>(j|0)?a:j;break b}t=m+16|0;c:{d:{e:{P=Xc(P,m+44|0);P=P+P;if(P!=0){a=x[m+44>>2];x[m+44>>2]=a-1;w=k|32;if((w|0)!=97){break e}break c}w=k|32;if((w|0)==97){break c}f=x[m+44>>2];e=(g|0)<0?6:g;break d}f=a-29|0;x[m+44>>2]=f;P=P*268435456;e=(g|0)<0?6:g}g=(m+48|0)+((f|0)>=0?288:0)|0;b=g;while(1){a=P<4294967296&P>=0?~~P>>>0:0;x[b>>2]=a;b=b+4|0;P=(P-+(a>>>0))*1e9;if(P!=0){continue}break}f:{if((f|0)<=0){d=f;a=b;c=g;break f}c=g;d=f;while(1){A=(d|0)>=29?29:d;a=b-4|0;g:{if(c>>>0>a>>>0){break g}d=0;while(1){B=x[a>>2];z=A&31;if((A&63)>>>0>=32){o=B<>>32-z;z=B<>>0>>0?o+1|0:o,1e9,0);R=a,S=B-Fl(d,Ha,1e9,0)|0,x[R>>2]=S;a=a-4|0;if(c>>>0<=a>>>0){continue}break}if(!d){break g}c=c-4|0;x[c>>2]=d}while(1){a=b;if(c>>>0>>0){b=a-4|0;if(!x[b>>2]){continue}}break}d=x[m+44>>2]-A|0;x[m+44>>2]=d;b=a;if((d|0)>0){continue}break}}if((d|0)<0){r=((e+25>>>0)/9|0)+1|0;z=(w|0)==102;while(1){b=0-d|0;o=(b|0)>=9?9:b;h:{if(a>>>0<=c>>>0){b=x[c>>2];break h}A=1e9>>>o|0;B=-1<>2];x[b>>2]=d+(E>>>o|0);d=D(A,B&E);b=b+4|0;if(b>>>0>>0){continue}break}b=x[c>>2];if(!d){break h}x[a>>2]=d;a=a+4|0}d=o+x[m+44>>2]|0;x[m+44>>2]=d;c=(!b<<2)+c|0;b=z?g:c;a=a-b>>2>(r|0)?b+(r<<2)|0:a;if((d|0)<0){continue}break}}d=0;i:{if(a>>>0<=c>>>0){break i}d=D(g-c>>2,9);b=10;o=x[c>>2];if(o>>>0<10){break i}while(1){d=d+1|0;b=D(b,10);if(o>>>0>=b>>>0){continue}break}}b=(e-((w|0)!=102?d:0)|0)-((w|0)==103&(e|0)!=0)|0;if((b|0)<(D(a-g>>2,9)-9|0)){o=b+9216|0;r=(o|0)/9|0;f=((((f|0)<0?4:292)+m|0)+(r<<2)|0)-4048|0;b=10;o=o-D(r,9)|0;if((o|0)<=7){while(1){b=D(b,10);o=o+1|0;if((o|0)!=8){continue}break}}z=x[f>>2];r=(z>>>0)/(b>>>0)|0;o=z-D(b,r)|0;A=f+4|0;j:{if(!o&(A|0)==(a|0)){break j}k:{if(!(r&1)){P=9007199254740992;if(!(v[f-4|0]&1)|((b|0)!=1e9|c>>>0>=f>>>0)){break k}}P=9007199254740994}Q=(a|0)==(A|0)?1:1.5;A=b>>>1|0;Q=o>>>0>>0?.5:(A|0)==(o|0)?Q:1.5;if(!(y[u|0]!=45|C)){Q=-Q;P=-P}o=z-o|0;x[f>>2]=o;if(P+Q==P){break j}b=b+o|0;x[f>>2]=b;if(b>>>0>=1e9){while(1){x[f>>2]=0;f=f-4|0;if(f>>>0>>0){c=c-4|0;x[c>>2]=0}b=x[f>>2]+1|0;x[f>>2]=b;if(b>>>0>999999999){continue}break}}d=D(g-c>>2,9);b=10;o=x[c>>2];if(o>>>0<10){break j}while(1){d=d+1|0;b=D(b,10);if(o>>>0>=b>>>0){continue}break}}b=f+4|0;a=a>>>0>b>>>0?b:a}while(1){b=a;o=a>>>0<=c>>>0;if(!o){a=b-4|0;if(!x[a>>2]){continue}}break}l:{if((w|0)!=103){f=i&8;break l}a=e?e:1;f=(a|0)>(d|0)&(d|0)>-5;e=(f?d^-1:-1)+a|0;k=(f?-1:-2)+k|0;f=i&8;if(f){break l}a=-9;m:{if(o){break m}w=x[b-4>>2];if(!w){break m}o=10;a=0;if((w>>>0)%10|0){break m}while(1){f=a;a=a+1|0;o=D(o,10);if(!((w>>>0)%(o>>>0)|0)){continue}break}a=f^-1}o=D(b-g>>2,9);if((k&-33)==70){f=0;a=(a+o|0)-9|0;a=(a|0)>0?a:0;e=(a|0)>(e|0)?e:a;break l}f=0;a=((d+o|0)+a|0)-9|0;a=(a|0)>0?a:0;e=(a|0)>(e|0)?e:a}o=-1;z=e|f;if(((z?2147483645:2147483646)|0)<(e|0)){break b}w=(((z|0)!=0)+e|0)+1|0;A=k&-33;n:{if((A|0)==70){if((w^2147483647)<(d|0)){break b}a=(d|0)>0?d:0;break n}a=d>>31;a=bd((a^d)-a|0,0,t);if((t-a|0)<=1){while(1){a=a-1|0;v[a|0]=48;if((t-a|0)<2){continue}break}}r=a-2|0;v[r|0]=k;v[a-1|0]=(d|0)<0?45:43;a=t-r|0;if((a|0)>(w^2147483647)){break b}}a=a+w|0;if((a|0)>(s^2147483647)){break b}k=a+s|0;cd(h,32,j,k,i);_c(h,u,s);cd(h,48,j,k,i^65536);o:{p:{q:{if((A|0)==70){a=m+16|0;d=a|8;f=a|9;o=c>>>0>g>>>0?g:c;c=o;while(1){a=bd(x[c>>2],0,f);r:{if((c|0)!=(o|0)){if(m+16>>>0>=a>>>0){break r}while(1){a=a-1|0;v[a|0]=48;if(m+16>>>0>>0){continue}break}break r}if((a|0)!=(f|0)){break r}v[m+24|0]=48;a=d}_c(h,a,f-a|0);c=c+4|0;if(g>>>0>=c>>>0){continue}break}if(z){_c(h,4997,1)}if((e|0)<=0|b>>>0<=c>>>0){break q}while(1){a=bd(x[c>>2],0,f);if(a>>>0>m+16>>>0){while(1){a=a-1|0;v[a|0]=48;if(m+16>>>0>>0){continue}break}}_c(h,a,(e|0)>=9?9:e);a=e-9|0;c=c+4|0;if(b>>>0<=c>>>0){break p}d=(e|0)>9;e=a;if(d){continue}break}break p}s:{if((e|0)<0){break s}o=b>>>0>c>>>0?b:c+4|0;a=m+16|0;d=a|8;g=a|9;b=c;while(1){a=bd(x[b>>2],0,g);if((g|0)==(a|0)){v[m+24|0]=48;a=d}t:{if((b|0)!=(c|0)){if(m+16>>>0>=a>>>0){break t}while(1){a=a-1|0;v[a|0]=48;if(m+16>>>0>>0){continue}break}break t}_c(h,a,1);a=a+1|0;if(!(e|f)){break t}_c(h,4997,1)}s=a;a=g-a|0;_c(h,s,(a|0)<(e|0)?a:e);e=e-a|0;b=b+4|0;if(o>>>0<=b>>>0){break s}if((e|0)>=0){continue}break}}cd(h,48,e+18|0,18,0);_c(h,r,t-r|0);break o}a=e}cd(h,48,a+9|0,9,0)}cd(h,32,j,k,i^8192);o=(j|0)<(k|0)?k:j;break b}c=(k<<26>>31&9)+u|0;u:{if(g>>>0>11){break u}a=12-g|0;Q=16;while(1){Q=Q*16;a=a-1|0;if(a){continue}break}if(y[c|0]==45){P=-(Q+(-P-Q));break u}P=P+Q-Q}b=x[m+44>>2];a=b>>31;a=bd((a^b)-a|0,0,t);if((t|0)==(a|0)){v[m+15|0]=48;a=m+15|0}d=s|2;f=k&32;b=x[m+44>>2];e=a-2|0;v[e|0]=k+15;v[a-1|0]=(b|0)<0?45:43;k=i&8;b=m+16|0;while(1){a=F(P)<2147483648?~~P:-2147483648;v[b|0]=f|y[a+31504|0];P=(P-+(a|0))*16;a=b;b=a+1|0;if(!(!((g|0)>0|k)&P==0|(b-(m+16|0)|0)!=1)){v[a+1|0]=46;b=a+2|0}if(P!=0){continue}break}o=-1;f=t-e|0;k=f+d|0;if((2147483645-k|0)<(g|0)){break b}o=m+16|0;a=b-o|0;g=g?(a-2|0)<(g|0)?g+2|0:a:a;b=k+g|0;cd(h,32,j,b,i);_c(h,c,d);cd(h,48,j,b,i^65536);_c(h,o,a);cd(h,48,g-a|0,0,0);_c(h,e,f);cd(h,32,j,b,i^8192);o=(b|0)>(j|0)?b:j}Ca=m+560|0;Ha=0;return o|0}function xh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,z,B,C,E,F,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;var L=0,M=0;b=Ca-160|0;Ca=b;a:{if(e>>>0<=35){f=0;hb(g,1,10486,0);break a}d=e-36|0;h=(d>>>0)/3|0;if((D(h,3)|0)!=(d|0)){f=0;hb(g,1,10486,0);break a}d=x[a+72>>2];e=b+156|0;cb(c,e,2);w[a+80>>1]=x[b+156>>2];cb(c+2|0,d+8|0,4);cb(c+6|0,d+12|0,4);cb(c+10|0,d,4);cb(c+14|0,d+4|0,4);cb(c+18|0,a+92|0,4);cb(c+22|0,a+96|0,4);cb(c+26|0,a+84|0,4);cb(c+30|0,a+88|0,4);cb(c+34|0,e,2);b:{c:{d:{e=x[b+156>>2];if(e>>>0<=16384){x[d+16>>2]=e;if((e|0)!=(h|0)){x[b+132>>2]=h;x[b+128>>2]=e;hb(g,1,18949,b+128|0);f=0;break a}e=x[d+4>>2];i=x[d+12>>2];j=x[d+8>>2];f=x[d>>2];if(!(e>>>0>>0&j>>>0>f>>>0)){x[b+120>>2]=i-e;x[b+124>>2]=0-(e>>>0>i>>>0);x[b+112>>2]=j-f;x[b+116>>2]=0-(f>>>0>j>>>0);hb(g,1,18511,b+112|0);f=0;break a}k=x[a+92>>2];l=x[a+96>>2];if(!(l?k:0)){x[b+4>>2]=l;x[b>>2]=k;hb(g,1,19063,b);f=0;break a}e:{m=x[a+84>>2];f:{if(m>>>0>f>>>0){break f}k=k+m|0;if(f>>>0>=(k>>>0>>0?-1:k)>>>0){break f}k=x[a+88>>2];if(k>>>0>e>>>0){break f}l=k+l|0;if(e>>>0<(k>>>0>l>>>0?-1:l)>>>0){break e}}f=0;hb(g,1,7216,0);break a}g:{if(x[a+224>>2]){break g}k=x[a+216>>2];if(!k){break g}l=x[a+220>>2];if(!l){break g}f=j-f|0;e=i-e|0;if((f|0)==(k|0)&(e|0)==(l|0)){break g}x[b+108>>2]=e;x[b+104>>2]=f;x[b+100>>2]=l;x[b+96>>2]=k;hb(g,1,17975,b+96|0);f=0;break a}e=vc(h,52);x[d+24>>2]=e;if(!e){break d}h:{if(!x[d+16>>2]){break h}f=b+152|0;cb(c+36|0,f,1);h=x[b+152>>2];l=h>>>7|0;x[e+32>>2]=l;m=(h&127)+1|0;x[e+24>>2]=m;j=x[a+224>>2];cb(c+37|0,f,1);x[e>>2]=x[b+152>>2];cb(c+38|0,f,1);h=x[b+152>>2];x[e+4>>2]=h;f=0;k=x[e>>2];if(k-256>>>0<4294967041){i=0;break b}if(!h){i=0;break b}i=0;if(h>>>0>255){break b}h=x[e+24>>2];if(h>>>0>31){break c}x[e+36>>2]=0;x[e+40>>2]=x[a+160>>2];i=1;if(A[d+16>>2]<=1){break h}l=j?0:l;j=j?0:m;c=c+39|0;while(1){cb(c,b+152|0,1);k=x[b+152>>2];h=k>>>7|0;x[e+84>>2]=h;k=(k&127)+1|0;x[e+76>>2]=k;if(!((j|0)==(k|0)&(h|0)==(l|0)|(x[a+224>>2]|y[a+188|0]&4))){x[b+84>>2]=h;x[b+80>>2]=k;x[b+76>>2]=i;x[b+72>>2]=l;x[b+68>>2]=j;x[b+64>>2]=i;hb(g,2,18747,b- -64|0)}h=b+152|0;cb(c+1|0,h,1);x[e+52>>2]=x[b+152>>2];cb(c+2|0,h,1);h=x[b+152>>2];x[e+56>>2]=h;k=x[e+52>>2];if(!h|k-256>>>0<4294967041|h>>>0>=256){break b}h=x[e+76>>2];if(h>>>0>=32){break c}c=c+3|0;x[e+88>>2]=0;x[e+92>>2]=x[a+160>>2];e=e+52|0;i=i+1|0;if(i>>>0>2]){continue}break}}f=0;c=x[a+92>>2];if(!c){break a}e=x[a+96>>2];if(!e){break a}o=c-1|0;k=x[a+84>>2];h=x[d+8>>2]-k|0;i=o+h|0;l=c>>31;p=l-!c|0;j=p+(h>>31)|0;h=Gl(i,h>>>0>i>>>0?j+1|0:j,c,l);x[a+104>>2]=h;q=e-1|0;m=x[a+88>>2];i=x[d+12>>2]-m|0;j=q+i|0;n=e>>31;r=n-!e|0;s=r+(i>>31)|0;i=Gl(j,i>>>0>j>>>0?s+1|0:s,e,n);x[a+108>>2]=i;if(!(!(!h|!i)&h>>>0<=65535/(i>>>0)>>>0)){x[b+20>>2]=i;x[b+16>>2]=h;hb(g,1,18089,b+16|0);break a}j=D(h,i);i:{if(y[a+68|0]&2){x[a+28>>2]=(x[a+28>>2]-k>>>0)/(c>>>0);x[a+32>>2]=(x[a+32>>2]-m>>>0)/(e>>>0);h=x[a+36>>2]-k|0;i=o+h|0;k=(h>>31)+p|0;L=a,M=Gl(i,h>>>0>i>>>0?k+1|0:k,c,l),x[L+36>>2]=M;c=x[a+40>>2]-m|0;h=c+q|0;i=(c>>31)+r|0;L=a,M=Gl(h,c>>>0>h>>>0?i+1|0:i,e,n),x[L+40>>2]=M;break i}x[a+28>>2]=0;x[a+32>>2]=0;x[a+40>>2]=i;x[a+36>>2]=h}c=vc(j,5644);x[a+156>>2]=c;if(!c){hb(g,1,8359,0);break a}c=vc(x[d+16>>2],1080);x[x[a+12>>2]+5584>>2]=c;if(!x[x[a+12>>2]+5584>>2]){hb(g,1,8359,0);break a}c=vc(10,20);x[x[a+12>>2]+5616>>2]=c;c=x[a+12>>2];if(!x[c+5616>>2]){hb(g,1,8359,0);break a}x[c+5624>>2]=10;c=vc(10,20);x[x[a+12>>2]+5628>>2]=c;c=x[a+12>>2];if(!x[c+5628>>2]){hb(g,1,8359,0);break a}x[c+5636>>2]=10;e=x[d+16>>2];j:{if(!e){break j}h=x[d+24>>2];c=0;if((e|0)!=1){i=e&-2;while(1){k=h+D(c,52)|0;if(!x[k+32>>2]){x[(x[x[a+12>>2]+5584>>2]+D(c,1080)|0)+1076>>2]=1<>2]-1}k=c|1;l=h+D(k,52)|0;if(!x[l+32>>2]){x[(x[x[a+12>>2]+5584>>2]+D(k,1080)|0)+1076>>2]=1<>2]-1}c=c+2|0;f=f+2|0;if((i|0)!=(f|0)){continue}break}}if(!(e&1)){break j}e=h+D(c,52)|0;if(x[e+32>>2]){break j}x[(x[x[a+12>>2]+5584>>2]+D(c,1080)|0)+1076>>2]=1<>2]-1}if(j){c=x[a+156>>2];f=0;while(1){e=vc(x[d+16>>2],1080);x[c+5584>>2]=e;if(!e){f=0;hb(g,1,8359,0);break a}c=c+5644|0;f=f+1|0;if((j|0)!=(f|0)){continue}break}}x[a+8>>2]=4;p=x[d+16>>2];if(p){c=x[a+88>>2];f=x[a+96>>2];e=c+D(f,x[a+108>>2]-1|0)|0;f=e+f|0;e=e>>>0>f>>>0?-1:f;f=x[d+12>>2];q=e>>>0>>0?e:f;e=x[a+84>>2];f=x[a+92>>2];a=e+D(f,x[a+104>>2]-1|0)|0;f=a+f|0;a=a>>>0>f>>>0?-1:f;f=x[d+8>>2];r=a>>>0>>0?a:f;a=x[d+4>>2];k=a>>>0>>0?c:a;a=x[d>>2];l=a>>>0>>0?e:a;a=x[d+24>>2];c=0;while(1){f=x[a+4>>2];g=f-1|0;m=0-!f|0;d=m;e=d+1|0;d=g+k|0;e=d>>>0>>0?e:m;s=Hl(d,e,f,0);x[a+20>>2]=s;h=x[a>>2];i=h-1|0;n=0-!h|0;d=n;e=d+1|0;d=i+l|0;e=d>>>0>>0?e:n;t=Hl(d,e,h,0);x[a+16>>2]=t;d=x[a+40>>2];e=d&31;if((d&63)>>>0>=32){e=-1<>>32-e}j=j^-1;e=e^-1;o=e;v=m+1|0;u=m;m=g+q|0;g=g>>>0>m>>>0?v:u;u=e+1|0;e=Hl(m,g,f,0)-s|0;f=e+j|0;g=e>>>0>f>>>0?u:o;m=d&31;e=m;d=(d&63)>>>0>=32;x[a+12>>2]=d?g>>>e|0:((1<>>e;e=i+r|0;f=e>>>0>>0?n+1|0:n;f=(Hl(e,f,h,0)-t|0)+j|0;g=f>>>0>>0?o+1|0:o;e=m;x[a+8>>2]=d?g>>>e|0:((1<>>e;a=a+52|0;c=c+1|0;if((p|0)!=(c|0)){continue}break}}f=1;break a}x[b+144>>2]=e;hb(g,1,12266,b+144|0);f=0;break a}f=0;x[d+16>>2]=0;hb(g,1,8359,0);break a}x[b+52>>2]=h;x[b+48>>2]=i;hb(g,1,19371,b+48|0);break a}x[b+40>>2]=h;x[b+36>>2]=k;x[b+32>>2]=i;hb(g,1,18309,b+32|0)}Ca=b+160|0;Ha=0;return f|0}function Zc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,r=0,s=0,t=0,u=0,z=0,A=0,B=0,E=0,F=0,G=0,H=0;j=Ca-80|0;Ca=j;x[j+76>>2]=b;H=j+55|0;u=j+56|0;a:{b:{c:{d:while(1){h=0;e:while(1){k=b;if((s^2147483647)<(h|0)){break c}s=h+s|0;f:{g:{h:{h=k;i=y[h|0];if(i){while(1){i:{b=i&255;j:{if(!b){b=h;break j}if((b|0)!=37){break i}i=h;while(1){if(y[i+1|0]!=37){b=i;break j}h=h+1|0;o=y[i+2|0];b=i+2|0;i=b;if((o|0)==37){continue}break}}h=h-k|0;G=s^2147483647;if((h|0)>(G|0)){break c}if(a){_c(a,k,h)}if(h){continue e}x[j+76>>2]=b;h=b+1|0;r=-1;if(!(y[b+2|0]!=36|v[b+1|0]-48>>>0>=10)){r=v[b+1|0]-48|0;A=1;h=b+3|0}x[j+76>>2]=h;p=0;i=v[h|0];b=i-32|0;k:{if(b>>>0>31){o=h;break k}o=h;b=1<>2]=o;p=b|p;i=v[h+1|0];b=i-32|0;if(b>>>0>=32){break k}h=o;b=1<>>0>=10)){b=v[i|0]-48|0;i=o+3|0;A=1;n:{if(!a){x[(b<<2)+e>>2]=10;b=0;break n}b=x[(b<<3)+d>>2]}break m}if(A){break h}if(!a){x[j+76>>2]=i;A=0;t=0;break l}b=x[c>>2];x[c>>2]=b+4;A=0;b=x[b>>2]}x[j+76>>2]=i;t=b;if((b|0)>=0){break l}t=0-t|0;p=p|8192;break l}t=$c(j+76|0);if((t|0)<0){break c}i=x[j+76>>2]}h=0;m=-1;o:{if(y[i|0]!=46){b=i;E=0;break o}if(y[i+1|0]==42){b=i+2|0;p:{if(!(y[i+3|0]!=36|v[i+2|0]-48>>>0>=10)){b=v[b|0]-48|0;q:{if(!a){x[(b<<2)+e>>2]=10;m=0;break q}m=x[(b<<3)+d>>2]}b=i+4|0;break p}if(A){break h}if(!a){m=0;break p}i=x[c>>2];x[c>>2]=i+4;m=x[i>>2]}x[j+76>>2]=b;E=(m^-1)>>>31|0;break o}x[j+76>>2]=i+1;m=$c(j+76|0);b=x[j+76>>2];E=1}while(1){z=h;n=28;F=b;h=v[b|0];if(h-123>>>0<4294967238){break b}b=F+1|0;h=y[(h+D(z,58)|0)+30975|0];if(h-1>>>0<8){continue}break}x[j+76>>2]=b;r:{if((h|0)!=27){if(!h){break b}if((r|0)>=0){if(!a){x[(r<<2)+e>>2]=h;continue d}h=(r<<3)+d|0;i=x[h+4>>2];x[j+64>>2]=x[h>>2];x[j+68>>2]=i;break r}if(!a){break f}ad(j- -64|0,h,c,g);break r}if((r|0)>=0){break b}h=0;if(!a){continue e}}n=-1;if(y[a|0]&32){break a}i=p&-65537;p=p&8192?i:p;r=0;B=1177;o=u;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{h=v[F|0];h=z?(h&15)==3?h&-33:h:h;switch(h-88|0){case 11:break s;case 9:case 13:case 14:case 15:break t;case 27:break y;case 12:case 17:break B;case 23:break C;case 0:case 32:break D;case 24:break E;case 22:break F;case 29:break G;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break H}}I:{switch(h-65|0){case 0:case 4:case 5:case 6:break t;case 2:break w;case 1:case 3:break g;default:break I}}if((h|0)==83){break x}break g}i=x[j+64>>2];n=x[j+68>>2];B=1177;break A}h=0;J:{switch(z&255){case 0:x[x[j+64>>2]>>2]=s;continue e;case 1:x[x[j+64>>2]>>2]=s;continue e;case 2:k=x[j+64>>2];x[k>>2]=s;x[k+4>>2]=s>>31;continue e;case 3:w[x[j+64>>2]>>1]=s;continue e;case 4:v[x[j+64>>2]]=s;continue e;case 6:x[x[j+64>>2]>>2]=s;continue e;case 7:break J;default:continue e}}k=x[j+64>>2];x[k>>2]=s;x[k+4>>2]=s>>31;continue e}m=m>>>0<=8?8:m;p=p|8;h=120}k=u;F=h&32;i=x[j+64>>2];n=x[j+68>>2];if(i|n){while(1){k=k-1|0;v[k|0]=F|y[(i&15)+31504|0];z=!n&i>>>0>15|(n|0)!=0;i=(n&15)<<28|i>>>4;n=n>>>4|0;if(z){continue}break}}if(!(x[j+64>>2]|x[j+68>>2])|!(p&8)){break z}B=(h>>>4|0)+1177|0;r=2;break z}h=u;k=x[j+68>>2];n=k;i=x[j+64>>2];if(k|i){while(1){h=h-1|0;v[h|0]=i&7|48;z=!n&i>>>0>7|(n|0)!=0;i=(n&7)<<29|i>>>3;n=n>>>3|0;if(z){continue}break}}k=h;if(!(p&8)){break z}h=u-k|0;m=(h|0)<(m|0)?m:h+1|0;break z}i=x[j+64>>2];h=x[j+68>>2];n=h;if((h|0)<0){k=0-(((i|0)!=0)+n|0)|0;n=k;i=0-i|0;x[j+64>>2]=i;x[j+68>>2]=k;r=1;B=1177;break A}if(p&2048){r=1;B=1178;break A}r=p&1;B=r?1179:1177}k=bd(i,n,u)}if((m|0)<0?E:0){break c}p=E?p&-65537:p;h=x[j+64>>2];i=x[j+68>>2];if(!(m|(h|i)!=0)){k=u;m=0;break g}h=!(h|i)+(u-k|0)|0;m=(h|0)<(m|0)?m:h;break g}h=x[j+64>>2];k=h?h:5108;h=m>>>0>=2147483647?2147483647:m;o=Wc(k,0,h);h=o?o-k|0:h;o=h+k|0;if((m|0)>=0){p=i;m=h;break g}p=i;m=h;if(y[o|0]){break c}break g}if(m){i=x[j+64>>2];break v}h=0;cd(a,32,t,0,p);break u}x[j+12>>2]=0;x[j+8>>2]=x[j+64>>2];i=j+8|0;x[j+64>>2]=i;m=-1}h=0;K:{while(1){k=x[i>>2];if(!k){break K}k=gd(j+4|0,k);o=(k|0)<0;if(!(o|k>>>0>m-h>>>0)){i=i+4|0;h=h+k|0;if(m>>>0>h>>>0){continue}break K}break}if(o){break a}}n=61;if((h|0)<0){break b}cd(a,32,t,h,p);if(!h){h=0;break u}o=0;i=x[j+64>>2];while(1){k=x[i>>2];if(!k){break u}k=gd(j+4|0,k);o=k+o|0;if(o>>>0>h>>>0){break u}_c(a,j+4|0,k);i=i+4|0;if(h>>>0>o>>>0){continue}break}}cd(a,32,t,h,p^8192);h=(h|0)<(t|0)?t:h;continue e}if((m|0)<0?E:0){break c}n=61;q(+C[j+64>>3]);k=l(1)|0;h=Ia[f|0](a,0,l(0)|0,k,t,0,m,0,p,0,h,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if((h|0)>=0){continue e}break b}v[j+55|0]=x[j+64>>2];m=1;k=H;p=i;break g}i=y[h+1|0];h=h+1|0;continue}}n=s;if(a){break a}if(!A){break f}h=1;while(1){a=x[(h<<2)+e>>2];if(a){ad((h<<3)+d|0,a,c,g);n=1;h=h+1|0;if((h|0)!=10){continue}break a}break}n=1;if(h>>>0>=10){break a}while(1){if(x[(h<<2)+e>>2]){break h}h=h+1|0;if((h|0)!=10){continue}break}break a}n=28;break b}o=o-k|0;m=(m|0)>(o|0)?m:o;if((m|0)>(r^2147483647)){break c}n=61;i=m+r|0;h=(i|0)<(t|0)?t:i;if((G|0)<(h|0)){break b}cd(a,32,h,i,p);_c(a,B,r);cd(a,48,h,i,p^65536);cd(a,48,m,o,0);_c(a,k,o);cd(a,32,h,i,p^8192);continue}break}break}n=0;break a}n=61}x[10518]=n;n=-1}Ca=j+80|0;return n}function ic(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,z=0,B=0,C=0,E=0;p=Ca-32|0;Ca=p;x[p+24>>2]=f;w=x[(D(x[d+28>>2],76)+b|0)+28>>2];s=x[d+32>>2];a:{b:{if(x[d+40>>2]){break b}q=w+D(s,152)|0;if(!x[q+24>>2]){break b}k=q+28|0;while(1){c:{if(x[k+12>>2]==x[k+4>>2]|x[k+8>>2]==x[k>>2]){break c}b=x[d+36>>2];if(b>>>0>=A[k+24>>2]/40>>>0){hb(i,1,7260,0);break a}b=x[k+20>>2]+D(b,40)|0;nc(x[b+32>>2]);nc(x[b+36>>2]);o=D(x[b+20>>2],x[b+16>>2]);if(!o){break c}b=x[b+24>>2];if(o>>>0>=8){m=o&-8;j=0;while(1){x[b+40>>2]=0;x[b+44>>2]=0;x[b+488>>2]=0;x[b+492>>2]=0;x[b+424>>2]=0;x[b+428>>2]=0;x[b+360>>2]=0;x[b+364>>2]=0;x[b+296>>2]=0;x[b+300>>2]=0;x[b+232>>2]=0;x[b+236>>2]=0;x[b+168>>2]=0;x[b+172>>2]=0;x[b+104>>2]=0;x[b+108>>2]=0;b=b+512|0;j=j+8|0;if((m|0)!=(j|0)){continue}break}}j=0;o=o&7;if(!o){break c}while(1){x[b+40>>2]=0;x[b+44>>2]=0;b=b- -64|0;j=j+1|0;if((o|0)!=(j|0)){continue}break}}k=k+36|0;l=l+1|0;if(l>>>0>2]){continue}break}}o=f;d:{if(!(y[c|0]&2)){break d}if(h>>>0<=5){hb(i,2,8587,0);break d}if(!(y[f|0]==255&y[f+1|0]==145)){hb(i,2,8629,0);break d}o=f+6|0;x[p+24>>2]=o}m=uc(20);if(!m){break a}e:{if(v[a+108|0]&1){t=a+40|0;o=x[a+40>>2];q=a+44|0;break e}if(y[c+5640|0]&2){t=c+5168|0;o=x[c+5168>>2];q=c+5180|0;break e}x[p+28>>2]=(f+h|0)-o;t=p+24|0;q=p+28|0}a=x[q>>2];x[m+12>>2]=0;x[m+16>>2]=0;x[m+8>>2]=o;x[m>>2]=o;x[m+4>>2]=a+o;if(!gc(m,1)){hc(m);a=x[m+8>>2]-x[m>>2]|0;Va(m);b=a+o|0;f:{if(!(y[c|0]&4)){break f}if(x[t>>2]+(x[q>>2]-b|0)>>>0<=1){hb(i,2,8818,0);break f}if(!(y[b|0]==255&y[b+1|0]==146)){hb(i,2,8860,0);break f}b=b+2|0}x[q>>2]=x[q>>2]+(x[t>>2]-b|0);x[t>>2]=b;x[e>>2]=0;x[g>>2]=x[p+24>>2]-f;B=1;break a}z=w+D(s,152)|0;if(x[z+24>>2]){a=z+28|0;while(1){b=x[d+36>>2];h=x[a+20>>2];w=a;g:{if(x[a+12>>2]==x[a+4>>2]|x[a+8>>2]==x[a>>2]){break g}s=h+D(b,40)|0;C=D(x[s+20>>2],x[s+16>>2]);if(!C){break g}k=x[s+24>>2];a=0;while(1){h:{i:{if(!x[k+40>>2]){b=qc(m,x[s+32>>2],a,x[d+40>>2]+1|0);break i}b=gc(m,1)}if(!b){x[k+36>>2]=0;break h}if(!x[k+40>>2]){b=0;while(1){h=b;b=b+1|0;if(!qc(m,x[s+36>>2],a,h)){continue}break}b=x[w+28>>2];x[k+32>>2]=3;x[k+24>>2]=b;x[k+28>>2]=(b-h|0)+1}b=1;j:{if(!gc(m,1)){break j}b=2;if(!gc(m,1)){break j}b=gc(m,2);if((b|0)!=3){b=b+3|0;break j}b=gc(m,5);if((b|0)!=31){b=b+6|0;break j}b=gc(m,7)+37|0}x[k+36>>2]=b;b=0;while(1){h=b;b=b+1|0;if(gc(m,1)){continue}break}x[k+32>>2]=h+x[k+32>>2];k:{h=x[k+40>>2];l:{if(!h){h=x[(x[c+5584>>2]+D(x[d+28>>2],1080)|0)+16>>2];if(!x[k+48>>2]){b=yc(x[k>>2],240);if(!b){break k}x[k>>2]=b;Hc(b+D(x[k+48>>2],24)|0,0,240);x[k+48>>2]=10}b=x[k>>2];x[b>>2]=0;x[b+4>>2]=0;x[b+16>>2]=0;x[b+20>>2]=0;x[b+8>>2]=0;x[b+12>>2]=0;x[b+12>>2]=h&4?1:h&1?10:109;l=0;break l}b=x[k>>2];l=h-1|0;j=b+D(l,24)|0;if(x[j+4>>2]!=x[j+12>>2]){break l}j=x[(x[c+5584>>2]+D(x[d+28>>2],1080)|0)+16>>2];l=x[k+48>>2];if(l>>>0>>0){l=l+10|0;b=yc(b,D(l,24));if(!b){break k}x[k>>2]=b;Hc(b+D(x[k+48>>2],24)|0,0,240);x[k+48>>2]=l;b=x[k>>2]}b=D(h,24)+b|0;x[b>>2]=0;x[b+4>>2]=0;x[b+16>>2]=0;x[b+20>>2]=0;x[b+8>>2]=0;x[b+12>>2]=0;l=1;m:{if(j&4){break m}l=109;if(!(j&1)){break m}l=x[b-12>>2];l=(l|0)==1?2:(l|0)==10?2:1}x[b+12>>2]=l;l=h}h=x[k+36>>2];if(y[(x[c+5584>>2]+D(x[d+28>>2],1080)|0)+16|0]&64){while(1){u=D(l,24);n=l?h:1;x[(u+x[k>>2]|0)+16>>2]=n;r=x[k+32>>2];j=0;b=h;if(n>>>0>=2){while(1){j=j+1|0;n=b>>>0>3;b=b>>>1|0;if(n){continue}break}}b=j+r|0;if(b>>>0>=33){x[p+16>>2]=b;hb(i,1,19504,p+16|0);break k}j=gc(m,b);b=x[k>>2];n=u+b|0;x[n+20>>2]=j;h=h-x[n+16>>2]|0;if((h|0)<=0){break h}r=x[(x[c+5584>>2]+D(x[d+28>>2],1080)|0)+16>>2];j=x[k+48>>2];if(j>>>0>>0){j=j+10|0;b=yc(b,D(j,24));if(!b){break k}x[k>>2]=b;Hc(b+D(x[k+48>>2],24)|0,0,240);x[k+48>>2]=j;b=x[k>>2]}l=l+1|0;j=D(l,24)+b|0;x[j>>2]=0;x[j+4>>2]=0;x[j+16>>2]=0;x[j+20>>2]=0;x[j+8>>2]=0;x[j+12>>2]=0;n=1;n:{if(r&4){break n}n=109;if(!(r&1)){break n}b=x[(b+u|0)+12>>2];n=(b|0)==1?2:(b|0)==10?2:1}x[j+12>>2]=n;continue}}while(1){u=D(l,24);j=u+x[k>>2]|0;b=x[j+12>>2]-x[j+4>>2]|0;b=(b|0)<(h|0)?b:h;x[j+16>>2]=b;n=x[k+32>>2];j=0;if(b>>>0>=2){while(1){j=j+1|0;r=b>>>0>3;b=b>>>1|0;if(r){continue}break}}b=j+n|0;if(b>>>0>=33){x[p>>2]=b;hb(i,1,19504,p);break k}j=gc(m,b);b=x[k>>2];n=u+b|0;x[n+20>>2]=j;h=h-x[n+16>>2]|0;if((h|0)<=0){break h}r=x[(x[c+5584>>2]+D(x[d+28>>2],1080)|0)+16>>2];j=x[k+48>>2];if(j>>>0>>0){j=j+10|0;b=yc(b,D(j,24));if(!b){break k}x[k>>2]=b;Hc(b+D(x[k+48>>2],24)|0,0,240);x[k+48>>2]=j;b=x[k>>2]}l=l+1|0;j=D(l,24)+b|0;x[j>>2]=0;x[j+4>>2]=0;x[j+16>>2]=0;x[j+20>>2]=0;x[j+8>>2]=0;x[j+12>>2]=0;n=1;o:{if(r&4){break o}n=109;if(!(r&1)){break o}b=x[(b+u|0)+12>>2];n=(b|0)==1?2:(b|0)==10?2:1}x[j+12>>2]=n;continue}}Va(m);break a}k=k- -64|0;a=a+1|0;if((C|0)!=(a|0)){continue}break}}a=w+36|0;E=E+1|0;if(E>>>0>2]){continue}break}}if(!hc(m)){Va(m);break a}a=x[m+8>>2]-x[m>>2]|0;Va(m);b=a+o|0;p:{if(!(y[c|0]&4)){break p}if(x[t>>2]+(x[q>>2]-b|0)>>>0<=1){hb(i,2,8818,0);break p}if(!(y[b|0]==255&y[b+1|0]==146)){hb(i,2,8860,0);break p}b=b+2|0}x[q>>2]=x[q>>2]+(x[t>>2]-b|0);x[t>>2]=b;B=1;x[e>>2]=1;x[g>>2]=x[p+24>>2]-f}Ca=p+32|0;return B} +function mh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,y,z,B,C,F,G,H,I,J,K,L){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;y=y|0;z=z|0;B=B|0;C=C|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;L=L|0;var M=E(0);m=0;k=0;l=0;o=Ca-48|0;Ca=o;g=a;x[a+8>>2]=1;a:{b:{c:{if((gb(c,o+40|0,2,e)|0)!=2){break c}cb(o+40|0,o+44|0,2);if(x[o+44>>2]!=65359){break c}x[g+8>>2]=2;a=x[c+56>>2];d=a-2|0;b=x[c+60>>2]-(a>>>0<2)|0;a=x[g+200>>2];x[a>>2]=d;x[a+4>>2]=b;x[o+16>>2]=d;x[o+20>>2]=b;hb(e,4,16738,o+16|0);i=x[g+200>>2];h=x[i>>2];d=x[i+24>>2];a=d+1|0;b=x[i+32>>2];if(a>>>0<=b>>>0){f=x[i+28>>2];break b}M=E(E(b>>>0)+E(100));d:{if(M=E(0)){a=~~M>>>0;break d}a=0}x[i+32>>2]=a;f=yc(x[i+28>>2],D(a,24));if(f){x[i+28>>2]=f;d=x[i+24>>2];a=d+1|0;break b}jd(x[i+28>>2]);x[i+32>>2]=0;x[i+24>>2]=0;x[i+28>>2]=0;hb(e,1,8323,0)}hb(e,1,19625,0);a=0;break a}b=D(d,24)+f|0;x[b+16>>2]=2;x[b+8>>2]=h;x[b+12>>2]=h>>31;w[b>>1]=65359;x[i+24>>2]=a;if((gb(c,x[g+16>>2],2,e)|0)!=2){hb(e,1,6896,0);a=0;break a}cb(x[g+16>>2],o+40|0,2);e:{f:{f=x[o+40>>2];if((f|0)!=65424){while(1){d=21024;if(f>>>0<=65279){x[o>>2]=f;hb(e,1,6744,o);a=0;break a}while(1){a=d;b=x[a>>2];if(b){d=a+12|0;if((b|0)!=(f|0)){continue}}break}g:{h:{if(b){break h}n=2;hb(e,2,8271,0);d=6896;i:{j:{if((gb(c,x[g+16>>2],2,e)|0)!=2){break j}while(1){cb(x[g+16>>2],o+44|0,2);b=21024;f=x[o+44>>2];if(f>>>0>=65280){while(1){a=b;i=x[a>>2];if(i){b=a+12|0;if((f|0)!=(i|0)){continue}}break}if(!(x[a+4>>2]&x[g+8>>2])){d=9814;break j}if(i){if((i|0)==65424){x[o+40>>2]=65424;break g}h=x[c+56>>2];j=x[g+200>>2];a=x[j+24>>2];f=a+1|0;b=x[j+32>>2];if(f>>>0<=b>>>0){d=x[j+28>>2];break i}M=E(E(b>>>0)+E(100));k:{if(M=E(0)){a=~~M>>>0;break k}a=0}x[j+32>>2]=a;d=yc(x[j+28>>2],D(a,24));if(d){x[j+28>>2]=d;a=x[j+24>>2];f=a+1|0;break i}jd(x[j+28>>2]);x[j+32>>2]=0;x[j+24>>2]=0;x[j+28>>2]=0;d=8323;break j}n=n+2|0}if((gb(c,x[g+16>>2],2,e)|0)==2){continue}break}}hb(e,1,d,0);hb(e,1,13937,0);a=0;break a}b=D(a,24)+d|0;x[b+16>>2]=n;a=h-n|0;x[b+8>>2]=a;x[b+12>>2]=a>>31;w[b>>1]=0;x[j+24>>2]=f;x[o+40>>2]=i;f=21024;while(1){a=f;b=x[a>>2];if(!b){break h}f=a+12|0;if((b|0)!=(i|0)){continue}break}}if(!(x[a+4>>2]&x[g+8>>2])){hb(e,1,9814,0);a=0;break a}if((gb(c,x[g+16>>2],2,e)|0)!=2){hb(e,1,6896,0);a=0;break a}cb(x[g+16>>2],o+36|0,2);d=x[o+36>>2];if(d>>>0<=1){hb(e,1,10465,0);a=0;break a}d=d-2|0;x[o+36>>2]=d;f=x[g+16>>2];if(A[g+20>>2]>>0){f=yc(f,d);if(!f){jd(x[g+16>>2]);x[g+16>>2]=0;x[g+20>>2]=0;hb(e,1,9390,0);a=0;break a}x[g+16>>2]=f;d=x[o+36>>2];x[g+20>>2]=d}d=gb(c,f,d,e);if((d|0)!=x[o+36>>2]){hb(e,1,6896,0);a=0;break a}if(!(Ia[x[a+8>>2]](g,0,x[g+16>>2],0,d,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){hb(e,1,6914,0);a=0;break a}h=x[c+56>>2];i=x[o+36>>2];j=x[g+200>>2];f=x[j+24>>2];n=f+1|0;a=x[j+32>>2];l:{if(n>>>0<=a>>>0){d=x[j+28>>2];break l}M=E(E(a>>>0)+E(100));m:{if(M=E(0)){a=~~M>>>0;break m}a=0}x[j+32>>2]=a;d=yc(x[j+28>>2],D(a,24));if(!d){break e}x[j+28>>2]=d;f=x[j+24>>2];n=f+1|0}d=D(f,24)+d|0;x[d+16>>2]=i+4;a=(h-i|0)-4|0;x[d+8>>2]=a;x[d+12>>2]=a>>31;w[d>>1]=b;x[j+24>>2]=n;if((gb(c,x[g+16>>2],2,e)|0)!=2){hb(e,1,6896,0);a=0;break a}l=(b|0)==65372?1:l;m=(b|0)==65362?1:m;k=(b|0)==65361?1:k;cb(x[g+16>>2],o+40|0,2);f=x[o+40>>2];if((f|0)!=65424){continue}}break}if(k){break f}}hb(e,1,9202,0);a=0;break a}if(!m){hb(e,1,9248,0);a=0;break a}if(!l){hb(e,1,9294,0);a=0;break a}b=0;n=0;k=0;j=Ca-16|0;Ca=j;l=1;n:{if(!(v[g+188|0]&1)){break n}o:{f=x[g+112>>2];if(!f){break o}p:{while(1){a=x[g+116>>2]+(k<<3)|0;d=x[a>>2];if(d){h=x[a+4>>2];a=b-h|0;a=a>>>0<=b>>>0?a:0;if(b>>>0>>0){f=h-b|0;d=b+d|0;while(1){if(f>>>0<4){break p}cb(d,j+12|0,4);i=x[j+12>>2];h=f-4|0;b=i>>>0>h>>>0;a=b?i-h|0:a;f=h-i|0;n=i+n|0;d=((b?0:i)+d|0)+4|0;if(h>>>0>i>>>0){continue}break}f=x[g+112>>2]}b=a}k=k+1|0;if(k>>>0>>0){continue}break}if(!b){break o}l=0;hb(e,1,7491,0);break n}l=0;hb(e,1,10062,0);break n}b=uc(n);x[g+136>>2]=b;if(!b){l=0;hb(e,1,8728,0);break n}x[g+124>>2]=n;m=x[g+116>>2];q:{a=x[g+112>>2];if(a){f=0;b=0;n=0;while(1){h=n<<3;d=h+m|0;i=x[d>>2];if(i){a=x[g+136>>2]+b|0;d=x[d+4>>2];r:{if(d>>>0<=f>>>0){Gc(a,i,d);b=b+d|0;f=f-d|0;break r}Gc(a,i,f);b=b+f|0;m=d-f|0;if(m){f=f+i|0;while(1){if(m>>>0<4){break q}cb(f,j+8|0,4);f=f+4|0;d=x[g+136>>2]+b|0;i=m-4|0;a=x[j+8>>2];if(i>>>0>>0){Gc(d,f,i);b=b+i|0;f=x[j+8>>2]-i|0;break r}Gc(d,f,a);a=x[j+8>>2];b=a+b|0;f=a+f|0;m=i-a|0;if(m){continue}break}}f=0}jd(x[h+x[g+116>>2]>>2]);m=x[g+116>>2];a=h+m|0;x[a>>2]=0;x[a+4>>2]=0;a=x[g+112>>2]}n=n+1|0;if(n>>>0>>0){continue}break}n=x[g+124>>2];b=x[g+136>>2]}x[g+144>>2]=n;x[g+120>>2]=b;x[g+112>>2]=0;jd(m);x[g+116>>2]=0;break n}l=0;hb(e,1,10062,0)}Ca=j+16|0;if(!l){hb(e,1,12419,0);a=0;break a}hb(e,4,15723,0);a=x[g+200>>2];x[a+8>>2]=x[c+56>>2]-2;x[a+12>>2]=0;x[g+8>>2]=8;a=1;break a}jd(x[j+28>>2]);x[j+32>>2]=0;x[j+24>>2]=0;x[j+28>>2]=0;hb(e,1,8323,0);a=0}Ca=o+48|0;Ha=0;return a|0}function Ae(a){var b=0,c=0,d=0,e=0,f=0,g=0;d=Ca-304|0;Ca=d;a:{if(!Sd(a,76)){break a}b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}switch((c<<24>>24)-65|0){case 19:break a;case 37:break j;case 46:break k;case 45:break l;case 56:break m;case 55:break n;case 44:break o;case 43:break p;case 41:break q;case 40:break r;case 51:break s;case 50:break t;case 39:break u;case 32:break v;case 34:break w;case 33:break x;case 54:break y;case 20:break d;case 3:break e;case 0:break f;case 30:break g;case 36:break h;case 35:break i;default:break c}}x[a>>2]=x[a>>2]+1;b=Pd(d+296|0,1534);c=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=c;b=cf(a,d);break a}c=Pd(d+288|0,3607);e=x[c+4>>2];x[d+16>>2]=x[c>>2];x[d+20>>2]=e;if(Qd(a,d+16|0)){x[d+148>>2]=0;b=df(a,d+148|0);break a}c=Pd(d+280|0,3603);e=x[c+4>>2];x[d+8>>2]=x[c>>2];x[d+12>>2]=e;if(!Qd(a,d+8|0)){break a}x[d+148>>2]=1;b=df(a,d+148|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+272|0,1966);c=x[b+4>>2];x[d+24>>2]=x[b>>2];x[d+28>>2]=c;b=cf(a,d+24|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+264|0,1959);c=x[b+4>>2];x[d+32>>2]=x[b>>2];x[d+36>>2]=c;b=cf(a,d+32|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+256|0,1957);c=x[b+4>>2];x[d+40>>2]=x[b>>2];x[d+44>>2]=c;b=cf(a,d+40|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+248|0,1331);c=x[b+4>>2];x[d+48>>2]=x[b>>2];x[d+52>>2]=c;b=cf(a,d+48|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+240|0,1322);c=x[b+4>>2];x[d+56>>2]=x[b>>2];x[d+60>>2]=c;b=cf(a,d+56|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+232|0,20613);c=x[b+4>>2];x[d+64>>2]=x[b>>2];x[d+68>>2]=c;b=cf(a,d- -64|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+224|0,1235);c=x[b+4>>2];x[d+72>>2]=x[b>>2];x[d+76>>2]=c;b=cf(a,d+72|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+216|0,2564);c=x[b+4>>2];x[d+80>>2]=x[b>>2];x[d+84>>2]=c;b=cf(a,d+80|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+208|0,2470);c=x[b+4>>2];x[d+88>>2]=x[b>>2];x[d+92>>2]=c;b=cf(a,d+88|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+200|0,2492);c=x[b+4>>2];x[d+96>>2]=x[b>>2];x[d+100>>2]=c;b=cf(a,d+96|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+192|0,2491);c=x[b+4>>2];x[d+104>>2]=x[b>>2];x[d+108>>2]=c;b=cf(a,d+104|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+184|0,4769);c=x[b+4>>2];x[d+112>>2]=x[b>>2];x[d+116>>2]=c;b=cf(a,d+112|0);break a}x[a>>2]=x[a>>2]+1;b=Pd(d+176|0,4760);c=x[b+4>>2];x[d+120>>2]=x[b>>2];x[d+124>>2]=c;b=cf(a,d+120|0);break a}x[a>>2]=x[a>>2]+1;e=Ca-16|0;Ca=e;z:{if(x[a+4>>2]-x[a>>2]>>>0<9){break z}c=e+8|0;b=x[a>>2];x[c+4>>2]=b+8;x[c>>2]=b;b=x[c>>2];g=x[c+4>>2];A:{while(1){if((b|0)==(g|0)){break A}f=v[b|0];b=b+1|0;if(f-48>>>0<10|(f|32)-97>>>0<6){continue}break}b=0;break z}x[a>>2]=x[a>>2]+8;b=0;if(!Sd(a,69)){break z}b=Ca-16|0;Ca=b;g=De(a+408|0,16);f=x[c+4>>2];c=x[c>>2];a=b;x[a>>2]=c;x[a+4>>2]=f;x[a+8>>2]=c;x[a+12>>2]=f;b=Fe(g,74,0,1,1,1);x[b>>2]=35088;c=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=c;Ca=a+16|0}Ca=e+16|0;break a}x[a>>2]=x[a>>2]+1;e=Ca-16|0;Ca=e;B:{if(x[a+4>>2]-x[a>>2]>>>0<17){break B}c=e+8|0;b=x[a>>2];x[c+4>>2]=b+16;x[c>>2]=b;b=x[c>>2];g=x[c+4>>2];C:{while(1){if((b|0)==(g|0)){break C}f=v[b|0];b=b+1|0;if(f-48>>>0<10|(f|32)-97>>>0<6){continue}break}b=0;break B}x[a>>2]=x[a>>2]+16;b=0;if(!Sd(a,69)){break B}b=Ca-16|0;Ca=b;g=De(a+408|0,16);f=x[c+4>>2];c=x[c>>2];a=b;x[a>>2]=c;x[a+4>>2]=f;x[a+8>>2]=c;x[a+12>>2]=f;b=Fe(g,75,0,1,1,1);x[b>>2]=35200;c=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=c;Ca=a+16|0}Ca=e+16|0;break a}x[a>>2]=x[a>>2]+1;e=Ca-16|0;Ca=e;D:{if(x[a+4>>2]-x[a>>2]>>>0<33){break D}c=e+8|0;b=x[a>>2];x[c+4>>2]=b+32;x[c>>2]=b;b=x[c>>2];g=x[c+4>>2];E:{while(1){if((b|0)==(g|0)){break E}f=v[b|0];b=b+1|0;if(f-48>>>0<10|(f|32)-97>>>0<6){continue}break}b=0;break D}x[a>>2]=x[a>>2]+32;b=0;if(!Sd(a,69)){break D}b=Ca-16|0;Ca=b;g=De(a+408|0,16);f=x[c+4>>2];c=x[c>>2];a=b;x[a>>2]=c;x[a+4>>2]=f;x[a+8>>2]=c;x[a+12>>2]=f;b=Fe(g,76,0,1,1,1);x[b>>2]=35312;c=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=c;Ca=a+16|0}Ca=e+16|0;break a}b=Pd(d+168|0,3501);c=x[b+4>>2];x[d+128>>2]=x[b>>2];x[d+132>>2]=c;if(!Qd(a,d+128|0)){break b}b=Rd(a);if(!b){break b}if(Sd(a,69)){break a}break b}c=Vd(a);x[d+148>>2]=c;if(!c){break a}if(!Sd(a,69)){break a}a=De(a+408|0,12);c=x[d+148>>2];b=Fe(a,70,0,1,1,1);x[b+8>>2]=c;x[b>>2]=35424;break a}c=Pd(d+160|0,2400);e=x[c+4>>2];x[d+136>>2]=x[c>>2];x[d+140>>2]=e;if(!Qd(a,d+136|0)){break b}Sd(a,48);if(!Sd(a,69)){break a}b=he(a,1742);break a}c=x[a>>2];if(x[a+4>>2]-c>>>0>1){c=y[c+1|0]}else{c=0}if((c|0)!=108){break a}c=Re(a,0);x[d+148>>2]=c;if(!c){break a}if(!Sd(a,69)){break a}a=De(a+408|0,12);c=x[d+148>>2];b=Fe(a,71,0,1,1,1);x[b+8>>2]=c;x[b>>2]=36340;break a}b=Vd(a);x[d+156>>2]=b;if(!b){break b}Td(d+148|0,a,1);b=0;if(x[d+148>>2]==x[d+152>>2]){break a}if(!Sd(a,69)){break a}b=Ca-16|0;Ca=b;f=De(a+408|0,20);g=x[d+156>>2];c=x[d+152>>2];e=x[d+148>>2];a=b;x[a>>2]=e;x[a+4>>2]=c;x[a+8>>2]=e;x[a+12>>2]=c;b=Fe(f,72,0,1,1,1);x[b+8>>2]=g;x[b>>2]=36444;c=x[a+4>>2];x[b+12>>2]=x[a>>2];x[b+16>>2]=c;Ca=a+16|0;break a}b=0}Ca=d+304|0;return b}function ac(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=x[a+32>>2];a:{if(b){break a}e=x[a+16>>2];b:{if((e|0)>5){f=e;break b}f=x[a+20>>2];c:{d:{if((f|0)>=5){d=x[a>>2];b=x[d>>2];x[a>>2]=d+4;i=f-4|0;break d}if((f|0)<=0){b=-1;break c}c=x[a>>2];e:{if((f|0)==1){d=c;b=0;h=-1;break e}h=-1;b=0;while(1){d=c+1|0;x[a>>2]=d;c=y[c|0];g=f-1|0;x[a+20>>2]=g;h=(255<>>0>2;c=d;f=g;if(j){continue}break}}x[a>>2]=d+1;b=(255<>2]=i}d=x[a+24>>2];c=b>>>24|0;x[a+24>>2]=(c|0)==255;h=b>>>8&255;i=(h|0)==255;f=d;d=b&255;g=(d|0)==255;b=b>>>16&255;j=(b|0)==255;k=(i+(f+g|0)|0)+j|0;f=(e-k|0)+32|0;x[a+16>>2]=f;l=x[a+12>>2];d=c|(b|(h|d<<(g?7:8))<<(i?7:8))<<(j?7:8);c=(k-e|0)+32|0;e=c&31;if((c&63)>>>0>=32){c=d<>>32-e;d=d<>2]=d|x[a+8>>2];x[a+12>>2]=c|l;b=0;if((f|0)<6){break a}}b=x[a+28>>2];c=x[(b<<2)+25520>>2];g=x[a+8>>2];d=x[a+12>>2];e=d;f:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break f}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}x[a+16>>2]=f;x[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;x[a+12>>2]=c;e=x[a+44>>2]|d>>31;x[a+40>>2]=x[a+40>>2]&-64|d;x[a+44>>2]=e;b=1;if((f|0)<6){break a}b=x[a+28>>2];c=x[(b<<2)+25520>>2];g=x[a+8>>2];d=x[a+12>>2];e=d;g:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break g}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}x[a+16>>2]=f;x[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;x[a+12>>2]=c;e=x[a+44>>2];x[a+40>>2]=x[a+40>>2]&-8065|d<<7;x[a+44>>2]=d>>31<<7|d>>>25|e;b=2;if((f|0)<6){break a}b=x[a+28>>2];c=x[(b<<2)+25520>>2];g=x[a+8>>2];d=x[a+12>>2];e=d;h:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break h}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}x[a+16>>2]=f;x[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;x[a+12>>2]=c;e=x[a+44>>2];x[a+40>>2]=x[a+40>>2]&-1032193|d<<14;x[a+44>>2]=d>>31<<14|d>>>18|e;b=3;if((f|0)<6){break a}b=x[a+28>>2];c=x[(b<<2)+25520>>2];g=x[a+8>>2];d=x[a+12>>2];e=d;i:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break i}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}x[a+16>>2]=f;x[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;x[a+12>>2]=c;e=x[a+44>>2];x[a+40>>2]=x[a+40>>2]&-132120577|d<<21;x[a+44>>2]=d>>31<<21|d>>>11|e;b=4;if((f|0)<6){break a}b=x[a+28>>2];c=x[(b<<2)+25520>>2];g=x[a+8>>2];d=x[a+12>>2];e=d;j:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break j}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}x[a+16>>2]=f;x[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;x[a+12>>2]=c;e=x[a+44>>2]&-4;x[a+40>>2]=x[a+40>>2]&268435455|d<<28;x[a+44>>2]=d>>31<<28|d>>>4|e;b=5;if((f|0)<6){break a}b=x[a+28>>2];c=x[(b<<2)+25520>>2];g=x[a+8>>2];d=x[a+12>>2];e=d;k:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break k}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}x[a+16>>2]=f;x[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;x[a+12>>2]=c;e=x[a+44>>2]&-505;x[a+40>>2]=x[a+40>>2];x[a+44>>2]=d<<3|e;b=6;if((f|0)<6){break a}b=x[a+28>>2];c=x[(b<<2)+25520>>2];g=x[a+8>>2];d=x[a+12>>2];e=d;l:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break l}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}x[a+16>>2]=f;x[a+28>>2]=b;b=g;g=c&31;if((c&63)>>>0>=32){c=b<>>32-g|e<>2]=e;x[a+12>>2]=c;e=x[a+44>>2]&-64513;x[a+40>>2]=x[a+40>>2];x[a+44>>2]=d<<10|e;b=7;if((f|0)<6){break a}b=x[a+28>>2];c=x[(b<<2)+25520>>2];g=x[a+8>>2];d=x[a+12>>2];e=d;m:{if((d|0)<0){d=(-1<=11?12:b+1|0;f=f-1|0;break m}h=63-c|0;d=h&31;d=((-1<>>0>=32?e>>>d|0:((1<>>d))<<1|1;b=(b|0)>1?b-1|0:0;c=c+1|0;f=f-c|0}x[a+16>>2]=f;x[a+28>>2]=b;f=c&31;if((c&63)>>>0>=32){c=g<>>32-f|e<>2]=f;x[a+12>>2]=c;f=x[a+44>>2]&-8257537;x[a+40>>2]=x[a+40>>2];x[a+44>>2]=d<<17|f;b=8}x[a+32>>2]=b-1;f=x[a+44>>2];c=f>>>7|0;d=x[a+40>>2];x[a+40>>2]=(f&127)<<25|d>>>7;x[a+44>>2]=c;return d&127}function nj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;c=0;b=Ca-16|0;Ca=b;a:{b:{c:{d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}d=d<<24>>24;if((d|0)!=71){if((d|0)!=84){break a}d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{d=x[a>>2];if(x[a+4>>2]-d>>>0>1){d=y[d+1|0]}else{d=0}d=d<<24>>24;switch(d-65|0){case 2:break h;case 8:break j;case 0:break m;case 1:case 3:case 4:case 5:case 6:break d;case 7:break f;default:break n}}switch(d-83|0){case 4:break g;case 0:break i;case 1:break k;case 3:break l;case 2:break d;default:break e}}x[a>>2]=x[a>>2]+2;c=ce(a);x[b+4>>2]=c;if(!c){break b}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5766);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}x[a>>2]=x[a>>2]+2;c=Vd(a);x[b+4>>2]=c;if(!c){break b}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5918);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}x[a>>2]=x[a>>2]+2;c=Vd(a);x[b+4>>2]=c;if(!c){break b}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5950);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}x[a>>2]=x[a>>2]+2;c=Vd(a);x[b+4>>2]=c;if(!c){break b}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5797);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}x[a>>2]=x[a>>2]+2;c=Vd(a);x[b+4>>2]=c;if(!c){break b}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5886);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}x[a>>2]=x[a>>2]+2;d=Vd(a);x[b+12>>2]=d;if(!d){break a}Td(b+4|0,a,1);if(x[b+4>>2]==x[b+8>>2]){break a}if(!Sd(a,95)){break a}c=Vd(a);x[b+4>>2]=c;if(!c){break b}a=De(a+408|0,16);d=x[b+4>>2];e=x[b+12>>2];c=Fe(a,21,0,1,1,1);x[c+12>>2]=e;x[c+8>>2]=d;x[c>>2]=32676;break a}x[a>>2]=x[a>>2]+2;d=ae(a,0);x[b+4>>2]=d;if(!d){break a}c=Ud(a,5811,b+4|0);break a}x[a>>2]=x[a>>2]+2;d=ae(a,0);x[b+4>>2]=d;if(!d){break a}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5845);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}if((d|0)==99){break c}}x[a>>2]=x[a>>2]+1;d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}if(ve(a)){break a}c=Rd(a);x[b+4>>2]=c;if(!c){break b}if((d&255)==118){d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5990);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5986);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}o:{p:{q:{d=x[a>>2];if(x[a+4>>2]-d>>>0>1){d=y[d+1|0]}else{d=0}d=d<<24>>24;switch(d-82|0){case 1:case 2:case 3:break a;case 0:break p;case 4:break q;default:break o}}x[a>>2]=x[a>>2]+2;d=ae(a,0);x[b+4>>2]=d;if(!d){break a}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5930);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}x[a>>2]=x[a>>2]+2;d=ae(a,0);x[b+4>>2]=d;if(!d){break a}c=we(a,b+12|0);d=Sd(a,95);if(!c){c=0;if(!d){break a}}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5741);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}if((d|0)!=73){break a}x[a>>2]=x[a>>2]+2;x[b+4>>2]=0;if(xe(a,b+4|0)|!x[b+4>>2]){break a}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,6071);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}x[a>>2]=x[a>>2]+2;if(ve(a)){break a}if(ve(a)){break a}c=Rd(a);x[b+4>>2]=c;if(!c){break b}d=Ca-16|0;Ca=d;c=De(a+408|0,20);a=Pd(d+8|0,5959);e=x[b+4>>2];f=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=f;c=Ee(c,d,e);Ca=d+16|0;break a}c=0}Ca=b+16|0;Ha=0;return c|0}function ub(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=x[a>>2];f=x[a+12>>2]<<5;h=e+f|0;l=e-f|0;e=x[a+16>>2];i=x[a+28>>2];j=x[a+20>>2];m=x[a+8>>2];a:{b:{if(b&15|d>>>0<8|h&15){if(e>>>0>=j>>>0){break a}c:{switch(d-1|0){case 1:f=e+1|0;if(j-e&1){g=h+(e<<6)|0;B[g>>2]=B[(e<<2)+b>>2];B[g+4>>2]=B[(c+e<<2)+b>>2];e=f}if((f|0)==(j|0)){break a}while(1){f=h+(e<<6)|0;B[f>>2]=B[(e<<2)+b>>2];B[f+4>>2]=B[(c+e<<2)+b>>2];f=e+1|0;g=h+(f<<6)|0;B[g>>2]=B[(f<<2)+b>>2];B[g+4>>2]=B[(c+f<<2)+b>>2];e=e+2|0;if((j|0)!=(e|0)){continue}break};break a;case 0:break c;default:break b}}g=(e^-1)+j|0;k=j-e&3;if(k){f=0;while(1){B[h+(e<<6)>>2]=B[(e<<2)+b>>2];e=e+1|0;f=f+1|0;if((k|0)!=(f|0)){continue}break}}if(g>>>0<3){break a}while(1){B[h+(e<<6)>>2]=B[(e<<2)+b>>2];f=e+1|0;B[h+(f<<6)>>2]=B[(f<<2)+b>>2];f=e+2|0;B[h+(f<<6)>>2]=B[(f<<2)+b>>2];f=e+3|0;B[h+(f<<6)>>2]=B[(f<<2)+b>>2];e=e+4|0;if((j|0)!=(e|0)){continue}break}break a}if(e>>>0>=j>>>0){break a}while(1){f=h+(e<<6)|0;B[f>>2]=B[(e<<2)+b>>2];g=c+e|0;B[f+4>>2]=B[(g<<2)+b>>2];g=c+g|0;B[f+8>>2]=B[(g<<2)+b>>2];g=c+g|0;B[f+12>>2]=B[(g<<2)+b>>2];g=c+g|0;B[f+16>>2]=B[(g<<2)+b>>2];g=c+g|0;B[f+20>>2]=B[(g<<2)+b>>2];g=c+g|0;B[f+24>>2]=B[(g<<2)+b>>2];B[f+28>>2]=B[(c+g<<2)+b>>2];e=e+1|0;if((j|0)!=(e|0)){continue}break}break a}while(1){f=h+(e<<6)|0;B[f>>2]=B[(e<<2)+b>>2];g=c+e|0;B[f+4>>2]=B[(g<<2)+b>>2];g=c+g|0;B[f+8>>2]=B[(g<<2)+b>>2];d:{if((d|0)==3){break d}g=c+g|0;B[f+12>>2]=B[(g<<2)+b>>2];if((d|0)==4){break d}g=c+g|0;B[f+16>>2]=B[(g<<2)+b>>2];if((d|0)==5){break d}g=c+g|0;B[f+20>>2]=B[(g<<2)+b>>2];if((d|0)==6){break d}g=c+g|0;B[f+24>>2]=B[(g<<2)+b>>2];if((d|0)==7){break d}B[f+28>>2]=B[(c+g<<2)+b>>2]}e=e+1|0;if((j|0)!=(e|0)){continue}break}}f=l+32|0;e=x[a+24>>2];b=(m<<2)+b|0;e:{if(b&15|d>>>0<8|f&15){if(e>>>0>=i>>>0){break e}f:{switch(d-1|0){case 1:a=e+1|0;if(i-e&1){d=f+(e<<6)|0;B[d>>2]=B[b+(e<<2)>>2];B[d+4>>2]=B[b+(c+e<<2)>>2];e=a}if((a|0)==(i|0)){break e}while(1){a=f+(e<<6)|0;B[a>>2]=B[b+(e<<2)>>2];B[a+4>>2]=B[b+(c+e<<2)>>2];a=e+1|0;d=f+(a<<6)|0;B[d>>2]=B[b+(a<<2)>>2];B[d+4>>2]=B[b+(a+c<<2)>>2];e=e+2|0;if((i|0)!=(e|0)){continue}break};break e;case 0:a=(e^-1)+i|0;d=i-e&3;if(d){c=0;while(1){B[f+(e<<6)>>2]=B[b+(e<<2)>>2];e=e+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}if(a>>>0<3){break e}while(1){B[f+(e<<6)>>2]=B[b+(e<<2)>>2];a=e+1|0;B[f+(a<<6)>>2]=B[b+(a<<2)>>2];a=e+2|0;B[f+(a<<6)>>2]=B[b+(a<<2)>>2];a=e+3|0;B[f+(a<<6)>>2]=B[b+(a<<2)>>2];e=e+4|0;if((i|0)!=(e|0)){continue}break};break e;default:break f}}while(1){a=f+(e<<6)|0;B[a>>2]=B[b+(e<<2)>>2];h=c+e|0;B[a+4>>2]=B[b+(h<<2)>>2];h=c+h|0;B[a+8>>2]=B[b+(h<<2)>>2];g:{if((d|0)==3){break g}h=c+h|0;B[a+12>>2]=B[b+(h<<2)>>2];if((d|0)==4){break g}h=c+h|0;B[a+16>>2]=B[b+(h<<2)>>2];if((d|0)==5){break g}h=c+h|0;B[a+20>>2]=B[b+(h<<2)>>2];if((d|0)==6){break g}h=c+h|0;B[a+24>>2]=B[b+(h<<2)>>2];if((d|0)==7){break g}B[a+28>>2]=B[b+(c+h<<2)>>2]}e=e+1|0;if((i|0)!=(e|0)){continue}break}break e}if(e>>>0>=i>>>0){break e}while(1){a=f+(e<<6)|0;B[a>>2]=B[b+(e<<2)>>2];d=c+e|0;B[a+4>>2]=B[b+(d<<2)>>2];d=c+d|0;B[a+8>>2]=B[b+(d<<2)>>2];d=c+d|0;B[a+12>>2]=B[b+(d<<2)>>2];d=c+d|0;B[a+16>>2]=B[b+(d<<2)>>2];d=c+d|0;B[a+20>>2]=B[b+(d<<2)>>2];d=c+d|0;B[a+24>>2]=B[b+(d<<2)>>2];B[a+28>>2]=B[b+(c+d<<2)>>2];e=e+1|0;if((i|0)!=(e|0)){continue}break}}}function Ib(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;f=Ca-176|0;Ca=f;a:{if(b&384){Pc(10334,11,1,c);break a}b:{if(!(b&1)){break b}g=x[a+72>>2];if(!g){break b}d=Ca-80|0;Ca=d;Pc(6268,13,1,c);v[d+79|0]=0;v[d+78|0]=9;e=x[g+4>>2];x[d+68>>2]=x[g>>2];x[d+72>>2]=e;i=d+78|0;x[d+64>>2]=i;Kc(c,11898,d- -64|0);e=x[g+12>>2];x[d+52>>2]=x[g+8>>2];x[d+56>>2]=e;x[d+48>>2]=i;Kc(c,11863,d+48|0);x[d+36>>2]=x[g+16>>2];x[d+32>>2]=i;Kc(c,11621,d+32|0);if(!(!x[g+24>>2]|!x[g+16>>2])){while(1){l=d+78|0;x[d+16>>2]=l;x[d+20>>2]=h;Kc(c,6300,d+16|0);i=x[g+24>>2];e=Ca-48|0;Ca=e;v[e+46|0]=9;v[e+47|0]=0;v[e+45|0]=9;j=D(h,52)+i|0;i=x[j+4>>2];x[e+36>>2]=x[j>>2];x[e+40>>2]=i;i=e+45|0;x[e+32>>2]=i;Kc(c,11553,e+32|0);x[e+20>>2]=x[j+24>>2];x[e+16>>2]=i;Kc(c,11815,e+16|0);x[e+4>>2]=x[j+32>>2];x[e>>2]=i;Kc(c,11788,e);Ca=e+48|0;x[d>>2]=l;Kc(c,6178,d);h=h+1|0;if(h>>>0>2]){continue}break}}Pc(6186,2,1,c);Ca=d+80|0}if(!(!(b&2)|!x[a+72>>2])){Pc(6407,36,1,c);e=x[a+88>>2];x[f+160>>2]=x[a+84>>2];x[f+164>>2]=e;Kc(c,11880,f+160|0);e=x[a+96>>2];x[f+144>>2]=x[a+92>>2];x[f+148>>2]=e;Kc(c,11535,f+144|0);e=x[a+108>>2];x[f+128>>2]=x[a+104>>2];x[f+132>>2]=e;Kc(c,11772,f+128|0);Jb(x[a+12>>2],x[x[a+72>>2]+16>>2],c);Pc(6186,2,1,c)}c:{if(!(b&8)|!x[a+72>>2]){break c}e=D(x[a+104>>2],x[a+108>>2]);if(!e){break c}d=x[a+156>>2];while(1){Jb(d,x[x[a+72>>2]+16>>2],c);d=d+5644|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}if(!(b&16)){break a}h=x[a+200>>2];Pc(6369,37,1,c);e=x[h>>2];b=x[h+4>>2];a=x[h+12>>2];x[f+120>>2]=x[h+8>>2];x[f+124>>2]=a;x[f+112>>2]=e;x[f+116>>2]=b;Kc(c,10121,f+112|0);Pc(6351,17,1,c);if(!(!x[h+28>>2]|!x[h+24>>2])){d=0;while(1){a=x[h+28>>2]+D(d,24)|0;g=z[a>>1];e=x[a+8>>2];b=x[a+12>>2];x[f+96>>2]=x[a+16>>2];x[f+88>>2]=e;x[f+92>>2]=b;x[f+80>>2]=g;Kc(c,11741,f+80|0);d=d+1|0;if(d>>>0>2]){continue}break}}Pc(6184,4,1,c);g=x[h+40>>2];d:{if(!g){break d}e=x[h+36>>2];if(!e){break d}a=0;d=0;if(e>>>0>=4){b=e&-4;while(1){a=x[(g+D(d|3,40)|0)+4>>2]+(x[(g+D(d|2,40)|0)+4>>2]+(x[(g+D(d|1,40)|0)+4>>2]+(x[(g+D(d,40)|0)+4>>2]+a|0)|0)|0)|0;d=d+4|0;m=m+4|0;if((b|0)!=(m|0)){continue}break}}b=e&3;if(b){while(1){a=x[(g+D(d,40)|0)+4>>2]+a|0;d=d+1|0;n=n+1|0;if((b|0)!=(n|0)){continue}break}}if(!a){break d}Pc(6334,16,1,c);if(x[h+36>>2]){k=x[h+40>>2];i=0;while(1){j=D(i,40);m=x[(j+k|0)+4>>2];x[f+68>>2]=m;x[f+64>>2]=i;Kc(c,11827,f- -64|0);k=x[h+40>>2];e:{if(!m){break e}d=0;if(!x[(j+k|0)+16>>2]){break e}while(1){l=x[(j+x[h+40>>2]|0)+16>>2]+D(d,24)|0;n=x[l>>2];g=x[l+4>>2];e=x[l+8>>2];b=x[l+12>>2];a=x[l+20>>2];x[f+56>>2]=x[l+16>>2];x[f+60>>2]=a;x[f+48>>2]=e;x[f+52>>2]=b;x[f+40>>2]=n;x[f+44>>2]=g;x[f+32>>2]=d;Kc(c,15001,f+32|0);d=d+1|0;if((m|0)!=(d|0)){continue}break}k=x[h+40>>2]}a=j+k|0;f:{if(!x[a+24>>2]){break f}d=0;if(!x[a+20>>2]){break f}while(1){a=x[(j+k|0)+24>>2]+D(d,24)|0;g=z[a>>1];e=x[a+8>>2];b=x[a+12>>2];x[f+16>>2]=x[a+16>>2];x[f+8>>2]=e;x[f+12>>2]=b;x[f>>2]=g;Kc(c,11741,f);d=d+1|0;k=x[h+40>>2];if(d>>>0>2]){continue}break}}i=i+1|0;if(i>>>0>2]){continue}break}}Pc(6184,4,1,c)}Pc(6186,2,1,c)}Ca=f+176|0}function Qh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=a;h=Ca-112|0;Ca=h;g=1024;a:{b:{a=vc(1,1024);if(a){l=h+92|0;j=h+108|0;while(1){c:{d:{e:{if((gb(c,h+104|0,8,e)|0)!=8){break e}cb(h+104|0,h+88|0,4);cb(j,l,4);i=8;f:{g:{h:{i:{switch(x[h+88>>2]){case 0:f=x[c+8>>2];k=x[c+12>>2];if(f|k){m=x[c+56>>2];b=f-m|0;f=k-(x[c+60>>2]+(f>>>0>>0)|0)|0}else{b=0;f=0}if(b>>>0<4294967288&(f|0)<=0|(f|0)<0){break h}hb(e,1,12734,0);break e;case 1:break i;default:break f}}if((gb(c,h+104|0,8,e)|0)!=8){break e}cb(h+104|0,h+100|0,4);if(!x[h+100>>2]){break g}hb(e,1,12734,0);break e}x[h+88>>2]=b+8;break f}cb(j,h+88|0,4);i=16}b=x[h+92>>2];if((b|0)==1785737827){b=x[d+100>>2];if(b&4){x[d+100>>2]=b|8;break e}hb(e,1,10093,0);jd(a);a=0;break a}f=x[h+88>>2];if(!f){hb(e,1,7692,0);jd(a);a=0;break a}if(f>>>0>>0){x[h+4>>2]=b;x[h>>2]=f;hb(e,1,17902,h);break b}j:{k:{l:{m:{n:{o:{p:{q:{r:{s:{if((b|0)<=1668246641){if((b|0)==1651532643){break q}if((b|0)==1667523942){break o}if((b|0)!=1668112752){break s}k=21408;break n}if((b|0)<=1783635999){if((b|0)==1668246642){break r}k=21376;if((b|0)==1768449138){break n}if((b|0)!=1718909296){break s}k=21352;break l}if((b|0)==1885564018){break p}if((b|0)==1783636e3){break m}k=21360;if((b|0)==1785737832){break l}}b=x[d+100>>2];if(b&1){break j}hb(e,1,6538,0);jd(a);a=0;break a}k=21384;break n}k=21392;break n}k=21400;break n}k=21416}x[h+76>>2]=b&255;x[h+64>>2]=b>>>24;x[h+72>>2]=b>>>8&255;x[h+68>>2]=b>>>16&255;hb(e,2,6487,h- -64|0);f=f-i|0;if(y[d+100|0]&4){break k}b=x[h+92>>2];x[h+48>>2]=b>>>24;x[h+60>>2]=b&255;x[h+52>>2]=b>>>16&255;x[h+56>>2]=b>>>8&255;hb(e,2,11162,h+48|0);x[d+100>>2]=x[d+100>>2]|2147483647;b=Ia[x[c+40>>2]](c,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(!Ha&(b|0)==(f|0)){continue}hb(e,1,8172,0);jd(a);a=0;break a}k=21344}f=f-i|0}b=x[c+8>>2];m=x[c+12>>2];if(b|m){n=x[c+56>>2];i=b-n|0;b=m-(x[c+60>>2]+(b>>>0>>0)|0)|0}else{i=0;b=0}if((b|0)<=0&f>>>0>i>>>0|(b|0)<0){d=x[h+88>>2];b=x[h+92>>2];g=x[c+8>>2];if(g|x[c+12>>2]){c=g-x[c+56>>2]|0}else{c=0}x[h+40>>2]=c;x[h+36>>2]=f;x[h+32>>2]=b&255;x[h+20>>2]=b>>>24;x[h+16>>2]=d;x[h+28>>2]=b>>>8&255;x[h+24>>2]=b>>>16&255;hb(e,1,19649,h+16|0);break b}if(f>>>0<=g>>>0){b=a;break c}g=f;b=yc(a,f);if(b){break c}jd(a);hb(e,1,6669,0);a=0;break a}if(!(b&2)){hb(e,1,6608,0);jd(a);a=0;break a}x[d+100>>2]=b|2147483647;b=f-i|0;f=Ia[x[c+40>>2]](c,0,b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(!Ha&(b|0)==(f|0)){continue}if(!(y[d+100|0]&8)){break d}hb(e,2,8172,0)}jd(a);a=1;break a}hb(e,1,8172,0);jd(a);a=0;break a}if((gb(c,b,f,e)|0)!=(f|0)){hb(e,1,8222,0);jd(b);a=0;break a}a=b;if(Ia[x[k+4>>2]](d,0,b,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0){continue}break}jd(a);a=0;break a}hb(e,1,9340,0);a=0;break a}jd(a);a=0}Ca=h+112|0;Ha=0;return a|0}function jd(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;b=x[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=x[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=b>>>3|0;b=x[d+12>>2];c=x[d+8>>2];if((b|0)==(c|0)){i=43976,j=x[10994]&Kl(e),x[i>>2]=j;break b}x[c+12>>2]=b;x[b+8>>2]=c;break b}g=x[d+24>>2];b=x[d+12>>2];if((d|0)!=(b|0)){c=x[d+8>>2];x[c+12>>2]=b;x[b+8>>2]=c;break c}e=d+20|0;c=x[e>>2];if(!c){c=x[d+16>>2];if(!c){break d}e=d+16|0}while(1){h=e;b=c;e=b+20|0;c=x[e>>2];if(c){continue}e=b+16|0;c=x[b+16>>2];if(c){continue}break}x[h>>2]=0;break c}b=x[f+4>>2];if((b&3)!=3){break b}x[10996]=a;x[f+4>>2]=b&-2;x[d+4>>2]=a|1;x[f>>2]=a;return}b=0}if(!g){break b}c=x[d+28>>2];e=(c<<2)+44280|0;e:{if(x[e>>2]==(d|0)){x[e>>2]=b;if(b){break e}i=43980,j=x[10995]&Kl(c),x[i>>2]=j;break b}x[g+(x[g+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}x[b+24>>2]=g;c=x[d+16>>2];if(c){x[b+16>>2]=c;x[c+24>>2]=b}c=x[d+20>>2];if(!c){break b}x[b+20>>2]=c;x[c+24>>2]=b}if(d>>>0>=f>>>0){break a}b=x[f+4>>2];if(!(b&1)){break a}f:{g:{h:{i:{if(!(b&2)){if(x[11e3]==(f|0)){x[11e3]=d;a=x[10997]+a|0;x[10997]=a;x[d+4>>2]=a|1;if(x[10999]!=(d|0)){break a}x[10996]=0;x[10999]=0;return}if(x[10999]==(f|0)){x[10999]=d;a=x[10996]+a|0;x[10996]=a;x[d+4>>2]=a|1;x[a+d>>2]=a;return}a=(b&-8)+a|0;if(b>>>0<=255){e=b>>>3|0;b=x[f+12>>2];c=x[f+8>>2];if((b|0)==(c|0)){i=43976,j=x[10994]&Kl(e),x[i>>2]=j;break g}x[c+12>>2]=b;x[b+8>>2]=c;break g}g=x[f+24>>2];b=x[f+12>>2];if((f|0)!=(b|0)){c=x[f+8>>2];x[c+12>>2]=b;x[b+8>>2]=c;break h}e=f+20|0;c=x[e>>2];if(!c){c=x[f+16>>2];if(!c){break i}e=f+16|0}while(1){h=e;b=c;e=b+20|0;c=x[e>>2];if(c){continue}e=b+16|0;c=x[b+16>>2];if(c){continue}break}x[h>>2]=0;break h}x[f+4>>2]=b&-2;x[d+4>>2]=a|1;x[a+d>>2]=a;break f}b=0}if(!g){break g}c=x[f+28>>2];e=(c<<2)+44280|0;j:{if(x[e>>2]==(f|0)){x[e>>2]=b;if(b){break j}i=43980,j=x[10995]&Kl(c),x[i>>2]=j;break g}x[g+(x[g+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}x[b+24>>2]=g;c=x[f+16>>2];if(c){x[b+16>>2]=c;x[c+24>>2]=b}c=x[f+20>>2];if(!c){break g}x[b+20>>2]=c;x[c+24>>2]=b}x[d+4>>2]=a|1;x[a+d>>2]=a;if(x[10999]!=(d|0)){break f}x[10996]=a;return}if(a>>>0<=255){b=(a&-8)+44016|0;c=x[10994];a=1<<(a>>>3);k:{if(!(c&a)){x[10994]=a|c;a=b;break k}a=x[b+8>>2]}x[b+8>>2]=d;x[a+12>>2]=d;x[d+12>>2]=b;x[d+8>>2]=a;return}c=31;if(a>>>0<=16777215){b=G(a>>>8|0);c=((a>>>38-b&1)-(b<<1)|0)+62|0}x[d+28>>2]=c;x[d+16>>2]=0;x[d+20>>2]=0;b=(c<<2)+44280|0;l:{m:{e=x[10995];h=1<>2]=d;x[d+24>>2]=b;break n}c=a<<((c|0)!=31?25-(c>>>1|0)|0:0);b=x[b>>2];while(1){e=b;if((x[b+4>>2]&-8)==(a|0)){break m}b=c>>>29|0;c=c<<1;h=e+(b&4)|0;b=x[h+16>>2];if(b){continue}break}x[h+16>>2]=d;x[d+24>>2]=e}x[d+12>>2]=d;x[d+8>>2]=d;break l}a=x[e+8>>2];x[a+12>>2]=d;x[e+8>>2]=d;x[d+24>>2]=0;x[d+12>>2]=e;x[d+8>>2]=a}a=x[11002]-1|0;x[11002]=a?a:-1}}function qh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,B,C,E,F,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;d=0;b=Ca-112|0;Ca=b;x[b+104>>2]=0;a:{if((e|0)!=8){hb(g,1,8471,0);hb(g,1,8471,0);break a}cb(c,a+204|0,2);cb(c+2|0,b+108|0,4);cb(c+6|0,b+100|0,1);cb(c+7|0,b+104|0,1);e=x[a+204>>2];i=x[a+104>>2];if(e>>>0>=D(i,x[a+108>>2])>>>0){x[b+96>>2]=e;hb(g,1,12177,b+96|0);break a}h=(e>>>0)/(i>>>0)|0;d=x[a+156>>2];c=x[b+100>>2];b:{f=x[a+44>>2];if((f|0)>=0&(e|0)!=(f|0)){break b}f=x[(d+D(e,5644)|0)+5588>>2]+1|0;if((f|0)==(c|0)){break b}x[b+88>>2]=f;x[b+84>>2]=c;x[b+80>>2]=e;hb(g,1,12201,b+80|0);d=0;break a}x[(d+D(e,5644)|0)+5588>>2]=c;c:{c=x[b+108>>2];if(c-1>>>0<=12){if((c|0)!=12){break c}x[b+48>>2]=12;hb(g,2,15833,b+48|0);c=x[b+108>>2]}if(!c){hb(g,4,14758,0);x[a+56>>2]=1}d:{e:{f:{g:{j=d+D(e,5644)|0;d=x[j+5592>>2];if(d){c=x[b+100>>2];if(c>>>0>>0){break g}x[b+36>>2]=d;x[b+32>>2]=c;hb(g,1,9567,b+32|0);x[a+56>>2]=1;d=0;break a}f=x[b+104>>2];if(f){break f}break d}f=x[b+104>>2];if(!f){break e}}d=(y[a+68|0]>>>4&1)+f|0;x[b+104>>2]=d;c=x[b+100>>2];f=j+5592|0;j=x[f>>2];if(c>>>0>j-1>>>0){x[b+4>>2]=j;x[b>>2]=c;hb(g,1,9468,b);x[a+56>>2]=1;d=0;break a}if(c>>>0>=d>>>0){x[b+20>>2]=d;x[b+16>>2]=c;hb(g,1,9667,b+16|0);x[a+56>>2]=1;d=0;break a}x[f>>2]=d}if((x[b+100>>2]+1|0)!=(d|0)){break d}v[a+68|0]=y[a+68|0]|1}c=x[b+108>>2];x[a+8>>2]=16;x[a+24>>2]=x[a+56>>2]?0:c-12|0;c=x[a+44>>2];h:{if((c|0)==-1){c=e-D(h,i)|0;d=4;if(c>>>0>2]|c>>>0>=A[a+36>>2]|h>>>0>2]){break h}d=(h>>>0>=A[a+40>>2])<<2;break h}d=((c|0)!=x[a+204>>2])<<2}v[a+68|0]=d|y[a+68|0]&251;d=1;c=x[a+200>>2];if(!c){break a}f=x[c+40>>2];e=x[a+204>>2];c=f+D(e,40)|0;x[c>>2]=e;x[c+12>>2]=x[b+100>>2];h=x[b+104>>2];if(h){x[c+4>>2]=h;x[c+8>>2]=x[b+104>>2];e=x[b+104>>2];c=x[c+16>>2];if(!c){c=vc(e,24);x[(x[x[a+200>>2]+40>>2]+D(x[a+204>>2],40)|0)+16>>2]=c;if(c){break a}d=0;hb(g,1,11273,0);break a}c=yc(c,D(e,24));e=x[x[a+200>>2]+40>>2]+D(x[a+204>>2],40)|0;if(!c){jd(x[e+16>>2]);d=0;x[(x[x[a+200>>2]+40>>2]+D(x[a+204>>2],40)|0)+16>>2]=0;hb(g,1,11273,0);break a}x[e+16>>2]=c;break a}i:{c=x[c+16>>2];if(c){break i}x[(D(e,40)+f|0)+8>>2]=10;c=vc(10,24);f=x[x[a+200>>2]+40>>2];e=x[a+204>>2];h=f+D(e,40)|0;x[h+16>>2]=c;if(c){break i}d=0;x[h+8>>2]=0;hb(g,1,11273,0);break a}h=x[b+100>>2];e=D(e,40)+f|0;if(h>>>0>2]){break a}f=e;e=h+1|0;x[f+8>>2]=e;c=yc(c,D(e,24));e=x[x[a+200>>2]+40>>2]+D(x[a+204>>2],40)|0;if(!c){jd(x[e+16>>2]);d=0;a=x[x[a+200>>2]+40>>2]+D(x[a+204>>2],40)|0;x[a+8>>2]=0;x[a+16>>2]=0;hb(g,1,11273,0);break a}x[e+16>>2]=c;break a}x[b+64>>2]=c;hb(g,1,16102,b- -64|0);d=0}Ca=b+112|0;Ha=0;return d|0}function md(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=a+b|0;c=x[a+4>>2];a:{b:{if(c&1){break b}if(!(c&3)){break a}c=x[a>>2];b=c+b|0;c:{d:{e:{a=a-c|0;if((a|0)!=x[10999]){if(c>>>0<=255){d=x[a+8>>2];e=x[a+12>>2];if((d|0)!=(e|0)){break e}i=43976,j=x[10994]&Kl(c>>>3|0),x[i>>2]=j;break b}g=x[a+24>>2];c=x[a+12>>2];if((c|0)!=(a|0)){d=x[a+8>>2];x[d+12>>2]=c;x[c+8>>2]=d;break c}e=a+20|0;d=x[e>>2];if(!d){d=x[a+16>>2];if(!d){break d}e=a+16|0}while(1){h=e;c=d;e=c+20|0;d=x[e>>2];if(d){continue}e=c+16|0;d=x[c+16>>2];if(d){continue}break}x[h>>2]=0;break c}c=x[f+4>>2];if((c&3)!=3){break b}x[10996]=b;x[f+4>>2]=c&-2;x[a+4>>2]=b|1;x[f>>2]=b;return}x[d+12>>2]=e;x[e+8>>2]=d;break b}c=0}if(!g){break b}d=x[a+28>>2];e=(d<<2)+44280|0;f:{if(x[e>>2]==(a|0)){x[e>>2]=c;if(c){break f}i=43980,j=x[10995]&Kl(d),x[i>>2]=j;break b}x[g+(x[g+16>>2]==(a|0)?16:20)>>2]=c;if(!c){break b}}x[c+24>>2]=g;d=x[a+16>>2];if(d){x[c+16>>2]=d;x[d+24>>2]=c}d=x[a+20>>2];if(!d){break b}x[c+20>>2]=d;x[d+24>>2]=c}g:{h:{i:{j:{c=x[f+4>>2];if(!(c&2)){if(x[11e3]==(f|0)){x[11e3]=a;b=x[10997]+b|0;x[10997]=b;x[a+4>>2]=b|1;if(x[10999]!=(a|0)){break a}x[10996]=0;x[10999]=0;return}if(x[10999]==(f|0)){x[10999]=a;b=x[10996]+b|0;x[10996]=b;x[a+4>>2]=b|1;x[a+b>>2]=b;return}b=(c&-8)+b|0;if(c>>>0<=255){e=c>>>3|0;c=x[f+12>>2];d=x[f+8>>2];if((c|0)==(d|0)){i=43976,j=x[10994]&Kl(e),x[i>>2]=j;break h}x[d+12>>2]=c;x[c+8>>2]=d;break h}g=x[f+24>>2];c=x[f+12>>2];if((f|0)!=(c|0)){d=x[f+8>>2];x[d+12>>2]=c;x[c+8>>2]=d;break i}e=f+20|0;d=x[e>>2];if(!d){d=x[f+16>>2];if(!d){break j}e=f+16|0}while(1){h=e;c=d;e=c+20|0;d=x[e>>2];if(d){continue}e=c+16|0;d=x[c+16>>2];if(d){continue}break}x[h>>2]=0;break i}x[f+4>>2]=c&-2;x[a+4>>2]=b|1;x[a+b>>2]=b;break g}c=0}if(!g){break h}d=x[f+28>>2];e=(d<<2)+44280|0;k:{if(x[e>>2]==(f|0)){x[e>>2]=c;if(c){break k}i=43980,j=x[10995]&Kl(d),x[i>>2]=j;break h}x[g+(x[g+16>>2]==(f|0)?16:20)>>2]=c;if(!c){break h}}x[c+24>>2]=g;d=x[f+16>>2];if(d){x[c+16>>2]=d;x[d+24>>2]=c}d=x[f+20>>2];if(!d){break h}x[c+20>>2]=d;x[d+24>>2]=c}x[a+4>>2]=b|1;x[a+b>>2]=b;if(x[10999]!=(a|0)){break g}x[10996]=b;return}if(b>>>0<=255){c=(b&-8)+44016|0;d=x[10994];b=1<<(b>>>3);l:{if(!(d&b)){x[10994]=b|d;b=c;break l}b=x[c+8>>2]}x[c+8>>2]=a;x[b+12>>2]=a;x[a+12>>2]=c;x[a+8>>2]=b;return}d=31;if(b>>>0<=16777215){c=G(b>>>8|0);d=((b>>>38-c&1)-(c<<1)|0)+62|0}x[a+28>>2]=d;x[a+16>>2]=0;x[a+20>>2]=0;c=(d<<2)+44280|0;m:{e=x[10995];h=1<>2]=a;x[a+24>>2]=c;break n}d=b<<((d|0)!=31?25-(d>>>1|0)|0:0);c=x[c>>2];while(1){e=c;if((x[c+4>>2]&-8)==(b|0)){break m}c=d>>>29|0;d=d<<1;h=e+(c&4)|0;c=x[h+16>>2];if(c){continue}break}x[h+16>>2]=a;x[a+24>>2]=e}x[a+12>>2]=a;x[a+8>>2]=a;return}b=x[e+8>>2];x[b+12>>2]=a;x[e+8>>2]=a;x[a+24>>2]=0;x[a+12>>2]=e;x[a+8>>2]=b}}function Ob(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;q=Ca-16|0;Ca=q;a:{if(!c){hb(d,1,15598,0);break a}z=x[c+16>>2];h=x[a+72>>2];if(z>>>0>2]){hb(d,1,14633,0);break a}g=x[a+104>>2];f=D(g,x[a+108>>2]);if(f>>>0<=e>>>0){x[q>>2]=e;x[q+4>>2]=f-1;hb(d,1,20331,q);g=0;break a}f=(e>>>0)/(g>>>0)|0;i=e-D(f,g)|0;g=x[a+84>>2]+D(i,x[a+92>>2])|0;x[c>>2]=g;h=x[h>>2];r=g>>>0>h>>>0?g:h;x[c>>2]=r;g=x[a+84>>2]+D(x[a+92>>2],i+1|0)|0;x[c+8>>2]=g;h=x[x[a+72>>2]+8>>2];g=g>>>0>>0?g:h;x[c+8>>2]=g;h=x[a+88>>2]+D(f,x[a+96>>2])|0;x[c+4>>2]=h;i=x[x[a+72>>2]+4>>2];s=h>>>0>i>>>0?h:i;x[c+4>>2]=s;f=x[a+88>>2]+D(x[a+96>>2],f+1|0)|0;x[c+12>>2]=f;h=x[x[a+72>>2]+12>>2];f=f>>>0>>0?f:h;x[c+12>>2]=f;h=x[a+72>>2];l=x[h+16>>2];if(l){C=f;E=f>>31;F=g;G=g>>31;H=s>>31;I=r>>31;J=x[h+24>>2];g=x[c+24>>2];while(1){h=x[(J+D(p,52)|0)+40>>2];x[g+40>>2]=h;k=x[g>>2];t=k>>31;B=t-!k|0;m=I+B|0;u=k-1|0;f=r+u|0;m=f>>>0>>0?m+1|0:m;v=Gl(f,m,k,t);x[g+16>>2]=v;j=x[g+4>>2];n=j>>31;m=n-!j|0;f=H+m|0;o=j-1|0;i=s+o|0;f=i>>>0>>0?f+1|0:f;w=Gl(i,f,j,n);x[g+20>>2]=w;i=h&31;if((h&63)>>>0>=32){f=-1<>>32-i;i=-1<>>0>o>>>0?m+1|0:m;j=Gl(o,m,j,n);f=(j>>31)+f|0;n=j;j=i+j|0;f=n>>>0>j>>>0?f+1|0:f;n=j;j=h&31;j=(h&63)>>>0>=32?f>>j:((1<>>j;f=y+(w>>31)|0;o=j;n=i+w|0;f=n>>>0>>0?f+1|0:f;j=h&31;x[g+12>>2]=o-((h&63)>>>0>=32?f>>j:((1<>>j);f=G+B|0;j=u+F|0;f=j>>>0>>0?f+1|0:f;k=Gl(j,f,k,t);f=y+(k>>31)|0;k=i+k|0;f=k>>>0>>0?f+1|0:f;j=k;k=h&31;k=(h&63)>>>0>=32?f>>k:((1<>>k;f=y+(v>>31)|0;j=i;i=i+v|0;f=j>>>0>i>>>0?f+1|0:f;j=k;k=i;i=h&31;x[g+8>>2]=j-((h&63)>>>0>=32?f>>i:((1<>>i);g=g+52|0;p=p+1|0;if((p|0)!=(l|0)){continue}break}}if(l>>>0>>0){g=x[c+24>>2];while(1){f=D(l,52);jd(x[(f+g|0)+44>>2]);g=x[c+24>>2];x[(f+g|0)+44>>2]=0;l=l+1|0;if(l>>>0>2]){continue}break}x[c+16>>2]=x[x[a+72>>2]+16>>2]}g=x[a+76>>2];if(g){jb(g)}f=ib();x[a+76>>2]=f;g=0;if(!f){break a}kb(c,f);x[a+44>>2]=e;if(!tc(x[a+192>>2],82,d)){break a}f=x[a+192>>2];h=x[f>>2];l=x[f+8>>2];b:{if(h){g=1;if((h|0)!=1){i=h&-2;p=0;while(1){e=0;c:{if(!g){break c}e=0;if(!(Ia[x[l>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break c}e=(Ia[x[l+4>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}g=e;l=l+8|0;p=p+2|0;if((i|0)!=(p|0)){continue}break}}d:{e:{if(h&1){if(!g){break e}g=(Ia[x[l>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}x[f>>2]=0;if(!(g&1)){break d}break b}x[f>>2]=0}jb(x[a+72>>2]);g=0;x[a+72>>2]=0;break a}x[f>>2]=0}g=Nb(a,c)}Ca=q+16|0;return g}function sb(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;e=x[a+8>>2];h=e+x[a+4>>2]|0;a:{if(!x[a+12>>2]){if((h|0)<2|(d|0)<=0){break a}m=h&-4;n=h&3;q=h&1;r=e+1|0;s=h-4>>>1|0;g=x[a>>2];f=h-1|0;t=g+(f<<2)|0;u=D(c,e)<<2;v=h>>>0<4;w=f>>>0<3;y=D(f>>>1|0,c)<<2;while(1){f=x[b+u>>2];e=x[b>>2]-(f+1>>1)|0;k=0;a=0;if(!v){while(1){l=a+1|0;z=x[(D(l,c)<<2)+b>>2];i=x[(D(a+r|0,c)<<2)+b>>2];o=k<<2;x[o+g>>2]=e;j=e;e=z-((f+i|0)+2>>2)|0;x[g+(o|4)>>2]=(j+e>>1)+f;k=k+2|0;j=(a|0)!=(s|0);f=i;a=l;if(j){continue}break}}x[g+(k<<2)>>2]=e;if(q){a=x[b+y>>2]-(f+1>>1)|0;x[t>>2]=a;e=a+e>>1;a=-2}else{a=-1}x[(a+h<<2)+g>>2]=e+f;e=0;a=0;f=0;if(!w){while(1){x[(D(a,c)<<2)+b>>2]=x[g+(a<<2)>>2];i=a|1;x[(D(i,c)<<2)+b>>2]=x[g+(i<<2)>>2];i=a|2;x[(D(i,c)<<2)+b>>2]=x[g+(i<<2)>>2];i=a|3;x[(D(i,c)<<2)+b>>2]=x[g+(i<<2)>>2];a=a+4|0;f=f+4|0;if((m|0)!=(f|0)){continue}break}}if(n){while(1){x[(D(a,c)<<2)+b>>2]=x[g+(a<<2)>>2];a=a+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}b=b+4|0;p=p+1|0;if((p|0)!=(d|0)){continue}break}break a}b:{switch(h-1|0){case 0:if((d|0)<=0){break a}if(d>>>0>=4){c=d&-4;a=0;while(1){x[b>>2]=x[b>>2]/2;x[b+4>>2]=x[b+4>>2]/2;x[b+8>>2]=x[b+8>>2]/2;x[b+12>>2]=x[b+12>>2]/2;b=b+16|0;a=a+4|0;if((c|0)!=(a|0)){continue}break}}c=d&3;if(!c){break a}a=0;while(1){x[b>>2]=x[b>>2]/2;b=b+4|0;a=a+1|0;if((c|0)!=(a|0)){continue}break};break a;case 1:if((d|0)<=0){break a}a=x[a>>2];e=D(c,e)<<2;while(1){g=b+e|0;i=x[b>>2]-(x[g>>2]+1>>1)|0;x[a+4>>2]=i;g=i+x[g>>2]|0;x[a>>2]=g;x[b>>2]=g;x[(c<<2)+b>>2]=x[a+4>>2];b=b+4|0;f=f+1|0;if((f|0)!=(d|0)){continue}break};break a;default:break b}}if((h|0)<3|(d|0)<=0){break a}q=h&-4;n=h&3;r=h&1;j=x[a>>2];s=(j+(h<<2)|0)-4|0;a=h-2|0;t=j+(a<<2)|0;f=h|-2;u=((f+h|0)-3>>>1|0)+1|0;v=D(c,e)<<2;w=(a+f|0)+1>>>0<2;y=D((h>>>1|0)-1|0,c)<<2;while(1){m=b+v|0;f=x[m+(c<<2)>>2];a=x[m>>2];e=x[b>>2]-((f+a|0)+2>>2)|0;x[j>>2]=e+a;k=1;a=1;if(!w){while(1){z=x[(D(a,c)<<2)+b>>2];i=a+1|0;g=x[m+(D(i,c)<<2)>>2];o=j+(k<<2)|0;x[o>>2]=e;l=e;e=z-((f+g|0)+2>>2)|0;x[o+4>>2]=(l+e>>1)+f;k=k+2|0;l=(a|0)!=(u|0);a=i;f=g;if(l){continue}break}}x[j+(k<<2)>>2]=e;c:{if(!r){a=x[b+y>>2]-(f+1>>1)|0;x[t>>2]=(e+a>>1)+f;break c}a=e+f|0}x[s>>2]=a;e=0;a=0;f=0;if(h>>>0>=4){while(1){x[(D(a,c)<<2)+b>>2]=x[j+(a<<2)>>2];g=a|1;x[(D(g,c)<<2)+b>>2]=x[j+(g<<2)>>2];g=a|2;x[(D(g,c)<<2)+b>>2]=x[j+(g<<2)>>2];g=a|3;x[(D(g,c)<<2)+b>>2]=x[j+(g<<2)>>2];a=a+4|0;f=f+4|0;if((q|0)!=(f|0)){continue}break}}if(n){while(1){x[(D(a,c)<<2)+b>>2]=x[j+(a<<2)>>2];a=a+1|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}b=b+4|0;p=p+1|0;if((p|0)!=(d|0)){continue}break}}}function Gh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,B,C,E,F,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;d=0;j=0;b=Ca-16|0;Ca=b;a=x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2];a:{if(e>>>0<=1){hb(g,1,9138,0);c=0;break a}cb(c,b+12|0,2);if(x[b+12>>2]){hb(g,2,10288,0);c=1;break a}if(e>>>0<=6){hb(g,1,9138,0);c=0;break a}cb(c+2|0,b+8|0,1);i=x[a+5628>>2];f=i;b:{c:{d:{h=x[a+5632>>2];if(!h){break d}k=x[b+8>>2];while(1){if((k|0)==x[f>>2]){break d}f=f+20|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}break c}if((d|0)!=(h|0)){break b}}if((h|0)==x[a+5636>>2]){d=h+10|0;x[a+5636>>2]=d;d=yc(i,D(d,20));if(!d){jd(x[a+5628>>2]);x[a+5636>>2]=0;x[a+5628>>2]=0;x[a+5632>>2]=0;hb(g,1,9164,0);c=0;break a}x[a+5628>>2]=d;f=x[a+5632>>2];Hc(d+D(f,20)|0,0,D(x[a+5636>>2]-f|0,20));i=x[a+5628>>2];h=x[a+5632>>2]}f=D(h,20)+i|0;j=1}x[f>>2]=x[b+8>>2];cb(c+3|0,b+12|0,2);if(x[b+12>>2]){hb(g,2,10288,0);c=1;break a}cb(c+5|0,b+4|0,2);d=x[b+4>>2];if(d>>>0>=2){hb(g,2,7554,0);c=1;break a}h=e-7|0;if(d){c=c+7|0;i=0;while(1){if(h>>>0<=2){hb(g,1,9138,0);c=0;break a}cb(c,b+12|0,1);if(x[b+12>>2]!=1){hb(g,2,9996,0);c=1;break a}cb(c+1|0,b,2);d=x[b>>2];e=d&32767;x[f+4>>2]=e;k=h-3|0;h=(d>>>15|0)+1|0;l=D(h,e)+2|0;if(k>>>0>>0){hb(g,1,9138,0);c=0;break a}c=c+3|0;d=0;if(e){while(1){cb(c,b+12|0,h);if(x[b+12>>2]!=(d|0)){hb(g,2,10650,0);c=1;break a}c=c+h|0;d=d+1|0;if(d>>>0>2]){continue}break}}cb(c,b,2);d=x[b>>2];e=d&32767;x[b>>2]=e;if((e|0)!=x[f+4>>2]){hb(g,2,7730,0);c=1;break a}h=(d>>>15|0)+1|0;m=D(h,e)+3|0;l=k-l|0;if(m>>>0>l>>>0){hb(g,1,9138,0);c=0;break a}c=c+2|0;d=0;if(e){while(1){cb(c,b+12|0,h);if(x[b+12>>2]!=(d|0)){hb(g,2,10650,0);c=1;break a}c=c+h|0;d=d+1|0;if(d>>>0>2]){continue}break}}cb(c,b+12|0,3);h=x[b+12>>2];x[f+8>>2]=0;x[f+12>>2]=0;v[f+16|0]=!(h&65536)|y[f+16|0]&254;k=h&255;x[b+8>>2]=k;e:{if(!k){break e}n=x[a+5620>>2];if(n){d=x[a+5616>>2];e=0;while(1){if((k|0)==x[d+8>>2]){x[f+8>>2]=d;break e}d=d+20|0;e=e+1|0;if((n|0)!=(e|0)){continue}break}}hb(g,1,9138,0);c=0;break a}h=h>>>8&255;x[b+8>>2]=h;f:{if(!h){break f}k=x[a+5620>>2];if(k){d=x[a+5616>>2];e=0;while(1){if((h|0)==x[d+8>>2]){x[f+12>>2]=d;break f}d=d+20|0;e=e+1|0;if((k|0)!=(e|0)){continue}break}}hb(g,1,9138,0);c=0;break a}h=l-m|0;c=c+3|0;i=i+1|0;if(i>>>0>2]){continue}break}}if(h){hb(g,1,9138,0);c=0;break a}c=1;if(!j){break a}x[a+5632>>2]=x[a+5632>>2]+1;c=1}a=c;Ca=b+16|0;Ha=0;return a|0}function ec(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:{n=D(e,3);h=x[b>>2]>>>n|0;if(h&2097168){break a}h=h&495;if(!h){break a}l=(y[h+x[a+108>>2]|0]<<2)+a|0;x[a+104>>2]=l+28;k=x[l+28>>2];i=x[k>>2];h=x[a+4>>2]-i|0;x[a+4>>2]=h;j=x[a>>2];b:{if(j>>>16>>>0>>0){m=x[k+4>>2];x[a+4>>2]=i;h=h>>>0>>0;x[l+28>>2]=x[k+(h?8:12)>>2];k=h?m:!m;h=x[a+8>>2];while(1){c:{if(h){break c}h=x[a+16>>2];m=h+1|0;l=y[h+1|0];if(y[h|0]==255){if(l>>>0>=144){x[a+12>>2]=x[a+12>>2]+1;j=j+65280|0;h=8;break c}x[a+16>>2]=m;j=(l<<9)+j|0;h=7;break c}x[a+16>>2]=m;h=8;j=(l<<8)+j|0}h=h-1|0;x[a+8>>2]=h;j=j<<1;x[a>>2]=j;i=i<<1;x[a+4>>2]=i;if(i>>>0<32768){continue}break}h=i;break b}j=j-(i<<16)|0;x[a>>2]=j;if(!(h&32768)){m=x[k+4>>2];i=h>>>0>>0;x[l+28>>2]=x[k+(i?12:8)>>2];k=i?!m:m;i=x[a+8>>2];while(1){d:{if(i){break d}i=x[a+16>>2];m=i+1|0;l=y[i+1|0];if(y[i|0]==255){if(l>>>0>=144){x[a+12>>2]=x[a+12>>2]+1;j=j+65280|0;i=8;break d}x[a+16>>2]=m;j=(l<<9)+j|0;i=7;break d}x[a+16>>2]=m;i=8;j=(l<<8)+j|0}i=i-1|0;x[a+8>>2]=i;j=j<<1;x[a>>2]=j;h=h<<1;x[a+4>>2]=h;if(h>>>0<32768){continue}break}break b}k=x[k+4>>2]}e:{if(!k){break e}o=b-4|0;i=x[b>>2];k=x[b+4>>2]>>>n+17&4|(x[o>>2]>>>n+19&1|(i>>>n+16&64|i>>>n&170|i>>>(e?n+12|0:14)&16));m=(y[k+29152|0]<<2)+a|0;x[a+104>>2]=m+28;l=x[m+28>>2];i=x[l>>2];h=h-i|0;x[a+4>>2]=h;p=y[k+29408|0];f:{if(j>>>16>>>0>>0){k=x[l+4>>2];x[a+4>>2]=i;h=h>>>0>>0;x[m+28>>2]=x[l+(h?8:12)>>2];l=h?k:!k;h=x[a+8>>2];while(1){g:{if(h){break g}h=x[a+16>>2];m=h+1|0;k=y[h+1|0];if(y[h|0]==255){if(k>>>0>=144){x[a+12>>2]=x[a+12>>2]+1;j=j+65280|0;h=8;break g}x[a+16>>2]=m;j=(k<<9)+j|0;h=7;break g}x[a+16>>2]=m;h=8;j=(k<<8)+j|0}h=h-1|0;x[a+8>>2]=h;j=j<<1;x[a>>2]=j;i=i<<1;x[a+4>>2]=i;if(i>>>0<32768){continue}break}break f}k=j-(i<<16)|0;x[a>>2]=k;if(!(h&32768)){j=x[l+4>>2];i=h>>>0>>0;x[m+28>>2]=x[l+(i?12:8)>>2];l=i?!j:j;j=x[a+8>>2];while(1){h:{if(j){break h}j=x[a+16>>2];m=j+1|0;i=y[j+1|0];if(y[j|0]==255){if(i>>>0>=144){x[a+12>>2]=x[a+12>>2]+1;k=k+65280|0;j=8;break h}x[a+16>>2]=m;k=(i<<9)+k|0;j=7;break h}x[a+16>>2]=m;j=8;k=(i<<8)+k|0}j=j-1|0;x[a+8>>2]=j;k=k<<1;x[a>>2]=k;h=h<<1;x[a+4>>2]=h;if(h>>>0<32768){continue}break}break f}l=x[l+4>>2]}a=c;c=l^p;x[a>>2]=c?0-d|0:d;x[o>>2]=x[o>>2]|32<>2]=x[b>>2]|(c<<19|16)<>2]=x[b+4>>2]|8<>2]=x[a+4>>2]|32768;x[a>>2]=x[a>>2]|c<<31|65536;a=a-4|0;x[a>>2]=x[a>>2]|131072}if((e|0)!=3){break e}a=(f<<2)+b|0;x[a+4>>2]=x[a+4>>2]|1;x[a>>2]=x[a>>2]|c<<18|2;a=a-4|0;x[a>>2]=x[a>>2]|4}x[b>>2]=x[b>>2]|2097152<>2]>>>m|0;if(g&2097168){break a}k=(y[x[a+108>>2]+(g&495)|0]<<2)+a|0;x[a+104>>2]=k+28;j=x[k+28>>2];h=x[j>>2];g=x[a+4>>2]-h|0;x[a+4>>2]=g;i=x[a>>2];b:{if(i>>>16>>>0>>0){l=x[j+4>>2];x[a+4>>2]=h;g=g>>>0>>0;x[k+28>>2]=x[j+(g?8:12)>>2];j=g?l:!l;g=x[a+8>>2];while(1){c:{if(g){break c}g=x[a+16>>2];l=g+1|0;k=y[g+1|0];if(y[g|0]==255){if(k>>>0>=144){x[a+12>>2]=x[a+12>>2]+1;i=i+65280|0;g=8;break c}x[a+16>>2]=l;i=(k<<9)+i|0;g=7;break c}x[a+16>>2]=l;g=8;i=(k<<8)+i|0}g=g-1|0;x[a+8>>2]=g;i=i<<1;x[a>>2]=i;h=h<<1;x[a+4>>2]=h;if(h>>>0<32768){continue}break}g=h;break b}i=i-(h<<16)|0;x[a>>2]=i;if(!(g&32768)){l=x[j+4>>2];h=g>>>0>>0;x[k+28>>2]=x[j+(h?12:8)>>2];j=h?!l:l;h=x[a+8>>2];while(1){d:{if(h){break d}h=x[a+16>>2];l=h+1|0;k=y[h+1|0];if(y[h|0]==255){if(k>>>0>=144){x[a+12>>2]=x[a+12>>2]+1;i=i+65280|0;h=8;break d}x[a+16>>2]=l;i=(k<<9)+i|0;h=7;break d}x[a+16>>2]=l;h=8;i=(k<<8)+i|0}h=h-1|0;x[a+8>>2]=h;i=i<<1;x[a>>2]=i;g=g<<1;x[a+4>>2]=g;if(g>>>0<32768){continue}break}break b}j=x[j+4>>2]}if(!j){break a}n=b-4|0;h=x[b>>2];o=x[b+4>>2]>>>m+17&4|(x[n>>2]>>>m+19&1|(h>>>m+16&64|h>>>m&170|h>>>(e?m+12|0:14)&16));l=(y[o+29152|0]<<2)+a|0;x[a+104>>2]=l+28;k=x[l+28>>2];h=x[k>>2];g=g-h|0;x[a+4>>2]=g;e:{if(i>>>16>>>0>>0){j=x[k+4>>2];x[a+4>>2]=h;g=g>>>0>>0;x[l+28>>2]=x[k+(g?8:12)>>2];k=g?j:!j;g=x[a+8>>2];while(1){f:{if(g){break f}g=x[a+16>>2];l=g+1|0;j=y[g+1|0];if(y[g|0]==255){if(j>>>0>=144){x[a+12>>2]=x[a+12>>2]+1;i=i+65280|0;g=8;break f}x[a+16>>2]=l;i=(j<<9)+i|0;g=7;break f}x[a+16>>2]=l;g=8;i=(j<<8)+i|0}g=g-1|0;x[a+8>>2]=g;i=i<<1;x[a>>2]=i;h=h<<1;x[a+4>>2]=h;if(h>>>0<32768){continue}break}break e}j=i-(h<<16)|0;x[a>>2]=j;if(!(g&32768)){i=x[k+4>>2];h=g>>>0>>0;x[l+28>>2]=x[k+(h?12:8)>>2];k=h?!i:i;i=x[a+8>>2];while(1){g:{if(i){break g}i=x[a+16>>2];l=i+1|0;h=y[i+1|0];if(y[i|0]==255){if(h>>>0>=144){x[a+12>>2]=x[a+12>>2]+1;j=j+65280|0;i=8;break g}x[a+16>>2]=l;j=(h<<9)+j|0;i=7;break g}x[a+16>>2]=l;i=8;j=(h<<8)+j|0}i=i-1|0;x[a+8>>2]=i;j=j<<1;x[a>>2]=j;g=g<<1;x[a+4>>2]=g;if(g>>>0<32768){continue}break}break e}k=x[k+4>>2]}g=0-d|0;h=d;d=y[o+29408|0]^k;x[c>>2]=d?g:h;x[n>>2]=x[n>>2]|32<>2]=x[b>>2]|(d<<19|16)<>2]=x[b+4>>2]|8<>2]<<2)+b|0;x[c+4>>2]=x[c+4>>2]|32768;x[c>>2]=x[c>>2]|d<<31|65536;c=c-4|0;x[c>>2]=x[c>>2]|131072}if((e|0)!=3){break a}a=(x[a+124>>2]<<2)+b|0;x[a+4>>2]=x[a+4>>2]|4;x[a+12>>2]=x[a+12>>2]|1;x[a+8>>2]=x[a+8>>2]|d<<18|2}}function Re(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=Ca-160|0;Ca=c;if(b){x[a+336>>2]=x[a+332>>2]}b=Pd(c+152|0,1577);e=x[b+4>>2];x[c+32>>2]=x[b>>2];x[c+36>>2]=e;a:{b:{if(Qd(a,c+32|0)){b=0;Td(c+84|0,a,0);if(!Sd(a,95)){break b}b=Ca-16|0;Ca=b;g=De(a+408|0,16);d=x[c+88>>2];a=b;e=x[c+84>>2];x[a>>2]=e;x[a+4>>2]=d;x[a+8>>2]=e;x[a+12>>2]=d;b=Fe(g,47,0,1,1,1);x[b>>2]=35532;e=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=e;Ca=a+16|0;break b}b=Pd(c+144|0,2563);e=x[b+4>>2];x[c+24>>2]=x[b>>2];x[c+28>>2]=e;if(Qd(a,c+24|0)){h=a+332|0;b=h;b=x[b+4>>2]-x[b>>2]>>2;g=c+136|0;x[g>>2]=a+392;x[g+4>>2]=x[a+392>>2];x[a+392>>2]=b;j=sf(c+84|0,a);e=a+8|0;b=e;d=x[b+4>>2]-x[b>>2]>>2;c:{d:{e:{while(1){f:{b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}if((b|0)!=84){break f}b=Pd(c+76|0,2278);f=x[a>>2];if(x[a+4>>2]-f>>>0>1){f=y[f+1|0]}else{f=0}f=f<<24>>24;g:{h:{i=x[b+4>>2]-x[b>>2]|0;if(!i){break h}f=Wc(x[b>>2],f,i);if(!f){break h}b=f-x[b>>2]|0;break g}b=-1}if((b|0)==-1){break f}x[11118]=0;b=na(210,a|0)|0;f=x[11118];x[11118]=0;if((f|0)==1){break c}x[c+76>>2]=b;if(!b){break e}de(e,c+76|0);continue}break}x[11118]=0;za(207,c+76|0,a|0,d|0);b=x[11118];x[11118]=0;i:{if((b|0)!=1){if(x[c+80>>2]){break i}x[11118]=0;sa(211,h|0);b=x[11118];x[11118]=0;if((b|0)!=1){break i}}break a}b=Pd(c+68|0,3594);f=x[b+4>>2];x[c+8>>2]=x[b>>2];x[c+12>>2]=f;if(!Qd(a,c+8|0)){while(1){x[11118]=0;b=na(208,a|0)|0;f=x[11118];x[11118]=0;if((f|0)==1){break a}x[c+60>>2]=b;if(!b){break e}de(e,c+60|0);if(!Sd(a,69)){continue}break}}b=0;x[11118]=0;za(207,c+60|0,a|0,d|0);e=x[11118];x[11118]=0;if((e|0)==1){break a}Td(c+52|0,a,0);if(!Sd(a,95)){break d}d=Ca-48|0;Ca=d;k=De(a+408|0,32);f=x[c+80>>2];a=x[c+76>>2];x[d+40>>2]=a;x[d+44>>2]=f;h=x[c+64>>2];b=x[c+60>>2];x[d+32>>2]=b;x[d+36>>2]=h;i=x[c+56>>2];e=x[c+52>>2];x[d+24>>2]=e;x[d+28>>2]=i;x[d+16>>2]=a;x[d+20>>2]=f;x[d+8>>2]=b;x[d+12>>2]=h;x[d>>2]=e;x[d+4>>2]=i;b=Fe(k,48,0,1,1,1);x[b>>2]=36232;a=x[d+20>>2];x[b+8>>2]=x[d+16>>2];x[b+12>>2]=a;a=x[d+12>>2];x[b+16>>2]=x[d+8>>2];x[b+20>>2]=a;a=x[d+4>>2];x[b+24>>2]=x[d>>2];x[b+28>>2]=a;Ca=d+48|0;break d}b=0}uf(j);x[x[g>>2]>>2]=x[g+4>>2];break b}break a}b=Pd(c+44|0,3406);e=x[b+4>>2];x[c+16>>2]=x[b>>2];x[c+20>>2]=e;b=0;if(!Qd(a,c+16|0)){break b}Td(c+84|0,a,0);if(!Sd(a,95)){break b}b=Ca-16|0;Ca=b;e=De(a+408|0,16);a=b;b=Pd(a+8|0,5307);d=x[b+4>>2];x[a>>2]=x[b>>2];x[a+4>>2]=d;b=Ie(e,a);Ca=a+16|0}Ca=c+160|0;return b}a=ta()|0;uf(j);x[x[g>>2]>>2]=x[g+4>>2];ua(a|0);r()}function Fb(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=Ca-208|0;Ca=h;j=x[a+72>>2];a:{if(!(!(x[x[a+156>>2]+5596>>2]?x[a+104>>2]!=1|x[a+108>>2]!=1:1)|x[a+8>>2]==8)){hb(g,1,14677,0);break a}l=x[b+16>>2];b:{if(!l){break b}k=x[b+24>>2];if(l>>>0>=4){m=l&-4;while(1){x[(D(i,52)+k|0)+40>>2]=x[a+160>>2];x[(D(i|1,52)+k|0)+40>>2]=x[a+160>>2];x[(D(i|2,52)+k|0)+40>>2]=x[a+160>>2];x[(D(i|3,52)+k|0)+40>>2]=x[a+160>>2];i=i+4|0;n=n+4|0;if((m|0)!=(n|0)){continue}break}}l=l&3;if(!l){break b}while(1){x[(D(i,52)+k|0)+40>>2]=x[a+160>>2];i=i+1|0;o=o+1|0;if((l|0)!=(o|0)){continue}break}}if(!(c|d|e|f)){hb(g,4,10735,0);x[a+28>>2]=0;x[a+32>>2]=0;c=x[a+108>>2];x[a+36>>2]=x[a+104>>2];x[a+40>>2]=c;x[b>>2]=x[j>>2];x[b+4>>2]=x[j+4>>2];x[b+8>>2]=x[j+8>>2];x[b+12>>2]=x[j+12>>2];i=Gb(b,g);break a}if((c|0)<0){x[h>>2]=c;hb(g,1,16571,h);i=0;break a}i=x[j+8>>2];if(i>>>0>>0){x[h+20>>2]=i;x[h+16>>2]=c;hb(g,1,17039,h+16|0);i=0;break a}i=x[j>>2];c:{if(i>>>0>c>>>0){x[h+196>>2]=i;x[h+192>>2]=c;hb(g,2,17391,h+192|0);x[a+28>>2]=0;c=x[j>>2];break c}x[a+28>>2]=(c-x[a+84>>2]>>>0)/A[a+92>>2]}x[b>>2]=c;if((d|0)<0){x[h+32>>2]=d;hb(g,1,16507,h+32|0);i=0;break a}c=x[j+12>>2];if(c>>>0>>0){x[h+52>>2]=c;x[h+48>>2]=d;hb(g,1,16866,h+48|0);i=0;break a}c=x[j+4>>2];d:{if(c>>>0>d>>>0){x[h+180>>2]=c;x[h+176>>2]=d;hb(g,2,17216,h+176|0);x[a+32>>2]=0;d=x[j+4>>2];break d}x[a+32>>2]=(d-x[a+88>>2]>>>0)/A[a+96>>2]}x[b+4>>2]=d;i=0;if((e|0)<=0){x[h+64>>2]=e;hb(g,1,16441,h- -64|0);break a}c=x[j>>2];if(c>>>0>e>>>0){x[h+84>>2]=c;x[h+80>>2]=e;hb(g,1,17302,h+80|0);break a}c=x[j+8>>2];e:{if(c>>>0>>0){x[h+164>>2]=c;x[h+160>>2]=e;hb(g,2,16951,h+160|0);x[a+36>>2]=x[a+104>>2];e=x[j+8>>2];break e}c=x[a+92>>2];k=e-x[a+84>>2]|0;l=k;d=c+k|0;m=c>>31;k=m+(k>>31)|0;k=d>>>0>>0?k+1|0:k;p=a,q=Gl(d-1|0,k-!d|0,c,m),x[p+36>>2]=q}x[b+8>>2]=e;if((f|0)<=0){x[h+96>>2]=f;hb(g,1,16374,h+96|0);break a}c=x[j+4>>2];if(c>>>0>f>>>0){x[h+116>>2]=c;x[h+112>>2]=f;hb(g,1,17126,h+112|0);break a}c=x[j+12>>2];f:{if(c>>>0>>0){x[h+148>>2]=c;x[h+144>>2]=f;hb(g,2,16777,h+144|0);x[a+40>>2]=x[a+108>>2];f=x[j+12>>2];break f}c=x[a+96>>2];e=f-x[a+88>>2]|0;i=e;d=c+i|0;j=c>>31;e=j+(i>>31)|0;e=d>>>0>>0?e+1|0:e;p=a,q=Gl(d-1|0,e-!d|0,c,j),x[p+40>>2]=q}x[b+12>>2]=f;v[a+68|0]=y[a+68|0]|2;i=Gb(b,g);if(!i){i=0;break a}a=x[b>>2];c=x[b+4>>2];d=x[b+12>>2];x[h+136>>2]=x[b+8>>2];x[h+140>>2]=d;x[h+128>>2]=a;x[h+132>>2]=c;hb(g,4,11944,h+128|0)}Ca=h+208|0;return i}function jh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;b=a;if(A[a+44>>2]>=8){d=x[b+40>>2];j=8;while(1){i=x[b+12>>2]<<5;k=x[b>>2];e=x[b+36>>2];a=x[b+16>>2];g=x[b+20>>2];a:{if(a>>>0>=g>>>0){break a}h=i+k|0;c=a+1|0;if(g-a&1){f=h+(a<<6)|0;a=(D(a,e)<<2)+d|0;l=x[a+4>>2];x[f>>2]=x[a>>2];x[f+4>>2]=l;l=x[a+28>>2];x[f+24>>2]=x[a+24>>2];x[f+28>>2]=l;l=x[a+20>>2];x[f+16>>2]=x[a+16>>2];x[f+20>>2]=l;l=x[a+12>>2];x[f+8>>2]=x[a+8>>2];x[f+12>>2]=l;a=c}if((c|0)==(g|0)){break a}while(1){c=(D(a,e)<<2)+d|0;l=x[c+4>>2];f=h+(a<<6)|0;x[f>>2]=x[c>>2];x[f+4>>2]=l;l=x[c+28>>2];x[f+24>>2]=x[c+24>>2];x[f+28>>2]=l;l=x[c+20>>2];x[f+16>>2]=x[c+16>>2];x[f+20>>2]=l;l=x[c+12>>2];x[f+8>>2]=x[c+8>>2];x[f+12>>2]=l;f=a+1|0;c=h+(f<<6)|0;f=(D(e,f)<<2)+d|0;l=x[f+28>>2];x[c+24>>2]=x[f+24>>2];x[c+28>>2]=l;l=x[f+20>>2];x[c+16>>2]=x[f+16>>2];x[c+20>>2]=l;l=x[f+12>>2];x[c+8>>2]=x[f+8>>2];x[c+12>>2]=l;l=x[f+4>>2];x[c>>2]=x[f>>2];x[c+4>>2]=l;a=a+2|0;if((g|0)!=(a|0)){continue}break}}a=x[b+24>>2];g=x[b+28>>2];b:{if(a>>>0>=g>>>0){break b}h=(k-i|0)+32|0;i=(D(e,x[b+8>>2])<<2)+d|0;c=a+1|0;if(g-a&1){f=h+(a<<6)|0;a=i+(D(a,e)<<2)|0;k=x[a+4>>2];x[f>>2]=x[a>>2];x[f+4>>2]=k;k=x[a+28>>2];x[f+24>>2]=x[a+24>>2];x[f+28>>2]=k;k=x[a+20>>2];x[f+16>>2]=x[a+16>>2];x[f+20>>2]=k;k=x[a+12>>2];x[f+8>>2]=x[a+8>>2];x[f+12>>2]=k;a=c}if((c|0)==(g|0)){break b}while(1){c=i+(D(a,e)<<2)|0;k=x[c+4>>2];f=h+(a<<6)|0;x[f>>2]=x[c>>2];x[f+4>>2]=k;k=x[c+28>>2];x[f+24>>2]=x[c+24>>2];x[f+28>>2]=k;k=x[c+20>>2];x[f+16>>2]=x[c+16>>2];x[f+20>>2]=k;k=x[c+12>>2];x[f+8>>2]=x[c+8>>2];x[f+12>>2]=k;f=a+1|0;c=h+(f<<6)|0;f=i+(D(e,f)<<2)|0;k=x[f+28>>2];x[c+24>>2]=x[f+24>>2];x[c+28>>2]=k;k=x[f+20>>2];x[c+16>>2]=x[f+16>>2];x[c+20>>2]=k;k=x[f+12>>2];x[c+8>>2]=x[f+8>>2];x[c+12>>2]=k;k=x[f+4>>2];x[c>>2]=x[f>>2];x[c+4>>2]=k;a=a+2|0;if((g|0)!=(a|0)){continue}break}}vb(b);a=0;if(x[b+32>>2]){while(1){c=x[b>>2]+(a<<5)|0;f=x[c+4>>2];e=(D(x[b+36>>2],a)<<2)+d|0;x[e>>2]=x[c>>2];x[e+4>>2]=f;f=x[c+28>>2];x[e+24>>2]=x[c+24>>2];x[e+28>>2]=f;f=x[c+20>>2];x[e+16>>2]=x[c+16>>2];x[e+20>>2]=f;f=x[c+12>>2];x[e+8>>2]=x[c+8>>2];x[e+12>>2]=f;a=a+1|0;if(a>>>0>2]){continue}break}}d=d+32|0;j=j+8|0;if(j>>>0<=A[b+44>>2]){continue}break}}jd(x[b>>2]);jd(b);Ha=0;return 0}function Ub(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ca-144|0;Ca=f;a:{b:{i=x[b+8>>2];c:{if(!i){g=x[b+12>>2];break c}e=x[a+16>>2];h=z[i+4>>1];g=x[b+12>>2];if(!(!g|!x[g+12>>2])){e=y[g+18|0]}d:{if(h){i=x[i>>2];b=0;while(1){d=i+D(b,6)|0;k=z[d>>1];if(k>>>0>=e>>>0){x[f+132>>2]=e;x[f+128>>2]=k;hb(c,1,17684,f+128|0);k=0;break a}e:{d=z[d+4>>1];if(!(!d|(d|0)==65535)){d=d-1|0;if(d>>>0>=e>>>0){break e}}b=b+1|0;if((h|0)==(b|0)){break d}continue}break}x[f+116>>2]=e;x[f+112>>2]=d;hb(c,1,17684,f+112|0);k=0;break a}if(e){break b}break c}if(!h){break b}while(1){e=e-1|0;b=0;while(1){if(z[i+D(b,6)>>1]!=(e|0)){b=b+1|0;if((h|0)!=(b|0)){continue}break b}break}if((h|0)==(b&65535)){break b}if(e){continue}break}}k=1;if(!g){break a}i=x[g+12>>2];if(!i){break a}f:{e=y[g+18|0];g:{if(e){b=0;h=1;while(1){g=x[a+16>>2];d=z[i+(b<<2)>>1];if(g>>>0<=d>>>0){x[f+100>>2]=g;x[f+96>>2]=d;hb(c,1,17684,f+96|0);h=0}b=b+1|0;if((e|0)!=(b|0)){continue}break}g=vc(e,4);if(!g){break g}h:{if(!e){break h}b=0;while(1){d=i+(b<<2)|0;l=y[d+2|0];i:{if(l>>>0>=2){x[f+20>>2]=l;x[f+16>>2]=b;hb(c,1,16063,f+16|0);h=0;break i}d=y[d+3|0];if(d>>>0>=e>>>0){x[f+80>>2]=d;hb(c,1,16007,f+80|0);h=0;break i}m=(l|0)!=1;j=(d<<2)+g|0;if(!(m|!x[j>>2])){x[f+32>>2]=d;hb(c,1,15536,f+32|0);h=0;break i}if(!(!d|l)){x[f+52>>2]=d;x[f+48>>2]=b;hb(c,1,15870,f+48|0);h=0;break i}if(!((b|0)==(d|0)|m)){x[f+72>>2]=d;x[f+68>>2]=b;x[f+64>>2]=b;hb(c,1,15906,f- -64|0);h=0;break i}x[j>>2]=1}b=b+1|0;if((e|0)!=(b|0)){continue}break}if(!e){break h}b=0;while(1){d=b<<2;if(!(x[d+g>>2]|!y[(d+i|0)+2|0])){x[f>>2]=b;hb(c,1,15164,f);h=0}b=b+1|0;if((e|0)!=(b|0)){continue}break}}if(!h){jd(g);k=0;break a}if(!e|x[a+16>>2]!=1){break f}b=0;a=0;while(1){if(x[(b<<2)+g>>2]){a=a+1|0;b=a&65535;if(e>>>0>b>>>0){continue}break f}break}d=0;hb(c,2,13538,0);a=0;b=0;if(e>>>0>=4){l=e&252;h=0;while(1){c=a<<2;j=c+i|0;v[j+3|0]=b;v[j+2|0]=1;j=i+(c|4)|0;v[j+3|0]=b|1;v[j+2|0]=1;j=i+(c|8)|0;v[j+3|0]=b|2;v[j+2|0]=1;c=i+(c|12)|0;v[c+3|0]=b|3;v[c+2|0]=1;b=b+4|0;a=a+4|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}c=e&3;if(!c){break f}while(1){e=i+(a<<2)|0;v[e+3|0]=b;v[e+2|0]=1;b=b+1|0;a=a+1|0;d=d+1|0;if((c|0)!=(d|0)){continue}break}break f}g=vc(e,4);if(g){break f}}k=0;hb(c,1,16254,0);break a}jd(g);break a}k=0;hb(c,1,13589,0)}Ca=f+144|0;return k}function ph(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;g=0;j=0;b=Ca-80|0;Ca=b;x[b+76>>2]=1;f=x[a+200>>2];d=x[f+40>>2];a:{b:{if(d){break b}d=D(x[a+108>>2],x[a+104>>2]);x[f+36>>2]=d;d=vc(d,40);f=x[a+200>>2];x[f+40>>2]=d;if(!d){f=0;break a}if(!x[f+36>>2]){break b}while(1){f=0;i=D(g,40);d=i+d|0;x[d+20>>2]=0;x[d+28>>2]=100;h=vc(100,24);k=x[a+200>>2];d=x[k+40>>2];x[(i+d|0)+24>>2]=h;if(!h){break a}g=g+1|0;if(g>>>0>2]){continue}break}}h=x[a+44>>2];c:{if(!x[d+16>>2]){break c}d:{d=D(h,40)+d|0;if(!x[d+4>>2]){d=x[a+52>>2];g=d+1|0;f=d;d=x[a+48>>2]+2|0;f=d>>>0<2?g:f;if(eb(c,d,f)){break d}f=0;hb(e,1,9857,0);break a}d=x[d+16>>2];f=x[d>>2];d=x[d+4>>2];i=d+1|0;g=d;d=f+2|0;f=d>>>0<2?i:g;if(eb(c,d,f)){break d}f=0;hb(e,1,9857,0);break a}if(x[a+8>>2]!=256){break c}x[a+8>>2]=8}i=D(x[a+108>>2],x[a+104>>2]);e:{if(!i){break e}f=x[a+156>>2];d=0;if(i>>>0>=8){k=i&-8;g=0;while(1){x[(f+D(d,5644)|0)+5588>>2]=-1;x[(f+D(d|1,5644)|0)+5588>>2]=-1;x[(f+D(d|2,5644)|0)+5588>>2]=-1;x[(f+D(d|3,5644)|0)+5588>>2]=-1;x[(f+D(d|4,5644)|0)+5588>>2]=-1;x[(f+D(d|5,5644)|0)+5588>>2]=-1;x[(f+D(d|6,5644)|0)+5588>>2]=-1;x[(f+D(d|7,5644)|0)+5588>>2]=-1;d=d+8|0;g=g+8|0;if((k|0)!=(g|0)){continue}break}}g=i&7;if(!g){break e}while(1){x[(f+D(d,5644)|0)+5588>>2]=-1;d=d+1|0;j=j+1|0;if((g|0)!=(j|0)){continue}break}}f=0;if(!Cb(a,b+72|0,0,b+68|0,b- -64|0,b+60|0,b+56|0,b+52|0,b+76|0,c,e)){break a}i=h+1|0;while(1){f:{if(!x[b+76>>2]){break f}d=x[b+72>>2];if(!Db(a,d,0,0,c,e)){break a}j=x[a+104>>2];k=x[a+108>>2];g=d+1|0;x[b+32>>2]=g;x[b+36>>2]=D(j,k);hb(e,4,15764,b+32|0);if(!Sb(x[a+208>>2],x[x[a+76>>2]+24>>2])){break a}f=x[a+156>>2]+D(d,5644)|0;j=x[f+5596>>2];if(j){jd(j);x[f+5596>>2]=0;x[f+5600>>2]=0}x[b+16>>2]=g;hb(e,4,20570,b+16|0);if((d|0)==(h|0)){d=x[a+200>>2];f=x[d+8>>2];d=x[d+12>>2];h=d+1|0;g=d;d=f+2|0;f=d>>>0<2?h:g;if(eb(c,d,f)){break f}f=0;hb(e,1,9857,0);break a}x[b+4>>2]=i;x[b>>2]=g;hb(e,2,17617,b);f=0;if(Cb(a,b+72|0,0,b+68|0,b- -64|0,b+60|0,b+56|0,b+52|0,b+76|0,c,e)){continue}break a}break}f=Tb(a,e)}Ca=b+80|0;Ha=0;return f|0}function Mi(a,b,c,d,e,f,g,h,i,j,k,l,m,o,q,r,s,t,u,v,w,y,z,A,B,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;k=k|0;l=l|0;m=m|0;o=o|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;var K=0,L=0;b=x[c>>2]+7&-8;x[c>>2]=b+16;j=a;g=x[b>>2];e=x[b+4>>2];a=x[b+12>>2];o=a;k=Ca-32|0;Ca=k;a=a&2147483647;d=a;c=a-1006698496|0;f=a-1140785152|0;b=x[b+8>>2];a=b;a:{if((c|0)==(f|0)&a>>>0>>0|c>>>0>>0){c=b<<4|e>>>28;a=o<<4|b>>>28;b=e&268435455;if((b|0)==134217728&(g|0)!=0|b>>>0>134217728){a=a+1073741824|0;c=c+1|0;a=c?a:a+1|0;break a}a=a+1073741824|0;if(g|(b|0)!=134217728){break a}d=a+1|0;b=a;a=c&1;c=a+c|0;a=c>>>0>>0?d:b;break a}if(!(!a&(d|0)==2147418112?!(e|g):d>>>0<2147418112)){c=b<<4|e>>>28;a=(o<<4|b>>>28)&524287|2146959360;break a}c=0;a=2146435072;if(d>>>0>1140785151){break a}a=0;q=d>>>16|0;if(q>>>0<15249){break a}c=g;a=e;h=o&65535|65536;f=h;i=b;l=q-15233|0;b:{if(l&64){h=l+-64|0;d=h&31;if((h&63)>>>0>=32){a=c<>>32-d|a<>>0>=32){d=i<>>32-m|h<>>0>=32){d=0;i=a>>>i|0}else{d=a>>>i|0;i=((1<>>i}i=i|m;h=d|h;m=l&31;if((l&63)>>>0>=32){d=c<>>32-m|a<>2]=c;x[k+20>>2]=a;x[k+24>>2]=i;x[k+28>>2]=h;c=15361-q|0;c:{if(c&64){c=c+-64|0;a=c&31;if((c&63)>>>0>=32){d=0;g=f>>>a|0}else{d=f>>>a|0;g=((1<>>a}e=d;b=0;f=0;break c}if(!c){break c}i=64-c|0;h=i&31;a=c&31;if((c&63)>>>0>=32){d=0;e=e>>>a|0}else{d=e>>>a|0;e=((1<>>a}if((i&63)>>>0>=32){a=b<>>32-h|f<>>0>=32){a=0;b=f>>>d|0}else{a=f>>>d|0;b=((1<>>d}f=a}x[k>>2]=g;x[k+4>>2]=e;x[k+8>>2]=b;x[k+12>>2]=f;b=x[k+8>>2];a=x[k+12>>2]<<4|b>>>28;c=b<<4;b=x[k+4>>2];c=c|b>>>28;b=b&268435455;d=x[k>>2]|(x[k+16>>2]|x[k+24>>2]|(x[k+20>>2]|x[k+28>>2]))!=0;if((b|0)==134217728&(d|0)!=0|b>>>0>134217728){c=c+1|0;a=c?a:a+1|0;break a}if(d|(b|0)!=134217728){break a}b=c;c=c+(c&1)|0;a=b>>>0>c>>>0?a+1|0:a}Ca=k+32|0;n(0,c|0);n(1,o&-2147483648|a);K=j,L=+p(),C[K>>3]=L;Ha=0;return 0}function Vb(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,o=0,p=0,q=0,r=0,s=0;p=Ca-16|0;Ca=p;o=x[a+24>>2];a:{b:{c:{d:{e:{i=x[b+12>>2];j=y[i+18|0];if(j){r=x[i+12>>2];s=x[i>>2];g=x[i+4>>2];n=x[i+8>>2];while(1){if(x[(D(z[(e<<2)+r>>1],52)+o|0)+44>>2]){d=d+1|0;e=d&65535;if(j>>>0>e>>>0){continue}break e}break}x[p>>2]=e;hb(c,1,17846,p);a=0;break a}i=uc(D(j,52));if(!i){break d}break b}i=uc(D(j,52));if(i){break c}}hb(c,1,17794,0);a=0;break a}if(!j){break b}e=0;while(1){d=(e<<2)+r|0;h=z[d>>1];f=D(y[d+2|0]?y[d+3|0]:e,52)+i|0;d=D(h,52)+o|0;h=x[d+4>>2];x[f>>2]=x[d>>2];x[f+4>>2]=h;x[f+48>>2]=x[d+48>>2];h=x[d+44>>2];x[f+40>>2]=x[d+40>>2];x[f+44>>2]=h;h=x[d+36>>2];x[f+32>>2]=x[d+32>>2];x[f+36>>2]=h;h=x[d+28>>2];x[f+24>>2]=x[d+24>>2];x[f+28>>2]=h;h=x[d+20>>2];x[f+16>>2]=x[d+16>>2];x[f+20>>2]=h;h=x[d+12>>2];x[f+8>>2]=x[d+8>>2];x[f+12>>2]=h;f=D(e,52)+i|0;d=wc(D(x[d+8>>2],x[d+12>>2])<<2);x[f+44>>2]=d;if(!d){if(e&65535){while(1){e=e-1|0;a=e&65535;jd(x[(D(a,52)+i|0)+44>>2]);if(a){continue}break}}jd(i);hb(c,1,17794,0);a=0;break a}x[f+24>>2]=y[e+n|0];x[f+32>>2]=y[e+g|0];e=e+1|0;if((j|0)!=(e|0)){continue}break}if(!j){break b}n=z[x[b+12>>2]+16>>1];h=n-1|0;while(1){e=D(q,52)+i|0;b=D(x[e+12>>2],x[e+8>>2]);d=(q<<2)+r|0;c=x[(D(z[d>>1],52)+o|0)+44>>2];f:{if(!y[d+2|0]){if(!b){break f}f=x[e+44>>2];e=0;d=0;if(b>>>0>=4){l=b&-4;k=0;while(1){g=d<<2;x[g+f>>2]=x[c+g>>2];m=g|4;x[m+f>>2]=x[c+m>>2];m=g|8;x[m+f>>2]=x[c+m>>2];g=g|12;x[g+f>>2]=x[c+g>>2];d=d+4|0;k=k+4|0;if((l|0)!=(k|0)){continue}break}}b=b&3;if(!b){break f}while(1){g=d<<2;x[g+f>>2]=x[c+g>>2];d=d+1|0;e=e+1|0;if((b|0)!=(e|0)){continue}break}break f}if(!b){break f}f=y[d+3|0];g=x[(D(f,52)+i|0)+44>>2];d=0;if((b|0)!=1){m=b&-2;e=0;while(1){l=d<<2;k=x[l+c>>2];x[g+l>>2]=x[(f+D((k|0)>=0?(k|0)<(n|0)?k:h:0,j)<<2)+s>>2];l=l|4;k=x[l+c>>2];x[g+l>>2]=x[(f+D((k|0)>=0?(k|0)<(n|0)?k:h:0,j)<<2)+s>>2];d=d+2|0;e=e+2|0;if((m|0)!=(e|0)){continue}break}}if(!(b&1)){break f}b=c;c=d<<2;b=x[b+c>>2];x[c+g>>2]=x[(f+D((b|0)>=0?(b|0)<(n|0)?b:h:0,j)<<2)+s>>2]}q=q+1|0;if((q|0)!=(j|0)){continue}break}}b=x[a+16>>2];if(b){e=0;while(1){c=x[(D(e,52)+o|0)+44>>2];if(c){jd(c)}e=e+1|0;if((b|0)!=(e|0)){continue}break}}jd(o);x[a+16>>2]=j;x[a+24>>2]=i;a=1}Ca=p+16|0;return a}function Hh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;k=0;j=Ca-16|0;Ca=j;d=a;i=x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2];a:{if(!e){hb(g,1,8650,0);break a}a=x[d+72>>2];k=1;cb(c,j+8|0,1);f=x[j+8>>2];if(f>>>0>=2){hb(g,2,13882,0);break a}if((f+1|0)!=(e|0)){k=0;hb(g,2,8650,0);break a}e=x[a+16>>2];b:{if(!e){break b}k=x[i+5584>>2];if(e>>>0>=8){a=e&-8;b=0;while(1){x[k+1076>>2]=0;x[k+8636>>2]=0;x[k+7556>>2]=0;x[k+6476>>2]=0;x[k+5396>>2]=0;x[k+4316>>2]=0;x[k+3236>>2]=0;x[k+2156>>2]=0;k=k+8640|0;b=b+8|0;if((a|0)!=(b|0)){continue}break}}a=e&7;if(!a){break b}b=0;while(1){x[k+1076>>2]=0;k=k+1080|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}a=x[i+5608>>2];if(a){jd(a);x[i+5608>>2]=0;f=x[j+8>>2]}if(!f){k=1;break a}g=0;while(1){c=c+1|0;cb(c,j+12|0,1);c:{if(!x[i+5632>>2]){break c}f=x[i+5628>>2];if(x[f>>2]!=x[j+12>>2]){break c}a=x[f+4>>2];e=x[d+72>>2];if((a|0)!=x[e+16>>2]){break c}h=x[f+8>>2];if(h){k=0;b=D(a,a);if(x[h+16>>2]!=(D(b,x[(x[h>>2]<<2)+21008>>2])|0)){break a}a=uc(b<<2);x[i+5608>>2]=a;if(!a){break a}Ia[x[(x[h>>2]<<2)+21312>>2]](x[h+12>>2],0,a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}f=x[f+12>>2];if(!f){break c}k=0;b=x[e+16>>2];if(x[f+16>>2]!=(D(b,x[(x[f>>2]<<2)+21008>>2])|0)){break a}a=uc(b<<2);if(!a){break a}Ia[x[(x[f>>2]<<2)+21328>>2]](x[f+12>>2],0,a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=x[e+16>>2];d:{if(!b){break d}f=b&7;k=x[i+5584>>2];e:{if(b>>>0<8){b=a;break e}e=b&-8;h=0;b=a;while(1){x[k+1076>>2]=x[b>>2];x[k+2156>>2]=x[b+4>>2];x[k+3236>>2]=x[b+8>>2];x[k+4316>>2]=x[b+12>>2];x[k+5396>>2]=x[b+16>>2];x[k+6476>>2]=x[b+20>>2];x[k+7556>>2]=x[b+24>>2];x[k+8636>>2]=x[b+28>>2];k=k+8640|0;b=b+32|0;h=h+8|0;if((e|0)!=(h|0)){continue}break}}h=0;if(!f){break d}while(1){x[k+1076>>2]=x[b>>2];k=k+1080|0;b=b+4|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}jd(a)}k=1;g=g+1|0;if(g>>>0>2]){continue}break}}Ca=j+16|0;Ha=0;return k|0}function Wb(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,o=0,p=0,q=0,r=0;f=Ca-80|0;Ca=f;h=x[b+8>>2];m=x[h>>2];n=z[h+4>>1];if(n){h=0;r=n-2&65535;o=1;while(1){p=D(h,6)+m|0;i=z[p>>1];d=x[a+16>>2];a:{if(i>>>0>=d>>>0){x[f+20>>2]=d;x[f+16>>2]=i;hb(c,2,11678,f+16|0);break a}e=z[p+4>>1];if((e+1&65535)>>>0<=1){w[(x[a+24>>2]+D(i,52)|0)+48>>1]=z[p+2>>1];break a}q=e-1|0;l=q&65535;if(d>>>0<=l>>>0){x[f+4>>2]=d;x[f>>2]=l;hb(c,2,11637,f);break a}b:{if(z[p+2>>1]|(i|0)==(l|0)){break b}e=x[a+24>>2];d=e+D(i,52)|0;x[f+72>>2]=x[d+48>>2];g=x[d+44>>2];j=f- -64|0;x[j>>2]=x[d+40>>2];x[j+4>>2]=g;g=x[d+36>>2];x[f+56>>2]=x[d+32>>2];x[f+60>>2]=g;g=x[d+28>>2];x[f+48>>2]=x[d+24>>2];x[f+52>>2]=g;g=x[d+20>>2];x[f+40>>2]=x[d+16>>2];x[f+44>>2]=g;g=x[d+12>>2];x[f+32>>2]=x[d+8>>2];x[f+36>>2]=g;g=x[d+4>>2];x[f+24>>2]=x[d>>2];x[f+28>>2]=g;g=D(l,52);e=g+e|0;x[d+48>>2]=x[e+48>>2];k=x[e+44>>2];x[d+40>>2]=x[e+40>>2];x[d+44>>2]=k;k=x[e+36>>2];x[d+32>>2]=x[e+32>>2];x[d+36>>2]=k;k=x[e+28>>2];x[d+24>>2]=x[e+24>>2];x[d+28>>2]=k;k=x[e+20>>2];x[d+16>>2]=x[e+16>>2];x[d+20>>2]=k;k=x[e+12>>2];x[d+8>>2]=x[e+8>>2];x[d+12>>2]=k;k=x[e+4>>2];x[d>>2]=x[e>>2];x[d+4>>2]=k;e=x[f+28>>2];d=g+x[a+24>>2]|0;x[d>>2]=x[f+24>>2];x[d+4>>2]=e;x[d+48>>2]=x[f+72>>2];e=x[j+4>>2];x[d+40>>2]=x[j>>2];x[d+44>>2]=e;e=x[f+60>>2];x[d+32>>2]=x[f+56>>2];x[d+36>>2]=e;e=x[f+52>>2];x[d+24>>2]=x[f+48>>2];x[d+28>>2]=e;e=x[f+44>>2];x[d+16>>2]=x[f+40>>2];x[d+20>>2]=e;e=x[f+36>>2];x[d+8>>2]=x[f+32>>2];x[d+12>>2]=e;if(h+1>>>0>=n>>>0){break b}e=o;if((h^-1)+n&1){e=q;d=D(o,6)+m|0;j=z[d>>1];c:{if((j|0)!=(i|0)){e=i;if((j|0)!=(l|0)){break c}}w[d>>1]=e}e=o+1|0}if((h&65535)==(r|0)){break b}while(1){d=q;j=D(e,6)+m|0;g=z[j>>1];d:{if((g|0)!=(i|0)){d=i;if((g|0)!=(l|0)){break d}}w[j>>1]=d}d=q;g=z[j+6>>1];e:{if((g|0)!=(i|0)){d=i;if((g|0)!=(l|0)){break e}}w[j+6>>1]=d}e=e+2|0;if((e&65535)!=(n|0)){continue}break}}w[(x[a+24>>2]+D(i,52)|0)+48>>1]=z[p+2>>1]}o=o+1|0;h=h+1|0;if((n|0)!=(h|0)){continue}break}h=x[b+8>>2];m=x[h>>2]}if(m){jd(m);h=x[b+8>>2]}jd(h);x[b+8>>2]=0;Ca=f+80|0}function oe(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,o=0,p=0,q=0;f=Ca-48|0;Ca=f;a:{c=0;b:{if(!Sd(a,73)){break b}if(b){c=a+332|0;x[c+4>>2]=x[c>>2];x[f+20>>2]=a+288;de(c,f+20|0);x[a+292>>2]=x[a+288>>2]}g=a+332|0;n=a+8|0;c=n;p=x[c+4>>2]-x[c>>2]>>2;c:{d:{while(1){if(!Sd(a,69)){if(b){c=_d(f+20|0);e:{if(x[g>>2]==(g+12|0)){Be(x[g>>2],x[g+4>>2],x[c>>2]);x[c+4>>2]=x[c>>2]+(x[g+4>>2]-x[g>>2]&-4);x[g+4>>2]=x[g>>2];break e}x[c>>2]=x[g>>2];x[c+4>>2]=x[g+4>>2];x[c+8>>2]=x[g+8>>2];x[g+8>>2]=g+28;j=g+12|0;x[g+4>>2]=j;x[g>>2]=j}j=c;x[11118]=0;c=na(206,a|0)|0;d=x[11118];x[11118]=0;if((d|0)==1){break a}x[f+16>>2]=c;q=te(g,j);if(!c){break d}de(n,f+16|0);x[f+12>>2]=c;if(y[c+4|0]==37){d=x[c+12>>2];x[f+4>>2]=x[c+8>>2];x[f+8>>2]=d;c=Ca-16|0;Ca=c;h=De(a+408|0,16);d=x[f+8>>2];e=x[f+4>>2];x[c>>2]=e;x[c+4>>2]=d;x[c+8>>2]=e;x[c+12>>2]=d;d=Fe(h,36,0,1,1,1);x[d>>2]=39168;e=x[c+4>>2];x[d+8>>2]=x[c>>2];x[d+12>>2]=e;k=(y[d+5|0]|y[d+6|0]<<8)&-4033;h=k|2688;v[d+5|0]=h;v[d+6|0]=h>>>8;i=d+8|0;e=x[i>>2];m=x[i>>2]+(x[i+4>>2]<<2)|0;while(1){o=(e|0)==(m|0);if(!o){l=x[e>>2];e=e+4|0;if(((y[l+5|0]|y[l+6|0]<<8)&768)==256){continue}}break}if(o){h=k|2432;v[d+5|0]=h;v[d+6|0]=h>>>8}e=x[i>>2];k=e+(x[i+4>>2]<<2)|0;while(1){m=(e|0)==(k|0);if(!m){l=x[e>>2];e=e+4|0;if(((y[l+5|0]|y[l+6|0]<<8)&3072)==1024){continue}}break}if(m){h=h&-3073|1024;v[d+5|0]=h;v[d+6|0]=h>>>8}e=x[i>>2];l=e+(x[i+4>>2]<<2)|0;while(1){k=(e|0)==(l|0);if(!k){i=x[e>>2];e=e+4|0;if(((y[i+5|0]|y[i+6|0]<<8)&192)==64){continue}}break}if(k){e=h&65343|64;v[d+5|0]=e;v[d+6|0]=e>>>8}Ca=c+16|0;x[f+12>>2]=d}x[11118]=0;c=na(209,q|0)|0;d=x[11118];x[11118]=0;if((d|0)!=1){de(x[c>>2],f+12|0);Xd(j);continue}break a}c=ce(a);x[f+20>>2]=c;if(!c){break c}de(n,f+20|0);continue}break}ee(f+20|0,a,p);b=Ca-16|0;Ca=b;j=De(a+408|0,16);a=x[f+24>>2];c=x[f+20>>2];x[b>>2]=c;x[b+4>>2]=a;x[b+8>>2]=c;x[b+12>>2]=a;a=Fe(j,39,0,1,1,1);x[a>>2]=39276;c=x[b+4>>2];x[a+8>>2]=x[b>>2];x[a+12>>2]=c;Ca=b+16|0;c=a;break b}Xd(j)}c=0}Ca=f+48|0;return c}a=ta()|0;Xd(j);ua(a|0);r()}function ae(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=Ca-16|0;Ca=g;a:{b:{c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}c=c<<24>>24;if((c|0)!=90){if((c&255)!=78){break b}d=b;b=0;f=Ca-16|0;Ca=f;c:{if(!Sd(a,78)){break c}c=a;a=Je(a);if(d){x[d+4>>2]=a}d:{e:{if(Sd(c,79)){a=2;if(d){break e}break d}a=Sd(c,82);if(!d){break d}}v[d+8|0]=a}x[f+12>>2]=0;h=c+148|0;a=0;while(1){f:{g:{h:{i:{if(!Sd(c,69)){if(d){v[d+1|0]=0}b=0;j:{k:{l:{m:{n:{e=x[c>>2];if((e|0)!=x[c+4>>2]){e=y[e|0]}else{e=0}e=e<<24>>24&255;switch(e-83|0){case 0:break k;case 1:break m;default:break n}}if((e|0)==68){break l}if((e|0)!=73){break i}if(!a){break c}e=oe(c,(d|0)!=0);x[f+8>>2]=e;if(!e|y[a+4|0]==41){break c}if(d){v[d+1|0]=1}a=pe(c,f+12|0,f+8|0);x[f+12>>2]=a;break g}if(!a){break j}break f}e=x[c>>2];if(x[c+4>>2]-e>>>0>1){e=y[e+1|0]}else{e=0}if(((e<<24>>24|32)&255)!=116){break i}if(a){break f}a=le(c);break h}b=x[c>>2];if(x[c+4>>2]-b>>>0>1){b=y[b+1|0]}else{b=0}o:{if((b|0)==116){x[c>>2]=x[c>>2]+2;b=he(c,3269);break o}b=Ke(c);if(!b){break f}}if(y[b+4|0]==25){break i}if(a){break f}x[f+12>>2]=b;a=b;continue}a=ne(c);break h}b=0;if(!a|x[h>>2]==x[h+4>>2]){break c}Le(h);b=a;break c}a=Me(c,d,a,b)}x[f+12>>2]=a;if(!a){break f}}de(h,f+12|0);Sd(c,77);continue}break}b=0}Ca=f+16|0;c=b;break a}c=Ca-16|0;Ca=c;p:{if(!Sd(a,90)){break p}f=Rd(a);x[c+12>>2]=f;if(!f){break p}if(!Sd(a,69)){break p}if(Sd(a,115)){i=a,j=Ne(x[a>>2],x[a+4>>2]),x[i>>2]=j;i=c,j=he(a,2548),x[i+4>>2]=j;d=Oe(a,c+12|0,c+4|0);break p}q:{if(Sd(a,100)){Td(c+4|0,a,1);if(!Sd(a,95)){break p}b=ae(a,b);x[c+4>>2]=b;if(!b){break q}d=Oe(a,c+12|0,c+4|0);break p}b=ae(a,b);x[c+4>>2]=b;if(!b){break q}i=a,j=Ne(x[a>>2],x[a+4>>2]),x[i>>2]=j;d=Oe(a,c+12|0,c+4|0)}}Ca=c+16|0;c=d;break a}c=0;v[g+11|0]=0;d=re(a,b,g+11|0);x[g+12>>2]=d;if(!d){break a}f=y[g+11|0];h=x[a>>2];if((h|0)!=x[a+4>>2]){e=y[h|0]}else{e=0}r:{if((e|0)==73){if(!f){de(a+148|0,g+12|0)}d=oe(a,(b|0)!=0);x[g+4>>2]=d;if(!d){break a}if(b){v[b+1|0]=1}d=pe(a,g+12|0,g+4|0);break r}if(f){break a}}c=d}Ca=g+16|0;return c}function Sb(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=x[a+24>>2];if(!x[t+16>>2]){return 1}p=x[t+24>>2];m=x[x[x[a+20>>2]>>2]+20>>2];while(1){x[b+36>>2]=x[p+36>>2];d=x[p+36>>2];e=x[m+28>>2];n=x[a+64>>2];a:{if(n){c=(e+D(x[m+24>>2],152)|0)-152|0;q=x[c+8>>2]-x[c>>2]|0;h=m+36|0;c=e+D(d,152)|0;d=c+12|0;f=x[c+8>>2];j=x[c>>2];c=c+4|0;break a}c=e+D(d,152)|0;f=x[c+144>>2];j=x[c+136>>2];q=f-j|0;h=m+52|0;d=c+148|0;c=c+140|0}u=x[h>>2];b:{c:{if(!u){break c}o=x[c>>2];r=x[d>>2];h=f-j|0;l=x[b+8>>2];e=x[b+40>>2];d=e&31;if((e&63)>>>0>=32){c=-1<>>32-d;d=-1<>2];k=i+g|0;c=c^-1;d=g>>>0>k>>>0?c+1|0:c;g=k;k=e&31;d=(e&63)>>>0>=32?d>>>k|0:((1<>>k;g=d+l|0;d:{if(d>>>0>>0){k=j-d|0;s=0;d=0;if(f>>>0<=g>>>0){break d}d=h;h=g-j|0;d=d-h|0;break d}s=d-j|0;if(f>>>0<=g>>>0){h=h-s|0;k=0;d=0;break d}k=0;h=l;d=f-g|0}w=d;f=r-o|0;d=x[b+12>>2];g=x[b+20>>2];i=g+i|0;c=g>>>0>i>>>0?c+1|0:c;g=i;i=e&31;c=(e&63)>>>0>=32?c>>>i|0:((1<>>i;i=c+d|0;e:{if(c>>>0>>0){c=o-c|0;g=0;e=0;if(i>>>0>=r>>>0){break e}e=f;f=i-o|0;e=e-f|0;break e}g=c-o|0;if(i>>>0>=r>>>0){f=f-g|0;c=0;e=0;break e}c=0;f=d;e=r-i|0}j=0;if((s|g|(w|e))<0){break b}if((h|f)<0){break b}i=D(c,l)+k|0;f:{g:{h:{c=x[b+44>>2];g=D(g,q)+s|0;if(c|g|((l|0)!=(q|0)|i)){break h}if((h|0)!=(l|0)){break h}if((d|0)!=(f|0)){break g}c=(n?36:52)+m|0;x[b+44>>2]=x[c>>2];x[c>>2]=0;break c}if(c){break f}}if(!d){break b}Fl(d,0,l,0);if(Ha){break b}c=D(d,l);if(c>>>0>1073741823){break b}e=wc(c<<2);x[b+44>>2]=e;if(!e){break b}d=x[b+8>>2];c=x[b+12>>2];if((d|0)==(h|0)&(c|0)==(f|0)){break f}Hc(e,0,D(c,d)<<2)}if(!f){break c}l=f&1;n=h<<2;h=x[b+44>>2]+(i<<2)|0;j=(g<<2)+u|0;if((f|0)!=1){e=f&-2;f=0;while(1){d=Gc(h,j,n);c=q<<2;h=c+j|0;j=c+h|0;h=Gc(d+(x[b+8>>2]<<2)|0,h,n)+(x[b+8>>2]<<2)|0;f=f+2|0;if((e|0)!=(f|0)){continue}break}}if(!l){break c}Gc(h,j,n)}m=m+76|0;p=p+52|0;b=b+52|0;j=1;v=v+1|0;if(v>>>0>2]){continue}}break}return j}function oh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;h=0;b=Ca-80|0;Ca=b;x[b+76>>2]=1;a:{b:{d=x[a+104>>2];if((d|0)!=1|x[a+108>>2]!=1|(x[a+84>>2]|x[a+88>>2])){break b}f=x[a+76>>2];if(x[f>>2]|x[f+4>>2]|(x[f+8>>2]!=x[a+92>>2]|x[f+12>>2]!=x[a+96>>2])){break b}d=0;if(!Cb(a,b+72|0,0,b+68|0,b- -64|0,b+60|0,b+56|0,b+52|0,b+76|0,c,e)){break a}c:{if(Db(a,x[b+72>>2],0,0,c,e)){c=x[a+76>>2];if(x[c+16>>2]){break c}d=1;break a}hb(e,1,13061,0);break a}e=x[c+24>>2];c=0;while(1){d=D(c,52);jd(x[(d+e|0)+44>>2]);f=x[a+76>>2];e=x[f+24>>2];g=d+e|0;h=x[a+208>>2];i=x[x[x[h+20>>2]>>2]+20>>2]+D(c,76)|0;x[g+44>>2]=x[i+36>>2];x[g+36>>2]=x[(d+x[x[h+24>>2]+24>>2]|0)+36>>2];x[i+36>>2]=0;d=1;c=c+1|0;if(c>>>0>2]){continue}break}break a}while(1){d:{e:{if(!(!x[x[a+156>>2]+5596>>2]|((d|0)!=1|x[a+108>>2]!=1))){x[b+72>>2]=0;x[a+204>>2]=0;x[a+8>>2]=x[a+8>>2]|128;i=0;break e}d=0;if(!Cb(a,b+72|0,0,b+68|0,b- -64|0,b+60|0,b+56|0,b+52|0,b+76|0,c,e)){break a}if(!x[b+76>>2]){break d}i=x[b+72>>2]}d=i+1|0;g=Db(a,i,0,0,c,e);f=D(x[a+104>>2],x[a+108>>2]);if(!g){x[b+4>>2]=f;x[b>>2]=d;hb(e,1,11915,b);d=0;break a}x[b+36>>2]=f;x[b+32>>2]=d;hb(e,4,15764,b+32|0);if(!Sb(x[a+208>>2],x[x[a+76>>2]+24>>2])){d=0;break a}f:{if(!(x[a+104>>2]!=1|x[a+108>>2]!=1)){f=x[a+76>>2];g=x[a+72>>2];if(x[f>>2]!=x[g>>2]|x[f+4>>2]!=x[g+4>>2]|(x[f+8>>2]!=x[g+8>>2]|x[f+12>>2]!=x[g+12>>2])){break f}}f=x[a+156>>2]+D(i,5644)|0;g=x[f+5596>>2];if(!g){break f}jd(g);x[f+5596>>2]=0;x[f+5600>>2]=0}x[b+16>>2]=d;hb(e,4,20570,b+16|0);f=x[c+12>>2];g=f;d=x[c+8>>2];if(f|d){i=x[c+56>>2];f=d-i|0;d=g-(x[c+60>>2]+(d>>>0>>0)|0)|0}else{f=0;d=0}if(!(d|f)&x[a+8>>2]==64){break d}h=h+1|0;d=x[a+104>>2];if((h|0)!=(D(d,x[a+108>>2])|0)){continue}}break}d=Tb(a,e)}Ca=b+80|0;Ha=0;return d|0}function nh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,A,B,C,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;j=0;h=x[a+72>>2];n=D(x[a+104>>2],x[a+108>>2]);a:{b:{if(n){b=x[h+16>>2];o=D(b,1080);k=D(b,b)<<2;c=x[a+12>>2];d=x[a+156>>2];while(1){l=x[d+5584>>2];b=Gc(d,c,5644);x[b+5608>>2]=0;x[b+5588>>2]=-1;x[b+5168>>2]=0;x[b+5636>>2]=0;x[b+5616>>2]=0;x[b+5624>>2]=0;x[b+5628>>2]=0;x[b+5584>>2]=l;v[b+5640|0]=y[b+5640|0]&252;if(x[c+5608>>2]){d=uc(k);x[b+5608>>2]=d;p=0;if(!d){break a}Gc(d,x[c+5608>>2],k)}f=D(x[c+5624>>2],20);d=uc(f);x[b+5616>>2]=d;i=0;if(!d){break b}Gc(d,x[c+5616>>2],f);m=x[c+5620>>2];if(m){d=x[c+5616>>2];f=x[b+5616>>2];g=0;while(1){if(x[d+12>>2]){m=uc(x[d+16>>2]);x[f+12>>2]=m;p=0;if(!m){break a}Gc(m,x[d+12>>2],x[d+16>>2]);m=x[c+5620>>2]}x[b+5624>>2]=x[b+5624>>2]+1;f=f+20|0;d=d+20|0;g=g+1|0;if(g>>>0>>0){continue}break}}f=D(x[c+5636>>2],20);d=uc(f);x[b+5628>>2]=d;if(!d){break b}Gc(d,x[c+5628>>2],f);x[b+5636>>2]=x[c+5636>>2];i=x[c+5636>>2];if(i){d=x[c+5628>>2];f=x[b+5628>>2];g=0;while(1){m=x[d+8>>2];if(m){x[f+8>>2]=x[b+5616>>2]+D((m-x[c+5616>>2]|0)/20|0,20)}m=x[d+12>>2];if(m){x[f+12>>2]=x[b+5616>>2]+D((m-x[c+5616>>2]|0)/20|0,20)}f=f+20|0;d=d+20|0;g=g+1|0;if((i|0)!=(g|0)){continue}break}}Gc(l,x[c+5584>>2],o);d=b+5644|0;j=j+1|0;if((j|0)!=(n|0)){continue}break}}i=1;b=vc(1,72);d=0;c:{if(!b){break c}v[b+40|0]=y[b+40|0]&254|1;c=vc(1,4);x[b+20>>2]=c;d=b;if(c){break c}jd(b);d=0}b=d;x[a+208>>2]=b;p=0;if(!b){break a}f=x[a+212>>2];c=0;x[b+28>>2]=a+80;x[b+24>>2]=h;d=vc(1,848);x[x[b+20>>2]>>2]=d;d:{if(!d){break d}d=vc(x[h+16>>2],76);g=x[x[b+20>>2]>>2];x[g+20>>2]=d;if(!d){break d}x[g+16>>2]=x[h+16>>2];c=x[a+164>>2];x[b+44>>2]=f;x[b>>2]=c;c=1}if(c){break b}jc(x[a+208>>2]);i=0;x[a+208>>2]=0;hb(e,1,8092,0)}p=i}a=p;Ha=0;return a|0}function Rd(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=Ca-144|0;Ca=c;b=c+68|0;x[b>>2]=a;d=_d(b+4|0);h=Zd(b+32|0);te(d,x[b>>2]+332|0);ue(h,x[b>>2]+288|0);d=x[b>>2];x[d+336>>2]=x[d+332>>2];d=x[b>>2];x[d+292>>2]=x[d+288>>2];h=b;a:{b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}b=b<<24>>24;b:{if(!((b|0)!=84&(b&255)!=71)){x[11118]=0;b=na(203,a|0)|0;a=x[11118];x[11118]=0;if((a|0)!=1){break b}break a}x[c+64>>2]=a;b=0;f=c+48|0;v[f+8|0]=0;x[f+4>>2]=0;w[f>>1]=0;x[f+12>>2]=x[a+364>>2]-x[a+360>>2]>>2;x[11118]=0;d=ra(204,a|0,f|0)|0;e=x[11118];x[11118]=0;if((e|0)==1){break a}x[c+44>>2]=d;if(!d){break b}x[11118]=0;e=ra(205,a|0,f|0)|0;g=x[11118];x[11118]=0;if((g|0)==1){break a}if(e){break b}b=d;if(be(c- -64|0)){break b}x[c+40>>2]=0;b=Pd(c+32|0,3576);d=x[b+4>>2];x[c+8>>2]=x[b>>2];x[c+12>>2]=d;c:{if(Qd(a,c+8|0)){d=a+8|0;b=d;e=x[b+4>>2]-x[b>>2]>>2;while(1){if(!Sd(a,69)){x[11118]=0;b=na(206,a|0)|0;g=x[11118];x[11118]=0;if((g|0)==1){break a}x[c+24>>2]=b;if(!b){break c}de(d,c+24|0);continue}break}x[11118]=0;za(207,c+24|0,a|0,e|0);b=x[11118];x[11118]=0;if((b|0)==1){break a}b=Ca-16|0;Ca=b;g=De(a+408|0,16);d=x[c+28>>2];e=x[c+24>>2];x[b>>2]=e;x[b+4>>2]=d;x[b+8>>2]=e;x[b+12>>2]=d;d=Fe(g,9,0,1,1,1);x[d>>2]=39616;e=x[b+4>>2];x[d+8>>2]=x[b>>2];x[d+12>>2]=e;Ca=b+16|0;x[c+40>>2]=d}x[c+20>>2]=0;if(!(y[f|0]|!y[f+1|0])){b=0;x[11118]=0;d=na(208,a|0)|0;e=x[11118];x[11118]=0;if((e|0)==1){break a}x[c+20>>2]=d;if(!d){break b}}if(Sd(a,118)){b=c+24|0;x[b>>2]=0;x[b+4>>2]=0;b=fe(a,c+20|0,c+44|0,b,c+40|0,f+4|0,f+8|0);break b}d=a+8|0;b=d;e=x[b+4>>2]-x[b>>2]>>2;while(1){x[11118]=0;b=na(208,a|0)|0;g=x[11118];x[11118]=0;if((g|0)==1){break a}x[c+24>>2]=b;if(!b){break c}de(d,c+24|0);if(!be(c- -64|0)){continue}break}x[11118]=0;za(207,c+24|0,a|0,e|0);b=x[11118];x[11118]=0;if((b|0)!=1){b=fe(a,c+20|0,c+44|0,c+24|0,c+40|0,f+4|0,f+8|0);break b}break a}b=0}ge(h);Ca=c+144|0;return b}a=ta()|0;ge(h);ua(a|0);r()}function kd(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,o=0;if(!a){return id(b)}if(b>>>0>=4294967232){x[10518]=48;return 0}f=b>>>0<11?16:b+11&-8;e=a-8|0;i=x[e+4>>2];d=i&-8;a:{if(!(i&3)){if(f>>>0<256){break a}if(d>>>0>=f+4>>>0){c=e;if(d-f>>>0<=x[11114]<<1>>>0){break a}}c=0;break a}g=d+e|0;b:{if(d>>>0>=f>>>0){c=d-f|0;if(c>>>0<16){break b}x[e+4>>2]=i&1|f|2;d=e+f|0;x[d+4>>2]=c|3;x[g+4>>2]=x[g+4>>2]|1;md(d,c);break b}if(x[11e3]==(g|0)){d=d+x[10997]|0;if(d>>>0<=f>>>0){break a}x[e+4>>2]=i&1|f|2;c=e+f|0;d=d-f|0;x[c+4>>2]=d|1;x[10997]=d;x[11e3]=c;break b}if(x[10999]==(g|0)){d=d+x[10996]|0;if(d>>>0>>0){break a}c=d-f|0;c:{if(c>>>0>=16){x[e+4>>2]=i&1|f|2;h=e+f|0;x[h+4>>2]=c|1;d=d+e|0;x[d>>2]=c;x[d+4>>2]=x[d+4>>2]&-2;break c}x[e+4>>2]=d|i&1|2;c=d+e|0;x[c+4>>2]=x[c+4>>2]|1;c=0}x[10999]=h;x[10996]=c;break b}h=x[g+4>>2];if(h&2){break a}j=d+(h&-8)|0;if(j>>>0>>0){break a}l=j-f|0;d:{if(h>>>0<=255){c=x[g+12>>2];d=x[g+8>>2];if((c|0)==(d|0)){n=43976,o=x[10994]&Kl(h>>>3|0),x[n>>2]=o;break d}x[d+12>>2]=c;x[c+8>>2]=d;break d}k=x[g+24>>2];d=x[g+12>>2];e:{if((g|0)!=(d|0)){c=x[g+8>>2];x[c+12>>2]=d;x[d+8>>2]=c;break e}f:{c=g+20|0;h=x[c>>2];if(!h){h=x[g+16>>2];if(!h){break f}c=g+16|0}while(1){m=c;d=h;c=d+20|0;h=x[c>>2];if(h){continue}c=d+16|0;h=x[d+16>>2];if(h){continue}break}x[m>>2]=0;break e}d=0}if(!k){break d}c=x[g+28>>2];h=(c<<2)+44280|0;g:{if(x[h>>2]==(g|0)){x[h>>2]=d;if(d){break g}n=43980,o=x[10995]&Kl(c),x[n>>2]=o;break d}x[(x[k+16>>2]==(g|0)?16:20)+k>>2]=d;if(!d){break d}}x[d+24>>2]=k;c=x[g+16>>2];if(c){x[d+16>>2]=c;x[c+24>>2]=d}c=x[g+20>>2];if(!c){break d}x[d+20>>2]=c;x[c+24>>2]=d}if(l>>>0<=15){x[e+4>>2]=i&1|j|2;c=e+j|0;x[c+4>>2]=x[c+4>>2]|1;break b}x[e+4>>2]=i&1|f|2;c=e+f|0;x[c+4>>2]=l|3;d=e+j|0;x[d+4>>2]=x[d+4>>2]|1;md(c,l)}c=e}if(c){return c+8|0}c=id(b);if(!c){return 0}e=x[a-4>>2];e=(e&3?-4:-8)+(e&-8)|0;Gc(c,a,b>>>0>e>>>0?e:b);jd(a);return c}function Me(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=Ca-48|0;Ca=e;x[e+40>>2]=d;x[e+44>>2]=c;d=0;a:{if(xe(a,e+40|0)){break a}Sd(a,76);b:{c:{d:{e:{f:{d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}d=d<<24>>24;if((d|0)<49){break f}if(d>>>0<=57){d=Ce(a);break e}if((d|0)!=85){break f}d=Re(a,b);break e}f=Pd(e+28|0,3611);d=x[f+4>>2];x[e+8>>2]=x[f>>2];x[e+12>>2]=d;if(Qd(a,e+8|0)){d=a+8|0;c=x[d+4>>2]-x[d>>2]>>2;while(1){b=Ce(a);x[e+20>>2]=b;if(!b){break d}de(d,e+20|0);if(!Sd(a,69)){continue}break}ee(e+20|0,a,c);f=Ca-16|0;Ca=f;b=De(a+408|0,16);d=x[e+24>>2];c=x[e+20>>2];x[f>>2]=c;x[f+4>>2]=d;x[f+8>>2]=c;x[f+12>>2]=d;d=Fe(b,49,0,1,1,1);x[d>>2]=38628;b=x[f+4>>2];x[d+8>>2]=x[f>>2];x[d+12>>2]=b;Ca=f+16|0;break e}d=0;f=x[a>>2];if((f|0)!=x[a+4>>2]){f=y[f|0]}else{f=0}if(((f<<24>>24)-67&255)>>>0<=1){if(x[e+40>>2]|!c){break a}g=Ca-32|0;Ca=g;h=e+44|0;c=x[h>>2];if(y[c+4|0]==44){x[g+28>>2]=c;i=h,j=Ef(De(a+408|0,12),x[x[g+28>>2]+8>>2],43),x[i>>2]=j}g:{if(Sd(a,67)){f=Sd(a,73);c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}c=c<<24>>24;if((c-49&255)>>>0>4){break g}x[g+24>>2]=(c&255)-48;x[a>>2]=x[a>>2]+1;if(b){v[b|0]=1}h:{if(!f){break h}if(ae(a,b)){break h}break g}v[g+23|0]=0;d=Hf(a,h,g+23|0,g+24|0);break g}c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}if((c|0)!=68){break g}c=x[a>>2];if(x[a+4>>2]-c>>>0>1){c=y[c+1|0]}else{c=0}f=c<<24>>24;c=(f&255)-48|0;if(c>>>0>5|(c|0)==3){break g}x[g+16>>2]=(f&255)-48;x[a>>2]=x[a>>2]+2;if(b){v[b|0]=1}v[g+15|0]=1;d=Hf(a,h,g+15|0,g+16|0)}Ca=g+32|0;break e}d=Se(a,b)}x[e+36>>2]=d;if(!(!d|!x[e+40>>2])){d=De(a+408|0,16);c=x[e+40>>2];b=x[e+36>>2];d=Fe(d,26,0,1,1,1);x[d+12>>2]=b;x[d+8>>2]=c;x[d>>2]=38852;x[e+36>>2]=d;break c}if(d){break c}d=0;break b}d=0;break a}d=Qe(a,d);x[e+36>>2]=d}if(!d|!x[e+44>>2]){break a}c=De(a+408|0,16);b=x[e+44>>2];a=x[e+36>>2];d=Fe(c,23,0,1,1,1);x[d+12>>2]=a;x[d+8>>2]=b;x[d>>2]=38960}Ca=e+48|0;return d}function ch(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|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;f=e;b=0;h=0;e=x[a+48>>2];a:{if(e>>>0>=c>>>0){x[a+48>>2]=e-c;x[a+36>>2]=x[a+36>>2]+c;b=d+x[a+60>>2]|0;f=b+1|0;e=b;b=c+x[a+56>>2]|0;e=b>>>0>>0?f:e;x[a+56>>2]=b;x[a+60>>2]=e;Ha=d;a=c;break a}if(y[a+68|0]&4){x[a+48>>2]=0;x[a+36>>2]=e+x[a+36>>2];b=x[a+60>>2];c=x[a+56>>2];d=c+e|0;x[a+56>>2]=d;x[a+60>>2]=c>>>0>d>>>0?b+1|0:b;Ha=e?0:-1;a=e?e:-1;break a}if(e){x[a+48>>2]=0;x[a+36>>2]=x[a+32>>2];g=c;b=e;c=c-e|0;d=d-(e>>>0>g>>>0)|0}b:{if(!!c&(d|0)>=0|(d|0)>0){while(1){g=x[a+12>>2];e=d+h|0;j=e+1|0;i=e;e=b+c|0;i=x[a+60>>2]+(e>>>0>>0?j:i)|0;k=i+1|0;j=i;i=e+x[a+56>>2]|0;e=e>>>0>i>>>0?k:j;if((g|0)==(e|0)&i>>>0>A[a+8>>2]|e>>>0>g>>>0){hb(f,4,19599,0);x[a+48>>2]=0;x[a+36>>2]=x[a+32>>2];c=h+x[a+60>>2]|0;d=b;b=b+x[a+56>>2]|0;d=d>>>0>b>>>0?c+1|0:c;x[a+56>>2]=b;x[a+60>>2]=d;c=x[a+8>>2];g=c-b|0;f=x[a+12>>2];e=f;h=e-((b>>>0>c>>>0)+d|0)|0;i=Ia[x[a+28>>2]](c,e,x[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;e=x[a+68>>2];if(i){x[a+56>>2]=c;x[a+60>>2]=f;e=e&-5}x[a+68>>2]=e|4;c=(b|0)==(c|0)&(d|0)==(f|0);a=c?-1:g;break b}e=Ia[x[a+24>>2]](c,d,x[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;g=Ha;if((e&g)==-1){hb(f,4,19599,0);x[a+68>>2]=x[a+68>>2]|4;c=h+x[a+60>>2]|0;e=c+1|0;d=c;c=b+x[a+56>>2]|0;d=c>>>0>>0?e:d;x[a+56>>2]=c;x[a+60>>2]=d;c=!(b|h);a=c?-1:b;break b}h=g+h|0;b=b+e|0;h=b>>>0>>0?h+1|0:h;d=d-((c>>>0>>0)+g|0)|0;c=c-e|0;if(!!c&(d|0)>=0|(d|0)>0){continue}break}}c=h+x[a+60>>2]|0;e=c+1|0;d=c;c=b+x[a+56>>2]|0;d=c>>>0>>0?e:d;x[a+56>>2]=c;x[a+60>>2]=d;Ha=h;a=b;break a}Ha=c?-1:h}return a|0}function Hb(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:{c=vc(1,232);if(c){x[c>>2]=1;x[c+184>>2]=1;v[c+188|0]=y[c+188|0]|6;a=vc(1,5644);x[c+12>>2]=a;if(!a){break a}a=vc(1,1e3);x[c+16>>2]=a;if(!a){break a}x[c+48>>2]=0;x[c+52>>2]=0;x[c+44>>2]=-1;x[c+20>>2]=1e3;b:{b=vc(1,48);if(b){x[b+24>>2]=0;x[b+32>>2]=100;a=vc(100,24);x[b+28>>2]=a;if(a){break b}jd(b)}x[c+200>>2]=0;break a}x[b+40>>2]=0;x[c+200>>2]=b;a=rc();x[c+196>>2]=a;if(!a){break a}a=rc();x[c+192>>2]=a;if(!a){break a}b=3524;a=x[881];c:{if((a^-1)&a-16843009&-2139062144){break c}while(1){a=a^1027423549;if((a^-1)&a-16843009&-2139062144){break c}a=x[b+4>>2];b=b+4|0;if(!(a-16843009&(a^-1)&-2139062144)){continue}break}}while(1){a=b;d=y[a|0];if(d){b=a+1|0;if((d|0)!=61){continue}}break}b=0;d:{if((a|0)==3524){break d}d=a-3524|0;e:{if(y[d+3524|0]){break e}b=x[10519];if(!b){break e}a=x[b>>2];if(!a){break e}while(1){f:{if(!Vc(3524,a,d)){a=d+x[b>>2]|0;if(y[a|0]==61){break f}}a=x[b+4>>2];b=b+4|0;if(a){continue}break e}break}e=a+1|0}b=e}a=b;g:{if(!a){break g}b=w[15348];h:{if(!b){x[10518]=28;d=-1;break h}i:{j:{if((b|0)>-2){break j}d=200809;k:{switch((b&255)-1|0){case 1:d=131072;break h;case 2:d=32768;break h;case 3:d=65536;break h;case 4:case 10:d=2147483647;break h;case 5:case 6:d=1;break h;case 7:case 8:d=la()>>>16|0;break h;case 0:break i;case 9:break k;default:break j}}d=0;break h}d=b}}if(!Sc(a,3515)){g=d;break g}while(1){b=a;a=a+1|0;e=v[b|0];if((e|0)==32|e-9>>>0<5){continue}break}l:{m:{n:{e=v[b|0];switch(e-43|0){case 0:break m;case 2:break n;default:break l}}h=1}e=v[a|0];b=a}if(e-48>>>0<10){while(1){f=(D(f,10)-v[b|0]|0)+48|0;a=v[b+1|0];b=b+1|0;if(a-48>>>0<10){continue}break}}b=h?f:0-f|0;if((b|0)<0){break g}a=d?d<<1:64;g=(a|0)>(b|0)?b:a}a=lb(g);x[c+212>>2]=a;if(!a){a=lb(0);x[c+212>>2]=a;if(!a){break a}}}else{c=0}return c}zb(c);return 0}function oc(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,o=0;j=Ca-256|0;Ca=j;a:{if(!a){a=0;break a}if(!(x[a>>2]==(b|0)&x[a+4>>2]==(c|0))){x[a+4>>2]=c;x[a>>2]=b;x[j>>2]=c;x[j+128>>2]=b;e=c;f=b;while(1){o=i;i=i+1|0;h=i<<2;n=(e+1|0)/2|0;x[h+j>>2]=n;k=h+(j+128|0)|0;h=(f+1|0)/2|0;x[k>>2]=h;m=D(e,f);g=m+g|0;e=n;f=h;if(m>>>0>1){continue}break}x[a+8>>2]=g;b:{c:{d:{e:{if(!g){e=x[a+12>>2];if(!e){break d}f=a+12|0;break e}g=g<<4;if(g>>>0<=A[a+16>>2]){break b}b=yc(x[a+12>>2],g);if(b){break c}hb(d,1,10842,0);f=a+12|0;e=x[f>>2];if(!e){break d}}jd(e);x[f>>2]=0}jd(a);a=0;break a}x[a+12>>2]=b;c=b;b=x[a+16>>2];Hc(c+b|0,0,g-b|0);x[a+16>>2]=g;c=x[a+4>>2];b=x[a>>2]}f=x[a+12>>2];if(o){d=0;e=(D(b,c)<<4)+f|0;g=e;while(1){b=d<<2;k=x[b+j>>2];f:{if((k|0)<=0){break f}m=k-1|0;l=0;g:{h:{c=x[b+(j+128|0)>>2];if((c|0)<=0){n=k&1;i=0;if((k|0)!=1){break h}b=g;break g}while(1){b=g;g=c;while(1){i:{x[f>>2]=e;if((g|0)==1){f=f+16|0;e=e+16|0;break i}x[f+16>>2]=e;e=e+16|0;f=f+32|0;h=(g|0)>2;g=g-2|0;if(h){continue}}break}h=((l|0)==(m|0)|l)&1;g=h?e:b+(c<<4)|0;e=h?e:b;l=l+1|0;if((k|0)!=(l|0)){continue}break}break f}h=k&-2;while(1){b=(i|0)==(m|0);i=i+2|0;e=b?e:g;g=e;b=e;l=l+2|0;if((h|0)!=(l|0)){continue}break}}if(!n){g=e;break f}g=(c<<4)+b|0;c=((i|0)==(m|0)|i)&1;g=c?e:g;e=c?e:b}d=d+1|0;if((o|0)!=(d|0)){continue}break}}x[f>>2]=0}c=x[a+8>>2];if(!c){break a}e=x[a+12>>2];if(c>>>0>=4){b=c&-4;f=0;while(1){x[e+12>>2]=0;x[e+4>>2]=999;x[e+8>>2]=0;x[e+60>>2]=0;x[e+52>>2]=999;x[e+56>>2]=0;x[e+44>>2]=0;x[e+36>>2]=999;x[e+40>>2]=0;x[e+28>>2]=0;x[e+20>>2]=999;x[e+24>>2]=0;e=e- -64|0;f=f+4|0;if((b|0)!=(f|0)){continue}break}}b=c&3;if(!b){break a}f=0;while(1){x[e+12>>2]=0;x[e+4>>2]=999;x[e+8>>2]=0;e=e+16|0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}Ca=j+256|0;return a}function lc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=x[x[a+24>>2]+24>>2]+D(b,52)|0;l=x[m+4>>2];k=l-1|0;n=x[a+60>>2];j=k+n|0;p=0-!l|0;i=p;r=x[x[x[a+20>>2]>>2]+20>>2]+D(b,76)|0;o=x[r+12>>2];i=Hl(j,j>>>0>>0?i+1|0:i,l,0);q=i>>>0>o>>>0?o:i;j=x[m>>2];m=j-1|0;s=x[a+56>>2];o=m+s|0;n=0-!j|0;i=n;t=x[r+8>>2];i=Hl(o,o>>>0>>0?i+1|0:i,j,0);o=i>>>0>t>>>0?t:i;i=p;t=x[r+4>>2];s=x[a+52>>2];k=s+k|0;i=Hl(k,k>>>0>>0?i+1|0:i,l,0);k=i>>>0>>0?t:i;i=n;p=x[r>>2];n=m;m=x[a+48>>2];l=n+m|0;i=Hl(l,l>>>0>>0?i+1|0:i,j,0);i=i>>>0

>>0?p:i;l=0;p=x[(x[x[a+32>>2]+5584>>2]+D(b,1080)|0)+20>>2];c=x[r+20>>2]+(c?0-c|0:-1)|0;a:{if(!c){a=o;l=i;b=k;break a}m=c-1|0;j=(d&1)<>>0>>0){a=c&31;n=i-j|0;if((c&63)>>>0>=32){i=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;b=a;a=c&31;l=(c&63)>>>0>=32?i>>>a|0:((1<>>a}a=0;b=0;d=d>>>1<>>0>>0){b=c&31;n=k-d|0;if((c&63)>>>0>=32){i=-1<>>32-b;b=-1<>>0>>0?i+1|0:i;k=b;b=c&31;b=(c&63)>>>0>=32?i>>>b|0:((1<>>b}if(j>>>0>>0){a=c&31;k=o-j|0;if((c&63)>>>0>=32){i=-1<>>32-a;a=-1<>>0>>0?i+1|0:i;j=a;a=c&31;a=(c&63)>>>0>=32?i>>>a|0:((1<>>a}if(d>>>0>=q>>>0){q=0;break a}k=q-d|0;d=c&31;if((c&63)>>>0>=32){i=-1<>>32-d;d=-1<>>0>>0?i+1|0:i;j=d;d=c&31;q=(c&63)>>>0>=32?i>>>d|0:((1<>>d}c=(p|0)==1?2:3;d=c+a|0;d=(a>>>0>d>>>0?-1:d)>>>0>e>>>0;a=c+q|0;d=d&(a>>>0>>0?-1:a)>>>0>f>>>0;a=l-c|0;d=d&(a>>>0<=l>>>0?a:0)>>>0>>0;a=b-c|0;return d&(a>>>0<=b>>>0?a:0)>>>0>>0}function Bb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=ib();x[b+72>>2]=e;a:{b:{if(!e){break b}c:{if(tc(x[b+196>>2],77,d)){if(tc(x[b+196>>2],78,d)){break c}}break a}g=x[b+196>>2];i=x[g>>2];f=x[g+8>>2];d:{if(i){e=1;if((i|0)!=1){k=i&-2;while(1){h=0;e:{if(!e){break e}h=0;if(!(Ia[x[f>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break e}h=(Ia[x[f+4>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}e=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}f:{g:{if(i&1){if(!e){break g}e=(Ia[x[f>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}x[g>>2]=0;if(!e){break f}break d}x[g>>2]=0}break a}x[g>>2]=0}h:{if(tc(x[b+192>>2],79,d)){if(tc(x[b+192>>2],80,d)){break h}}break a}g=x[b+192>>2];i=x[g>>2];f=x[g+8>>2];i:{if(i){e=1;if((i|0)!=1){k=i&-2;j=0;while(1){h=0;j:{if(!e){break j}h=0;if(!(Ia[x[f>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break j}h=(Ia[x[f+4>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}e=h;f=f+8|0;j=j+2|0;if((k|0)!=(j|0)){continue}break}}k:{l:{if(i&1){if(!e){break l}e=(Ia[x[f>>2]](b,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}x[g>>2]=0;if(!e){break k}break i}x[g>>2]=0}break a}x[g>>2]=0}a=ib();x[c>>2]=a;if(!a){break b}kb(x[b+72>>2],a);a=D(x[b+108>>2],x[b+104>>2]);x[x[b+200>>2]+36>>2]=a;d=vc(a,40);a=x[b+200>>2];x[a+40>>2]=d;m:{if(!d){break m}if(!x[a+36>>2]){return 1}f=0;while(1){e=D(f,40);a=e+d|0;x[a+20>>2]=0;x[a+28>>2]=100;a=vc(100,24);g=x[b+200>>2];d=x[g+40>>2];x[(e+d|0)+24>>2]=a;if(!a){break m}l=1;f=f+1|0;if(f>>>0>2]){continue}break}break b}jb(x[c>>2]);l=0;x[c>>2]=0}return l}jb(x[b+72>>2]);x[b+72>>2]=0;return 0}function bc(a){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;g=x[a+16>>2];if(g>>>0>=32){return x[a+8>>2]}d=x[a+20>>2];a:{if((d|0)>=4){b=x[a>>2];c=x[b-3>>2];d=d-4|0;x[a+20>>2]=d;x[a>>2]=b-4;break a}if((d|0)<=0){break a}k=d&1;b=x[a>>2];b:{if((d|0)==1){e=24;break b}j=d&-2;e=24;while(1){h=b-1|0;x[a>>2]=h;i=y[b|0];b=b-2|0;x[a>>2]=b;x[a+20>>2]=d-1;h=y[h|0];d=d-2|0;x[a+20>>2]=d;c=i<>2]=b-1;b=y[b|0];x[a+20>>2]=d-1;c=b<>2];j=c&255;x[a+24>>2]=j>>>0>143;b=b?(c&2130706432)==2130706432?7:8:8;h=b+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;i=h+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;k=i+(g+(e>>>0<=143?8:(c&127)==127?7:8)|0)|0;x[a+16>>2]=k;l=x[a+12>>2];b=f<>>24|e<>>0>=32){e=b<>>32-c;b=b<>2];b=e|l;h=b;x[a+8>>2]=g;x[a+12>>2]=b;if(k>>>0<=31){c:{if((d|0)>=4){b=x[a>>2];c=x[b-3>>2];x[a+20>>2]=d-4;x[a>>2]=b-4;break c}if((d|0)<=0){c=0;break c}i=d&1;b=x[a>>2];d:{if((d|0)==1){e=24;c=0;break d}l=d&-2;e=24;c=0;f=0;while(1){m=b-1|0;x[a>>2]=m;n=y[b|0];b=b-2|0;x[a>>2]=b;x[a+20>>2]=d-1;m=y[m|0];d=d-2|0;x[a+20>>2]=d;c=n<>2]=b-1;b=y[b|0];x[a+20>>2]=d-1;c=b<>2]=d>>>0>143;j=j>>>0<=143?8:(c&2130706432)==2130706432?7:8;i=j+(c>>>0<=2415919103?8:(c&8323072)==8323072?7:8)|0;f=c>>>16&255;l=i+(f>>>0<=143?8:(c&32512)==32512?7:8)|0;e=c>>>8&255;x[a+16>>2]=l+(k+(e>>>0<=143?8:(c&127)==127?7:8)|0);b=a;a=f<>>24|e<>>0>=32){d=a<>>32-c;a=a<>2]=g;x[b+12>>2]=d|h}return g}function rh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,B,C,E,F,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;d=0;f=Ca-16|0;Ca=f;x[f+12>>2]=e;i=x[a+72>>2];b=x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2];v[b+5640|0]=y[b+5640|0]|1;a:{if(e>>>0<=4){hb(g,1,8982,0);break a}cb(c,b,1);if(A[b>>2]>=8){hb(g,1,8948,0);break a}cb(c+1|0,f+8|0,1);h=x[f+8>>2];x[b+4>>2]=h;if((h|0)>=5){hb(g,1,8907,0);x[b+4>>2]=-1}cb(c+2|0,b+8|0,2);h=x[b+8>>2];if(h-65536>>>0<=4294901760){x[f>>2]=h;hb(g,1,12445,f);break a}j=x[a+164>>2];x[b+12>>2]=j?j:h;cb(c+4|0,b+16|0,1);if(A[b+16>>2]>=2){hb(g,1,9953,0);break a}j=c+5|0;x[f+12>>2]=e-5;i=x[i+16>>2];b:{if(!i){break b}c=x[b>>2]&1;e=x[b+5584>>2];h=0;if(i>>>0>=8){k=i&-8;b=0;while(1){x[e+D(d,1080)>>2]=c;x[e+D(d|1,1080)>>2]=c;x[e+D(d|2,1080)>>2]=c;x[e+D(d|3,1080)>>2]=c;x[e+D(d|4,1080)>>2]=c;x[e+D(d|5,1080)>>2]=c;x[e+D(d|6,1080)>>2]=c;x[e+D(d|7,1080)>>2]=c;d=d+8|0;b=b+8|0;if((k|0)!=(b|0)){continue}break}}b=i&7;if(!b){break b}while(1){x[e+D(d,1080)>>2]=c;d=d+1|0;h=h+1|0;if((b|0)!=(h|0)){continue}break}}d=0;if(!Qb(a,0,j,f+12|0,g)){hb(g,1,8982,0);break a}if(x[f+12>>2]){hb(g,1,8982,0);break a}if(A[x[a+72>>2]+16>>2]>=2){c=x[(x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2])+5584>>2];d=x[c+4>>2]<<2;e=c+944|0;g=c+812|0;h=1;b=c;while(1){x[b+1084>>2]=x[c+4>>2];x[b+1088>>2]=x[c+8>>2];x[b+1092>>2]=x[c+12>>2];x[b+1096>>2]=x[c+16>>2];x[b+1100>>2]=x[c+20>>2];Gc(b+1892|0,g,d);Gc(b+2024|0,e,d);b=b+1080|0;h=h+1|0;if(h>>>0>2]+16>>2]){continue}break}}d=1}Ca=f+16|0;Ha=0;return d|0}function cc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=x[a+16>>2];if(h>>>0>=32){return x[a+8>>2]}d=x[a+24>>2];a:{if((d|0)>=4){b=x[a>>2];c=x[b>>2];f=d-4|0;x[a+24>>2]=f;x[a>>2]=b+4;break a}c=x[a+28>>2]?-1:0;if((d|0)<=0){f=d;break a}j=d&1;b=x[a>>2];b:{if((d|0)==1){e=b;break b}i=d&-2;while(1){x[a>>2]=b+1;k=y[b|0];e=b+2|0;x[a>>2]=e;x[a+24>>2]=d-1;b=y[b+1|0];d=d-2|0;x[a+24>>2]=d;m=b;b=g|8;c=m<>2]=e+1;b=y[e|0];x[a+24>>2]=d-1;c=(255<>2];i=c>>>24|0;x[a+20>>2]=(i|0)==255;e=c>>>16&255;d=c>>>8&255;b=b?7:8;c=c&255;g=b+((c|0)==255?7:8)|0;k=((d|0)==255?7:8)+g|0;j=(h+((e|0)==255?7:8)|0)+k|0;x[a+16>>2]=j;l=x[a+12>>2];b=c|(d<>>0>=32){e=b<>>32-c;b=b<>2];b=e|l;k=b;x[a+8>>2]=h;x[a+12>>2]=b;if(j>>>0<=31){c:{if((f|0)>=4){b=x[a>>2];d=x[b>>2];x[a+24>>2]=f-4;x[a>>2]=b+4;break c}g=0;d=x[a+28>>2]?-1:0;if((f|0)<=0){break c}l=f&1;b=x[a>>2];d:{if((f|0)==1){c=b;break d}n=f&-2;e=0;while(1){x[a>>2]=b+1;o=y[b|0];c=b+2|0;x[a>>2]=c;x[a+24>>2]=f-1;b=y[b+1|0];f=f-2|0;x[a+24>>2]=f;m=b;b=g|8;d=m<>2]=c+1;b=y[c|0];x[a+24>>2]=f-1;d=(255<>>24|0;x[a+20>>2]=(c|0)==255;e=d>>>16&255;f=d>>>8&255;g=(i|0)==255?7:8;d=d&255;i=g+((d|0)==255?7:8)|0;l=((f|0)==255?7:8)+i|0;x[a+16>>2]=(j+((e|0)==255?7:8)|0)+l;b=a;a=d|(f<>>0>=32){e=a<>>32-c;a=a<>2]=h;x[b+12>>2]=e|k}return h}function Vh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,A,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;f=0;h=0;i=0;b=Ca-80|0;Ca=b;a:{if(e>>>0<=2){hb(g,1,18447,0);break a}if(y[a+124|0]){hb(g,4,15202,0);f=1;break a}f=1;cb(c,a+40|0,1);cb(c+1|0,a+52|0,1);cb(c+2|0,a+44|0,1);d=c+3|0;b:{c:{d:{e:{f:{j=x[a+40>>2];switch(j-1|0){case 1:break e;case 0:break f;default:break d}}if(e>>>0<=6){x[b+16>>2]=e;hb(g,1,19124,b+16|0);f=0;break a}if(!((e|0)==7|x[a+48>>2]==14)){x[b+48>>2]=e;hb(g,2,19124,b+48|0)}cb(d,a+48|0,4);if(x[a+48>>2]!=14){break b}d=uc(36);if(!d){f=0;hb(g,1,12327,0);break a}x[d>>2]=14;x[b+64>>2]=0;x[b+56>>2]=0;x[b+72>>2]=0;x[b+60>>2]=0;x[b+68>>2]=0;x[b+76>>2]=0;f=4470064;x[b+52>>2]=4470064;x[d+4>>2]=1145390592;g:{if((e|0)!=7){if((e|0)==35){cb(c+7|0,b+76|0,4);cb(c+11|0,b+72|0,4);cb(c+15|0,b+68|0,4);cb(c+19|0,b- -64|0,4);cb(c+23|0,b+60|0,4);cb(c+27|0,b+56|0,4);cb(c+31|0,b+52|0,4);x[d+4>>2]=0;f=x[b+52>>2];c=x[b+56>>2];e=x[b+64>>2];h=x[b+68>>2];i=x[b+76>>2];g=x[b+72>>2];j=x[b+60>>2];break g}x[b+32>>2]=e;hb(g,2,19160,b+32|0)}c=0;e=0;g=0;j=0}x[d+24>>2]=j;x[d+16>>2]=h;x[d+8>>2]=i;x[d+32>>2]=f;x[d+28>>2]=c;x[d+20>>2]=e;x[d+12>>2]=g;x[a+112>>2]=0;x[a+108>>2]=d;break b}f=e-3|0;x[a+112>>2]=f;c=vc(1,f);x[a+108>>2]=c;if(!c){break c}if((e|0)<=3){break b}c=0;while(1){cb(d,b+76|0,1);v[x[a+108>>2]+c|0]=x[b+76>>2];d=d+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}break b}if(j>>>0<3){break a}x[b>>2]=j;hb(g,4,19919,b);break a}f=0;x[a+112>>2]=0;break a}f=1;v[a+124|0]=1}Ca=b+80|0;Ha=0;return f|0}function $b(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,o=0,p=0;x[a+8>>2]=0;x[a+12>>2]=0;x[a>>2]=b;x[a+28>>2]=d;x[a+16>>2]=0;x[a+20>>2]=0;g=c-1|0;x[a+24>>2]=g;n=b&3;a:{if((c|0)<=0){e=b;b=d;break a}e=b+1|0;x[a>>2]=e;b=y[b|0]}h=8;x[a+16>>2]=8;i=b;x[a+8>>2]=b;x[a+12>>2]=0;f=b&255;j=(f|0)==255;x[a+20>>2]=j;b:{if((n|0)==3){break b}o=c-2|0;x[a+24>>2]=o;c:{if((c|0)<2){b=e;e=d;break c}b=e+1|0;x[a>>2]=b;e=y[e|0]}h=(f|0)==255?15:16;x[a+16>>2]=h;k=e&255;j=(k|0)==255;x[a+20>>2]=j;i=i|e<<8;x[a+8>>2]=i;m=e>>>24|0;x[a+12>>2]=m;if((n|0)==2){e=b;c=g;g=o;break b}l=c-3|0;x[a+24>>2]=l;d:{if((c|0)<3){f=b;b=d;break d}f=b+1|0;x[a>>2]=f;b=y[b|0]}p=b&255;j=(p|0)==255;x[a+20>>2]=j;k=((k|0)==255?7:8)+h|0;x[a+16>>2]=k;g=h&31;if((h&63)>>>0>=32){e=b<>>32-g;b=b<>2]=i;x[a+12>>2]=b;if((n|0)==1){e=f;h=k;c=o;g=l;break b}g=c-4|0;x[a+24>>2]=g;e:{if((c|0)<4){e=f;b=d;break e}e=f+1|0;x[a>>2]=e;b=y[f|0]}j=(b&255)==255;x[a+20>>2]=j;h=k+((p|0)==255?7:8)|0;x[a+16>>2]=h;c=k&31;if((k&63)>>>0>=32){f=b<>>32-c;b=b<>2]=i;x[a+12>>2]=b;c=l}f:{if((c|0)>=5){d=x[e>>2];x[a+24>>2]=c-5;x[a>>2]=e+4;break f}b=0;d=d?-1:0;if((c|0)<2){break f}while(1){f=e+1|0;x[a>>2]=f;e=y[e|0];c=g-1|0;x[a+24>>2]=c;d=(255<>>0>1;e=f;g=c;if(l){continue}break}}l=d>>>24|0;x[a+20>>2]=(l|0)==255;f=d>>>16&255;g=d>>>8&255;e=d&255;d=j?7:8;c=((e|0)==255?7:8)+d|0;b=((g|0)==255?7:8)+c|0;x[a+16>>2]=(((f|0)==255?7:8)+h|0)+b;b=e|(g<>>0>=32){c=b<>>32-d;b=b<>2]=b|i;x[a+12>>2]=c|m}function gj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,A,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;b=0;f=0;d=Ca+-64|0;Ca=d;a:{if(xd(c,31920,0)){x[e>>2]=0;b=1;break a}b:{if(y[a+8|0]&24){f=1}else{if(!c){break b}g=yd(c,31652);if(!g){break b}f=(y[g+8|0]&24)!=0}f=xd(a,c,f)}if(f){b=1;a=x[e>>2];if(!a){break a}x[e>>2]=x[a>>2];break a}c:{if(!c){break c}c=yd(c,31700);if(!c){break a}f=x[e>>2];if(f){x[e>>2]=x[f>>2]}f=x[c+8>>2];g=x[a+8>>2];if(f&(g^-1)&7|g&(f^-1)&96){break a}b=1;if(xd(x[a+12>>2],x[c+12>>2],0)){break a}if(xd(x[a+12>>2],31908,0)){a=x[c+12>>2];if(!a){break a}b=!yd(a,31752);break a}g=x[a+12>>2];if(!g){break c}b=0;f=yd(g,31700);if(f){if(!(v[a+8|0]&1)){break a}a=x[c+12>>2];d:{e:{while(1){c=0;if(!a){break d}a=yd(a,31700);if(!a|x[a+8>>2]&(x[f+8>>2]^-1)){break e}c=1;if(xd(x[f+12>>2],x[a+12>>2],0)){break d}if(!(v[f+8|0]&1)){break e}c=x[f+12>>2];if(!c){break e}f=yd(c,31700);if(f){a=x[a+12>>2];continue}break}c=yd(c,31812);if(!c){break e}b=Ad(c,x[a+12>>2])}c=b}b=c;break a}f=yd(g,31812);if(f){if(!(v[a+8|0]&1)){break a}b=Ad(f,x[c+12>>2]);break a}f=yd(g,31604);if(!f){break a}a=x[c+12>>2];if(!a){break a}a=yd(a,31604);if(!a){break a}Hc(d+12|0,0,52);x[d+56>>2]=1;x[d+20>>2]=-1;x[d+16>>2]=f;x[d+8>>2]=a;Ia[x[x[a>>2]+28>>2]](a,0,d+8|0,0,x[e>>2],0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=x[d+32>>2];if(!(!x[e>>2]|(a|0)!=1)){x[e>>2]=x[d+24>>2]}b=(a|0)==1;break a}b=0}Ca=d- -64|0;Ha=0;return b|0}function gb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;g=x[a+48>>2];if(g>>>0>=c>>>0){Gc(b,x[a+36>>2],c);x[a+36>>2]=x[a+36>>2]+c;x[a+48>>2]=x[a+48>>2]-c;f=x[a+60>>2];b=x[a+56>>2]+c|0;f=b>>>0>>0?f+1|0:f;x[a+56>>2]=b;x[a+60>>2]=f;return c}if(y[a+68|0]&4){Gc(b,x[a+36>>2],g);c=x[a+48>>2];x[a+48>>2]=0;x[a+36>>2]=c+x[a+36>>2];b=x[a+60>>2];d=c;c=x[a+56>>2]+c|0;b=d>>>0>c>>>0?b+1|0:b;x[a+56>>2]=c;x[a+60>>2]=b;return g?g:-1}a:{if(g){h=Gc(b,x[a+36>>2],g);i=x[a+32>>2];x[a+36>>2]=i;b=x[a+48>>2];x[a+48>>2]=0;e=x[a+60>>2];f=x[a+56>>2]+b|0;e=f>>>0>>0?e+1|0:e;x[a+56>>2]=f;x[a+60>>2]=e;c=c-b|0;b=b+h|0;break a}i=x[a+32>>2];x[a+36>>2]=i}b:{c:{while(1){d:{e=x[a>>2];h=x[a+16>>2];f=x[a+64>>2];e:{if(f>>>0>c>>>0){h=Ia[h|0](i,0,f,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;x[a+48>>2]=h;if((h|0)==-1){break b}if(c>>>0<=h>>>0){break d}Gc(b,x[a+36>>2],h);i=x[a+32>>2];x[a+36>>2]=i;e=x[a+48>>2];break e}e=Ia[h|0](b,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;x[a+48>>2]=e;if((e|0)==-1){break b}if(c>>>0<=e>>>0){break c}i=x[a+32>>2];x[a+36>>2]=i;h=e}x[a+48>>2]=0;f=x[a+60>>2];j=x[a+56>>2]+e|0;f=j>>>0>>0?f+1|0:f;x[a+56>>2]=j;x[a+60>>2]=f;b=b+e|0;c=c-e|0;g=g+h|0;continue}break}Gc(b,x[a+36>>2],c);x[a+36>>2]=x[a+36>>2]+c;x[a+48>>2]=x[a+48>>2]-c;b=x[a+60>>2];d=x[a+56>>2]+c|0;b=d>>>0>>0?b+1|0:b;x[a+56>>2]=d;x[a+60>>2]=b;return c+g|0}x[a+48>>2]=0;x[a+36>>2]=x[a+32>>2];b=x[a+60>>2];c=x[a+56>>2]+e|0;b=c>>>0>>0?b+1|0:b;x[a+56>>2]=c;x[a+60>>2]=b;return e+g|0}hb(d,4,19599,0);x[a+48>>2]=0;x[a+68>>2]=x[a+68>>2]|4;return g?g:-1}function Eh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;h=0;f=Ca-16|0;Ca=f;d=x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2];a:{if(e>>>0<=1){hb(g,1,8523,0);a=0;break a}cb(c,f+12|0,2);b:{if(x[f+12>>2]){hb(g,2,8032,0);break b}if(e>>>0<=6){hb(g,1,8523,0);a=0;break a}cb(c+2|0,f+12|0,2);b=x[d+5616>>2];j=y[f+12|0];c:{d:{e:{i=x[d+5620>>2];if(!i){a=b;break e}a=b;while(1){if(x[a+8>>2]==(j|0)){break e}a=a+20|0;h=h+1|0;if((h|0)!=(i|0)){continue}break}break d}if((h|0)!=(i|0)){break c}}if(x[d+5624>>2]==(i|0)){a=i+10|0;x[d+5624>>2]=a;a=yc(b,D(a,20));b=x[d+5616>>2];if(!a){jd(b);x[d+5624>>2]=0;x[d+5616>>2]=0;x[d+5620>>2]=0;hb(g,1,8549,0);a=0;break a}f:{if((a|0)==(b|0)){break f}k=x[d+5632>>2];if(!k){break f}l=x[d+5628>>2];h=0;while(1){i=D(h,20)+l|0;m=x[i+8>>2];if(m){x[i+8>>2]=a+D((m-b|0)/20|0,20)}m=x[i+12>>2];if(m){x[i+12>>2]=a+D((m-b|0)/20|0,20)}h=h+1|0;if((k|0)!=(h|0)){continue}break}}x[d+5616>>2]=a;b=x[d+5620>>2];Hc(a+D(b,20)|0,0,D(x[d+5624>>2]-b|0,20));i=x[d+5620>>2];b=x[d+5616>>2]}x[d+5620>>2]=i+1;a=D(i,20)+b|0}b=x[a+12>>2];if(b){jd(b);x[a+12>>2]=0;x[a+16>>2]=0}x[a+8>>2]=j;b=x[f+12>>2];x[a>>2]=b>>>10&3;x[a+4>>2]=b>>>8&3;cb(c+4|0,f+12|0,2);if(x[f+12>>2]){hb(g,2,7447,0);break b}b=e-6|0;d=uc(b);x[a+12>>2]=d;if(!d){hb(g,1,8523,0);a=0;break a}Gc(d,c+6|0,b);x[a+16>>2]=b}a=1}Ca=f+16|0;Ha=0;return a|0}function tf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ca-160|0;Ca=b;x[b+156>>2]=a;d=Pd(b+148|0,1159);e=x[d+4>>2];x[b+40>>2]=x[d>>2];x[b+44>>2]=e;a:{if(Qd(a,b+40|0)){h=b,i=wf(b+156|0,0),x[h+76>>2]=i;a=De(a+408|0,12);d=x[b+76>>2];c=Te(a,32,0,1,1);x[c+8>>2]=d;x[c>>2]=35760;break a}d=Pd(b+140|0,2397);e=x[d+4>>2];x[b+32>>2]=x[d>>2];x[b+36>>2]=e;b:{if(Qd(a,b+32|0)){h=b,i=wf(b+156|0,1),x[h+76>>2]=i;c=Vd(a);x[b+60>>2]=c;if(!c){break b}a=De(a+408|0,16);d=x[b+76>>2];e=x[b+60>>2];c=Te(a,33,0,1,1);x[c+12>>2]=e;x[c+8>>2]=d;x[c>>2]=35876;break a}d=Pd(b+132|0,1580);e=x[d+4>>2];x[b+24>>2]=x[d>>2];x[b+28>>2]=e;if(Qd(a,b+24|0)){h=b,i=wf(b+156|0,2),x[h+128>>2]=i;d=a+8|0;c=d;g=x[c+4>>2]-x[c>>2]>>2;e=sf(b+76|0,a);c:{d:{e:{while(1){f:{c=Pd(b+68|0,3609);f=x[c+4>>2];x[b+8>>2]=x[c>>2];x[b+12>>2]=f;if(Qd(a,b+8|0)){break f}x[11118]=0;c=na(210,a|0)|0;f=x[11118];x[11118]=0;if((f|0)==1){break e}x[b+60>>2]=c;if(!c){break d}de(d,b+60|0);continue}break}x[11118]=0;za(207,b+60|0,a|0,g|0);c=x[11118];x[11118]=0;if((c|0)!=1){d=Ca-16|0;Ca=d;g=De(a+408|0,20);f=x[b+128>>2];a=x[b+64>>2];c=x[b+60>>2];x[d>>2]=c;x[d+4>>2]=a;x[d+8>>2]=c;x[d+12>>2]=a;c=Te(g,34,0,1,1);x[c+8>>2]=f;x[c>>2]=35996;a=x[d+4>>2];x[c+12>>2]=x[d>>2];x[c+16>>2]=a;Ca=d+16|0;break c}}a=ta()|0;uf(e);ua(a|0);r()}c=0}uf(e);break a}d=Pd(b+52|0,2241);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;if(!Qd(a,b+16|0)){break a}c=tf(a);x[b+76>>2]=c;if(!c){break b}a=De(a+408|0,12);d=x[b+76>>2];c=Te(a,35,0,1,1);x[c+8>>2]=d;x[c>>2]=36116;break a}c=0}Ca=b+160|0;return c}function mc(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,o=0,p=0;j=Ca-256|0;Ca=j;f=vc(1,20);a:{if(!f){hb(c,1,10804,0);f=0;break a}x[f+4>>2]=b;x[f>>2]=a;x[j>>2]=b;x[j+128>>2]=a;while(1){p=g;g=g+1|0;h=g<<2;d=(b+1|0)/2|0;x[h+j>>2]=d;m=h+(j+128|0)|0;h=(a+1|0)/2|0;x[m>>2]=h;i=D(a,b);e=i+e|0;b=d;a=h;if(i>>>0>1){continue}break}x[f+8>>2]=e;if(!e){jd(f);f=0;break a}d=vc(e,16);x[f+12>>2]=d;if(!d){hb(c,1,7988,0);jd(f);f=0;break a}l=x[f+8>>2];x[f+16>>2]=l<<4;a=d;if(p){e=(D(x[f+4>>2],x[f>>2])<<4)+d|0;b=e;while(1){c=n<<2;i=x[c+j>>2];b:{if((i|0)<=0){break b}o=i-1|0;h=0;c:{c=x[c+(j+128|0)>>2];if((c|0)<=0){g=0;if((i|0)!=1){k=i&-2;while(1){m=(g|0)==(o|0);g=g+2|0;e=m?b:e;b=e;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(i&1){break c}b=e;break b}while(1){g=e;e=c;while(1){d:{x[a>>2]=b;if((e|0)==1){a=a+16|0;b=b+16|0;break d}x[a+16>>2]=b;b=b+16|0;a=a+32|0;k=(e|0)>2;e=e-2|0;if(k){continue}}break}k=((h|0)==(o|0)|h)&1;e=k?b:g+(c<<4)|0;b=k?b:g;h=h+1|0;if((i|0)!=(h|0)){continue}break}break b}g=((g|0)==(o|0)|g)&1;c=g?b:(c<<4)+e|0;b=g?b:e;e=c}n=n+1|0;if((n|0)!=(p|0)){continue}break}}x[a>>2]=0;e:{if(!l){break e}if(l>>>0>=4){a=l&-4;b=0;while(1){x[d+12>>2]=0;x[d+4>>2]=999;x[d+8>>2]=0;x[d+60>>2]=0;x[d+52>>2]=999;x[d+56>>2]=0;x[d+44>>2]=0;x[d+36>>2]=999;x[d+40>>2]=0;x[d+28>>2]=0;x[d+20>>2]=999;x[d+24>>2]=0;d=d- -64|0;b=b+4|0;if((a|0)!=(b|0)){continue}break}}a=l&3;if(!a){break e}b=0;while(1){x[d+12>>2]=0;x[d+4>>2]=999;x[d+8>>2]=0;d=d+16|0;b=b+1|0;if((a|0)!=(b|0)){continue}break}}}Ca=j+256|0;return f}function Ci(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;f=0;a:{b:{c:{d:{if(!tc(x[c+8>>2],112,g)){break d}h=x[c+4>>2];i=x[h>>2];b=x[h+8>>2];e:{f:{g:{if(i){d=1;if((i|0)!=1){j=i&-2;while(1){k=0;h:{if(!d){break h}k=0;if(!(Ia[x[b>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break h}k=(Ia[x[b+4>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=k;b=b+8|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}if(i&1){if(!d){break f}d=(Ia[x[b>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}x[h>>2]=0;if(d){break g}break d}x[h>>2]=0}h=x[c+8>>2];i=x[h>>2];b=x[h+8>>2];if(!i){break c}d=1;if((i|0)!=1){j=i&-2;f=0;while(1){k=0;i:{if(!d){break i}k=0;if(!(Ia[x[b>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break i}k=(Ia[x[b+4>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=k;b=b+8|0;f=f+2|0;if((j|0)!=(f|0)){continue}break}}if(i&1){if(!d){break e}d=(Ia[x[b>>2]](c,0,a,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}x[h>>2]=0;if(!d){break d}break b}x[h>>2]=0;a=0;break a}x[h>>2]=0}a=0;break a}x[h>>2]=0}if(!y[c+132|0]){hb(g,1,15665,0);a=0;break a}if(!y[c+133|0]){hb(g,1,15636,0);a=0;break a}a=Bb(a,x[c>>2],e,g)}Ha=0;return a|0} +function jc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a){b=x[a+20>>2];if(b){f=x[b>>2];if(f){e=x[f+20>>2];if(x[f+16>>2]){h=v[a+40|0]&1?156:157;while(1){d=x[e+28>>2];if(d){b=x[e+32>>2];if(b>>>0>=152){k=(b>>>0)/152|0;i=0;while(1){b=x[d+48>>2];if(b){c=x[d+52>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){pc(x[b+32>>2]);x[b+32>>2]=0;pc(x[b+36>>2]);x[b+36>>2]=0;Ia[h|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=x[d+48>>2]}jd(b);x[d+48>>2]=0}b=x[d+84>>2];if(b){c=x[d+88>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){pc(x[b+32>>2]);x[b+32>>2]=0;pc(x[b+36>>2]);x[b+36>>2]=0;Ia[h|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=x[d+84>>2]}jd(b);x[d+84>>2]=0}b=x[d+120>>2];if(b){c=x[d+124>>2];if(c>>>0>=40){g=(c>>>0)/40|0;c=0;while(1){pc(x[b+32>>2]);x[b+32>>2]=0;pc(x[b+36>>2]);x[b+36>>2]=0;Ia[h|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=b+40|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}b=x[d+120>>2]}jd(b);x[d+120>>2]=0}d=d+152|0;i=i+1|0;if((k|0)!=(i|0)){continue}break}d=x[e+28>>2]}jd(d);x[e+28>>2]=0}a:{if(!x[e+40>>2]){break a}b=x[e+36>>2];if(!b){break a}jd(b);x[e+44>>2]=0;x[e+48>>2]=0;x[e+36>>2]=0;x[e+40>>2]=0}jd(x[e+52>>2]);e=e+76|0;j=j+1|0;if(j>>>0>2]){continue}break}e=x[f+20>>2]}jd(e);x[f+20>>2]=0;jd(x[x[a+20>>2]>>2]);b=x[a+20>>2];x[b>>2]=0}jd(b);x[a+20>>2]=0}jd(x[a+68>>2]);jd(a)}}function lj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;var I=0,J=0,K=0;c=0;b=Ca-96|0;Ca=b;d=Pd(b+88|0,3501);e=x[d+4>>2];x[b+32>>2]=x[d>>2];x[b+36>>2]=e;a:{b:{if(!Qd(a,b+32|0)){d=Pd(b+80|0,3500);e=x[d+4>>2];x[b+24>>2]=x[d>>2];x[b+28>>2]=e;if(!Qd(a,b+24|0)){break b}}c=Rd(a);x[b+76>>2]=c;if(!c){c=0;break a}d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}if((d|0)==46){c=x[a>>2];d=b+68|0;x[d+4>>2]=x[a+4>>2];x[d>>2]=c;c=Ca-16|0;Ca=c;f=De(a+408|0,20);g=x[b+76>>2];e=x[d+4>>2];d=x[d>>2];x[c>>2]=d;x[c+4>>2]=e;x[c+8>>2]=d;x[c+12>>2]=e;d=Fe(f,1,0,1,1,1);x[d+8>>2]=g;x[d>>2]=39836;e=x[c+4>>2];x[d+12>>2]=x[c>>2];x[d+16>>2]=e;Ca=c+16|0;x[a>>2]=x[a+4>>2];c=d}c=x[a+4>>2]-x[a>>2]|0?0:c;break a}d=Pd(b+60|0,3499);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;c:{if(!Qd(a,b+16|0)){d=Pd(b+52|0,3498);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;if(!Qd(a,b+8|0)){break c}}d=Rd(a);x[b+76>>2]=d;if(!d){break a}d=Pd(b+44|0,3144);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;if(!Qd(a,b)){break a}d=Sd(a,95);Td(b+68|0,a,0);if(x[b+68>>2]==x[b+72>>2]?d:0){break a}d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}if((d|0)==46){x[a>>2]=x[a+4>>2]}if(x[a+4>>2]-x[a>>2]|0){break a}c=Ud(a,6008,b+76|0);break a}c=(I=0,J=Vd(a),K=x[a+4>>2]-x[a>>2]|0,K?I:J)}Ca=b+96|0;Ha=0;return c|0}function Th(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,A,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;i=0;d=Ca-16|0;Ca=d;a:{if(!(y[a+100|0]&2)){hb(g,1,15365,0);a=0;break a}x[a+104>>2]=0;b:{c:{d:{if(e){while(1){if(e>>>0<=7){hb(g,1,7827,0);break b}f=d+12|0;cb(c,f,4);b=x[d+12>>2];cb(c+4|0,f,4);h=8;f=x[d+12>>2];e:{f:{g:{switch(b|0){case 1:if(e>>>0<16){b=7867;break c}cb(c+8|0,d+8|0,4);if(x[d+8>>2]){b=12734;break c}cb(c+12|0,d+12|0,4);b=x[d+12>>2];if(b){break f}b=7692;break c;case 0:break g;default:break e}}hb(g,1,7692,0);break b}h=16}if(b>>>0>>0){hb(g,1,13433,0);break b}if(b>>>0>e>>>0){hb(g,1,13361,0);a=0;break a}h:{i:{j=c+h|0;k=b-h|0;j:{k:{l:{m:{if((f|0)<=1668246641){if((f|0)==1651532643){break m}if((f|0)==1667523942){break k}if((f|0)!=1668112752){break i}h=21408;break j}if((f|0)==1885564018){break l}h=21376;if((f|0)==1768449138){break j}if((f|0)!=1668246642){break i}h=21384;break j}h=21392;break j}h=21400;break j}h=21416}if(Ia[x[h+4>>2]](a,0,j,0,k,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0){break h}a=0;break a}x[a+104>>2]=x[a+104>>2]|2147483647}i=(f|0)==1768449138?1:i;c=b+c|0;e=e-b|0;if(e){continue}break}if(i){break d}}hb(g,1,13261,0);a=0;break a}v[a+132|0]=1;x[a+100>>2]=x[a+100>>2]|4;a=1;break a}hb(g,1,b,0)}hb(g,1,6444,0);a=0}Ca=d+16|0;Ha=0;return a|0}function se(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;c=Ca+-64|0;Ca=c;a:{b:{if(Sd(a,85)){ie(c+56|0,a);if(x[c+56>>2]==x[c+60>>2]){break a}d=Pd(c+48|0,2249);e=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=e;if($d(c+56|0,c)){bf(c+40|0,c+56|0,9);d=c+32|0;b=d;x[b>>2]=0;x[b+4>>2]=0;b=x[c+40>>2];x[c+24>>2]=a;x[c+28>>2]=x[a>>2];x[a>>2]=b;b=x[c+44>>2];x[c+16>>2]=a+4;x[c+20>>2]=x[a+4>>2];x[a+4>>2]=b;ie(c+8|0,a);b=x[c+12>>2];x[d>>2]=x[c+8>>2];x[d+4>>2]=b;x[x[c+16>>2]>>2]=x[c+20>>2];x[x[c+24>>2]>>2]=x[c+28>>2];b=0;if(x[d>>2]==x[d+4>>2]){break a}b=se(a);x[c+24>>2]=b;if(!b){break b}b=Ca-16|0;Ca=b;f=De(a+408|0,20);g=x[c+24>>2];e=x[d+4>>2];d=x[d>>2];a=b;x[a>>2]=d;x[a+4>>2]=e;x[a+8>>2]=d;x[a+12>>2]=e;b=Fe(f,10,0,1,1,1);x[b+8>>2]=g;x[b>>2]=40272;d=x[a+4>>2];x[b+12>>2]=x[a>>2];x[b+16>>2]=d;Ca=a+16|0;break a}x[c+40>>2]=0;d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}if((d|0)==73){d=oe(a,0);x[c+40>>2]=d;if(!d){break a}}b=se(a);x[c+32>>2]=b;if(b){b=Ca-16|0;Ca=b;f=De(a+408|0,24);g=x[c+32>>2];d=x[c+60>>2];e=x[c+56>>2];a=b;x[a+8>>2]=e;x[a+12>>2]=d;h=x[c+40>>2];x[a>>2]=e;x[a+4>>2]=d;b=Fe(f,2,0,1,1,1);x[b+8>>2]=g;x[b>>2]=40380;d=x[a+4>>2];e=x[a>>2];x[b+20>>2]=h;x[b+12>>2]=e;x[b+16>>2]=d;Ca=a+16|0}else{b=0}break a}d=Je(a);x[c+56>>2]=d;b=Vd(a);x[c+40>>2]=b;if(!b){break b}if(!d){break a}a=De(a+408|0,16);d=x[c+56>>2];e=a;a=x[c+40>>2];b=y[a+5|0]|y[a+6|0]<<8;b=Te(e,3,(b&192)>>>6|0,b>>>8&3,b>>>10&3);x[b+12>>2]=a;x[b+8>>2]=d;x[b>>2]=40492;break a}b=0}Ca=c- -64|0;return b}function Lb(a){var b=0,c=0,d=0,e=0,f=0,g=0;a:{d=vc(1,48);if(d){b=x[a+200>>2];c=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=c;c=x[b+12>>2];x[d+8>>2]=x[b+8>>2];x[d+12>>2]=c;c=x[b+20>>2];x[d+16>>2]=x[b+16>>2];x[d+20>>2]=c;c=x[b+24>>2];x[d+24>>2]=c;b=uc(D(c,24));x[d+28>>2]=b;if(!b){jd(d);return 0}c=x[x[a+200>>2]+28>>2];b:{if(c){Gc(b,c,D(x[d+24>>2],24));break b}jd(b);x[d+28>>2]=0}c=x[x[a+200>>2]+36>>2];x[d+36>>2]=c;b=vc(c,40);x[d+40>>2]=b;if(!b){jd(x[d+28>>2]);jd(d);return 0}c:{if(x[x[a+200>>2]+40>>2]){if(!x[d+36>>2]){break c}while(1){e=D(g,40);c=x[(e+x[x[a+200>>2]+40>>2]|0)+20>>2];x[(b+e|0)+20>>2]=c;f=uc(D(c,24));c=x[d+40>>2];b=c+e|0;x[b+24>>2]=f;if(!f){if(g){b=0;while(1){jd(x[(x[d+40>>2]+D(b,40)|0)+24>>2]);b=b+1|0;if((g|0)!=(b|0)){continue}break}c=x[d+40>>2]}break a}c=x[(e+x[x[a+200>>2]+40>>2]|0)+24>>2];d:{if(c){Gc(f,c,D(x[b+20>>2],24));b=x[d+40>>2];break d}jd(f);b=x[d+40>>2];x[(e+b|0)+24>>2]=0}c=x[(e+x[x[a+200>>2]+40>>2]|0)+4>>2];x[(b+e|0)+4>>2]=c;f=uc(D(c,24));c=x[d+40>>2];b=c+e|0;x[b+16>>2]=f;if(!f){if(g){b=0;while(1){a=D(b,40);jd(x[(a+x[d+40>>2]|0)+24>>2]);jd(x[(a+x[d+40>>2]|0)+16>>2]);b=b+1|0;if((g|0)!=(b|0)){continue}break}c=x[d+40>>2]}break a}c=x[(e+x[x[a+200>>2]+40>>2]|0)+16>>2];e:{if(c){Gc(f,c,D(x[b+4>>2],24));b=x[d+40>>2];break e}jd(f);b=x[d+40>>2];x[(e+b|0)+16>>2]=0}c=b+e|0;x[c+32>>2]=0;x[c+36>>2]=0;g=g+1|0;if(g>>>0>2]){continue}break}break c}jd(b);x[d+40>>2]=0}}else{d=0}return d}jd(c);jd(x[d+28>>2]);jd(d);return 0}function Qb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;g=Ca-32|0;Ca=g;if(x[a+8>>2]==16){h=x[a+156>>2]+D(x[a+204>>2],5644)|0}else{h=x[a+12>>2]}a:{if(A[d>>2]<=4){a=0;hb(e,1,7031,0);break a}i=x[h+5584>>2];h=i+D(b,1080)|0;cb(c,h+4|0,1);f=x[h+4>>2]+1|0;x[h+4>>2]=f;if(f>>>0>=34){x[g+4>>2]=33;x[g>>2]=f;hb(e,1,12013,g);a=0;break a}j=x[a+160>>2];if(j>>>0>=f>>>0){x[g+24>>2]=f;x[g+20>>2]=j;x[g+16>>2]=b;hb(e,1,20392,g+16|0);x[a+8>>2]=x[a+8>>2]|32768;a=0;break a}a=i+D(b,1080)|0;cb(c+1|0,a+8|0,1);x[a+8>>2]=x[a+8>>2]+2;cb(c+2|0,a+12|0,1);f=x[a+12>>2]+2|0;x[a+12>>2]=f;a=x[a+8>>2];if(!(!(a>>>0>10|f>>>0>10)&a+f>>>0<13)){a=0;hb(e,1,9885,0);break a}a=i+D(b,1080)|0;cb(c+3|0,a+16|0,1);if(y[a+16|0]&128){a=0;hb(e,1,10955,0);break a}cb(c+4|0,a+20|0,1);if(A[a+20>>2]>=2){a=0;hb(e,1,10890,0);break a}f=x[d>>2]-5|0;x[d>>2]=f;a=1;j=x[h+4>>2];if(!(v[h|0]&1)){if(!j){break a}d=0;b=i+D(b,1080)|0;while(1){a=b+(d<<2)|0;x[a+944>>2]=15;x[a+812>>2]=15;a=1;d=d+1|0;if(d>>>0>2]){continue}break}break a}if(f>>>0>=j>>>0){b:{if(!j){b=0;break b}cb(c+5|0,g+28|0,1);i=i+D(b,1080)|0;x[i+812>>2]=x[g+28>>2]&15;x[i+944>>2]=x[g+28>>2]>>>4;b=x[h+4>>2];if(b>>>0>=2){a=c+6|0;c=1;while(1){cb(a,g+28|0,1);c:{b=x[g+28>>2];if(b>>>0>=16){b=b&15;if(b){break c}}a=0;hb(e,1,10416,0);break a}f=i+(c<<2)|0;x[f+812>>2]=b;x[f+944>>2]=x[g+28>>2]>>>4;a=a+1|0;b=x[h+4>>2];c=c+1|0;if(b>>>0>c>>>0){continue}break}}f=x[d>>2]}x[d>>2]=f-b;a=1;break a}a=0;hb(e,1,7031,0)}Ca=g+32|0;return a}function Gb(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0;h=Ca-32|0;Ca=h;u=x[a+16>>2];a:{if(!u){d=1;break a}b:{p=x[a>>2];if((p|0)<0){break b}q=x[a+4>>2];if((q|0)<0){break b}c=x[a+8>>2];if((c|0)<0){break b}g=x[a+12>>2];if((g|0)<0){break b}a=x[a+24>>2];w=c;v=g-1|0;y=0-!g|0;while(1){e=x[a>>2];l=e>>31;i=l-!e|0;c=i;k=e-1|0;d=p+k|0;c=d>>>0

>>0?c+1|0:c;j=Gl(d,c,e,l);x[a+16>>2]=j;f=x[a+4>>2];d=q+f|0;r=f>>31;c=r;s=Gl(d-1|0,(d>>>0>>0?c+1|0:c)-!d|0,f,c);x[a+20>>2]=s;g=x[a+40>>2];d=g&31;if((g&63)>>>0>=32){c=1<>>32-d}n=m;m=c;d=n-1|0;c=c-!n|0;t=c;c=i;i=k;k=k+w|0;c=i>>>0>k>>>0?c+1|0:c;e=Gl(k,c,e,l);c=(e>>31)+t|0;i=e;e=d+e|0;c=i>>>0>e>>>0?c+1|0:c;l=e;e=g&31;e=(g&63)>>>0>=32?c>>e:((1<>>e;c=(j>>31)+t|0;i=e;e=j;j=d+j|0;c=e>>>0>j>>>0?c+1|0:c;e=g&31;c=i-((g&63)>>>0>=32?c>>e:((1<>>e)|0;if((c|0)<0){x[h+4>>2]=c;x[h>>2]=o;hb(b,1,17479,h);d=0;break a}x[a+8>>2]=c;c=r+y|0;e=f+v|0;c=e>>>0>>0?c+1|0:c;f=Gl(e,c,f,r);c=(f>>31)+t|0;d=d+f|0;c=d>>>0>>0?c+1|0:c;f=d;d=g&31;f=(g&63)>>>0>=32?c>>d:((1<>>d;c=m+(s>>31)|0;d=n+s|0;c=d>>>0>>0?c+1|0:c;e=f;f=d-1|0;d=c-!d|0;c=g&31;c=e-((g&63)>>>0>=32?d>>c:((1<>>c)|0;if((c|0)<0){x[h+20>>2]=c;x[h+16>>2]=o;hb(b,1,17548,h+16|0);d=0;break a}x[a+12>>2]=c;a=a+52|0;d=1;o=o+1|0;if((u|0)!=(o|0)){continue}break}break a}hb(b,1,11111,0)}Ca=h+32|0;return d}function kc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=x[a+24>>2];j=x[e+16>>2];if(!j){return 0}f=x[e+24>>2];e=x[x[x[a+20>>2]>>2]+20>>2];a:{b:{if(!b){b=0;while(1){c=x[f+24>>2];a=(x[e+28>>2]+D(x[e+24>>2],152)|0)-152|0;g=x[a+12>>2];h=x[a+4>>2];d=g-h|0;a=x[a+8>>2]-x[a>>2]|0;c:{if((g|0)==(h|0)){break c}Fl(a,0,d,0);if(!Ha){break c}break a}d=D(a,d);d:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break d}Fl(c,0,d,0);if(!Ha){break d}break a}a=-1;c=D(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}b=0;if(!x[a+64>>2]){while(1){c=x[f+24>>2];a=(x[e+28>>2]+D(x[e+24>>2],152)|0)-152|0;g=x[a+148>>2];h=x[a+140>>2];d=g-h|0;a=x[a+144>>2]-x[a+136>>2]|0;e:{if((g|0)==(h|0)){break e}Fl(a,0,d,0);if(!Ha){break e}break a}d=D(a,d);f:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break f}Fl(c,0,d,0);if(!Ha){break f}break a}a=-1;c=D(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}break b}while(1){c=x[f+24>>2];a=(x[e+28>>2]+D(x[e+24>>2],152)|0)-152|0;g=x[a+12>>2];h=x[a+4>>2];d=g-h|0;a=x[a+8>>2]-x[a>>2]|0;g:{if((g|0)==(h|0)){break g}Fl(a,0,d,0);if(!Ha){break g}break a}d=D(a,d);h:{a=(c>>>3|0)+((c&7)!=0)|0;c=(a|0)==3?4:a;if(!c){break h}Fl(c,0,d,0);if(!Ha){break h}break a}a=-1;c=D(c,d);if(c>>>0>(b^-1)>>>0){break b}e=e+76|0;f=f+52|0;b=b+c|0;a=b;i=i+1|0;if((j|0)!=(i|0)){continue}break}}return a}return-1}function tb(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,o=0,p=0,q=0,r=0,s=0,t=0;d=(x[a+28>>2]+D(b,152)|0)-152|0;c=x[d+8>>2]-x[d>>2]|0;g=c;d=x[d+12>>2]-x[d+4>>2]|0;f=d;c=c>>>0>=64?64:c;e=d>>>0>=64?64:d;a:{b:{if(!g|!d|(!c|!e)){break b}if(c>>>0>4294967295/(e>>>0)>>>2>>>0){break b}d=vc(1,28);x[d+12>>2]=e;x[d+8>>2]=c;x[d+4>>2]=f;x[d>>2]=g;i=f;f=e+f|0;j=i>>>0>f>>>0?1:j;e=Hl(f-1|0,j-!f|0,e,0);x[d+20>>2]=e;f=0;i=g;g=c+g|0;f=i>>>0>g>>>0?1:f;c=Hl(g-1|0,f-!g|0,c,0);x[d+16>>2]=c;Fl(e,0,c,0);c:{if(Ha){break c}c=vc(4,D(c,e));x[d+24>>2]=c;if(!c){break c}break a}jd(d)}d=0}if(!d){return 0}d:{if(b){while(1){f=x[a+28>>2]+D(l,152)|0;c=x[f+24>>2];if(c){o=l-1|0;g=x[f+20>>2];h=x[f+16>>2];m=0;while(1){if(D(g,h)){j=f+D(m,36)|0;n=0;while(1){k=x[j+48>>2]+D(n,40)|0;e=x[k+20>>2];c=x[k+16>>2];if(D(e,c)){g=0;while(1){h=x[k+24>>2]+(g<<6)|0;p=x[h+60>>2];if(p){s=x[h+20>>2];t=x[h+16>>2];q=x[h+8>>2];c=q-x[j+28>>2]|0;h=x[h+12>>2];e=h-x[j+32>>2]|0;r=x[j+44>>2];if(r&1){i=c;c=x[a+28>>2]+D(o,152)|0;c=(i+x[c+8>>2]|0)-x[c>>2]|0}if(r&2){i=e;e=x[a+28>>2]+D(o,152)|0;e=(i+x[e+12>>2]|0)-x[e+4>>2]|0}i=c;c=t-q|0;if(!Cc(d,i,e,i+c|0,(s-h|0)+e|0,p,1,c)){break d}e=x[k+20>>2];c=x[k+16>>2]}g=g+1|0;if(g>>>0>>0){continue}break}h=x[f+16>>2];g=x[f+20>>2]}n=n+1|0;if(n>>>0>>0){continue}break}c=x[f+24>>2]}m=m+1|0;if(m>>>0>>0){continue}break}}l=l+1|0;if((l|0)!=(b|0)){continue}break}}return d}zc(d);return 0}function zb(a){var b=0,c=0,d=0,e=0,f=0;if(a){a:{if(x[a>>2]){b=x[a+12>>2];if(b){Ab(b);jd(x[a+12>>2]);x[a+12>>2]=0}b=x[a+16>>2];if(b){jd(b);x[a+16>>2]=0;x[a+20>>2]=0}jd(x[a- -64>>2]);x[a+60>>2]=0;x[a+64>>2]=0;break a}b=x[a+44>>2];if(b){jd(b);x[a+44>>2]=0}b=x[a+32>>2];if(b){jd(b);x[a+32>>2]=0;x[a+36>>2]=0}b=x[a+52>>2];if(!b){break a}jd(b);x[a+52>>2]=0;x[a+56>>2]=0}jc(x[a+208>>2]);b=x[a+156>>2];if(b){d=D(x[a+104>>2],x[a+108>>2]);if(d){while(1){Ab(b);b=b+5644|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}b=x[a+156>>2]}jd(b);x[a+156>>2]=0}b=x[a+116>>2];if(b){c=x[a+112>>2];if(c){b=0;while(1){d=x[x[a+116>>2]+(b<<3)>>2];if(d){jd(d);c=x[a+112>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=x[a+116>>2]}x[a+112>>2]=0;jd(b);x[a+116>>2]=0}jd(x[a+136>>2]);x[a+120>>2]=0;x[a+136>>2]=0;jd(x[a+100>>2]);x[a+100>>2]=0;if(!(y[a+188|0]&2)){jd(x[a+168>>2])}Hc(a+80|0,0,112);sc(x[a+192>>2]);x[a+192>>2]=0;sc(x[a+196>>2]);x[a+192>>2]=0;b=x[a+200>>2];if(b){c=x[b+28>>2];if(c){jd(c);x[b+28>>2]=0}c=x[b+40>>2];if(c){if(x[b+36>>2]){while(1){d=D(f,40);e=x[(d+c|0)+36>>2];if(e){jd(e);c=x[b+40>>2];x[(d+c|0)+36>>2]=0}e=x[(c+d|0)+16>>2];if(e){jd(e);c=x[b+40>>2];x[(d+c|0)+16>>2]=0}e=x[(c+d|0)+24>>2];if(e){jd(e);c=x[b+40>>2];x[(d+c|0)+24>>2]=0}f=f+1|0;if(f>>>0>2]){continue}break}}jd(c);x[b+40>>2]=0}jd(b)}x[a+200>>2]=0;jb(x[a+72>>2]);x[a+72>>2]=0;jb(x[a+76>>2]);x[a+76>>2]=0;mb(x[a+212>>2]);x[a+212>>2]=0;jd(a)}}function yl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-96|0;Ca=b;a:{b:{d=x[a+8>>2];if(y[d+4|0]==10){e=Kf(d);d=x[a+8>>2];if(e){break b}}Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=x[a+8>>2];e=y[d+6|0]&3;c:{if((e|0)!=2){d=!e;break c}d=Ia[x[x[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(d){d=Pd(b+88|0,6176);e=x[d+4>>2];x[b+40>>2]=x[d>>2];x[b+44>>2]=e;Ge(c,b+40|0)}d=x[a+8>>2];e=y[d+6|0]&3;d:{if((e|0)!=2){d=!e;break d}d=Ia[x[x[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}e:{if(!d){a=x[a+8>>2];d=(y[a+5|0]|y[a+6|0]<<8)>>>10&3;f:{if((d|0)!=2){a=!d;break f}a=Ia[x[x[a>>2]+8>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!a){break e}}a=Pd(b+80|0,5305);d=x[a+4>>2];x[b+32>>2]=x[a>>2];x[b+36>>2]=d;Ge(c,b+32|0)}a=Pd(b+72|0,5091);break a}a=Pd(b- -64|0,4714);e=x[a+4>>2];x[b+24>>2]=x[a>>2];x[b+28>>2]=e;e=Ge(c,b+24|0);a=x[d+16>>2];d=x[d+12>>2];x[b+16>>2]=d;x[b+20>>2]=a;x[b+56>>2]=d;x[b+60>>2]=a;Ge(e,b+16|0);a=Pd(b+48|0,4481)}d=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=d;Ge(c,b+8|0);Ca=b+96|0;Ha=0;return 0}function Kb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Ca-16|0;Ca=g;l=x[x[a+72>>2]+16>>2];b=vc(1,56);x[g+12>>2]=b;a:{if(!b){break a}i=x[x[a+72>>2]+16>>2];x[b+24>>2]=i;x[b>>2]=x[a+84>>2];x[b+4>>2]=x[a+88>>2];x[b+8>>2]=x[a+92>>2];x[b+12>>2]=x[a+96>>2];x[b+16>>2]=x[a+104>>2];h=x[a+108>>2];x[b+52>>2]=0;x[b+20>>2]=h;j=x[a+12>>2];x[b+32>>2]=x[j>>2];x[b+36>>2]=x[j+4>>2];x[b+40>>2]=x[j+8>>2];x[b+44>>2]=x[j+16>>2];a=vc(i,1080);x[b+48>>2]=a;if(a){if(l){while(1){a=D(k,1080);d=a+x[b+48>>2]|0;c=a+x[j+5584>>2]|0;x[d+4>>2]=x[c>>2];a=x[c+4>>2];x[d+8>>2]=a;x[d+12>>2]=x[c+8>>2];x[d+16>>2]=x[c+12>>2];x[d+20>>2]=x[c+16>>2];x[d+24>>2]=x[c+20>>2];if(a>>>0<=32){Gc(d+948|0,c+944|0,a);Gc(d+816|0,c+812|0,x[c+4>>2])}a=x[c+24>>2];x[d+28>>2]=a;x[d+808>>2]=x[c+804>>2];f=1;b:{if((a|0)!=1){a=D(x[c+4>>2],3);if(a-3>>>0>95){break b}f=a-2|0}o=f&1;a=0;if((f|0)!=1){p=f&-2;f=0;while(1){m=d+32|0;h=a<<2;n=c+28|0;e=n+(a<<3)|0;x[m+h>>2]=x[e+4>>2];i=d+420|0;x[i+h>>2]=x[e>>2];e=a|1;h=e<<2;e=(e<<3)+n|0;x[h+m>>2]=x[e+4>>2];x[h+i>>2]=x[e>>2];a=a+2|0;f=f+2|0;if((p|0)!=(f|0)){continue}break}}if(!o){break b}e=(a<<2)+d|0;a=(a<<3)+c|0;x[e+32>>2]=x[a+32>>2];x[e+420>>2]=x[a+28>>2]}x[d+812>>2]=x[c+808>>2];k=k+1|0;if((k|0)!=(l|0)){continue}break}}e=b;break a}if(g+12|0){a=x[g+12>>2];b=x[a+48>>2];if(b){jd(b);a=x[g+12>>2]}jd(a);x[g+12>>2]=0}}Ca=g+16|0;return e}function Nb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;a:{b:{e=x[a+60>>2];if(!e){if(x[b+16>>2]){break b}return 1}i=uc(D(e,52));if(!i){break a}e=0;if(x[b+16>>2]){d=x[b+24>>2];while(1){e=D(f,52);jd(x[(e+d|0)+44>>2]);d=x[b+24>>2];x[(e+d|0)+44>>2]=0;f=f+1|0;e=x[b+16>>2];if(f>>>0>>0){continue}break}}if(x[a+60>>2]){f=x[x[a+76>>2]+24>>2];e=0;while(1){h=D(x[x[a+64>>2]+(e<<2)>>2],52);d=h+f|0;c=x[d+4>>2];g=i+D(e,52)|0;x[g>>2]=x[d>>2];x[g+4>>2]=c;x[g+48>>2]=x[d+48>>2];c=x[d+44>>2];x[g+40>>2]=x[d+40>>2];x[g+44>>2]=c;c=x[d+36>>2];x[g+32>>2]=x[d+32>>2];x[g+36>>2]=c;c=x[d+28>>2];x[g+24>>2]=x[d+24>>2];x[g+28>>2]=c;c=x[d+20>>2];x[g+16>>2]=x[d+16>>2];x[g+20>>2]=c;c=x[d+12>>2];x[g+8>>2]=x[d+8>>2];x[g+12>>2]=c;f=x[x[a+76>>2]+24>>2];c=h+f|0;x[g+36>>2]=x[c+36>>2];x[g+44>>2]=x[c+44>>2];x[c+44>>2]=0;e=e+1|0;c=x[a+60>>2];if(e>>>0>>0){continue}break}e=x[b+16>>2]}if(e){d=x[x[a+76>>2]+24>>2];f=0;while(1){c=D(f,52);jd(x[(c+d|0)+44>>2]);d=x[x[a+76>>2]+24>>2];x[(c+d|0)+44>>2]=0;f=f+1|0;if(f>>>0>2]){continue}break}c=x[a+60>>2]}x[b+16>>2]=c;jd(x[b+24>>2]);x[b+24>>2]=i;return 1}e=x[b+24>>2];f=x[x[a+76>>2]+24>>2];while(1){h=D(d,52);c=h+e|0;x[c+36>>2]=x[(f+h|0)+36>>2];jd(x[c+44>>2]);e=x[b+24>>2];f=x[x[a+76>>2]+24>>2];c=h+f|0;x[(h+e|0)+44>>2]=x[c+44>>2];x[c+44>>2]=0;d=d+1|0;if(d>>>0>2]){continue}break}return 1}jb(x[a+72>>2]);x[a+72>>2]=0;return 0}function vb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(!x[a+12>>2]){k=1;if(x[a+4>>2]>0|x[a+8>>2]>1){break b}break a}e=1;if(x[a+8>>2]>0){break b}if(x[a+4>>2]<2){break a}}b=x[a>>2];f=b+(e<<5)|0;g=x[a+16>>2];h=x[a+20>>2];if(g>>>0>>0){d=g;while(1){c=(d<<6)+f|0;B[c>>2]=B[c>>2]*E(1.2301740646362305);B[c+4>>2]=B[c+4>>2]*E(1.2301740646362305);B[c+8>>2]=B[c+8>>2]*E(1.2301740646362305);B[c+12>>2]=B[c+12>>2]*E(1.2301740646362305);B[c+16>>2]=B[c+16>>2]*E(1.2301740646362305);B[c+20>>2]=B[c+20>>2]*E(1.2301740646362305);B[c+24>>2]=B[c+24>>2]*E(1.2301740646362305);B[c+28>>2]=B[c+28>>2]*E(1.2301740646362305);d=d+1|0;if((h|0)!=(d|0)){continue}break}}i=b+(k<<5)|0;j=x[a+28>>2];c=x[a+24>>2];if(j>>>0>c>>>0){d=c;while(1){b=(d<<6)+i|0;B[b>>2]=B[b>>2]*E(1.625732421875);B[b+4>>2]=B[b+4>>2]*E(1.625732421875);B[b+8>>2]=B[b+8>>2]*E(1.625732421875);B[b+12>>2]=B[b+12>>2]*E(1.625732421875);B[b+16>>2]=B[b+16>>2]*E(1.625732421875);B[b+20>>2]=B[b+20>>2]*E(1.625732421875);B[b+24>>2]=B[b+24>>2]*E(1.625732421875);B[b+28>>2]=B[b+28>>2]*E(1.625732421875);d=d+1|0;if((j|0)!=(d|0)){continue}break}}b=f+32|0;d=x[a+8>>2];a=x[a+4>>2];e=a-e|0;e=(d|0)<(e|0)?d:e;wb(i,b,g,h,e,E(-.4435068666934967));l=i+32|0;d=d-k|0;a=(a|0)<(d|0)?a:d;wb(f,l,c,j,a,E(-.8829110860824585));wb(i,b,g,h,e,E(.05298011749982834));wb(f,l,c,j,a,E(1.5861343145370483))}}function Mb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{if(!c){break a}b:{e=x[a+160>>2];if(!e){break b}f=x[a+72>>2];if(!f|!x[f+16>>2]|(e|0)!=x[x[f+24>>2]+40>>2]){break b}g=x[c+16>>2];if(!g){break b}f=x[c+24>>2];if(x[f+40>>2]|x[f+44>>2]){break b}e=0;if(g>>>0>=4){j=g&-4;while(1){x[(f+D(e,52)|0)+40>>2]=x[a+160>>2];x[(f+D(e|1,52)|0)+40>>2]=x[a+160>>2];x[(f+D(e|2,52)|0)+40>>2]=x[a+160>>2];x[(f+D(e|3,52)|0)+40>>2]=x[a+160>>2];e=e+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}h=g&3;if(h){while(1){x[(f+D(e,52)|0)+40>>2]=x[a+160>>2];e=e+1|0;k=k+1|0;if((h|0)!=(k|0)){continue}break}}if(Gb(c,d)){break b}return 0}e=x[a+76>>2];if(!e){e=ib();x[a+76>>2]=e;if(!e){break a}}kb(c,e);if(!tc(x[a+192>>2],81,d)){break a}g=x[a+192>>2];j=x[g>>2];e=x[g+8>>2];c:{if(j){i=1;if((j|0)!=1){k=j&-2;h=0;while(1){f=0;d:{if(!i){break d}f=0;if(!(Ia[x[e>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break d}f=(Ia[x[e+4>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}i=f;e=e+8|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}e:{f:{if(j&1){if(!i){break f}i=(Ia[x[e>>2]](a,0,b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}x[g>>2]=0;if(!(i&1)){break e}break c}x[g>>2]=0}jb(x[a+72>>2]);x[a+72>>2]=0;return 0}x[g>>2]=0}i=Nb(a,c)}return i}function Ak(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-96|0;Ca=b;d=x[a+12>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[d+5|0]|y[d+6|0]<<8)&192)!=64){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Pd(b+88|0,4729);e=x[d+4>>2];x[b+32>>2]=x[d>>2];x[b+36>>2]=e;d=Ge(c,b+32|0);c=x[a+8>>2];Ia[x[x[c>>2]+16>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[c+5|0]|y[c+6|0]<<8)&192)!=64){Ia[x[x[c>>2]+20>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}c=Pd(b+80|0,5719);e=x[c+4>>2];x[b+24>>2]=x[c>>2];x[b+28>>2]=e;d=Ge(d,b+24|0);a=a+16|0;a:{if(x[a>>2]==x[a+4>>2]){c=Pd(b+72|0,4967);break a}if(y[x[a>>2]]==110){c=Pd(b- -64|0,5023);e=x[c+4>>2];x[b+16>>2]=x[c>>2];x[b+20>>2]=e;Ge(d,b+16|0);c=b+56|0;bf(c,a,1);break a}c=x[a+4>>2];x[b+48>>2]=x[a>>2];x[b+52>>2]=c;c=b+48|0}a=x[c+4>>2];x[b+8>>2]=x[c>>2];x[b+12>>2]=a;a=Ge(d,b+8|0);c=Pd(b+40|0,4481);d=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=d;Ge(a,b);Ca=b+96|0;Ha=0;return 0}function rb(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,o=0;c=x[a+8>>2];e=c+x[a+4>>2]|0;a:{if(!x[a+12>>2]){if((e|0)<2){break a}h=(c<<2)+b|0;c=x[h>>2];d=x[b>>2]-(c+1>>1)|0;i=x[a>>2];b:{if(e>>>0<4){f=c;break b}k=(e-4>>>1|0)+1|0;a=1;while(1){f=a<<2;l=x[f+b>>2];f=x[f+h>>2];m=g<<2;x[m+i>>2]=d;j=d;d=l-((c+f|0)+2>>2)|0;x[i+(m|4)>>2]=(j+d>>1)+c;g=g+2|0;j=(a|0)!=(k|0);c=f;a=a+1|0;if(j){continue}break}}x[i+(g<<2)>>2]=d;if(e&1){c=e-1|0;a=x[(c<<1&-4)+b>>2]-(f+1>>1)|0;x[i+(c<<2)>>2]=a;d=a+d>>1;a=-2}else{a=-1}x[(a+e<<2)+i>>2]=d+f;Gc(b,i,e<<2);return}c:{switch(e-1|0){case 0:x[b>>2]=x[b>>2]/2;return;case 1:a=x[a>>2];c=(c<<2)+b|0;d=x[b>>2]-(x[c>>2]+1>>1)|0;x[a+4>>2]=d;x[a>>2]=d+x[c>>2];c=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=c;return;default:break c}}if((e|0)<3){break a}h=x[a>>2];k=(c<<2)+b|0;c=x[k+4>>2];a=x[k>>2];d=x[b>>2]-((c+a|0)+2>>2)|0;x[h>>2]=d+a;a=e|-2;l=e-2|0;d:{if((a+l|0)+1>>>0<2){g=c;f=1;break d}m=((a+e|0)-3>>>1|0)+1|0;f=1;a=1;while(1){o=x[(a<<2)+b>>2];i=a+1|0;g=x[(i<<2)+k>>2];n=(f<<2)+h|0;x[n>>2]=d;j=d;d=o-((c+g|0)+2>>2)|0;x[n+4>>2]=(j+d>>1)+c;f=f+2|0;j=(a|0)!=(m|0);c=g;a=i;if(j){continue}break}}x[(f<<2)+h>>2]=d;e:{if(!(e&1)){a=x[((e<<1&-4)+b|0)-4>>2]-(g+1>>1)|0;x[(l<<2)+h>>2]=(d+a>>1)+g;break e}a=d+g|0}c=e<<2;x[(c+h|0)-4>>2]=a;Gc(b,h,c)}}function Mf(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;e=Ca-16|0;Ca=e;x[e+12>>2]=a;j=x[(a-24|0)+4>>2];f=x[j+4>>2];x[e+8>>2]=0;g=e+8|0;h=Ca-4544|0;Ca=h;a:{b:{c:{d:{if(!f){if(!g){break d}x[g>>2]=-3;break d}d=h+32|0;l=d,m=Uc(f)+f|0,x[l+4>>2]=m;x[d>>2]=f;Yd(d+8|0);Yd(d+148|0);Zd(d+288|0);_d(d+332|0);_d(d+360|0);x[d+396>>2]=0;x[d+400>>2]=0;x[d+392>>2]=-1;w[d+388>>1]=1;x[d+404>>2]=0;x[d+408>>2]=0;x[d+412>>2]=0;a=d+408|0;x[a+4096>>2]=a;x[11118]=0;k=na(201,d|0)|0;a=x[11118];x[11118]=0;if((a|0)==1){break c}if(k){a=h+8|0;x[a+8>>2]=0;x[a+4>>2]=0;x[a>>2]=0;x[a+12>>2]=-1;x[a+20>>2]=1;x[a+16>>2]=-1;if(x[d+360>>2]!=x[d+364>>2]){x[11118]=0;xa(171,5137,2115,395,3101);a=x[11118];x[11118]=0;if((a|0)!=1){break b}break c}x[11118]=0;ya(202,k|0,a|0);i=x[11118];x[11118]=0;if((i|0)==1){break c}i=x[Nd(a,0)>>2];a=0}else{a=-2}if(g){x[g>>2]=a}Od(d)}Ca=h+4544|0;a=i;break a}a=ta()|0;Od(d);ua(a|0)}r()}e:{if(!(x[e+8>>2]|!a)){x[b>>2]=a;break e}jd(a);a=id(Uc(f)+1|0);x[b>>2]=a;Tc(a,f)}x[c>>2]=0;if(Ia[x[x[8078]+16>>2]](32312,0,j,0,e+12|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0){a=x[e+12>>2];a=Ia[x[x[a>>2]+8>>2]](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=id(Uc(a)+1|0);x[c>>2]=b;Tc(b,a)}Ca=e+16|0}function dh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=-1;f=-1;a:{if(!(y[a+68|0]&8)){b=x[a+32>>2];x[a+36>>2]=b;b:{c:{d:{f=x[a+48>>2];if(f){while(1){f=Ia[x[a+20>>2]](b,0,f,0,x[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if((f|0)==-1){break d}b=f+x[a+36>>2]|0;x[a+36>>2]=b;f=x[a+48>>2]-f|0;x[a+48>>2]=f;if(f){continue}break}b=x[a+32>>2]}x[a+36>>2]=b;if(!!c&(d|0)>=0|(d|0)>0){break c}b=0;f=0;break b}x[a+68>>2]=x[a+68>>2]|8;hb(e,4,19573,0);x[a+48>>2]=0;x[a+68>>2]=x[a+68>>2]|8;Ha=-1;b=-1;break a}b=0;f=0;while(1){g=Ia[x[a+24>>2]](c,d,x[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;h=Ha;if((g&h)==-1){hb(e,4,19558,0);x[a+68>>2]=x[a+68>>2]|8;c=f+x[a+60>>2]|0;e=c+1|0;d=c;c=b+x[a+56>>2]|0;d=c>>>0>>0?e:d;x[a+56>>2]=c;x[a+60>>2]=d;a=!(b|f);b=a?-1:b;Ha=a?-1:f;break a}f=f+h|0;b=b+g|0;f=b>>>0>>0?f+1|0:f;d=d-((c>>>0>>0)+h|0)|0;c=c-g|0;if(!!c&(d|0)>=0|(d|0)>0){continue}break}}c=f+x[a+60>>2]|0;e=c+1|0;d=c;c=b+x[a+56>>2]|0;d=c>>>0>>0?e:d;x[a+56>>2]=c;x[a+60>>2]=d}Ha=f}return b|0}function Ya(){var a=0;R(20700,20724,20756,0,20772,17,20775,0,20775,0,1885,20638,18);S(20700,1,20780,20772,19,20);a=od(8);x[a+4>>2]=0;x[a>>2]=21;T(20700,1779,3,20784,20824,22,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=23;T(20700,1796,2,20868,20641,24,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=25;T(20700,1946,2,20880,20888,26,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=27;T(20700,2498,3,20892,20824,28,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=29;T(20700,3188,2,20880,20888,26,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=30;T(20700,2283,4,20912,20928,31,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=32;T(20700,2262,2,20936,20641,33,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=34;T(20700,1657,2,20944,20641,35,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=36;T(20700,3128,2,20952,20641,37,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=38;T(20700,1813,2,20960,20641,39,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=40;T(20700,1462,2,20968,20641,41,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=42;T(20700,3017,2,20976,20641,43,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=44;T(20700,1448,2,20968,20641,41,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=45;T(20700,1678,2,20976,20641,43,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=46;T(20700,1644,2,20984,20641,47,a|0,0,0);a=od(8);x[a+4>>2]=0;x[a>>2]=48;T(20700,3252,2,20992,20641,49,a|0,0,0)}function xk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=Ca-32|0;Ca=d;c=Nd(c,91);b=x[a+8>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b=Pd(d+24|0,6148);e=x[b+4>>2];x[d+8>>2]=x[b>>2];x[d+12>>2]=e;c=Ge(c,d+8|0);b=x[a+12>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}c=Nd(c,93);b=x[a+16>>2];if((y[b+4|0]-77&255)>>>0>=2){b=Pd(d+16|0,6117);e=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=e;Ge(c,d);a=x[a+16>>2]}else{a=b}Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=d+32|0;Ha=0;return 0}function Dl(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,o=0;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{e=b;if(e){if(!c){break j}if(!d){break i}e=G(d)-G(e)|0;if(e>>>0<=31){break h}break b}if((d|0)==1|d>>>0>1){break b}b=(a>>>0)/(c>>>0)|0;Fa=a-D(b,c)|0;Ga=0;Ha=0;return b}if(!a){break g}if(!d){break f}f=d-1|0;if(f&d){break f}Fa=a;Ga=e&f;a=e>>>El(d)|0;Ha=0;return a}f=c-1|0;if(!(f&c)){break e}j=(G(c)+33|0)-G(e)|0;h=0-j|0;break c}j=e+1|0;h=63-e|0;break c}Fa=0;a=(e>>>0)/(d>>>0)|0;Ga=e-D(a,d)|0;Ha=0;return a}e=G(d)-G(e)|0;if(e>>>0<31){break d}break b}Fa=a&f;Ga=0;if((c|0)==1){break a}c=El(c);d=c&31;if((c&63)>>>0>=32){e=0;a=b>>>d|0}else{e=b>>>d|0;a=((1<>>d}Ha=e;return a}j=e+1|0;h=63-e|0}f=a;e=j&63;g=e&31;if((e&63)>>>0>=32){e=0;f=b>>>g|0}else{e=b>>>g|0;f=((1<>>g}h=h&63;g=h&31;if((h&63)>>>0>=32){i=a<>>32-g|b<>>31;f=f<<1|b>>>31;k=e;l=h-(e+(f>>>0>g>>>0)|0)|0;m=l>>31;i=m;e=f;l=c&i;f=e-l|0;e=k-((d&i)+(e>>>0>>0)|0)|0;i=b<<1|a>>>31;a=n|a<<1;b=i|o;k=m&1;n=k;j=j-1|0;if(j){continue}break}}Fa=f;Ga=e;i=b<<1|a>>>31;a=k|a<<1;Ha=i|o;return a}Fa=a;Ga=b;a=0;b=0}Ha=b;return a}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=Ca-256|0;Ca=d;if(a){Pc(6282,17,1,c);x[d+240>>2]=x[a>>2];Kc(c,6824,d+240|0);x[d+224>>2]=x[a+4>>2];Kc(c,6837,d+224|0);x[d+208>>2]=x[a+8>>2];Kc(c,11604,d+208|0);x[d+192>>2]=x[a+16>>2];Kc(c,6795,d+192|0);if((b|0)>0){while(1){e=x[a+5584>>2];x[d+176>>2]=h;Kc(c,6320,d+176|0);e=e+D(h,1080)|0;x[d+160>>2]=x[e>>2];Kc(c,6823,d+160|0);x[d+144>>2]=x[e+4>>2];Kc(c,11718,d+144|0);x[d+128>>2]=x[e+8>>2];Kc(c,11488,d+128|0);x[d+112>>2]=x[e+12>>2];Kc(c,11504,d+112|0);x[d+96>>2]=x[e+16>>2];Kc(c,6806,d+96|0);x[d+80>>2]=x[e+20>>2];Kc(c,11800,d+80|0);Pc(4616,23,1,c);f=0;if(x[e+4>>2]){while(1){g=e+(f<<2)|0;i=x[g+812>>2];x[d+68>>2]=x[g+944>>2];x[d+64>>2]=i;Kc(c,6157,d- -64|0);f=f+1|0;if(f>>>0>2]){continue}break}}Nc(c);x[d+48>>2]=x[e+24>>2];Kc(c,11520,d+48|0);x[d+32>>2]=x[e+804>>2];Kc(c,11587,d+32|0);g=1;Pc(4640,20,1,c);a:{if(x[e+24>>2]!=1){f=x[e+4>>2];if((f|0)<=0){break a}g=D(f,3)-2|0}f=0;while(1){i=e+(f<<3)|0;Ha=x[i+28>>2];x[d+16>>2]=x[i+32>>2];x[d+20>>2]=Ha;Kc(c,6157,d+16|0);f=f+1|0;if((g|0)!=(f|0)){continue}break}}Nc(c);x[d>>2]=x[e+808>>2];Kc(c,11570,d);Pc(6183,5,1,c);h=h+1|0;if((h|0)!=(b|0)){continue}break}}Pc(6184,4,1,c)}Ca=d+256|0}function Rb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0;g=Ca-16|0;Ca=g;if(x[a+8>>2]==16){a=x[a+156>>2]+D(x[a+204>>2],5644)|0}else{a=x[a+12>>2]}f=x[d>>2];a:{if(!f){c=0;hb(e,1,7066,0);break a}j=x[a+5584>>2];x[d>>2]=f-1;cb(c,g+12|0,1);i=D(b,1080)+j|0;f=x[g+12>>2]&31;x[i+24>>2]=f;x[i+804>>2]=x[g+12>>2]>>>5;a=c+1|0;b:{c:{d:{e:{f:{switch(f|0){case 0:h=x[d>>2];break e;case 1:break d;default:break f}}h=x[d>>2]>>>1|0}if(h>>>0>=98){x[g+4>>2]=97;x[g+8>>2]=97;x[g>>2]=h;hb(e,2,20025,g);f=x[i+24>>2]}if(f){f=h;if(f){break d}f=0;break c}if(h){c=0;e=D(b,1080)+j|0;while(1){cb(a,g+12|0,1);if(c>>>0<=96){f=x[g+12>>2];k=e+(c<<3)|0;x[k+32>>2]=0;x[k+28>>2]=f>>>3}a=a+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}a=x[d>>2]-h|0;break b}c=0;while(1){cb(a,g+12|0,2);if(c>>>0<=96){e=(c<<3)+i|0;x[e+28>>2]=x[g+12>>2]>>>11;x[e+32>>2]=x[g+12>>2]&2047}a=a+2|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}a=x[d>>2]-(f<<1)|0}x[d>>2]=a;c=1;if(x[i+24>>2]!=1){break a}d=D(b,1080)+j|0;e=x[d+28>>2];f=x[d+32>>2];a=1;while(1){b=d+(a<<3)|0;h=e-((a>>>0)/3|0)|0;x[b+36>>2]=(h|0)>0?h:0;x[b+32>>2]=f;x[b+40>>2]=f;h=b;b=e-((a-1>>>0)/3|0)|0;x[h+28>>2]=(b|0)>0?b:0;a=a+2|0;if((a|0)!=97){continue}break}}Ca=g+16|0;return c}function Xh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,A,B,C,E,F,G,H,I,J,K,L){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;L=L|0;d=0;b=Ca-16|0;Ca=b;a:{if(x[a+120>>2]|e>>>0<3){break a}cb(c,b+12|0,2);j=z[b+12>>1];if(j-1025>>>0<=4294966271){x[b>>2]=j;hb(g,1,7950,b);break a}cb(c+2|0,b+12|0,1);i=z[b+12>>1];if(!i){hb(g,1,7598,0);break a}if(i+3>>>0>e>>>0){break a}f=uc(D(i,j)<<2);if(!f){break a}k=uc(i);if(!k){jd(f);break a}l=uc(i);if(!l){jd(f);jd(k);break a}g=uc(20);if(!g){jd(f);jd(k);jd(l);break a}h=c+3|0;x[g+8>>2]=k;x[g+4>>2]=l;w[g+16>>1]=j;x[g>>2]=f;m=x[b+12>>2];x[g+12>>2]=0;v[g+18|0]=m;x[a+120>>2]=g;while(1){cb(h,b+12|0,1);v[d+k|0]=(y[b+12|0]&127)+1;v[d+l|0]=(x[b+12>>2]&128)>>>7;h=h+1|0;d=d+1|0;if((i|0)!=(d|0)){continue}break}if(!j){d=1;break a}a=0;while(1){d=0;g=0;while(1){d=y[d+k|0]+7>>>3|0;d=d>>>0>=4?4:d;if((d+(h-c|0)|0)>(e|0)){d=0;break a}cb(h,b+12|0,d);x[f>>2]=x[b+12>>2];f=f+4|0;h=d+h|0;g=g+1|0;d=g&65535;if(i>>>0>d>>>0){continue}break}d=1;a=a+1|0;if((j|0)!=(a|0)){continue}break}}Ca=b+16|0;Ha=0;return d|0}function gl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-80|0;Ca=b;nf(c,40);qf(a+12|0,c);pf(c,41);d=x[a+8>>2];Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=x[a+20>>2];if(d&1){d=Pd(b+72|0,1237);e=x[d+4>>2];x[b+32>>2]=x[d>>2];x[b+36>>2]=e;Ge(c,b+32|0);d=x[a+20>>2]}if(d&2){d=Pd(b- -64|0,3091);e=x[d+4>>2];x[b+24>>2]=x[d>>2];x[b+28>>2]=e;Ge(c,b+24|0);d=x[a+20>>2]}if(d&4){d=Pd(b+56|0,1484);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;Ge(c,b+16|0)}a:{b:{c:{switch(y[a+24|0]-1|0){case 0:d=Pd(b+48|0,5348);break b;case 1:break c;default:break a}}d=Pd(b+40|0,5344)}e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;Ge(c,b+8|0)}if(x[a+28>>2]){c=Nd(c,32);a=x[a+28>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}Ca=b+80|0;Ha=0;return 0}function wk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=Ca-16|0;Ca=d;a:{if(y[a+16|0]){e=Nd(c,91);b=x[a+8>>2];Ia[x[x[b>>2]+16>>2]](b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Nd(e,93);break a}e=Nd(c,46);b=x[a+8>>2];Ia[x[x[b>>2]+16>>2]](b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}b=x[a+12>>2];if((y[b+4|0]-77&255)>>>0>=2){b=Pd(d+8|0,6117);e=x[b+4>>2];x[d>>2]=x[b>>2];x[d+4>>2]=e;Ge(c,d);b=x[a+12>>2]}Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=d+16|0;Ha=0;return 0}function ul(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-48|0;Ca=b;d=x[a+12>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a:{b:{d=x[a+12>>2];e=y[d+6|0]&3;c:{if((e|0)!=2){d=!e;break c}d=Ia[x[x[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!d){d=x[a+12>>2];e=(y[d+5|0]|y[d+6|0]<<8)>>>10&3;d:{if((e|0)!=2){d=!e;break d}d=Ia[x[x[d>>2]+8>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!d){break b}}d=Pd(b+40|0,5305);break a}d=Pd(b+32|0,6176)}e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;c=Ge(c,b+16|0);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=Pd(b+24|0,5078);d=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=d;Ge(c,b+8|0);Ca=b+48|0;Ha=0;return 0}function Al(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;b=Ca+-64|0;Ca=b;a:{b:{if(!y[a+16|0]){d=b+56|0;x[d>>2]=a+16;v[d+4|0]=y[a+16|0];v[a+16|0]=1;x[11118]=0;za(217,b+48|0,a|0,c|0);a=x[11118];x[11118]=0;if((a|0)==1){break b}a=x[b+52>>2];if(a){e=x[x[a>>2]+16>>2];x[11118]=0;ya(e|0,a|0,c|0);a=x[11118];x[11118]=0;if((a|0)==1){break b}x[11118]=0;a=ra(213,x[b+52>>2],c|0)|0;e=x[11118];x[11118]=0;if((e|0)==1){break b}if(a){a=Pd(b+40|0,6176);e=x[a+4>>2];x[b+16>>2]=x[a>>2];x[b+20>>2]=e;Ge(c,b+16|0)}x[11118]=0;a=ra(213,x[b+52>>2],c|0)|0;e=x[11118];x[11118]=0;if((e|0)==1){break b}c:{if(!a){x[11118]=0;a=ra(214,x[b+52>>2],c|0)|0;e=x[11118];x[11118]=0;if((e|0)==1){break b}if(!a){break c}}a=Pd(b+32|0,5305);e=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=e;Ge(c,b+8|0)}a=Pd(b+24|0,x[b+48>>2]?5345:5349);e=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=e;Ge(c,b)}v[x[d>>2]]=y[d+4|0]}Ca=b- -64|0;break a}a=ta()|0;v[x[d>>2]]=y[d+4|0];ua(a|0);r()}Ha=0;return 0}function bl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-80|0;Ca=b;nf(c,40);qf(a+16|0,c);pf(c,41);d=x[a+8>>2];if(d){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=x[a+28>>2];if(d&1){d=Pd(b+72|0,1237);e=x[d+4>>2];x[b+32>>2]=x[d>>2];x[b+36>>2]=e;Ge(c,b+32|0);d=x[a+28>>2]}if(d&2){d=Pd(b- -64|0,3091);e=x[d+4>>2];x[b+24>>2]=x[d>>2];x[b+28>>2]=e;Ge(c,b+24|0);d=x[a+28>>2]}if(d&4){d=Pd(b+56|0,1484);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;Ge(c,b+16|0)}a:{b:{c:{switch(y[a+32|0]-1|0){case 0:d=Pd(b+48|0,5348);break b;case 1:break c;default:break a}}d=Pd(b+40|0,5344)}e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;Ge(c,b+8|0)}a=x[a+24>>2];if(a){Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}Ca=b+80|0;Ha=0;return 0}function Be(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;g=Ca-16|0;Ca=g;e=Ca-32|0;Ca=e;f=Ca-16|0;Ca=f;x[f+12>>2]=a;x[f+8>>2]=b;x[e+24>>2]=x[f+12>>2];x[e+28>>2]=x[f+8>>2];Ca=f+16|0;b=x[e+24>>2];f=Ca-16|0;Ca=f;a=x[e+28>>2];x[f+12>>2]=a;h=a-b|0;d=h;a:{if((b|0)==(c|0)){break a}i=c+d|0;if(b-i>>>0<=0-(d<<1)>>>0){c=Gc(c,b,d);break a}a=(b^c)&3;b:{c:{if(b>>>0>c>>>0){if(a){a=c;break b}if(!(c&3)){a=c;break c}a=c;while(1){if(!d){break a}v[a|0]=y[b|0];b=b+1|0;d=d-1|0;a=a+1|0;if(a&3){continue}break}break c}d:{if(a){break d}if(i&3){while(1){if(!d){break a}d=d-1|0;a=d+c|0;v[a|0]=y[b+d|0];if(a&3){continue}break}}if(d>>>0<=3){break d}while(1){d=d-4|0;x[d+c>>2]=x[b+d>>2];if(d>>>0>3){continue}break}}if(!d){break a}while(1){d=d-1|0;v[d+c|0]=y[b+d|0];if(d){continue}break}break a}if(d>>>0<=3){break b}while(1){x[a>>2]=x[b>>2];b=b+4|0;a=a+4|0;d=d-4|0;if(d>>>0>3){continue}break}}if(!d){break a}while(1){v[a|0]=y[b|0];a=a+1|0;b=b+1|0;d=d-1|0;if(d){continue}break}}x[f+8>>2]=c+h;x[e+16>>2]=x[f+12>>2];x[e+20>>2]=x[f+8>>2];Ca=f+16|0;x[e+12>>2]=x[e+16>>2];x[e+8>>2]=x[e+20>>2];x[g+8>>2]=x[e+12>>2];x[g+12>>2]=x[e+8>>2];Ca=e+32|0;Ca=g+16|0}function Gc(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){fa(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){v[c|0]=y[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){x[c>>2]=x[b>>2];x[c+4>>2]=x[b+4>>2];x[c+8>>2]=x[b+8>>2];x[c+12>>2]=x[b+12>>2];x[c+16>>2]=x[b+16>>2];x[c+20>>2]=x[b+20>>2];x[c+24>>2]=x[b+24>>2];x[c+28>>2]=x[b+28>>2];x[c+32>>2]=x[b+32>>2];x[c+36>>2]=x[b+36>>2];x[c+40>>2]=x[b+40>>2];x[c+44>>2]=x[b+44>>2];x[c+48>>2]=x[b+48>>2];x[c+52>>2]=x[b+52>>2];x[c+56>>2]=x[b+56>>2];x[c+60>>2]=x[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){x[c>>2]=x[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){v[c|0]=y[b|0];v[c+1|0]=y[b+1|0];v[c+2|0]=y[b+2|0];v[c+3|0]=y[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){v[c|0]=y[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function uk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-128|0;Ca=b;x[b+124>>2]=a;x[b+120>>2]=c;nf(c,40);d=y[a+24|0];e=x[a+12>>2];if(!(e?0:d)){a:{if(d){of(e,c,3,1);break a}zf(b+120|0)}d=Pd(b+112|0,6176);e=x[d+4>>2];x[b+56>>2]=x[d>>2];x[b+60>>2]=e;e=yf(c,b+56|0);d=x[a+20>>2];f=x[a+16>>2];x[b+48>>2]=f;x[b+52>>2]=d;x[b+104>>2]=f;x[b+108>>2]=d;d=yf(e,b+48|0);e=Pd(b+96|0,6176);f=x[e+4>>2];x[b+40>>2]=x[e>>2];x[b+44>>2]=f;yf(d,b+40|0)}d=Pd(b+88|0,4995);e=x[d+4>>2];x[b+32>>2]=x[d>>2];x[b+36>>2]=e;c=yf(c,b+32|0);b:{if(!(y[a+24|0]|x[a+12>>2])){break b}d=Pd(b+80|0,6176);e=x[d+4>>2];x[b+24>>2]=x[d>>2];x[b+28>>2]=e;e=yf(c,b+24|0);d=x[a+20>>2];f=x[a+16>>2];x[b+16>>2]=f;x[b+20>>2]=d;x[b+72>>2]=f;x[b+76>>2]=d;d=yf(e,b+16|0);e=Pd(b- -64|0,6176);f=x[e+4>>2];x[b+8>>2]=x[e>>2];x[b+12>>2]=f;d=yf(d,b+8|0);if(y[a+24|0]){zf(b+120|0);break b}of(x[a+12>>2],d,3,1)}pf(c,41);Ca=b+128|0;Ha=0;return 0}function Ch(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,B,C,E,F,G,H,I,J,K){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;b=Ca-16|0;Ca=b;a:{if(e>>>0<=1){hb(g,1,8407,0);a=0;break a}if(v[a+188|0]&1){hb(g,1,16637,0);a=0;break a}h=x[a+156>>2];i=x[a+204>>2];a=h+D(i,5644)|0;v[a+5640|0]=y[a+5640|0]|2;cb(c,b+12|0,1);f=a+5164|0;d=x[a+5164>>2];b:{if(!d){a=x[b+12>>2]+1|0;d=vc(a,8);x[f>>2]=d;if(!d){hb(g,1,8433,0);a=0;break a}x[(h+D(i,5644)|0)+5160>>2]=a;break b}h=x[b+12>>2];if(h>>>0>2]){break b}i=d;d=h+1|0;h=yc(i,d<<3);if(!h){hb(g,1,8433,0);a=0;break a}x[f>>2]=h;a=a+5160|0;i=x[a>>2];Hc(h+(i<<3)|0,0,d-i<<3);x[a>>2]=d;d=x[f>>2]}a=x[b+12>>2];if(x[(a<<3)+d>>2]){x[b>>2]=a;hb(g,1,11389,b);a=0;break a}a=e-1|0;d=uc(a);e=x[f>>2];f=x[b+12>>2];x[e+(f<<3)>>2]=d;if(!d){hb(g,1,8433,0);a=0;break a}x[(e+(f<<3)|0)+4>>2]=a;Gc(x[e+(x[b+12>>2]<<3)>>2],c+1|0,a);a=1}Ca=b+16|0;Ha=0;return a|0}function Uh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,A,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;b=Ca-32|0;Ca=b;a:{if(x[a+72>>2]){hb(g,2,11341,0);d=1;break a}if((e|0)!=14){d=0;hb(g,1,18414,0);break a}cb(c,a+16|0,4);cb(c+4|0,a+12|0,4);cb(c+8|0,a+20|0,2);e=x[a+12>>2];b:{f=x[a+16>>2];d=x[a+20>>2];c:{if(!f){break c}d=x[a+20>>2];if(!e){break c}if(d){break b}d=0}x[b+8>>2]=d;x[b+4>>2]=f;x[b>>2]=e;hb(g,1,18258,b);d=0;break a}if(d-16385>>>0<=4294950911){d=0;hb(g,1,18172,0);break a}d=vc(d,12);x[a+72>>2]=d;if(!d){d=0;hb(g,1,18209,0);break a}d=1;cb(c+10|0,a+24|0,1);cb(c+11|0,a+28|0,1);e=x[a+28>>2];if((e|0)!=7){x[b+16>>2]=e;hb(g,4,20241,b+16|0)}cb(c+12|0,a+32|0,1);cb(c+13|0,a+36|0,1);c=x[a>>2];v[c+188|0]=y[c+188|0]&251|(x[a+24>>2]==255)<<2;c=x[a>>2];x[c+216>>2]=x[a+12>>2];x[c+220>>2]=x[a+16>>2];v[a+133|0]=1}Ca=b+32|0;Ha=0;return d|0}function kb(a,b){var c=0,d=0,e=0,f=0,g=0;x[b>>2]=x[a>>2];x[b+4>>2]=x[a+4>>2];x[b+8>>2]=x[a+8>>2];x[b+12>>2]=x[a+12>>2];c=x[b+24>>2];if(c){d=x[b+16>>2];if(d){c=0;while(1){f=x[(x[b+24>>2]+D(c,52)|0)+44>>2];if(f){jd(f);d=x[b+16>>2]}c=c+1|0;if(d>>>0>c>>>0){continue}break}c=x[b+24>>2]}jd(c);x[b+24>>2]=0}c=x[a+16>>2];x[b+16>>2]=c;c=uc(D(c,52));x[b+24>>2]=c;if(c){if(x[b+16>>2]){f=0;while(1){g=D(f,52);c=g+c|0;d=x[a+24>>2]+g|0;e=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=e;x[c+48>>2]=x[d+48>>2];e=x[d+44>>2];x[c+40>>2]=x[d+40>>2];x[c+44>>2]=e;e=x[d+36>>2];x[c+32>>2]=x[d+32>>2];x[c+36>>2]=e;e=x[d+28>>2];x[c+24>>2]=x[d+24>>2];x[c+28>>2]=e;e=x[d+20>>2];x[c+16>>2]=x[d+16>>2];x[c+20>>2]=e;e=x[d+12>>2];x[c+8>>2]=x[d+8>>2];x[c+12>>2]=e;c=x[b+24>>2];x[(g+c|0)+44>>2]=0;f=f+1|0;if(f>>>0>2]){continue}break}}x[b+20>>2]=x[a+20>>2];c=x[a+32>>2];x[b+32>>2]=c;if(c){c=uc(c);x[b+28>>2]=c;if(!c){x[b+28>>2]=0;x[b+32>>2]=0;return}Gc(c,x[a+28>>2],x[a+32>>2]);return}x[b+28>>2]=0;return}x[b+16>>2]=0;x[b+24>>2]=0}function Ji(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;f=Ca-32|0;Ca=f;d=a;a=x[a+28>>2];x[f+16>>2]=a;b=x[d+20>>2];x[f+28>>2]=e;x[f+24>>2]=c;a=b-a|0;x[f+20>>2]=a;c=a+e|0;h=2;a:{b:{a=f+16|0;b=ha(x[d+60>>2],a|0,2,f+12|0)|0;if(b){x[10518]=b;b=-1}else{b=0}c:{d:{if(b){b=a;break d}while(1){g=x[f+12>>2];if((g|0)==(c|0)){break c}if((g|0)<0){b=a;break b}j=x[a+4>>2];i=j>>>0>>0;b=(i<<3)+a|0;j=g-(i?j:0)|0;x[b>>2]=j+x[b>>2];a=(i?12:4)+a|0;x[a>>2]=x[a>>2]-j;c=c-g|0;a=b;h=h-i|0;g=ha(x[d+60>>2],a|0,h|0,f+12|0)|0;if(g){x[10518]=g;g=-1}else{g=0}if(!g){continue}break}}if((c|0)!=-1){break b}}a=x[d+44>>2];x[d+28>>2]=a;x[d+20>>2]=a;x[d+16>>2]=a+x[d+48>>2];a=e;break a}x[d+28>>2]=0;x[d+16>>2]=0;x[d+20>>2]=0;x[d>>2]=x[d>>2]|32;a=0;if((h|0)==2){break a}a=e-x[b+4>>2]|0}Ca=f+32|0;Ha=0;return a|0}function wb(a,b,c,d,e,f){var g=0,h=E(0),i=0,j=E(0);g=(c<<6)+b|0;a=c?g+-64|0:a;i=d>>>0>>0?d:e;a:{if(i>>>0<=c>>>0){b=a;break a}h=B[a>>2];while(1){b=g;g=b-32|0;j=h;h=B[b>>2];B[g>>2]=E(E(j+h)*f)+B[g>>2];g=b-28|0;B[g>>2]=E(E(B[a+4>>2]+B[b+4>>2])*f)+B[g>>2];g=b-24|0;B[g>>2]=E(E(B[a+8>>2]+B[b+8>>2])*f)+B[g>>2];g=b-20|0;B[g>>2]=E(E(B[a+12>>2]+B[b+12>>2])*f)+B[g>>2];g=b-16|0;B[g>>2]=E(E(B[a+16>>2]+B[b+16>>2])*f)+B[g>>2];g=b-12|0;B[g>>2]=E(E(B[a+20>>2]+B[b+20>>2])*f)+B[g>>2];g=b-8|0;B[g>>2]=E(E(B[a+24>>2]+B[b+24>>2])*f)+B[g>>2];g=b-4|0;B[g>>2]=E(E(B[a+28>>2]+B[b+28>>2])*f)+B[g>>2];g=b- -64|0;a=b;c=c+1|0;if((i|0)!=(c|0)){continue}break}}if(d>>>0>e>>>0){a=g-32|0;f=E(f+f);B[a>>2]=E(B[b>>2]*f)+B[a>>2];a=g-28|0;B[a>>2]=E(B[b+4>>2]*f)+B[a>>2];a=g-24|0;B[a>>2]=E(B[b+8>>2]*f)+B[a>>2];a=g-20|0;B[a>>2]=E(B[b+12>>2]*f)+B[a>>2];a=g-16|0;B[a>>2]=E(B[b+16>>2]*f)+B[a>>2];a=g-12|0;B[a>>2]=E(B[b+20>>2]*f)+B[a>>2];a=g-8|0;B[a>>2]=E(B[b+24>>2]*f)+B[a>>2];a=g-4|0;B[a>>2]=E(B[b+28>>2]*f)+B[a>>2]}}function wh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,A,B,C,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;b=Ca-16|0;Ca=b;i=x[x[a+72>>2]+16>>2];f=i>>>0<257?1:2;d=(f<<1)+5|0;h=(e>>>0)/(d>>>0)|0;a:{if(!((D(d,h)|0)==(e|0)&d>>>0<=e>>>0)){hb(g,1,9060,0);a=0;break a}d=x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2];a=y[d+5640|0];e=a&4?x[d+420>>2]+1|0:0;h=h+e|0;if(h>>>0>=32){x[b>>2]=h;hb(g,1,12159,b);a=0;break a}v[d+5640|0]=a|4;if(e>>>0>>0){a=(d+D(e,148)|0)+424|0;while(1){cb(c,a,1);c=c+1|0;cb(c,a+4|0,f);c=c+f|0;cb(c,a+8|0,2);g=x[a+8>>2];j=x[d+8>>2];x[a+8>>2]=g>>>0>>0?g:j;cb(c+2|0,a+12|0,1);c=c+3|0;cb(c,a+16|0,f);c=c+f|0;cb(c,b+12|0,1);x[a+36>>2]=x[b+12>>2];g=x[a+16>>2];x[a+16>>2]=g>>>0>>0?g:i;a=a+148|0;c=c+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}x[d+420>>2]=h-1;a=1}Ca=b+16|0;Ha=0;return a|0}function eh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,A,B,C,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a>>2];c=vc(1,8);a:{if(x[b+16>>2]==1){break a}while(1){e=x[b+20>>2];if(!e){if(!x[a+8>>2]){x[a+8>>2]=1;x[b+32>>2]=x[b+32>>2]+1;d=uc(8);if(!d){x[b+16>>2]=2;break a}x[d>>2]=a;x[d+4>>2]=x[b+28>>2];x[b+28>>2]=d}if(x[b+16>>2]!=1){continue}break a}x[b+20>>2]=x[e+4>>2];d=x[e>>2];jd(e);if(!d){break a}e=x[d>>2];if(e){Ia[e|0](x[d+4>>2],0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}jd(d);x[b+24>>2]=x[b+24>>2]-1;if(x[b+16>>2]!=1){continue}break}}if(c){b=x[c+4>>2];if((b|0)>0){a=0;while(1){d=x[c>>2]+D(a,12)|0;e=x[d+8>>2];if(e){Ia[e|0](x[d+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=x[c+4>>2]}a=a+1|0;if((b|0)>(a|0)){continue}break}}jd(x[c>>2]);jd(c)}Ha=0;return 0}function Wj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca+-64|0;Ca=b;if(y[a+28|0]){d=Pd(b+56|0,4757);e=x[d+4>>2];x[b+24>>2]=x[d>>2];x[b+28>>2]=e;Ge(c,b+24|0)}d=Pd(b+48|0,1224);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;c=Ge(c,b+16|0);if(y[a+29|0]){d=Pd(b+40|0,3478);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;Ge(c,b+8|0)}d=a+8|0;if(x[d+4>>2]){nf(c,40);qf(d,c);pf(c,41)}d=Pd(b+32|0,6176);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);d=x[a+16>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[d+5|0]|y[d+6|0]<<8)&192)!=64){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=a+20|0;if(x[a+4>>2]){nf(c,40);qf(a,c);pf(c,41)}Ca=b- -64|0;Ha=0;return 0}function Se(a,b){var c=0,d=0,e=0,f=0;c=Ca-48|0;Ca=c;a:{b:{d=Ve(a);if(d){f=y[d+2|0];if((f|0)==8){x[c+40>>2]=a+388;v[c+44|0]=y[a+388|0];v[a+388|0]=0;d=(y[a+389|0]|b)!=0;x[c+32>>2]=a+389;v[c+36|0]=y[a+389|0];v[a+389|0]=d;x[11118]=0;d=na(208,a|0)|0;f=x[11118];x[11118]=0;if((f|0)==1){break b}x[c+28>>2]=d;if(d){if(b){v[b|0]=1}e=Df(a,c+28|0)}v[x[c+32>>2]]=y[c+36|0];v[x[c+40>>2]]=y[c+44|0];break a}if(!(v[d+3|0]&1)&(f|0)==4|f>>>0>10){break a}b=c+40|0;ff(b,d);e=je(a,b);break a}b=Pd(c+20|0,2587);d=x[b+4>>2];x[c+8>>2]=x[b>>2];x[c+12>>2]=d;if(Qd(a,c+8|0)){b=Ce(a);x[c+40>>2]=b;if(!b){break a}a=De(a+408|0,12);b=x[c+40>>2];e=Fe(a,19,0,1,1,1);x[e+8>>2]=b;x[e>>2]=38072;break a}if(!Sd(a,118)){break a}b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}if(((b<<24>>24)-48&255)>>>0>9){break a}x[a>>2]=x[a>>2]+1;b=Ce(a);x[c+40>>2]=b;if(!b){break a}e=Df(a,c+40|0);break a}a=ta()|0;v[x[c+32>>2]]=y[c+36|0];v[x[c+40>>2]]=y[c+44|0];ua(a|0);r()}Ca=c+48|0;return e}function tl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;b=Ca-48|0;Ca=b;d=x[c+4>>2];if(!d){wa(2368,2697,170,2570);r()}if(v[(d+x[c>>2]|0)-1|0]!=93){d=Pd(b+40|0,6176);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;Ge(c,b+16|0)}d=Pd(b+32|0,3493);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;d=Ge(c,b+8|0);c=x[a+12>>2];if(c){Ia[x[x[c>>2]+16>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[c+5|0]|y[c+6|0]<<8)&192)!=64){Ia[x[x[c>>2]+20>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}c=Pd(b+24|0,3479);e=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=e;c=Ge(d,b);a=x[a+8>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ca=b+48|0;Ha=0;return 0}function ri(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;a:{if(!e){break a}if(!Mb(x[a>>2],c,e,g)){hb(g,1,10601,0);d=0;break a}b=1;b:{if(x[x[a>>2]+60>>2]|x[a+128>>2]){break b}c=a+108|0;d=0;if(!Ub(e,c,g)){break a}c:{d:{switch(x[a+48>>2]-12|0){case 5:b=2;break c;case 6:b=3;break c;case 12:b=4;break c;case 0:b=5;break c;case 4:break c;default:break d}}b=-1}x[e+20>>2]=b;b=x[a+120>>2];e:{if(!b){break e}if(!x[b+12>>2]){jd(x[x[c+12>>2]+4>>2]);jd(x[x[c+12>>2]+8>>2]);jd(x[x[c+12>>2]>>2]);b=x[c+12>>2];d=x[b+12>>2];if(d){jd(d);b=x[c+12>>2]}jd(b);x[c+12>>2]=0;break e}b=0;if(!Vb(e,c,g)){break b}}if(x[a+116>>2]){Wb(e,c,g)}b=1;c=x[c>>2];if(!c){break b}x[e+28>>2]=c;x[e+32>>2]=x[a+112>>2];x[a+108>>2]=0}d=b}a=d;Ha=0;return a|0}function vi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;a:{b:{if(!e){break b}hb(g,2,14287,0);if(!Ob(x[a>>2],c,e,g,i)){hb(g,1,10601,0);a=0;break a}d=1;if(x[x[a>>2]+60>>2]){break b}d=0;c=a+108|0;if(!Ub(e,c,g)){break b}b=1;c:{d:{switch(x[a+48>>2]-12|0){case 5:b=2;break c;case 6:b=3;break c;case 12:b=4;break c;case 0:b=5;break c;case 4:break c;default:break d}}b=-1}x[e+20>>2]=b;b=x[a+120>>2];e:{if(!b){break e}if(!x[b+12>>2]){jd(x[b+4>>2]);jd(x[x[a+120>>2]+8>>2]);jd(x[x[a+120>>2]>>2]);b=x[a+120>>2];d=x[b+12>>2];if(d){jd(d);b=x[a+120>>2]}jd(b);x[a+120>>2]=0;break e}if(!Vb(e,c,g)){break b}}if(x[a+116>>2]){Wb(e,c,g)}d=1;b=x[c>>2];if(!b){break b}x[e+28>>2]=b;x[e+32>>2]=x[a+112>>2];x[a+108>>2]=0}a=d}Ha=0;return a|0}function Qi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,y,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;y=y|0;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;b=0;c=Ca-16|0;Ca=c;d=a>>>0<=1?1:a;a=d+15&-16;a=a>>>0>d>>>0?a:d;if(!(a&15)){a=ld(c+12|0,16,a);b=a?0:x[c+12>>2]}Ca=c+16|0;a=b;if(!a){a:{b=0;a=x[11124];if(!a){x[11124]=44524;w[22263]=125;w[22262]=128;a=x[11124]}d=(d+3>>>2|0)+1|0;while(1){c=0;b:{c:{d:{if(!a|(a|0)==45024){break d}c=a+4|0;if(c&15){break c}e=z[a+2>>1];f=d+(d>>>0>>0?e-d&3:0)|0;if(f>>>0>>0){b=e-f|0;w[a+2>>1]=b;a=((b&65535)<<2)+a|0;w[a+2>>1]=f;w[a>>1]=0;c=a+4|0;if(!(c&15)){break d}wa(4857,2175,166,3372);r()}if(d>>>0>e>>>0){break b}d=z[a>>1];e:{if(!b){x[11124]=(d<<2)+44512;break e}w[b>>1]=d}w[a>>1]=0}a=c;break a}wa(4912,2175,145,3372);r()}b=a;a=(z[a>>1]<<2)+44512|0;continue}}}Ha=0;return a|0}function il(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;d=x[a+8>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[d+5|0]|y[d+6|0]<<8)&192)!=64){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Pd(b+24|0,6176);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;d=Ge(c,b+8|0);c=x[a+16>>2];e=x[a+12>>2];x[b>>2]=e;x[b+4>>2]=c;x[b+16>>2]=e;x[b+20>>2]=c;c=Ge(d,b);a=x[a+20>>2];if(a){Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}Ca=b+32|0;Ha=0;return 0}function Bh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|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;b=Ca-16|0;Ca=b;a:{if(e>>>0<=1){hb(g,1,8702,0);a=0;break a}v[a+188|0]=y[a+188|0]|1;cb(c,b+12|0,1);d=x[a+116>>2];b:{if(!d){f=x[b+12>>2]+1|0;d=vc(f,8);x[a+116>>2]=d;if(!d){hb(g,1,8728,0);a=0;break a}x[a+112>>2]=f;break b}f=x[b+12>>2];if(f>>>0>2]){break b}h=d;d=f+1|0;f=yc(h,d<<3);if(!f){hb(g,1,8728,0);a=0;break a}x[a+116>>2]=f;h=x[a+112>>2];Hc(f+(h<<3)|0,0,d-h<<3);x[a+112>>2]=d;d=x[a+116>>2]}f=x[b+12>>2];if(x[d+(f<<3)>>2]){x[b>>2]=f;hb(g,1,11411,b);a=0;break a}d=e-1|0;e=uc(d);a=x[a+116>>2];f=x[b+12>>2];x[a+(f<<3)>>2]=e;if(!e){hb(g,1,8728,0);a=0;break a}x[(a+(f<<3)|0)+4>>2]=d;Gc(x[a+(x[b+12>>2]<<3)>>2],c+1|0,d);a=1}Ca=b+16|0;Ha=0;return a|0}function ih(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,C,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;if(A[a+44>>2]>=8){d=x[a+36>>2];h=D(d,7);i=D(d,6);j=D(d,5);k=d<<2;l=D(d,3);m=d<<1;c=x[a+40>>2];n=d<<5;g=8;while(1){ub(a,c,x[a+36>>2],8);vb(a);e=x[a+32>>2];a:{if(!e){break a}o=x[a>>2];b=0;while(1){f=o+(b<<5)|0;B[(b<<2)+c>>2]=B[f>>2];B[(b+d<<2)+c>>2]=B[f+4>>2];B[(b+m<<2)+c>>2]=B[f+8>>2];B[(b+l<<2)+c>>2]=B[f+12>>2];b=b+1|0;if((e|0)!=(b|0)){continue}break}if(!e){break a}o=x[a>>2];b=0;while(1){f=o+(b<<5)|0;B[(b+k<<2)+c>>2]=B[f+16>>2];B[(b+j<<2)+c>>2]=B[f+20>>2];B[(b+i<<2)+c>>2]=B[f+24>>2];B[(b+h<<2)+c>>2]=B[f+28>>2];b=b+1|0;if((e|0)!=(b|0)){continue}break}}c=c+n|0;g=g+8|0;if(g>>>0<=A[a+44>>2]){continue}break}}jd(x[a>>2]);jd(a);Ha=0;return 0}function rl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;d=x[a+8>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[d+5|0]|y[d+6|0]<<8)&192)!=64){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Pd(b+24|0,3486);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;c=Ge(c,b+8|0);a=x[a+12>>2];if(a){Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}a=Pd(b+16|0,3479);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b);Ca=b+32|0;Ha=0;return 0}function lb(a){var b=0,c=0,d=0,e=0;e=Ca-48|0;Ca=e;b=vc(1,44);a:{if(b){x[b+16>>2]=0;if((a|0)<=0){a=vc(1,8);x[b+36>>2]=a;if(a){break a}jd(b);b=0;break a}c=vc(1,24);if(!c){x[b+12>>2]=0;jd(b);b=0;break a}x[b+12>>2]=c;b:{c=uc(48);if(!c){x[b+8>>2]=0;break b}x[b+8>>2]=c;c=vc(a,20);x[b>>2]=c;if(!c){break b}x[b+4>>2]=a;x[c>>2]=b;a=vc(1,24);c:{if(!a){x[x[b>>2]+12>>2]=0;break c}x[x[b>>2]+12>>2]=a;a=uc(48);if(!a){a=x[b>>2];x[a+16>>2]=0;a=x[a+12>>2];if(!a){break c}jd(a);break c}c=x[b>>2];x[c+8>>2]=0;x[c+16>>2]=a;a=uc(12);if(a){x[a>>2]=71;x[a+4>>2]=c;c=Ca-48|0;Ca=c;d=c+4|0;Hc(d,0,44);d=Gc(e+4|0,d,44);x[d>>2]=x[10424];x[d+4>>2]=x[10425];Ca=c+48|0;x[e+16>>2]=0;jd(a)}a=x[b>>2];x[a+4>>2]=0;c=x[a+12>>2];if(c){jd(c);a=x[b>>2]}a=x[a+16>>2];if(!a){break c}jd(a)}x[b+4>>2]=0;if(x[b+32>>2]>2]){while(1){if(x[b+32>>2]>2]){continue}break}}if(!(x[b+16>>2]!=2&-2)){break b}break a}mb(b)}b=0}Ca=e+48|0;return b}function Hj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;d=Pd(b+24|0,5905);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;d=Ge(c,b+8|0);c=x[a+8>>2];Ia[x[x[c>>2]+16>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[c+5|0]|y[c+6|0]<<8)&192)!=64){Ia[x[x[c>>2]+20>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}c=Pd(b+16|0,5009);e=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=e;c=Ge(d,b);a=x[a+12>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+32|0;Ha=0;return 0}function ej(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;z=z|0;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;a:{if(xd(a,x[c+8>>2],i)){if(!(x[c+28>>2]==1|x[c+4>>2]!=(e|0))){x[c+28>>2]=g}break a}b:{if(xd(a,x[c>>2],i)){if(!(x[c+16>>2]!=(e|0)&x[c+20>>2]!=(e|0))){if((g|0)!=1){break b}x[c+32>>2]=1;break a}x[c+32>>2]=g;c:{if(x[c+44>>2]==4){break c}w[c+52>>1]=0;a=x[a+8>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,e,0,e,0,1,0,i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(y[c+53|0]){x[c+44>>2]=3;if(!y[c+52|0]){break c}break b}x[c+44>>2]=4}x[c+20>>2]=e;x[c+40>>2]=x[c+40>>2]+1;if(x[c+36>>2]!=1|x[c+24>>2]!=2){break b}v[c+54|0]=1;break a}a=x[a+8>>2];Ia[x[x[a>>2]+24>>2]](a,0,c,0,e,0,g,0,i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}Ha=0;return 0}function ld(a,b,c){var d=0,e=0,f=0,g=0,h=0;a:{b:{if((b|0)==8){b=id(c);break b}d=28;if(b&3|b>>>0<4){break a}f=b>>>2|0;if(f-1&f){break a}d=48;if(-64-b>>>0>>0){break a}f=16;b=b>>>0<=16?16:b;d=b>>>0<=16?16:b;c:{if(!(d-1&d)){b=d;break c}while(1){b=f;f=b<<1;if(b>>>0>>0){continue}break}}d:{if(-64-b>>>0<=c>>>0){x[10518]=48;c=0;break d}f=c>>>0<11?16:c+11&-8;e=id((f+b|0)+12|0);c=0;if(!e){break d}c=e-8|0;e:{if(!(e&b-1)){b=c;break e}g=e-4|0;h=x[g>>2];d=b;b=((b+e|0)-1&0-b)-8|0;b=(b-c>>>0<=15?d:0)+b|0;d=b-c|0;e=(h&-8)-d|0;if(!(h&3)){c=x[c>>2];x[b+4>>2]=e;x[b>>2]=c+d;break e}x[b+4>>2]=e|x[b+4>>2]&1|2;e=b+e|0;x[e+4>>2]=x[e+4>>2]|1;x[g>>2]=d|x[g>>2]&1|2;e=c+d|0;x[e+4>>2]=x[e+4>>2]|1;md(c,d)}c=x[b+4>>2];f:{if(!(c&3)){break f}d=c&-8;if(d>>>0<=f+16>>>0){break f}x[b+4>>2]=f|c&1|2;c=b+f|0;f=d-f|0;x[c+4>>2]=f|3;d=b+d|0;x[d+4>>2]=x[d+4>>2]|1;md(c,f)}c=b+8|0}b=c}if(!b){return 48}x[a>>2]=b;d=0}return d}function Bl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;b=Ca-32|0;Ca=b;a:{b:{if(!y[a+16|0]){d=b+24|0;x[d>>2]=a+16;v[d+4|0]=y[a+16|0];v[a+16|0]=1;x[11118]=0;za(217,b+16|0,a|0,c|0);a=x[11118];x[11118]=0;if((a|0)==1){break b}a=x[b+20>>2];if(a){x[11118]=0;a=ra(213,a|0,c|0)|0;e=x[11118];x[11118]=0;if((e|0)==1){break b}c:{if(!a){x[11118]=0;a=ra(214,x[b+20>>2],c|0)|0;e=x[11118];x[11118]=0;if((e|0)==1){break b}if(!a){break c}}a=Pd(b+8|0,5302);e=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=e;Ge(c,b)}a=x[b+20>>2];e=x[x[a>>2]+20>>2];x[11118]=0;ya(e|0,a|0,c|0);a=x[11118];x[11118]=0;if((a|0)==1){break b}}v[x[d>>2]]=y[d+4|0]}Ca=b+32|0;break a}a=ta()|0;v[x[d>>2]]=y[d+4|0];ua(a|0);r()}Ha=0;return 0}function Ke(a){var b=0,c=0,d=0;c=Ca-16|0;Ca=c;a:{if(!Sd(a,83)){break a}b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}b=b<<24>>24;if((b-97&255)>>>0<=25){b:{c:{d:{e:{f:{g:{h:{i:{b=b&255;switch(b-97|0){case 2:case 4:case 5:case 6:case 7:break a;case 1:break g;case 0:break h;case 8:break e;case 3:break f;default:break i}}switch(b-111|0){case 4:break c;case 0:break d;default:break a}}x[c+12>>2]=0;break b}x[c+12>>2]=1;break b}x[c+12>>2]=5;break b}x[c+12>>2]=3;break b}x[c+12>>2]=4;break b}x[c+12>>2]=2}x[a>>2]=x[a>>2]+1;d=Ef(De(a+408|0,12),x[c+12>>2],44);x[d>>2]=38292;b=Qe(a,d);x[c+8>>2]=b;if((b|0)==(d|0)){break a}de(a+148|0,c+8|0);d=b;break a}if(Sd(a,95)){a=a+148|0;if(x[a>>2]==x[a+4>>2]){break a}d=x[ye(a,0)>>2];break a}x[c+4>>2]=0;if(we(a,c+4|0)){break a}b=x[c+4>>2];if(!Sd(a,95)){break a}b=b+1|0;a=a+148|0;if(b>>>0>=x[a+4>>2]-x[a>>2]>>2>>>0){break a}d=x[ye(a,b)>>2]}Ca=c+16|0;return d}function qi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;h=0;a:{b:{c:{d:{if(!tc(x[a+8>>2],112,e)){break d}f=x[a+8>>2];g=x[f>>2];b=x[f+8>>2];if(!g){break c}d=1;if((g|0)!=1){i=g&-2;while(1){j=0;e:{if(!d){break e}j=0;if(!(Ia[x[b>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){break e}j=(Ia[x[b+4>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}d=j;b=b+8|0;h=h+2|0;if((h|0)!=(i|0)){continue}break}}f:{if(g&1){if(!d){break f}d=(Ia[x[b>>2]](a,0,c,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=0}x[f>>2]=0;if(!d){break d}break b}x[f>>2]=0}a=0;break a}x[f>>2]=0}a=1}Ha=0;return a|0}function zl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=x[a+8>>2];a:{if(y[d+4|0]==10){if(Kf(d)){break a}d=x[a+8>>2]}e=y[d+6|0]&3;b:{if((e|0)!=2){d=!e;break b}d=Ia[x[x[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}c:{if(!d){d=x[a+8>>2];e=(y[d+5|0]|y[d+6|0]<<8)>>>10&3;d:{if((e|0)!=2){d=!e;break d}d=Ia[x[x[d>>2]+8>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!d){break c}}d=Pd(b+8|0,5302);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;Ge(c,b)}a=x[a+8>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function Rj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca+-64|0;Ca=b;f=0;a:{if(x[c+20>>2]){break a}d=a+12|0;if(!af(d,Pd(b+56|0,4481))){f=0;if(!af(d,Pd(b+48|0,4457))){break a}}nf(c,40);f=1}d=(y[a+5|0]|y[a+6|0]<<8)<<26>>26;e=(d|0)==17;of(x[a+8>>2],c,e?15:d,(d|0)!=17);if(!af(a+12|0,Pd(b+56|0,5033))){d=Pd(b+40|0,6176);g=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=g;Ge(c,b+16|0)}d=x[a+16>>2];g=x[a+12>>2];x[b+8>>2]=g;x[b+12>>2]=d;x[b+32>>2]=g;x[b+36>>2]=d;c=Ge(c,b+8|0);d=Pd(b+24|0,6176);g=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=g;c=Ge(c,b);of(x[a+20>>2],c,(y[a+5|0]|y[a+6|0]<<8)<<26>>26,e);if(f){pf(c,41)}Ca=b- -64|0;Ha=0;return 0}function yd(a,b){var c=0,d=0,e=0;c=Ca+-64|0;Ca=c;d=x[a>>2];e=x[d-4>>2];d=x[d-8>>2];x[c+32>>2]=0;x[c+36>>2]=0;x[c+40>>2]=0;x[c+44>>2]=0;x[c+48>>2]=0;x[c+52>>2]=0;v[c+55|0]=0;v[c+56|0]=0;v[c+57|0]=0;v[c+58|0]=0;v[c+59|0]=0;v[c+60|0]=0;v[c+61|0]=0;v[c+62|0]=0;x[c+24>>2]=0;x[c+28>>2]=0;x[c+20>>2]=0;x[c+16>>2]=31556;x[c+12>>2]=a;x[c+8>>2]=b;a=a+d|0;d=0;a:{if(xd(e,b,0)){x[c+56>>2]=1;Ia[x[x[e>>2]+20>>2]](e,0,c+8|0,0,a,0,a,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=x[c+32>>2]==1?a:0;break a}Ia[x[x[e>>2]+24>>2]](e,0,c+8|0,0,a,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b:{switch(x[c+44>>2]){case 0:d=x[c+48>>2]==1?x[c+36>>2]==1?x[c+40>>2]==1?x[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(x[c+32>>2]!=1){if(x[c+48>>2]|x[c+36>>2]!=1|x[c+40>>2]!=1){break a}}d=x[c+24>>2]}Ca=c- -64|0;return d}function ce(a){var b=0,c=0,d=0,e=0;d=Ca-16|0;Ca=d;a:{b:{c:{d:{e:{f:{b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}b=b<<24>>24;switch(b-74|0){case 1:break c;case 2:break d;case 0:break e;default:break f}}if((b|0)!=88){break c}x[a>>2]=x[a>>2]+1;b=ke(a);if(!b){break b}a=Sd(a,69)?b:0;break a}x[a>>2]=x[a>>2]+1;b=a+8|0;e=x[b+4>>2]-x[b>>2]>>2;while(1){if(!Sd(a,69)){c=ce(a);x[d+12>>2]=c;if(!c){break b}de(b,d+12|0);continue}break}c=d+4|0;ee(c,a,e);b=Ca-16|0;Ca=b;e=De(a+408|0,16);a=x[c+4>>2];c=x[c>>2];x[b>>2]=c;x[b+4>>2]=a;x[b+8>>2]=c;x[b+12>>2]=a;a=Fe(e,37,0,1,1,1);x[a>>2]=39500;c=x[b+4>>2];x[a+8>>2]=x[b>>2];x[a+12>>2]=c;Ca=b+16|0;break a}b=x[a>>2];if(x[a+4>>2]-b>>>0>1){b=y[b+1|0]}else{b=0}if((b|0)==90){x[a>>2]=x[a>>2]+2;b=Rd(a);if(!b){break b}a=Sd(a,69)?b:0;break a}a=Ae(a);break a}a=Vd(a);break a}a=0}Ca=d+16|0;return a}function Ek(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=x[a+8>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[d+5|0]|y[d+6|0]<<8)&192)!=64){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Pd(b+8|0,4757);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);a=x[a+12>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function $j(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca+-64|0;Ca=b;d=x[a+12>>2];e=x[a+8>>2];x[b+24>>2]=e;x[b+28>>2]=d;x[b+56>>2]=e;x[b+60>>2]=d;d=b+48|0;c=Ge(c,b+24|0);x[d>>2]=c+20;x[d+4>>2]=x[c+20>>2];x[c+20>>2]=0;e=Pd(b+40|0,4733);f=x[e+4>>2];x[b+16>>2]=x[e>>2];x[b+20>>2]=f;c=Ge(c,b+16|0);e=x[a+16>>2];f=x[x[e>>2]+16>>2];x[11118]=0;ya(f|0,e|0,c|0);e=x[11118];x[11118]=0;a:{if((e|0)!=1){e=Pd(b+32|0,4481);f=x[e+4>>2];x[b+8>>2]=x[e>>2];x[b+12>>2]=f;c=Ge(c,b+8|0);x[x[d>>2]>>2]=x[d+4>>2];nf(c,40);of(x[a+20>>2],c,19,0);pf(c,41);Ca=b- -64|0;break a}a=ta()|0;x[x[d>>2]>>2]=x[d+4>>2];ua(a|0);r()}Ha=0;return 0}function ne(a){var b=0,c=0,d=0,e=0,f=0,g=0;b=Ca-16|0;Ca=b;a:{b:{if(!Sd(a,84)){break b}x[b+12>>2]=0;if(Sd(a,76)){if(He(a,b+12|0)){break b}c=x[b+12>>2];if(!Sd(a,95)){break b}c=c+1|0}x[b+8>>2]=0;if(!Sd(a,95)){if(He(a,b+8|0)){break b}f=x[b+8>>2]+1|0;x[b+8>>2]=f;if(!Sd(a,95)){break b}}if(!(c|!y[a+389|0])){d=De(a+408|0,20);c=x[b+8>>2];d=Te(d,40,2,2,2);v[d+16|0]=0;x[d+12>>2]=0;x[d+8>>2]=c;x[d>>2]=32996;if(y[d+4|0]!=40){break a}x[b+4>>2]=d;de(a+360|0,b+4|0);break b}c:{e=a+332|0;d:{if(x[e+4>>2]-x[e>>2]>>2>>>0<=c>>>0){break d}if(!x[ye(e,c)>>2]){break d}g=x[ye(e,c)>>2];if(x[g+4>>2]-x[g>>2]>>2>>>0>f>>>0){break c}}if(x[a+392>>2]!=(c|0)){break b}f=x[e+4>>2]-x[e>>2]>>2;if(f>>>0>>0){break b}if((c|0)==(f|0)){x[b+4>>2]=0;de(e,b+4|0)}d=he(a,2244);break b}d=x[ye(x[ye(e,c)>>2],f)>>2]}Ca=b+16|0;return d}wa(3195,2824,5285,2408);r()}function sk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-48|0;Ca=b;nf(c,40);d=x[a+8>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[d+5|0]|y[d+6|0]<<8)&192)!=64){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}pf(c,41);a=a+12|0;a:{if(y[x[a>>2]]==110){d=Pd(b+40|0,5023);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;c=yf(c,b+8|0);bf(b+32|0,a,1);a=x[b+36>>2];x[b>>2]=x[b+32>>2];x[b+4>>2]=a;yf(c,b);break a}d=x[a+4>>2];a=x[a>>2];x[b+16>>2]=a;x[b+20>>2]=d;x[b+24>>2]=a;x[b+28>>2]=d;yf(c,b+16|0)}Ca=b+48|0;Ha=0;return 0}function Zh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,y,A,B,C,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;y=y|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;d=0;b=Ca-16|0;Ca=b;a:{if(x[a+116>>2]){break a}if(e>>>0<=1){hb(g,1,13167,0);break a}cb(c,b+12|0,2);f=x[b+12>>2];h=f&65535;if(!h){hb(g,1,13200,0);break a}if(D(h,6)+2>>>0>e>>>0){hb(g,1,13167,0);break a}e=uc(D(f,6));if(!e){break a}f=uc(8);x[a+116>>2]=f;if(!f){jd(e);break a}x[f>>2]=e;d=z[b+12>>1];w[f+4>>1]=d;if(!d){d=1;break a}f=0;while(1){d=b+12|0;cb(c+2|0,d,2);g=e+D(f,6)|0;w[g>>1]=x[b+12>>2];cb(c+4|0,d,2);w[g+2>>1]=x[b+12>>2];c=c+6|0;cb(c,d,2);w[g+4>>1]=x[b+12>>2];d=1;f=f+1|0;if(f>>>0>2]+4>>1]){continue}break}}Ca=b+16|0;Ha=0;return d|0}function bh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[a+32>>2];x[a+36>>2]=b;a:{b:{f=x[a+48>>2];if(f){while(1){f=Ia[x[a+20>>2]](b,0,f,0,x[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if((f|0)==-1){break b}b=f+x[a+36>>2]|0;x[a+36>>2]=b;f=x[a+48>>2]-f|0;x[a+48>>2]=f;if(f){continue}break}b=x[a+32>>2]}x[a+48>>2]=0;x[a+36>>2]=b;if(!(Ia[x[a+28>>2]](c,d,x[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)){x[a+68>>2]=x[a+68>>2]|8;a=0;break a}x[a+56>>2]=c;x[a+60>>2]=d;a=1;break a}x[a+68>>2]=x[a+68>>2]|8;hb(e,4,19573,0);x[a+68>>2]=x[a+68>>2]|8;a=0}Ha=0;return a|0}function _e(a){var b=0,c=0,d=0,e=0;c=Ca-16|0;Ca=c;a:{b:{c:{b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}if((b|0)!=100){break c}b=x[a>>2];if(x[a+4>>2]-b>>>0>1){b=y[b+1|0]}else{b=0}b=b<<24>>24;if((b|0)!=88){if((b|0)!=120){if((b|0)!=105){break c}x[a>>2]=x[a>>2]+2;b=Ce(a);x[c+12>>2]=b;if(!b){break b}b=_e(a);x[c+8>>2]=b;if(!b){break b}v[c+4|0]=0;a=gf(a,c+12|0,c+8|0,c+4|0);break a}x[a>>2]=x[a>>2]+2;b=ke(a);x[c+12>>2]=b;if(!b){break b}b=_e(a);x[c+8>>2]=b;if(!b){break b}v[c+4|0]=1;a=gf(a,c+12|0,c+8|0,c+4|0);break a}x[a>>2]=x[a>>2]+2;b=ke(a);x[c+12>>2]=b;if(!b){break b}b=ke(a);x[c+8>>2]=b;if(!b){break b}b=_e(a);x[c+4>>2]=b;if(!b){break b}a=De(a+408|0,20);b=x[c+12>>2];d=x[c+8>>2];e=x[c+4>>2];a=Fe(a,78,0,1,1,1);x[a+16>>2]=e;x[a+12>>2]=d;x[a+8>>2]=b;x[a>>2]=36976;break a}a=ke(a);break a}a=0}Ca=c+16|0;return a}function vl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=x[a+12>>2];e=y[d+6|0]&3;a:{if((e|0)!=2){d=!e;break a}d=Ia[x[x[d>>2]+4>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b:{if(!d){d=x[a+12>>2];e=(y[d+5|0]|y[d+6|0]<<8)>>>10&3;c:{if((e|0)!=2){d=!e;break c}d=Ia[x[x[d>>2]+8>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}if(!d){break b}}d=Pd(b+8|0,5302);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;Ge(c,b)}a=x[a+12>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ca=b+16|0;Ha=0;return 0}function Bj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,z,A,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;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;f=Ca-48|0;Ca=f;x[a>>2]=x[c+12>>2];x[a+4>>2]=x[c+8>>2];c=a+4|0;b=Zd(f+4|0);a:{b:{c:{while(1){d=x[c>>2];g=x[x[d>>2]+12>>2];x[11118]=0;d=ra(g|0,d|0,e|0)|0;g=x[11118];x[11118]=0;if((g|0)==1){break b}if(y[d+4|0]!=12){break c}x[a+4>>2]=x[d+8>>2];d=d+12|0;x[a>>2]=x[(x[d>>2]>2]?d:a)>>2];de(b,c);d=x[b+4>>2]-x[b>>2]>>2;if(d>>>0<2){continue}g=x[c>>2];x[11118]=0;d=ra(218,b|0,d-1>>>1|0)|0;h=x[11118];x[11118]=0;if((h|0)==1){break b}if((g|0)!=x[d>>2]){continue}break}x[c>>2]=0}Xd(b);Ca=f+48|0;break a}a=ta()|0;Xd(b);ua(a|0);r()}Ha=0;return 0}function Bf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=Ca-48|0;Ca=c;f=c+40|0;x[f>>2]=b+12;x[f+4>>2]=x[b+12>>2];x[b+12>>2]=-1;g=c+32|0;x[g>>2]=b+16;x[g+4>>2]=x[b+16>>2];x[b+16>>2]=-1;d=x[b+4>>2];e=x[a+8>>2];x[11118]=0;ya(202,e|0,b|0);h=x[11118];x[11118]=0;e=1;if((h|0)!=1){a:{b:{c:{d:{e:{h=x[b+16>>2];switch(h+1|0){case 0:break c;case 1:break e;default:break d}}x[b+4>>2]=d;break b}while(1){if((e|0)==(h|0)){break b}d=Pd(c+16|0,6154);i=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=i;d=Ge(b,c);x[b+12>>2]=e;i=x[a+8>>2];x[11118]=0;ya(202,i|0,d|0);d=x[11118];x[11118]=0;if((d|0)!=1){e=e+1|0;continue}break}break a}a=Pd(c+24|0,4995);e=x[a+4>>2];x[c+8>>2]=x[a>>2];x[c+12>>2]=e;Ge(b,c+8|0)}x[x[g>>2]>>2]=x[g+4>>2];x[x[f>>2]>>2]=x[f+4>>2];Ca=c+48|0;return}}a=ta()|0;x[x[g>>2]>>2]=x[g+4>>2];x[x[f>>2]>>2]=x[f+4>>2];ua(a|0);r()}function Fc(){Z(31908,3273);_(31932,2476,1,1,0);$(31944,1966,1,-128,127);$(31968,1959,1,-128,127);$(31956,1957,1,0,255);$(31980,1331,2,-32768,32767);$(31992,1322,2,0,65535);$(32004,1411,4,-2147483648,2147483647);$(32016,1402,4,0,-1);$(32028,2922,4,-2147483648,2147483647);$(32040,2913,4,0,-1);dg(32052,1560,-2147483648,2147483647);dg(32064,1559,0,-1);aa(32076,1506,4);aa(32088,3121,8);ba(29728,2953);ba(29800,4278);ca(29872,4,2927);ca(29948,2,2965);ca(30024,4,2980);da(20816,2532);ea(30064,0,4156);ea(30104,0,4311);ea(20860,1,4239);ea(30144,2,3711);ea(30184,3,3742);ea(30224,4,3782);ea(30264,5,3811);ea(30304,4,4348);ea(30344,5,4378);ea(30104,0,3913);ea(20860,1,3880);ea(30144,2,3979);ea(30184,3,3945);ea(30224,4,4113);ea(30264,5,4079);ea(30384,8,4046);ea(30424,9,4012);ea(30464,6,3849);ea(30504,7,4417)}function Kj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a+8>>2];if(b){Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=!x[a+8>>2]}else{d=1}b=y[a+16|0];if(!(b?0:d)){Nd(c,b?58:46)}a=x[a+12>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function ad(a,b,c,d){a:{switch(b-9|0){case 0:b=x[c>>2];x[c>>2]=b+4;x[a>>2]=x[b>>2];return;case 6:b=x[c>>2];x[c>>2]=b+4;b=w[b>>1];x[a>>2]=b;x[a+4>>2]=b>>31;return;case 7:b=x[c>>2];x[c>>2]=b+4;x[a>>2]=z[b>>1];x[a+4>>2]=0;return;case 8:b=x[c>>2];x[c>>2]=b+4;b=v[b|0];x[a>>2]=b;x[a+4>>2]=b>>31;return;case 9:b=x[c>>2];x[c>>2]=b+4;x[a>>2]=y[b|0];x[a+4>>2]=0;return;case 16:b=x[c>>2]+7&-8;x[c>>2]=b+8;C[a>>3]=C[b>>3];return;case 17:Ia[d|0](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;default:return;case 1:case 4:case 14:b=x[c>>2];x[c>>2]=b+4;b=x[b>>2];x[a>>2]=b;x[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=x[c>>2];x[c>>2]=b+4;x[a>>2]=x[b>>2];x[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=x[c>>2]+7&-8;x[c>>2]=b+8;c=x[b+4>>2];x[a>>2]=x[b>>2];x[a+4>>2]=c}function Ab(a){var b=0,c=0,d=0,e=0;a:{if(!a){break a}b=x[a+5164>>2];if(b){c=x[a+5160>>2];if(c){b=0;while(1){d=x[x[a+5164>>2]+(b<<3)>>2];if(d){jd(d);c=x[a+5160>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=x[a+5164>>2]}x[a+5160>>2]=0;jd(b);x[a+5164>>2]=0}b=x[a+5172>>2];if(b){jd(b);x[a+5172>>2]=0}b=x[a+5584>>2];if(b){jd(b);x[a+5584>>2]=0}b=x[a+5612>>2];if(b){jd(b);x[a+5612>>2]=0}b=x[a+5608>>2];if(b){jd(b);x[a+5608>>2]=0}b=x[a+5628>>2];if(b){jd(b);x[a+5636>>2]=0;x[a+5628>>2]=0;x[a+5632>>2]=0}b=x[a+5616>>2];if(b){e=x[a+5620>>2];if(e){c=0;while(1){d=x[b+12>>2];if(d){jd(d);x[b+12>>2]=0;e=x[a+5620>>2]}b=b+20|0;c=c+1|0;if(e>>>0>c>>>0){continue}break}b=x[a+5616>>2]}jd(b);x[a+5616>>2]=0}b=x[a+5604>>2];if(b){jd(b);x[a+5604>>2]=0}b=x[a+5596>>2];if(!b){break a}jd(b);x[a+5596>>2]=0;x[a+5600>>2]=0}}function mb(a){var b=0,c=0,d=0,e=0,f=0,g=0;g=Ca-16|0;Ca=g;if(a){a:{if(!x[a+8>>2]){break a}if(x[a+12>>2]){x[a+40>>2]=0;if(x[a+24>>2]>0){while(1){if(x[a+24>>2]>0){continue}break}}}x[a+16>>2]=1;if(x[a+4>>2]>0){while(1){d=D(b,20);jd(x[(d+x[a>>2]|0)+4>>2]);c=x[a>>2];e=x[(c+d|0)+16>>2];if(e){jd(e);c=x[a>>2]}c=x[(c+d|0)+12>>2];if(c){jd(c)}b=b+1|0;if((b|0)>2]){continue}break}}jd(x[a>>2]);b=x[a+28>>2];if(b){while(1){c=x[b+4>>2];jd(b);x[a+28>>2]=c;b=c;if(b){continue}break}}b=x[a+8>>2];if(!b){break a}jd(b)}b=x[a+12>>2];if(b){jd(b)}b=x[a+36>>2];if(b){c=x[b+4>>2];if((c|0)>0){while(1){d=x[b>>2]+D(f,12)|0;e=x[d+8>>2];if(e){Ia[e|0](x[d+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;c=x[b+4>>2]}f=f+1|0;if((f|0)<(c|0)){continue}break}}jd(x[b>>2]);jd(b)}jd(a)}Ca=g+16|0}function Nk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-80|0;Ca=b;d=Pd(b+72|0,4754);e=x[d+4>>2];x[b+32>>2]=x[d>>2];x[b+36>>2]=e;c=yf(c,b+32|0);Ia[x[x[a>>2]+24>>2]](b- -64|0,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=x[b+68>>2];x[b+24>>2]=x[b+64>>2];x[b+28>>2]=d;c=yf(c,b+24|0);if(A[a+8>>2]>1){d=Pd(b+56|0,4186);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;c=yf(c,b+16|0);if(x[a+8>>2]==2){a=Pd(b+48|0,4216);d=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=d;yf(c,b+8|0)}a=Pd(b+40|0,4481);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;yf(c,b)}Ca=b+80|0;Ha=0;return 0}function ek(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,B,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;var J=0,K=0;b=Ca-80|0;Ca=b;a=a+8|0;e=x[a>>2];if((x[a+4>>2]-e|0)+1>>>0>=17){d=b+72|0;a=0;while(1){if((a|0)!=16){f=v[(a|1)+e|0];g=(f-48>>>0<10?-48:-87)+f|0;f=v[a+e|0];v[d|0]=g+((f-48>>>0>=10?9:0)+f<<4);d=d+1|0;a=a+2|0;continue}break}vf(b+72|0,d);x[b+56>>2]=0;x[b+60>>2]=0;x[b+48>>2]=0;x[b+52>>2]=0;x[b+40>>2]=0;x[b+44>>2]=0;x[b+32>>2]=0;x[b+36>>2]=0;C[b+16>>3]=C[b+72>>3];a=b+24|0;d=b+32|0;J=a,K=Md(d,32,3417,b+16|0)+d|0,x[J+4>>2]=K;x[a>>2]=d;d=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=d;Ge(c,b+8|0)}Ca=b+80|0;Ha=0;return 0}function Xj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-48|0;Ca=b;if(y[a+12|0]){d=Pd(b+40|0,4757);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;Ge(c,b+16|0)}d=Pd(b+32|0,3043);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;c=Ge(c,b+8|0);if(y[a+13|0]){d=Pd(b+24|0,3478);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;Ge(c,b)}c=Nd(c,32);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+48|0;Ha=0;return 0}function $a(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=x[a+8>>2];c=x[a+4>>2];if(e-c>>>0>=b>>>0){if(b){c=Hc(c,0,b)+b|0}x[a+4>>2]=c;return}h=x[a>>2];f=c-h|0;d=f+b|0;if((d|0)>=0){e=e-h|0;g=e<<1;d=e>>>0>=1073741823?2147483647:d>>>0>>0?g:d;if(d){i=od(d)}e=d+i|0;g=b;d=f+i|0;b=Hc(d,0,b);g=g+b|0;a:{if((c|0)==(h|0)){i=b;break a}j=(h^-1)+c|0;f=f&3;if(f){b=0;while(1){d=d-1|0;c=c-1|0;v[d|0]=y[c|0];b=b+1|0;if((f|0)!=(b|0)){continue}break}}if(j>>>0>=3){while(1){v[d-1|0]=y[c-1|0];v[d-2|0]=y[c-2|0];v[d-3|0]=y[c-3|0];d=d-4|0;c=c-4|0;v[d|0]=y[c|0];if((c|0)!=(h|0)){continue}break}}c=x[a>>2]}x[a+8>>2]=e;x[a+4>>2]=g;x[a>>2]=i;if(c){jd(c)}return}a=pd(8);x[a>>2]=32284;x[a>>2]=32356;x[11118]=0;ra(168,a+4|0,1753)|0;b=x[11118];x[11118]=0;if((b|0)==1){ua(ta()|0);r()}x[a>>2]=32404;Y(a|0,32436,57);r()}function sg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;var K=0,L=0;b=Ca-16|0;Ca=b;if(!y[42052]){v[42052]=1;K=42016,L=V(1141)|0,x[K>>2]=L;a:{b:{if(!y[44484]){x[11118]=0;qa(174);d=x[11118];x[11118]=0;if((d|0)==1){break b}v[44484]=1}c:{if(!y[44485]){x[11118]=0;d=vd(x[11122],44488);e=x[11118];x[11118]=0;if((e|0)==1){break b}if(d){break c}v[44485]=1}d=id(12);if(!d){break a}x[d+4>>2]=0;x[d>>2]=50;x[d+8>>2]=x[11123];x[11123]=d}break a}oa(0)|0;ud();r()}}d=x[c+16>>2];c=x[c+12>>2];x[b+12>>2]=c;x[b+8>>2]=d-c;K=a,L=W(x[10504],1,20876,b+8|0)|0,x[K>>2]=L;Ca=b+16|0;Ha=0;return 0}function ik(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;var I=0,J=0;f=Ca-32|0;Ca=f;a:{b:{c:{switch(x[a+8>>2]){case 0:b=Pd(f+24|0,3512);break b;case 1:b=Pd(f+16|0,3565);break b;case 2:break c;default:break a}}b=Pd(f+8|0,3508)}d=x[b+4>>2];x[f>>2]=x[b>>2];x[f+4>>2]=d;Ge(c,f)}a=x[a+12>>2];if(a){a=a-1|0;b=0;g=Ca-48|0;Ca=g;h=g+48|0;while(1){h=h-1|0;e=a;d=b;a=Hl(a,b,10,0);b=Ha;I=h,J=e-Fl(a,b,10,0)|48,v[I|0]=J;if(!d&e>>>0>9|d){continue}break}a=g+16|0;b=g+48|0;x[a+4>>2]=b;x[a>>2]=h;d=x[a+4>>2];x[g+8>>2]=x[a>>2];x[g+12>>2]=d;Ge(c,g+8|0);Ca=b}Ca=f+32|0;Ha=0;return 0}function fk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;var I=0,J=0;b=Ca-112|0;Ca=b;a=a+8|0;e=x[a>>2];if((x[a+4>>2]-e|0)+1>>>0>=33){d=b+96|0;a=0;while(1){if((a|0)!=32){f=v[(a|1)+e|0];g=(f-48>>>0<10?-48:-87)+f|0;f=v[a+e|0];v[d|0]=g+((f-48>>>0>=10?9:0)+f<<4);d=d+1|0;a=a+2|0;continue}break}vf(b+96|0,d);a=b+48|0;Hc(a,0,42);d=x[b+100>>2];x[b+16>>2]=x[b+96>>2];x[b+20>>2]=d;d=x[b+108>>2];x[b+24>>2]=x[b+104>>2];x[b+28>>2]=d;d=b+40|0;I=d,J=Md(a,42,3571,b+16|0)+a|0,x[I+4>>2]=J;x[d>>2]=a;a=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=a;Ge(c,b+8|0)}Ca=b+112|0;Ha=0;return 0}function bk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca+-64|0;Ca=b;if(x[a+12>>2]-x[a+8>>2]>>>0>=4){nf(c,40);d=x[a+12>>2];e=x[a+8>>2];x[b+24>>2]=e;x[b+28>>2]=d;x[b+56>>2]=e;x[b+60>>2]=d;pf(Ge(c,b+24|0),41)}d=a+16|0;a:{if(y[x[d>>2]]==110){e=Nd(c,45);bf(b+48|0,d,1);d=x[b+52>>2];x[b+8>>2]=x[b+48>>2];x[b+12>>2]=d;Ge(e,b+8|0);break a}e=x[d+4>>2];d=x[d>>2];x[b+16>>2]=d;x[b+20>>2]=e;x[b+40>>2]=d;x[b+44>>2]=e;Ge(c,b+16|0)}if(x[a+12>>2]-x[a+8>>2]>>>0<=3){d=x[a+12>>2];a=x[a+8>>2];x[b>>2]=a;x[b+4>>2]=d;x[b+32>>2]=a;x[b+36>>2]=d;Ge(c,b)}Ca=b- -64|0;Ha=0;return 0}function zk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;nf(c,40);b=x[a+8>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}pf(c,41);nf(c,40);a=x[a+12>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}pf(c,41);Ha=0;return 0}function hl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-48|0;Ca=b;d=x[a+8>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[d+5|0]|y[d+6|0]<<8)&192)!=64){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Pd(b+40|0,4733);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;d=Ge(c,b+16|0);c=x[a+16>>2];a=x[a+12>>2];x[b+8>>2]=a;x[b+12>>2]=c;x[b+32>>2]=a;x[b+36>>2]=c;a=Ge(d,b+8|0);c=Pd(b+24|0,4481);d=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=d;Ge(a,b);Ca=b+48|0;Ha=0;return 0}function cl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-48|0;Ca=b;d=x[a+8>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[d+5|0]|y[d+6|0]<<8)&192)!=64){Ia[x[x[d>>2]+20>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}d=Pd(b+40|0,5304);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;d=Ge(c,b+16|0);c=x[a+16>>2];a=x[a+12>>2];x[b+8>>2]=a;x[b+12>>2]=c;x[b+32>>2]=a;x[b+36>>2]=c;a=Ge(d,b+8|0);c=Pd(b+24|0,5302);d=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=d;Ge(a,b);Ca=b+48|0;Ha=0;return 0}function dk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;J=J|0;var K=0,L=0;b=Ca+-64|0;Ca=b;a=a+8|0;e=x[a>>2];if((x[a+4>>2]-e|0)+1>>>0>=9){d=b+60|0;a=0;while(1){if((a|0)!=8){f=v[(a|1)+e|0];g=(f-48>>>0<10?-48:-87)+f|0;f=v[a+e|0];v[d|0]=g+((f-48>>>0>=10?9:0)+f<<4);d=d+1|0;a=a+2|0;continue}break}vf(b+60|0,d);x[b+48>>2]=0;x[b+52>>2]=0;x[b+40>>2]=0;x[b+44>>2]=0;x[b+32>>2]=0;x[b+36>>2]=0;C[b+16>>3]=B[b+60>>2];a=b+24|0;d=b+32|0;K=a,L=Md(d,24,3013,b+16|0)+d|0,x[K+4>>2]=L;x[a>>2]=d;d=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=d;Ge(c,b+8|0)}Ca=b- -64|0;Ha=0;return 0}function al(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=x[a+8>>2];a:{if(!d){break a}Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(Ue(x[a+8>>2],c)){break a}d=Pd(b+8|0,6176);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;Ge(c,b)}a=x[a+12>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function Sk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a+12>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b=Nd(c,64);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function _k(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a+8>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=x[a+12>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function lf(a){var b=0,c=0,d=0,e=0;d=Ca-48|0;Ca=d;b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}a:{if((b<<24>>24)-48>>>0<=9){b=jf(a);break a}b=Pd(d+40|0,2390);c=x[b+4>>2];x[d+16>>2]=x[b>>2];x[d+20>>2]=c;if(Qd(a,d+16|0)){c=Ca-16|0;Ca=c;b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}b:{if((b<<24>>24)-48>>>0<=9){b=jf(a);break b}b=hf(a)}x[c+12>>2]=b;if(b){a=De(a+408|0,12);e=x[c+12>>2];b=Fe(a,46,0,1,1,1);x[b+8>>2]=e;x[b>>2]=37856}else{b=0}Ca=c+16|0;break a}b=Pd(d+32|0,2387);c=x[b+4>>2];x[d+8>>2]=x[b>>2];x[d+12>>2]=c;Qd(a,d+8|0);c=Se(a,0);x[d+28>>2]=c;b=0;if(!c){break a}b=c;c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}if((c|0)!=73){break a}b=oe(a,0);x[d+24>>2]=b;if(b){b=pe(a,d+28|0,d+24|0)}else{b=0}}Ca=d+48|0;return b}function ak(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;d=x[a+12>>2];e=x[a+8>>2];x[b+8>>2]=e;x[b+12>>2]=d;x[b+24>>2]=e;x[b+28>>2]=d;d=Ge(c,b+8|0);nf(d,40);c=x[a+16>>2];Ia[x[x[c>>2]+16>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[c+5|0]|y[c+6|0]<<8)&192)!=64){Ia[x[x[c>>2]+20>>2]](c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}pf(d,41);c=x[a+24>>2];a=x[a+20>>2];x[b>>2]=a;x[b+4>>2]=c;x[b+16>>2]=a;x[b+20>>2]=c;Ge(d,b);Ca=b+32|0;Ha=0;return 0}function Yh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;z=z|0;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;b=Ca-16|0;Ca=b;d=x[a+120>>2];a:{if(!d){hb(g,1,13121,0);d=0;break a}if(x[d+12>>2]){hb(g,1,15567,0);d=0;break a}f=e;e=y[d+18|0];d=e<<2;if(f>>>0>>0){hb(g,1,13088,0);d=0;break a}f=uc(d);d=0;if(!f){break a}if(e){d=0;while(1){g=b+12|0;cb(c,g,2);h=f+(d<<2)|0;w[h>>1]=x[b+12>>2];cb(c+2|0,g,1);v[h+2|0]=x[b+12>>2];cb(c+3|0,g,1);v[h+3|0]=x[b+12>>2];c=c+4|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}x[x[a+120>>2]+12>>2]=f;d=1}a=d;Ca=b+16|0;Ha=0;return a|0}function Hc(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}v[a|0]=b;d=a+c|0;v[d-1|0]=b;if(c>>>0<3){break a}v[a+2|0]=b;v[a+1|0]=b;v[d-3|0]=b;v[d-2|0]=b;if(c>>>0<7){break a}v[a+3|0]=b;v[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=D(b&255,16843009);x[e>>2]=b;d=c-d&-4;c=d+e|0;x[c-4>>2]=b;if(d>>>0<9){break a}x[e+8>>2]=b;x[e+4>>2]=b;x[c-8>>2]=b;x[c-12>>2]=b;if(d>>>0<25){break a}x[e+24>>2]=b;x[e+20>>2]=b;x[e+16>>2]=b;x[e+12>>2]=b;x[c-16>>2]=b;x[c-20>>2]=b;x[c-24>>2]=b;x[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=Fl(b,0,1,1);f=Ha;b=e+g|0;while(1){x[b+24>>2]=d;x[b+28>>2]=f;x[b+16>>2]=d;x[b+20>>2]=f;x[b+8>>2]=d;x[b+12>>2]=f;x[b>>2]=d;x[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Fh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;b=Ca-16|0;Ca=b;f=e;e=x[x[a+72>>2]+16>>2];a:{if((f|0)!=(e+2|0)){hb(g,1,9034,0);break a}cb(c,b+12|0,2);if(x[b+12>>2]!=(e|0)){hb(g,1,9034,0);break a}if(!e){d=1;break a}c=c+2|0;a=x[x[a+72>>2]+24>>2];f=0;while(1){cb(c,b+8|0,1);d=x[b+8>>2];h=d&127;i=h+1|0;x[a+24>>2]=i;x[a+32>>2]=d>>>7&1;if(h>>>0>=31){x[b+4>>2]=i;x[b>>2]=f;hb(g,1,19371,b);d=0;break a}a=a+52|0;d=1;c=c+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}Ca=b+16|0;Ha=0;return d|0} +function Sh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a:{if(x[a+100>>2]!=1){hb(g,1,15410,0);a=0;break a}b:{if(e>>>0<=7){break b}cb(c,a+56|0,4);cb(c+4|0,a+60|0,4);if(e&3){break b}d=e-8|0;b=d>>>2|0;x[a+64>>2]=b;c:{if(d>>>0>=4){b=vc(b,4);x[a+68>>2]=b;if(!b){break c}b=x[a+64>>2]}if(b){c=c+8|0;b=0;while(1){cb(c,x[a+68>>2]+(b<<2)|0,4);c=c+4|0;b=b+1|0;if(b>>>0>2]){continue}break}}x[a+100>>2]=x[a+100>>2]|2;a=1;break a}hb(g,1,6711,0);a=0;break a}hb(g,1,10346,0);a=0}Ha=0;return a|0}function sh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;b=Ca-16|0;Ca=b;h=x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2];d=x[a+72>>2];f=A[d+16>>2]<257?1:2;a:{if(f>>>0>=e>>>0){d=0;hb(g,1,9086,0);break a}x[b+12>>2]=(f^-1)+e;cb(c,b+8|0,f);e=x[b+8>>2];if(e>>>0>=A[d+16>>2]){d=0;hb(g,1,18036,0);break a}d=1;c=c+f|0;cb(c,x[h+5584>>2]+D(e,1080)|0,1);if(!Qb(a,x[b+8>>2],c+1|0,b+12|0,g)){d=0;hb(g,1,9086,0);break a}if(!x[b+12>>2]){break a}d=0;hb(g,1,9086,0)}Ca=b+16|0;Ha=0;return d|0}function vh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;a:{b:{h=b+8|0;c:{if(A[x[a+72>>2]+16>>2]<=256){if(e){d=-1;f=1;break c}hb(g,1,9112,0);a=0;break a}if(e>>>0<=1){break b}d=-2;f=2}cb(c,h,f);x[b+12>>2]=d+e;d=x[b+8>>2];e=x[x[a+72>>2]+16>>2];if(d>>>0>=e>>>0){x[b+4>>2]=e;x[b>>2]=d;hb(g,1,12090,b);a=0;break a}if(!Rb(a,d,c+f|0,b+12|0,g)){hb(g,1,9112,0);a=0;break a}a=1;if(!x[b+12>>2]){break a}hb(g,1,9112,0);a=0;break a}hb(g,1,9112,0);a=0}Ca=b+16|0;Ha=0;return a|0}function ml(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[a+12>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=Ca-48|0;Ca=b;d=x[a+8>>2];if(d&1){d=Pd(b+40|0,1237);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;Ge(c,b+16|0);d=x[a+8>>2]}if(d&2){d=Pd(b+32|0,3091);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;Ge(c,b+8|0);d=x[a+8>>2]}if(d&4){a=Pd(b+24|0,1484);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b)}Ca=b+48|0;Ha=0;return 0}function ql(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;d=Pd(b+24|0,3481);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;c=Ge(c,b+8|0);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=Pd(b+16|0,3479);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b);Ca=b+32|0;Ha=0;return 0}function gk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;d=Pd(b+24|0,4732);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;c=Ge(c,b+8|0);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=Pd(b+16|0,5361);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b);Ca=b+32|0;Ha=0;return 0}function pj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;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;d=a+360|0;b=d;e=x[b+4>>2]-x[b>>2]>>2;b=x[c+12>>2];g=b>>>0>>0?e:b;a=a+332|0;a:{while(1){if((b|0)!=(g|0)){f=ye(d,b);if(x[a>>2]==x[a+4>>2]){break a}f=x[x[f>>2]+8>>2];if(!x[ye(a,0)>>2]){break a}h=x[ye(a,0)>>2];if(f>>>0>=x[h+4>>2]-x[h>>2]>>2>>>0){break a}f=x[ye(x[ye(a,0)>>2],f)>>2];H=x[ye(d,b)>>2],I=f,x[H+12>>2]=I;b=b+1|0;continue}break}ze(d,x[c+12>>2])}a=b>>>0>>0;Ha=0;return a|0}function Yc(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=Ca-208|0;Ca=f;x[f+204>>2]=c;c=f+160|0;Hc(c,0,40);x[f+200>>2]=x[f+204>>2];a:{if((Zc(0,b,f+200|0,f+80|0,c,d,e)|0)<0){e=-1;break a}i=x[a+76>>2]>=0;g=x[a>>2];x[a>>2]=g&-33;b:{c:{d:{if(!x[a+48>>2]){x[a+48>>2]=80;x[a+28>>2]=0;x[a+16>>2]=0;x[a+20>>2]=0;h=x[a+44>>2];x[a+44>>2]=f;break d}if(x[a+16>>2]){break c}}c=-1;if(Lc(a)){break b}}c=Zc(a,b,f+200|0,f+80|0,f+160|0,d,e)}if(h){Ia[x[a+36>>2]](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;x[a+48>>2]=0;x[a+44>>2]=h;x[a+28>>2]=0;b=x[a+20>>2];x[a+16>>2]=0;x[a+20>>2]=0;c=b?c:-1}b=a;a=x[a>>2];x[b>>2]=a|g&32;e=a&32?-1:c;if(!i){break a}}Ca=f+208|0;return e}function uh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;f=0;d=Ca-16|0;Ca=d;x[d+12>>2]=e;a:{if(!(!Rb(a,0,c,d+12|0,g)|x[d+12>>2])){f=1;if(A[x[a+72>>2]+16>>2]<2){break a}c=x[(x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2])+5584>>2];g=c+28|0;e=1;b=c;while(1){x[b+1104>>2]=x[c+24>>2];x[b+1884>>2]=x[c+804>>2];Gc(b+1108|0,g,776);b=b+1080|0;e=e+1|0;if(e>>>0>2]+16>>2]){continue}break}break a}hb(g,1,9008,0)}Ca=d+16|0;Ha=0;return f|0}function nk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-48|0;Ca=b;d=b+40|0;x[d>>2]=c+20;x[d+4>>2]=x[c+20>>2];x[c+20>>2]=0;e=Pd(b+32|0,4704);f=x[e+4>>2];x[b+16>>2]=x[e>>2];x[b+20>>2]=f;c=Ge(c,b+16|0);x[11118]=0;ya(216,a+12|0,c|0);a=x[11118];x[11118]=0;a:{if((a|0)!=1){a=Pd(b+24|0,6059);e=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=e;Ge(c,b+8|0);x[x[d>>2]>>2]=x[d+4>>2];Ca=b+48|0;break a}a=ta()|0;x[x[d>>2]>>2]=x[d+4>>2];ua(a|0);r()}Ha=0;return 0}function Zk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-48|0;Ca=b;d=b+40|0;x[d>>2]=c+20;x[d+4>>2]=x[c+20>>2];x[c+20>>2]=0;e=Pd(b+32|0,4733);f=x[e+4>>2];x[b+16>>2]=x[e>>2];x[b+20>>2]=f;c=Ge(c,b+16|0);x[11118]=0;ya(216,a+8|0,c|0);a=x[11118];x[11118]=0;a:{if((a|0)!=1){a=Pd(b+24|0,4481);e=x[a+4>>2];x[b+8>>2]=x[a>>2];x[b+12>>2]=e;Ge(c,b+8|0);x[x[d>>2]>>2]=x[d+4>>2];Ca=b+48|0;break a}a=ta()|0;x[x[d>>2]>>2]=x[d+4>>2];ua(a|0);r()}Ha=0;return 0}function Pk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-48|0;Ca=b;d=x[a+8>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=Pd(b+40|0,4735);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;d=Ge(c,b+16|0);c=x[a+16>>2];a=x[a+12>>2];x[b+8>>2]=a;x[b+12>>2]=c;x[b+32>>2]=a;x[b+36>>2]=c;a=Ge(d,b+8|0);c=Pd(b+24|0,3479);d=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=d;Ge(a,b);Ca=b+48|0;Ha=0;return 0}function th(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,A,B,C,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;f=e;d=x[x[a+72>>2]+16>>2];e=d>>>0<257?1:2;a:{if((f|0)!=(e+2|0)){a=0;hb(g,1,8676,0);break a}f=x[a+8>>2]==16?x[a+156>>2]+D(x[a+204>>2],5644)|0:x[a+12>>2];cb(c,b+12|0,e);a=1;e=c+e|0;cb(e,b+8|0,1);c=x[b+12>>2];if(c>>>0>=d>>>0){x[b+4>>2]=d;x[b>>2]=c;hb(g,1,18892,b);a=0;break a}cb(e+1|0,(x[f+5584>>2]+D(c,1080)|0)+808|0,1)}Ca=b+16|0;Ha=0;return a|0}function wl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=x[a+12>>2];e=x[a+8>>2];x[b>>2]=e;x[b+4>>2]=d;x[b+8>>2]=e;x[b+12>>2]=d;c=Nd(Ge(c,b),32);a=x[a+16>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function $i(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca+-64|0;Ca=b;d=1;a:{if(xd(a,c,0)){break a}d=0;if(!c){break a}c=yd(c,31604);d=0;if(!c){break a}Hc(b+12|0,0,52);x[b+56>>2]=1;x[b+20>>2]=-1;x[b+16>>2]=a;x[b+8>>2]=c;Ia[x[x[c>>2]+28>>2]](c,0,b+8|0,0,x[e>>2],0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=x[b+32>>2];if((a|0)==1){x[e>>2]=x[b+24>>2]}d=(a|0)==1}a=d;Ca=b- -64|0;Ha=0;return a|0}function Dj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=x[a+12>>2];e=x[a+8>>2];x[b>>2]=e;x[b+4>>2]=d;x[b+8>>2]=e;x[b+12>>2]=d;c=Ge(c,b);a=x[a+16>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function Ic(a){a=a|0;var b=0,c=0,d=0;if(!a){if(x[10500]){b=Ic(x[10500])}if(x[10462]){b=Ic(x[10462])|b}a=x[10697];if(a){while(1){if(x[a+20>>2]!=x[a+28>>2]){b=Ic(a)|b}a=x[a+56>>2];if(a){continue}break}}return b|0}d=x[a+76>>2]>=0;a:{b:{if(x[a+20>>2]==x[a+28>>2]){break b}Ia[x[a+36>>2]](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(x[a+20>>2]){break b}b=-1;break a}b=x[a+8>>2];c=x[a+4>>2];if((b|0)!=(c|0)){b=c-b|0;Ia[x[a+40>>2]](a,0,b,b>>31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b=0;x[a+28>>2]=0;x[a+16>>2]=0;x[a+20>>2]=0;x[a+4>>2]=0;x[a+8>>2]=0;if(!d){break a}}return b|0}function mk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a+8>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}a=x[a+12>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return 0}function wg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;f=0;d=z[c+26>>1];b=a;c=z[c+24>>1];x[a>>2]=c;if(e){g=e&3;a:{if(!g){a=e;break a}a=e;while(1){a=a-1|0;d=d+1>>>1|0;c=c+1>>>1|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}if(e>>>0>=4){while(1){d=(((d+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;c=(((c+1>>>1|0)+1>>>1|0)+1>>>1|0)+1>>>1|0;a=a-4|0;if(a){continue}break}}x[b>>2]=c}x[b+4>>2]=d;Ha=0;return 0}function ol(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,1512);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function Jk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,4757);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function Ik(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,6166);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function Hk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,5731);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function Dk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,5702);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=b+16|0;Ha=0;return 0}function bj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a:{if(xd(a,x[c+8>>2],i)){if(!(x[c+28>>2]==1|x[c+4>>2]!=(e|0))){x[c+28>>2]=g}break a}b:{if(!xd(a,x[c>>2],i)){break b}if(!(x[c+16>>2]!=(e|0)&x[c+20>>2]!=(e|0))){if((g|0)!=1){break b}x[c+32>>2]=1;break a}x[c+20>>2]=e;x[c+32>>2]=g;x[c+40>>2]=x[c+40>>2]+1;if(!(x[c+36>>2]!=1|x[c+24>>2]!=2)){v[c+54|0]=1}x[c+44>>2]=4}}Ha=0;return 0}function Ta(){var a=0,b=0;Ea=110560;Da=45024;a=Ca-16|0;Ca=a;a:{if(ja(a+12|0,a+8|0)|0){break a}b=id((x[a+12>>2]<<2)+4|0);x[10519]=b;if(!b){break a}b=id(x[a+8>>2]);if(b){x[x[10519]+(x[a+12>>2]<<2)>>2]=0;if(!(ka(x[10519],b|0)|0)){break a}}x[10519]=0}Ca=a+16|0;x[10505]=58;x[10506]=0;Ua();x[10506]=x[10515];x[10515]=42020;x[10507]=59;x[10508]=0;Wa();x[10508]=x[10515];x[10515]=42028;x[10509]=60;x[10510]=0;Xa();x[10510]=x[10515];x[10515]=42036;x[10511]=61;x[10512]=0;Ya();x[10512]=x[10515];x[10515]=42044;x[10516]=158;x[10517]=0;Fc();x[10517]=x[10515];x[10515]=42064;x[10722]=42112;x[10704]=42}function Xb(a){var b=0,c=0;if(a){zb(x[a>>2]);x[a>>2]=0;b=x[a+72>>2];if(b){jd(b);x[a+72>>2]=0}b=x[a+68>>2];if(b){jd(b);x[a+68>>2]=0}b=x[a+108>>2];if(b){jd(b);x[a+108>>2]=0}b=x[a+116>>2];if(b){c=x[b>>2];if(c){jd(c);b=x[a+116>>2];x[b>>2]=0}jd(b);x[a+116>>2]=0}b=x[a+120>>2];if(b){c=x[b+12>>2];if(c){jd(c);b=x[a+120>>2];x[b+12>>2]=0}c=x[b+4>>2];if(c){jd(c);b=x[a+120>>2];x[b+4>>2]=0}c=x[b+8>>2];if(c){jd(c);b=x[a+120>>2];x[b+8>>2]=0}c=x[b>>2];if(c){jd(c);b=x[a+120>>2];x[b>>2]=0}jd(b);x[a+120>>2]=0}b=x[a+4>>2];if(b){sc(b);x[a+4>>2]=0}b=x[a+8>>2];if(b){sc(b);x[a+8>>2]=0}jd(a)}}function Ni(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a+84>>2];d=x[b>>2];f=x[b+4>>2];h=x[a+28>>2];g=x[a+20>>2]-h|0;g=f>>>0>>0?f:g;if(g){Gc(d,h,g);d=g+x[b>>2]|0;x[b>>2]=d;f=x[b+4>>2]-g|0;x[b+4>>2]=f}f=e>>>0>f>>>0?f:e;if(f){Gc(d,c,f);d=f+x[b>>2]|0;x[b>>2]=d;x[b+4>>2]=x[b+4>>2]-f}v[d|0]=0;b=x[a+44>>2];x[a+28>>2]=b;x[a+20>>2]=b;Ha=0;return e|0}function Vk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|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;if(x[c+16>>2]==-1){b=x[a+12>>2];x[c+12>>2]=0;x[c+16>>2]=b}b=x[c+12>>2];if(b>>>0>2]){a=x[x[a+8>>2]+(b<<2)>>2];b=(y[a+5|0]|y[a+6|0]<<8)>>>10&3;a:{if((b|0)!=2){a=!b;break a}a=Ia[x[x[a>>2]+8>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}else{a=0}Ha=0;return a|0}function Oj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;a:{d=Ca-16|0;Ca=d;b:{if(!y[a+16|0]){b=d+8|0;x[b>>2]=a+16;v[b+4|0]=y[a+16|0];v[a+16|0]=1;a=x[a+12>>2];e=x[x[a>>2]+12>>2];x[11118]=0;a=ra(e|0,a|0,c|0)|0;c=x[11118];x[11118]=0;if((c|0)==1){break b}v[x[b>>2]]=y[b+4|0]}Ca=d+16|0;break a}a=ta()|0;v[x[b>>2]]=y[b+4|0];ua(a|0);r()}Ha=0;return a|0}function Zj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;nf(c,40);b=x[a+8>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}pf(c,41);nf(c,40);qf(a+12|0,c);pf(c,41);Ha=0;return 0}function yk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a+8>>2];if(b){Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}b=a+12|0;a=Nd(c,123);qf(b,a);Nd(a,125);Ha=0;return 0}function Eb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;g=Ca-32|0;Ca=g;f=x[a+72>>2];a:{if(!f){hb(d,1,17721,0);e=0;break a}f=vc(4,x[f+16>>2]);e=0;if(!f){break a}if(b){j=x[a+72>>2];while(1){b:{e=x[(h<<2)+c>>2];c:{if(e>>>0>=A[j+16>>2]){x[g+16>>2]=e;hb(d,1,6867,g+16|0);break c}i=f+(e<<2)|0;if(!x[i>>2]){break b}x[g>>2]=e;hb(d,1,7911,g)}jd(f);e=0;break a}x[i>>2]=1;h=h+1|0;if((h|0)!=(b|0)){continue}break}}jd(f);jd(x[a- -64>>2]);d:{if(b){e=b<<2;d=uc(e);x[a+64>>2]=d;if(!d){x[a+60>>2]=0;e=0;break a}Gc(d,c,e);break d}x[a+64>>2]=0}x[a+60>>2]=b;e=1}Ca=g+32|0;return e}function Rk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;if(y[a+12|0]){d=Pd(b+24|0,1032);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;Ge(c,b+8|0)}a=x[a+8>>2];Ia[x[x[a>>2]+24>>2]](b+16|0,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=x[b+20>>2];x[b>>2]=x[b+16>>2];x[b+4>>2]=a;Ge(c,b);Ca=b+32|0;Ha=0;return 0}function Qj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;d=Ca-16|0;Ca=d;a:{b:{if(!y[a+16|0]){b=d+8|0;x[b>>2]=a+16;v[b+4|0]=y[a+16|0];v[a+16|0]=1;a=x[a+12>>2];e=x[x[a>>2]+20>>2];x[11118]=0;ya(e|0,a|0,c|0);a=x[11118];x[11118]=0;if((a|0)==1){break b}v[x[b>>2]]=y[b+4|0]}Ca=d+16|0;break a}a=ta()|0;v[x[b>>2]]=y[b+4|0];ua(a|0);r()}Ha=0;return 0}function Pj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;d=Ca-16|0;Ca=d;a:{b:{if(!y[a+16|0]){b=d+8|0;x[b>>2]=a+16;v[b+4|0]=y[a+16|0];v[a+16|0]=1;a=x[a+12>>2];e=x[x[a>>2]+16>>2];x[11118]=0;ya(e|0,a|0,c|0);a=x[11118];x[11118]=0;if((a|0)==1){break b}v[x[b>>2]]=y[b+4|0]}Ca=d+16|0;break a}a=ta()|0;v[x[b>>2]]=y[b+4|0];ua(a|0);r()}Ha=0;return 0}function Wh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;b=Ca-16|0;Ca=b;d=x[a+24>>2];if((d|0)!=255){x[b>>2]=d;hb(g,2,7102,b)}a:{b:{if(x[a+20>>2]==(e|0)){if(e){break b}d=1;break a}d=0;hb(g,1,18479,0);break a}e=0;while(1){d=1;cb(c,(x[a+72>>2]+D(e,12)|0)+8|0,1);c=c+1|0;e=e+1|0;if(e>>>0>2]){continue}break}}Ca=b+16|0;Ha=0;return d|0}function Oh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,z,A,C,D,G,H,I,J,K,L){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;A=A|0;C=C|0;D=D|0;G=G|0;H=H|0;I=I|0;J=J|0;K=K|0;L=L|0;var M=E(0);d=0;b=Ca-16|0;Ca=b;if(e){while(1){v[b+15|0]=y[a|0];v[b+14|0]=y[a+1|0];v[b+13|0]=y[a+2|0];v[b+12|0]=y[a+3|0];M=B[b+12>>2];a:{if(E(F(M))>2]=f;c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ca=b+16|0;Ha=0;return 0}function qk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-48|0;Ca=b;d=Pd(b+40|0,3409);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;d=Ge(c,b+16|0);c=x[a+28>>2];e=x[a+24>>2];x[b+8>>2]=e;x[b+12>>2]=c;x[b+32>>2]=e;x[b+36>>2]=c;c=Ge(d,b+8|0);d=Pd(b+24|0,5321);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;xf(a,Ge(c,b));Ca=b+48|0;Ha=0;return 0}function Nj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;a:{d=0;e=Ca-16|0;Ca=e;b:{if(!y[a+16|0]){b=e+8|0;x[b>>2]=a+16;v[b+4|0]=y[a+16|0];v[a+16|0]=1;a=x[a+12>>2];x[11118]=0;d=ra(214,a|0,c|0)|0;a=x[11118];x[11118]=0;if((a|0)==1){break b}v[x[b>>2]]=y[b+4|0]}Ca=e+16|0;a=d;break a}a=ta()|0;v[x[b>>2]]=y[b+4|0];ua(a|0);r()}Ha=0;return a|0}function Mj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;a:{d=0;e=Ca-16|0;Ca=e;b:{if(!y[a+16|0]){b=e+8|0;x[b>>2]=a+16;v[b+4|0]=y[a+16|0];v[a+16|0]=1;a=x[a+12>>2];x[11118]=0;d=ra(213,a|0,c|0)|0;a=x[11118];x[11118]=0;if((a|0)==1){break b}v[x[b>>2]]=y[b+4|0]}Ca=e+16|0;a=d;break a}a=ta()|0;v[x[b>>2]]=y[b+4|0];ua(a|0);r()}Ha=0;return a|0}function Lj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;a:{d=0;e=Ca-16|0;Ca=e;b:{if(!y[a+16|0]){b=e+8|0;x[b>>2]=a+16;v[b+4|0]=y[a+16|0];v[a+16|0]=1;a=x[a+12>>2];x[11118]=0;d=ra(212,a|0,c|0)|0;a=x[11118];x[11118]=0;if((a|0)==1){break b}v[x[b>>2]]=y[b+4|0]}Ca=e+16|0;a=d;break a}a=ta()|0;v[x[b>>2]]=y[b+4|0];ua(a|0);r()}Ha=0;return a|0}function Gi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;c=0;b=x[a+24>>2];if(b){d=x[a+28>>2];if(d>>>0>=52){d=(d>>>0)/52|0;while(1){e=x[b>>2];if(e){jd(e-1|0);x[b>>2]=0}e=x[b+4>>2];if(e){jd(e);x[b+4>>2]=0}e=x[b+8>>2];if(e){jd(e);x[b+8>>2]=0}b=b+52|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}b=x[a+24>>2]}jd(b);x[a+24>>2]=0}Ha=0;return 0}function _j(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;of(x[a+8>>2],c,(y[a+5|0]|y[a+6|0]<<8)<<26>>26,0);d=Pd(b+24|0,6113);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;c=Ge(c,b+8|0);of(x[a+12>>2],c,19,0);d=Pd(b+16|0,6133);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);of(x[a+16>>2],c,17,1);Ca=b+32|0;Ha=0;return 0}function Uk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,B,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|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;if(x[c+16>>2]==-1){b=x[a+12>>2];x[c+12>>2]=0;x[c+16>>2]=b}b=x[c+12>>2];if(b>>>0>2]){a=x[x[a+8>>2]+(b<<2)>>2];b=y[a+6|0]&3;a:{if((b|0)!=2){a=!b;break a}a=Ia[x[x[a>>2]+4>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}else{a=0}Ha=0;return a|0}function Ah(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;a=Ca-16|0;Ca=a;a:{if(!e){hb(g,1,8497,0);f=0;break a}cb(c,a+12|0,1);e=e-1|0;f=1;if(!e){break a}b=0;while(1){c=c+1|0;cb(c,a+8|0,1);f=x[a+8>>2];b=f<<24>>31&(f&127|b)<<7;d=d+1|0;if((e|0)!=(d|0)){continue}break}f=1;if(!b){break a}hb(g,1,8497,0);f=0}Ca=a+16|0;Ha=0;return f|0}function hk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-48|0;Ca=b;d=Pd(b+40|0,3327);e=x[d+4>>2];x[b+16>>2]=x[d>>2];x[b+20>>2]=e;d=Ge(c,b+16|0);c=x[a+12>>2];a=x[a+8>>2];x[b+8>>2]=a;x[b+12>>2]=c;x[b+32>>2]=a;x[b+36>>2]=c;a=Ge(d,b+8|0);c=Pd(b+24|0,5321);d=x[c+4>>2];x[b>>2]=x[c>>2];x[b+4>>2]=d;Ge(a,b);Ca=b+48|0;Ha=0;return 0}function Yj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a+8>>2];Ia[x[x[b>>2]+16>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}nf(c,40);qf(a+12|0,c);pf(c,41);Ha=0;return 0}function Ze(a){var b=0,c=0,d=0,e=0;b=Ca+-64|0;Ca=b;c=Pd(b+56|0,3504);d=x[c+4>>2];x[b+24>>2]=x[c>>2];x[b+28>>2]=d;a:{if(Qd(a,b+24|0)){e=he(a,1697);break a}c=Pd(b+48|0,2238);d=x[c+4>>2];x[b+16>>2]=x[c>>2];x[b+20>>2]=d;if(Qd(a,b+16|0)){Je(a);Td(b+40|0,a,0);if(!Sd(a,95)){break a}e=ef(a,b+40|0);break a}c=Pd(b+32|0,3568);d=x[c+4>>2];x[b+8>>2]=x[c>>2];x[b+12>>2]=d;if(!Qd(a,b+8|0)){break a}c=b+40|0;Td(c,a,0);if(x[c>>2]==x[c+4>>2]){break a}if(!Sd(a,112)){break a}Je(a);Td(b+40|0,a,0);if(!Sd(a,95)){break a}e=ef(a,b+40|0)}Ca=b- -64|0;return e}function Fi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;c=0;b=x[a+24>>2];if(b){d=x[a+28>>2];if(d>>>0>=64){d=d>>>6|0;while(1){e=x[b>>2];if(e){jd(e);x[b>>2]=0}e=x[b+4>>2];if(e){jd(e);x[b+4>>2]=0}jd(x[b+60>>2]);x[b+60>>2]=0;b=b- -64|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}b=x[a+24>>2]}jd(b);x[a+24>>2]=0}Ha=0;return 0}function of(a,b,c,d){if(c+d>>>0<=(y[a+5|0]|y[a+6|0]<<8)<<26>>26>>>0){nf(b,40);Ia[x[x[a>>2]+16>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}pf(b,41);return}Ia[x[x[a>>2]+16>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}}function hh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=x[a+32>>2];b=x[a+28>>2];c=b+8|0;if(d>>>0>=c>>>0){while(1){sb(a,x[a+24>>2]+(b<<2)|0,x[a+20>>2],8);d=x[a+32>>2];b=c;c=b+8|0;if(d>>>0>=c>>>0){continue}break}}if(b>>>0>>0){sb(a,x[a+24>>2]+(b<<2)|0,x[a+20>>2],d-b|0)}jd(x[a>>2]);jd(a);Ha=0;return 0}function qg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;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;b=Ca-16|0;Ca=b;f=x[c+4>>2];d=x[c>>2];g=f-d|0;a:{if(g>>>0>>0){$a(c,e-g|0);d=x[c>>2];f=x[c+4>>2];break a}if(e>>>0>=g>>>0){break a}f=d+e|0;x[c+4>>2]=f}x[b+12>>2]=d;x[b+8>>2]=f-d;H=a,I=U(20860,b+8|0)|0,x[H>>2]=I;Ca=b+16|0;Ha=0;return 0}function kk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function Oc(a,b,c){var d=0,e=0,f=0;d=x[c+16>>2];a:{if(!d){if(Lc(c)){break a}d=x[c+16>>2]}f=x[c+20>>2];if(d-f>>>0>>0){return Ia[x[c+36>>2]](c,0,a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}b:{if(x[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(y[e+a|0]!=10){continue}break}e=Ia[x[c+36>>2]](c,0,a,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=x[c+20>>2]}Gc(f,a,b);x[c+20>>2]=x[c+20>>2]+b;e=b+d|0}return e}function pl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;if(!y[a+12|0]){d=Pd(b+24|0,6103);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;Ge(c,b+8|0)}d=Pd(b+16|0,1415);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);nf(c,40);of(x[a+8>>2],c,19,0);pf(c,41);Ca=b+32|0;Ha=0;return 0}function xg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=x[a>>2];f=c;c=x[a+4>>2];a=f+(c>>1)|0;Ia[(c&1?x[d+x[a>>2]>>2]:d)|0](b+8|0,0,a,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=od(8);c=x[b+12>>2];x[a>>2]=x[b+8>>2];x[a+4>>2]=c;Ca=b+16|0;Ha=0;return a|0}function Ig(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=x[a>>2];e=c;c=x[a+4>>2];a=e+(c>>1)|0;Ia[(c&1?x[d+x[a>>2]>>2]:d)|0](b+8|0,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=od(8);c=x[b+12>>2];x[a>>2]=x[b+8>>2];x[a+4>>2]=c;Ca=b+16|0;Ha=0;return a|0}function Tb(a,b){var c=0,d=0,e=0,f=0,g=0;f=Ca-32|0;Ca=f;c=x[a+60>>2];a:{b:{if(c){g=1;while(1){e=x[x[a+64>>2]+(d<<2)>>2];if(!x[(x[x[a+76>>2]+24>>2]+D(e,52)|0)+44>>2]){x[f+16>>2]=e;hb(b,2,11982,f+16|0);g=0;c=x[a+60>>2]}d=d+1|0;if(c>>>0>d>>>0){continue}break}break b}g=1;c=x[a+76>>2];e=1;if(!x[c+16>>2]){break a}while(1){if(!x[(x[c+24>>2]+D(d,52)|0)+44>>2]){x[f>>2]=d;hb(b,2,11982,f);g=0;c=x[a+76>>2]}d=d+1|0;if(d>>>0>2]){continue}break}}e=1;if(g){break a}hb(b,1,7321,0);e=0}Ca=f+32|0;return e}function Cg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=x[a>>2];d=c;c=x[a+4>>2];a=d+(c>>1)|0;a=Ia[(c&1?x[b+x[a>>2]>>2]:b)|0](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;b=od(8);c=z[a+4>>1]|z[a+6>>1]<<16;x[b>>2]=z[a>>1]|z[a+2>>1]<<16;x[b+4>>2]=c;Ha=0;return b|0}function mj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[a+5|0]|y[a+6|0]<<8)&192)!=64){Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function lk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=x[a+12>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(!Ue(x[a+12>>2],c)){a=Pd(b+8|0,6176);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b)}Ca=b+16|0;Ha=0;return 0}function Rh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;a:{if(x[a+100>>2]){hb(g,1,15311,0);a=0;break a}if((e|0)!=4){hb(g,1,10382,0);a=0;break a}cb(c,b+12|0,4);if(x[b+12>>2]!=218793738){hb(g,1,9424,0);a=0;break a}x[a+100>>2]=x[a+100>>2]|1;a=1}Ca=b+16|0;Ha=0;return a|0}function Ua(){var a=0,b=0;O(20628,2265,20636,1,20638,2);a=od(4);x[a>>2]=0;b=od(4);x[b>>2]=0;P(20628,2691,31992,20641,3,a|0,31992,20645,4,b|0);a=od(4);x[a>>2]=2;b=od(4);x[b>>2]=2;P(20628,1441,31992,20641,3,a|0,31992,20645,4,b|0);a=od(4);x[a>>2]=4;b=od(4);x[b>>2]=4;P(20628,3077,31956,20641,5,a|0,31956,20645,6,b|0);a=od(4);x[a>>2]=5;b=od(4);x[b>>2]=5;P(20628,1381,31956,20641,5,a|0,31956,20645,6,b|0);a=od(4);x[a>>2]=6;b=od(4);x[b>>2]=6;P(20628,3318,31932,20641,7,a|0,31932,20645,8,b|0);Q(20628)}function Wk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;if(x[c+16>>2]==-1){b=x[a+12>>2];x[c+12>>2]=0;x[c+16>>2]=b}b=x[c+12>>2];if(b>>>0>2]){a=x[x[a+8>>2]+(b<<2)>>2];a=Ia[x[x[a>>2]+12>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return a|0}function Vj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;of(x[a+8>>2],c,(y[a+5|0]|y[a+6|0]<<8)<<26>>26,1);d=x[a+16>>2];e=x[a+12>>2];x[b>>2]=e;x[b+4>>2]=d;x[b+8>>2]=e;x[b+12>>2]=d;c=Ge(c,b);of(x[a+20>>2],c,(y[a+5|0]|y[a+6|0]<<8)<<26>>26,0);Ca=b+16|0;Ha=0;return 0}function Cl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=x[a+8>>2];Ia[x[x[d>>2]+16>>2]](d,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=x[a+16>>2];a=x[a+12>>2];x[b>>2]=a;x[b+4>>2]=d;x[b+8>>2]=a;x[b+12>>2]=d;Ge(c,b);Ca=b+16|0;Ha=0;return 0}function Yk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;if(x[c+16>>2]==-1){b=x[a+12>>2];x[c+12>>2]=0;x[c+16>>2]=b}b=x[c+12>>2];if(b>>>0>2]){a=x[x[a+8>>2]+(b<<2)>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function Xk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;if(x[c+16>>2]==-1){b=x[a+12>>2];x[c+12>>2]=0;x[c+16>>2]=b}b=x[c+12>>2];if(b>>>0>2]){a=x[x[a+8>>2]+(b<<2)>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function rk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-32|0;Ca=b;d=Pd(b+24|0,3478);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;c=Ge(c,b+8|0);a=x[a+8>>2];if(y[a+4|0]==48){xf(a,c)}a=Pd(b+16|0,1034);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b);Ca=b+32|0;Ha=0;return 0}function tg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=x[a>>2];e=c;c=x[a+4>>2];a=e+(c>>1)|0;Ia[(c&1?x[d+x[a>>2]>>2]:d)|0](b+12|0,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;X(x[b+12>>2]);a=x[b+12>>2];N(a|0);Ca=b+16|0;Ha=0;return a|0}function rg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=x[a>>2];f=c;c=x[a+4>>2];a=f+(c>>1)|0;Ia[(c&1?x[d+x[a>>2]>>2]:d)|0](b+12|0,0,a,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;X(x[b+12>>2]);a=x[b+12>>2];N(a|0);Ca=b+16|0;Ha=0;return a|0}function pg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=od(88);x[a>>2]=0;x[a+4>>2]=0;x[a+44>>2]=0;x[a+48>>2]=0;x[a+84>>2]=1;x[a+16>>2]=0;x[a+20>>2]=0;x[a+8>>2]=0;x[a+12>>2]=0;x[a+52>>2]=0;x[a+56>>2]=0;x[a+60>>2]=0;x[a+64>>2]=0;x[a+68>>2]=0;x[a+72>>2]=0;Ha=0;return a|0}function te(a,b){var c=0;c=x[a>>2]==(a+12|0);a:{if(x[b>>2]==(b+12|0)){if(!c){jd(x[a>>2]);x[a+8>>2]=a+28;c=a+12|0;x[a+4>>2]=c;x[a>>2]=c}Be(x[b>>2],x[b+4>>2],x[a>>2]);x[a+4>>2]=x[a>>2]+(x[b+4>>2]-x[b>>2]&-4);break a}if(c){x[a>>2]=x[b>>2];x[a+4>>2]=x[b+4>>2];x[a+8>>2]=x[b+8>>2];x[b+8>>2]=b+28;c=b+12|0;x[b+4>>2]=c;x[b>>2]=c;return a}c=x[a>>2];x[a>>2]=x[b>>2];x[b>>2]=c;c=x[a+4>>2];x[a+4>>2]=x[b+4>>2];x[b+4>>2]=c;c=x[a+8>>2];x[a+8>>2]=x[b+8>>2];x[b+8>>2]=c}x[b+4>>2]=x[b>>2];return a}function yh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Ca-16|0;Ca=a;b=1;a:{if(e>>>0<=1){b=0;hb(g,1,8766,0);break a}cb(c,a+12|0,1);cb(c+1|0,a+8|0,1);c=x[a+8>>2];if(!((e-2>>>0)%(((c>>>5&2)+(c>>>4&3)|0)+2>>>0)|0)){break a}b=0;hb(g,1,8766,0)}Ca=a+16|0;Ha=0;return b|0}function Ph(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,A,B,D,E,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;D=D|0;E=E|0;G=G|0;H=H|0;I=I|0;var J=0;d=0;b=Ca-16|0;Ca=b;if(e){while(1){db(a,b+8|0);J=C[b+8>>3];a:{if(F(J)<2147483648){f=~~J;break a}f=-2147483648}x[c>>2]=f;c=c+4|0;a=a+8|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ca=b+16|0;Ha=0;return 0}function Kh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,x,z,A,C,D,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;x=x|0;z=z|0;A=A|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;d=0;b=Ca-16|0;Ca=b;if(e){while(1){v[b+15|0]=y[a|0];v[b+14|0]=y[a+1|0];v[b+13|0]=y[a+2|0];v[b+12|0]=y[a+3|0];B[c>>2]=B[b+12>>2];c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ca=b+16|0;Ha=0;return 0}function Gk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,1032);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ca=b+16|0;Ha=0;return 0}function xf(a,b){var c=0,d=0,e=0,f=0,g=0;c=Ca-48|0;Ca=c;a:{d=a+8|0;if(x[d+4>>2]){e=c+40|0;x[e>>2]=b+20;x[e+4>>2]=x[b+20>>2];x[b+20>>2]=0;f=Pd(c+32|0,4733);g=x[f+4>>2];x[c+16>>2]=x[f>>2];x[c+20>>2]=g;f=Ge(b,c+16|0);x[11118]=0;ya(216,d|0,f|0);d=x[11118];x[11118]=0;if((d|0)==1){break a}d=Pd(c+24|0,4481);g=x[d+4>>2];x[c+8>>2]=x[d>>2];x[c+12>>2]=g;Ge(f,c+8|0);x[x[e>>2]>>2]=x[e+4>>2]}nf(b,40);qf(a+16|0,b);pf(b,41);Ca=c+48|0;return}a=ta()|0;x[x[e>>2]>>2]=x[e+4>>2];ua(a|0);r()}function ok(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=Pd(b+8|0,4995);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b);Ca=b+16|0;Ha=0;return 0}function fl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=Pd(b+8|0,6176);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b);Ca=b+16|0;Ha=0;return 0}function gd(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!x[x[10722]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){v[a+1|0]=b&63|128;v[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){v[a+2|0]=b&63|128;v[a|0]=b>>>12|224;v[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){v[a+3|0]=b&63|128;v[a|0]=b>>>18|240;v[a+2|0]=b>>>6&63|128;v[a+1|0]=b>>>12&63|128;a=4;break a}}x[10518]=25;a=-1}else{a=1}break a}v[a|0]=b;a=1}return a}function ue(a,b){var c=0;c=x[a>>2]==(a+12|0);a:{if(x[b>>2]==(b+12|0)){if(!c){jd(x[a>>2]);x[a+8>>2]=a+44;c=a+12|0;x[a+4>>2]=c;x[a>>2]=c}Be(x[b>>2],x[b+4>>2],x[a>>2]);x[a+4>>2]=x[a>>2]+(x[b+4>>2]-x[b>>2]&-4);break a}if(c){x[a>>2]=x[b>>2];x[a+4>>2]=x[b+4>>2];x[a+8>>2]=x[b+8>>2];x[b+8>>2]=b+44;a=b+12|0;x[b+4>>2]=a;x[b>>2]=a;return}c=x[a>>2];x[a>>2]=x[b>>2];x[b>>2]=c;c=x[a+4>>2];x[a+4>>2]=x[b+4>>2];x[b+4>>2]=c;c=x[a+8>>2];x[a+8>>2]=x[b+8>>2];x[b+8>>2]=c}x[b+4>>2]=x[b>>2]}function cf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;d=Ca-16|0;Ca=d;Td(d+8|0,a,1);a:{if(x[d+8>>2]==x[d+12>>2]){break a}if(!Sd(a,69)){break a}c=Ca-32|0;Ca=c;h=De(a+408|0,24);e=x[b+4>>2];b=x[b>>2];x[c+24>>2]=b;x[c+28>>2]=e;f=x[d+12>>2];g=x[d+8>>2];a=c;x[a+16>>2]=g;x[a+20>>2]=f;x[a+8>>2]=b;x[a+12>>2]=e;x[a>>2]=g;x[a+4>>2]=f;b=Fe(h,73,0,1,1,1);x[b>>2]=34880;c=x[a+12>>2];x[b+8>>2]=x[a+8>>2];x[b+12>>2]=c;c=x[a+4>>2];x[b+16>>2]=x[a>>2];x[b+20>>2]=c;Ca=a+32|0;c=b}Ca=d+16|0;return c}function tk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-32|0;Ca=b;d=Pd(b+24|0,2238);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;d=Ge(c,b+8|0);c=x[a+12>>2];a=x[a+8>>2];x[b>>2]=a;x[b+4>>2]=c;x[b+16>>2]=a;x[b+20>>2]=c;Ge(d,b);Ca=b+32|0;Ha=0;return 0}function Wc(a,b,c){var d=0,e=0;d=(c|0)!=0;a:{b:{c:{if(!(a&3)|!c){break c}e=b&255;while(1){if((e|0)==y[a|0]){break b}c=c-1|0;d=(c|0)!=0;a=a+1|0;if(!(a&3)){break c}if(c){continue}break}}if(!d){break a}if(!(y[a|0]==(b&255)|c>>>0<4)){d=D(b&255,16843009);while(1){e=d^x[a>>2];if((e^-1)&e-16843009&-2139062144){break b}a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}}b=b&255;while(1){if((b|0)==y[a|0]){return a}a=a+1|0;c=c-1|0;if(c){continue}break}}return 0}function nb(a,b,c){var d=0;if(!x[a+12>>2]){Ia[b|0](c,0,x[a+36>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;return}d=uc(8);if(d){x[d+4>>2]=c;x[d>>2]=b;b=uc(8);if(!b){jd(d);return}x[b>>2]=d;c=D(x[a+4>>2],100);x[a+40>>2]=c;if((c|0)>2]){while(1){if(x[a+40>>2]>2]){continue}break}}x[b+4>>2]=x[a+20>>2];x[a+20>>2]=b;x[a+24>>2]=x[a+24>>2]+1;b=x[a+28>>2];if(b){x[x[b>>2]+8>>2]=0;x[a+28>>2]=x[b+4>>2];x[a+32>>2]=x[a+32>>2]-1;jd(b)}}}function nc(a){var b=0,c=0,d=0;a:{if(!a){break a}b=x[a+8>>2];if(!b){break a}a=x[a+12>>2];if(b>>>0>=4){d=b&-4;while(1){x[a+12>>2]=0;x[a+4>>2]=999;x[a+8>>2]=0;x[a+60>>2]=0;x[a+52>>2]=999;x[a+56>>2]=0;x[a+44>>2]=0;x[a+36>>2]=999;x[a+40>>2]=0;x[a+28>>2]=0;x[a+20>>2]=999;x[a+24>>2]=0;a=a- -64|0;c=c+4|0;if((d|0)!=(c|0)){continue}break}}b=b&3;if(!b){break a}c=0;while(1){x[a+12>>2]=0;x[a+4>>2]=999;x[a+8>>2]=0;a=a+16|0;c=c+1|0;if((b|0)!=(c|0)){continue}break}}}function qc(a,b,c,d){var e=0,f=0,g=0;f=Ca-128|0;Ca=f;e=f;b=x[b+12>>2]+(c<<4)|0;if(x[b>>2]){while(1){x[e>>2]=b;e=e+4|0;b=x[b>>2];if(x[b>>2]){continue}break}}while(1){c=x[b+8>>2];if((g|0)>(c|0)){x[b+8>>2]=g;c=g}a:{if((c|0)>=(d|0)){break a}while(1){if(x[b+4>>2]<=(c|0)){break a}b:{if(gc(a,1)){x[b+4>>2]=c;break b}c=c+1|0}if((c|0)<(d|0)){continue}break}}x[b+8>>2]=c;if((e|0)!=(f|0)){e=e-4|0;b=x[e>>2];g=c;continue}break}Ca=f+128|0;return x[b+4>>2]<(d|0)}function ll(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a=x[a+12>>2];b=(y[a+5|0]|y[a+6|0]<<8)>>>10&3;a:{if((b|0)!=2){a=!b;break a}a=Ia[x[x[a>>2]+8>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return a|0}function Lk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-32|0;Ca=b;d=Pd(b+24|0,4754);e=x[d+4>>2];x[b+8>>2]=x[d>>2];x[b+12>>2]=e;c=yf(c,b+8|0);Ff(b+16|0,a);a=x[b+20>>2];x[b>>2]=x[b+16>>2];x[b+4>>2]=a;yf(c,b);Ca=b+32|0;Ha=0;return 0}function Yi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;while(1){a=x[11123];if(a){x[11123]=x[a+8>>2];Ia[x[a>>2]](x[a+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;jd(a);continue}break}v[44485]=0;Ha=0;return 0}function Qe(a,b){var c=0,d=0,e=0,f=0,g=0;c=Ca-16|0;Ca=c;x[c+12>>2]=b;while(1){a:{if(Sd(a,66)){ie(c+4|0,a);if(x[c+4>>2]!=x[c+8>>2]){break a}b=0}Ca=c+16|0;return b}d=Ca-16|0;Ca=d;g=De(a+408|0,20);e=x[c+12>>2];b=x[c+8>>2];f=x[c+4>>2];x[d>>2]=f;x[d+4>>2]=b;x[d+8>>2]=f;x[d+12>>2]=b;b=y[e+5|0]|y[e+6|0]<<8;b=Te(g,8,(b&192)>>>6|0,b>>>8&3,b>>>10&3);x[b+8>>2]=e;x[b>>2]=38524;e=x[d+4>>2];x[b+12>>2]=x[d>>2];x[b+16>>2]=e;Ca=d+16|0;x[c+12>>2]=b;continue}}function Sj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;d=x[a+12>>2];e=x[a+8>>2];x[b>>2]=e;x[b+4>>2]=d;x[b+8>>2]=e;x[b+12>>2]=d;c=Ge(c,b);of(x[a+16>>2],c,(y[a+5|0]|y[a+6|0]<<8)<<26>>26,0);Ca=b+16|0;Ha=0;return 0}function Vi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,w,z,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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;w=w|0;z=z|0;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;a=0;a:{while(1){if(!y[a+42144|0]){v[a+42144|0]=1;x[(a<<2)+42272>>2]=0;x[11122]=a;a=0;break a}a=a+1|0;if((a|0)!=128){continue}break}a=6}if(a){td(5181,0);r()}Ha=0;return 0}function Tj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;of(x[a+8>>2],c,(y[a+5|0]|y[a+6|0]<<8)<<26>>26,1);d=x[a+16>>2];a=x[a+12>>2];x[b>>2]=a;x[b+4>>2]=d;x[b+8>>2]=a;x[b+12>>2]=d;Ge(c,b);Ca=b+16|0;Ha=0;return 0}function yj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=(y[a+5|0]|y[a+6|0]<<8)>>>10&3;a:{if((b|0)!=2){a=!b;break a}a=Ia[x[x[a>>2]+8>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return a|0}function wd(a){var b=0,c=0,d=0,e=0,f=0;if(a>>>0<45024&a>>>0>=44512){c=a;b=a-4|0;d=x[11124];e=d;a:{while(1){a=e;if(!(!a|(a|0)==45024)){if((a+(z[a+2>>1]<<2)|0)==(b|0)){w[a+2>>1]=z[c-2>>1]+z[a+2>>1];break a}if((a|0)==((z[b+2>>1]<<2)+b|0)){c=c-2|0;w[c>>1]=z[a+2>>1]+z[c>>1];if(!f){x[11124]=b;w[b>>1]=z[a>>1];break a}w[f>>1]=b-44512>>>2;break a}else{e=(z[a>>1]<<2)+44512|0;f=a;continue}}break}w[b>>1]=d-44512>>>2;x[11124]=b}return}jd(a)}function kl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;a=x[a+12>>2];b=y[a+6|0]&3;a:{if((b|0)!=2){a=!b;break a}a=Ia[x[x[a>>2]+4>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return a|0}function gh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,E,F,G,H,I){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;E=E|0;F=F|0;G=G|0;H=H|0;I=I|0;b=x[a+28>>2];if(b>>>0>2]){while(1){rb(a,x[a+24>>2]+(D(x[a+20>>2],b)<<2)|0);b=b+1|0;if(b>>>0>2]){continue}break}}jd(x[a>>2]);jd(a);Ha=0;return 0}function dj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a:{if(xd(a,x[c+8>>2],k)){Bd(c,e,g,i);break a}a=x[a+8>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,e,0,g,0,i,0,k,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function fj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a:{if(xd(a,x[c+8>>2],0)){zd(c,e,g);break a}a=x[a+8>>2];Ia[x[x[a>>2]+28>>2]](a,0,c,0,e,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return 0}function Ce(a){var b=0,c=0,d=0,e=0;c=Ca-32|0;Ca=c;x[c+28>>2]=0;a:{if(He(a,c+28|0)){break a}b=x[c+28>>2];if(b-1>>>0>=x[a+4>>2]-x[a>>2]>>>0){break a}d=c+20|0;e=x[a>>2];x[d+4>>2]=e+b;x[d>>2]=e;x[a>>2]=x[a>>2]+b;b=Pd(c+12|0,3550);e=x[b+4>>2];x[c>>2]=x[b>>2];x[c+4>>2]=e;if($d(d,c)){b=Ca-16|0;Ca=b;a=De(a+408|0,16);d=Pd(b+8|0,5115);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;d=Ie(a,b);Ca=b+16|0;break a}d=je(a,d)}Ca=c+32|0;return d}function Eg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[a>>2];d=c;c=x[a+4>>2];a=d+(c>>1)|0;a=Ia[(c&1?x[b+x[a>>2]>>2]:b)|0](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return a|0}function Bk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-32|0;Ca=b;d=Pd(b+24|0,4989);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);nf(c,40);Bf(Af(b+12|0,x[a+8>>2]),c);pf(c,41);Ca=b+32|0;Ha=0;return 0}function vg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[a>>2];d=c;c=x[a+4>>2];a=d+(c>>1)|0;Ia[(c&1?x[b+x[a>>2]>>2]:b)|0](a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return 0}function Ag(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[a>>2];d=c;c=x[a+4>>2];a=d+(c>>1)|0;Ia[(c&1?x[b+x[a>>2]>>2]:b)|0](a,0,e,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return 0}function Nh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;b=Ca-16|0;Ca=b;if(e){while(1){cb(a,b+12|0,4);x[c>>2]=x[b+12>>2];c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ca=b+16|0;Ha=0;return 0}function Mh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;d=0;b=Ca-16|0;Ca=b;if(e){while(1){cb(a,b+12|0,2);x[c>>2]=x[b+12>>2];c=c+4|0;a=a+2|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ca=b+16|0;Ha=0;return 0}function Jh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=0;b=Ca-16|0;Ca=b;if(e){while(1){cb(a,b+12|0,4);B[c>>2]=A[b+12>>2];c=c+4|0;a=a+4|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ca=b+16|0;Ha=0;return 0}function Ih(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=0;b=Ca-16|0;Ca=b;if(e){while(1){cb(a,b+12|0,2);B[c>>2]=A[b+12>>2];c=c+4|0;a=a+2|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ca=b+16|0;Ha=0;return 0}function Tk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;if(x[c+16>>2]==-1){b=x[a+12>>2];x[c+12>>2]=0;x[c+16>>2]=b}b=x[c+12>>2];if(b>>>0>2]){a=Ue(x[x[a+8>>2]+(b<<2)>>2],c)}else{a=0}Ha=0;return a|0}function xj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=y[a+6|0]&3;a:{if((b|0)!=2){a=!b;break a}a=Ia[x[x[a>>2]+4>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ha=0;return a|0}function dl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,1337);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);nf(c,40);of(x[a+8>>2],c,19,0);pf(c,41);Ca=b+16|0;Ha=0;return 0}function Lh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;d=0;b=Ca-16|0;Ca=b;if(e){while(1){db(a,b+8|0);B[c>>2]=C[b+8>>3];c=c+4|0;a=a+8|0;d=d+1|0;if((d|0)!=(e|0)){continue}break}}Ca=b+16|0;Ha=0;return 0}function Ve(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=0;a:{if(x[a+4>>2]-x[a>>2]>>>0<2){break a}e=x[a>>2];f=61;while(1){if((c|0)!=(f|0)){g=c+f>>>1|0;b=(g<<3)+33120|0;h=v[b|0];i=v[e|0];d=1;b:{if((h|0)<(i|0)){break b}d=0;if((h|0)!=(i|0)){break b}d=v[b+1|0]>2]=e+2;b=c}return b}function Sg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[e+4>>2];d=x[e>>2]+x[e+8>>2]|0;if((b|0)==(d|0)){a=-1}else{f=a;a=d-b|0;a=a>>>0>>0?a:c;Gc(f,b,a);x[e+4>>2]=a+x[e+4>>2]}Ha=0;return a|0}function Ki(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;a=Ba(x[a+60>>2],c|0,d|0,e&255,b+8|0)|0;if(a){x[10518]=a;a=-1}else{a=0}Ca=b+16|0;Ha=a?-1:x[b+12>>2];return(a?-1:x[b+8>>2])|0}function el(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,1209);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;c=Ge(c,b);nf(c,40);qf(a+8|0,c);pf(c,41);Ca=b+16|0;Ha=0;return 0}function we(a,b){var c=0,d=0,e=0,f=0;d=1;a:{c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}c=c<<24>>24;if((c|0)<48|(c-65&255)>>>0>25&c>>>0>=58){break a}e=x[a>>2];d=0;while(1){b:{c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}c=c<<24>>24;if((c|0)>=48){f=-48;if(c>>>0<58){break b}f=-55;if((c-65&255)>>>0<26){break b}}x[b>>2]=d;d=0;break a}e=e+1|0;x[a>>2]=e;d=(D(d,36)+f|0)+(c&255)|0;continue}}return d}function Tc(a,b){var c=0;a:{b:{if((a^b)&3){c=y[b|0];break b}if(b&3){while(1){c=y[b|0];v[a|0]=c;if(!c){break a}a=a+1|0;b=b+1|0;if(b&3){continue}break}}c=x[b>>2];if((c^-1)&c-16843009&-2139062144){break b}while(1){x[a>>2]=c;c=x[b+4>>2];a=a+4|0;b=b+4|0;if(!(c-16843009&(c^-1)&-2139062144)){continue}break}}v[a|0]=c;if(!(c&255)){break a}while(1){c=y[b+1|0];v[a+1|0]=c;a=a+1|0;b=b+1|0;if(c){continue}break}}}function $k(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=Pd(b+8|0,4741);e=x[d+4>>2];x[b>>2]=x[d>>2];x[b+4>>2]=e;d=a+8|0;a=Ge(c,b);qf(d,a);Nd(a,93);Ca=b+16|0;Ha=0;return 0}function Ne(a,b){var c=0,d=0;a:{if((a|0)==(b|0)){break a}c=v[a|0];if((c|0)==95){if((a+1|0)==(b|0)){break a}c=v[a+1|0];if(c-48>>>0<=9){return a+2|0}if((c|0)!=95){break a}c=a+2|0;while(1){if((b|0)==(c|0)){break a}d=v[c|0];if(d-48>>>0<=9){c=c+1|0;continue}break}return(d|0)==95?c+1|0:a}if(c-48>>>0>9){break a}c=a;while(1){c=c+1|0;if((c|0)==(b|0)){return b}if(v[c|0]-48>>>0<10){continue}break}}return a}function We(a,b){var c=0,d=0;c=Ca-32|0;Ca=c;a=Pd(a,x[b+4>>2]);a:{if(y[b+2|0]<=10){b=Pd(c+24|0,1760);d=x[b+4>>2];x[c+8>>2]=x[b>>2];x[c+12>>2]=d;if(!$d(a,c+8|0)){break a}bf(c+16|0,a,8);b=x[c+20>>2];x[a>>2]=x[c+16>>2];x[a+4>>2]=b;b=Ca-16|0;Ca=b;if(y[x[a>>2]]==32&x[a>>2]!=x[a+4>>2]){bf(b+8|0,a,1);d=x[b+12>>2];x[a>>2]=x[b+8>>2];x[a+4>>2]=d}Ca=b+16|0}Ca=c+32|0;return}wa(5364,2824,2631,2481);r()}function Ei(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(a){b=x[a+116>>2];if(b){jd(b);x[a+116>>2]=0}b=x[a+120>>2];if(b){jd(b);x[a+120>>2]=0}jd(x[a+148>>2]);jd(a)}Ha=0;return 0}function Ij(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;d=x[a+12>>2];a=x[a+8>>2];x[b>>2]=a;x[b+4>>2]=d;x[b+8>>2]=a;x[b+12>>2]=d;Ge(c,b);Ca=b+16|0;Ha=0;return 0}function Fk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=a;a=x[c+12>>2];Ia[x[x[a>>2]+24>>2]](b,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return 0}function ck(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;b=Ca-16|0;Ca=b;a=Pd(b+8|0,y[a+7|0]?3029:3050);d=x[a+4>>2];x[b>>2]=x[a>>2];x[b+4>>2]=d;Ge(c,b);Ca=b+16|0;Ha=0;return 0}function Pi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;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;b=Uc(c);d=od(b+13|0);x[d+8>>2]=0;x[d+4>>2]=b;x[d>>2]=b;H=a,I=Gc(d+12|0,c,b+1|0),x[H>>2]=I;Ha=0;return a|0}function Kk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=a;a=x[c+8>>2];Ia[x[x[a>>2]+24>>2]](b,0,a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return 0}function Tg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;b=x[c+4>>2];d=x[c>>2]+x[c+8>>2]|0;if((b|0)==(d|0)){a=-1}else{x[c+4>>2]=a+b;b=d-b|0;a=a>>>0>b>>>0?b:a}return a|0}function nl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=x[a+12>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return 0}function sl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=x[a+8>>2];Ia[x[x[a>>2]+16>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return 0}function pk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=x[a+8>>2];Ia[x[x[a>>2]+20>>2]](a,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;Ha=0;return 0}function fh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ia[x[a>>2]](x[a+4>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=0;Ha=0;return a|0}function He(a,b){var c=0,d=0,e=0;x[b>>2]=0;a:{c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}d=((c<<24>>24)-58&255)>>>0<246;if(d){break a}while(1){c=x[a>>2];if((c|0)!=x[a+4>>2]){c=y[c|0]}else{c=0}if(((c<<24>>24)-48&255)>>>0>9){break a}x[b>>2]=D(e,10);c=x[a>>2];if((c|0)==x[a+4>>2]){c=0}else{x[a>>2]=c+1;c=y[c|0]}e=((c<<24>>24)+x[b>>2]|0)-48|0;x[b>>2]=e;continue}}return d}function jk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Ca-16|0;Ca=a;b=Pd(a+8|0,6061);d=x[b+4>>2];x[a>>2]=x[b>>2];x[a+4>>2]=d;Ge(c,a);Ca=a+16|0;Ha=0;return 0}function Uj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;of(x[a+8>>2],c,(y[a+5|0]|y[a+6|0]<<8)<<26>>26,0);nf(c,91);of(x[a+12>>2],c,19,0);pf(c,93);Ha=0;return 0}function Nc(a){var b=0,c=0;b=x[a+76>>2];if(!((b|0)>=0&(!b|x[10704]!=(b&-1073741825)))){a:{if(x[a+80>>2]==10){break a}b=x[a+20>>2];if((b|0)==x[a+16>>2]){break a}x[a+20>>2]=b+1;v[b|0]=10;return}Mc(a);return}b=a+76|0;c=x[b>>2];x[b>>2]=c?c:1073741823;b:{c:{if(x[a+80>>2]==10){break c}c=x[a+20>>2];if((c|0)==x[a+16>>2]){break c}x[a+20>>2]=c+1;v[c|0]=10;break b}Mc(a)}x[b>>2]=0}function hb(a,b,c,d){var e=0,f=0;e=Ca-528|0;Ca=e;a:{if(!a){break a}b:{c:{switch(b-1|0){case 0:b=a+12|0;break b;case 1:b=a+16|0;a=a+4|0;break b;case 3:break c;default:break a}}b=a+20|0;a=a+8|0}b=x[b>>2];if(!b|!c){break a}f=x[a>>2];a=Hc(e,0,512);x[a+524>>2]=d;fd(a,512,c,d);v[a+511|0]=0;Ia[b|0](a,0,f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}Ca=e+528|0}function xe(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ca-16|0;Ca=d;f=a+148|0;while(1){a:{c=Sd(a,87);if(!c){break a}i=d,j=Sd(a,80),v[i+15|0]=j;e=Ce(a);x[d+8>>2]=e;if(!e){break a}c=De(a+408|0,20);e=x[b>>2];g=x[d+8>>2];h=y[d+15|0];c=Fe(c,25,0,1,1,1);v[c+16|0]=h;x[c+12>>2]=g;x[c+8>>2]=e;x[c>>2]=32892;x[b>>2]=c;x[d+4>>2]=c;de(f,d+4|0);continue}break}Ca=d+16|0;return c}function ng(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(a){b=x[a+12>>2];if(b){x[a+16>>2]=b;jd(b)}b=x[a>>2];if(b){x[a+4>>2]=b;jd(b)}jd(a)}Ha=0;return 0}function fe(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0;h=Ca-16|0;Ca=h;j=De(a+408|0,36);k=x[c>>2];a=x[b>>2];i=x[d+4>>2];b=x[d>>2];x[h+8>>2]=b;x[h+12>>2]=i;g=y[g|0];d=x[f>>2];c=x[e>>2];x[h>>2]=b;x[h+4>>2]=i;e=Te(j,18,0,1,0);x[e+12>>2]=k;x[e+8>>2]=a;x[e>>2]=39724;b=x[h+4>>2];a=x[h>>2];v[e+32|0]=g;x[e+28>>2]=d;x[e+24>>2]=c;x[e+16>>2]=a;x[e+20>>2]=b;Ca=h+16|0;return e}function fd(a,b,c,d){var e=0,f=0,g=0,h=0;e=Ca-160|0;Ca=e;g=b?a:e+158|0;x[e+148>>2]=g;a=b-1|0;x[e+152>>2]=a>>>0<=b>>>0?a:0;while(1){v[e+h|0]=0;a=h+1|0;f=a?f:f+1|0;h=a;if(!f&a>>>0<144){continue}break}a=-1;x[e+76>>2]=-1;x[e+36>>2]=166;x[e+80>>2]=-1;x[e+44>>2]=e+159;x[e+84>>2]=e+148;a:{if((b|0)<0){x[10518]=61;break a}v[g|0]=0;a=dd(e,c,d)}Ca=e+160|0;return a}function Wi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;x[11118]=0;sa(177,0);a=x[11118];x[11118]=0;if((a|0)==1){oa(0)|0;ud();r()}Ha=0;return 0}function Ug(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;d=c;e=x[c>>2];c=x[c+8>>2];x[d+4>>2]=e+(a>>>0>>0&(b|0)<=0|(b|0)<0?a:c);return 1}function Pb(a,b,c){var d=0,e=0,f=0,g=0;x[a+160>>2]=b;d=x[a+72>>2];a:{if(!d){break a}f=x[d+24>>2];if(!f){break a}e=x[a+12>>2];if(!e|!x[e+5584>>2]){break a}e=x[d+16>>2];if(!e){return 1}d=0;while(1){if(A[(x[x[a+12>>2]+5584>>2]+D(d,1080)|0)+4>>2]<=b>>>0){hb(c,1,13462,0);return 0}x[(D(d,52)+f|0)+40>>2]=b;g=1;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return g}function De(a,b){var c=0,d=0,e=0;c=x[a+4096>>2];d=x[c+4>>2];b=b+15&-16;e=d+b|0;if(e>>>0>=4088){if(b>>>0>=4089){b=id(b+8|0);if(!b){ud();r()}a=x[a+4096>>2];c=x[a>>2];x[b+4>>2]=0;x[b>>2]=c;x[a>>2]=b;return b+8|0}c=id(4096);if(!c){ud();r()}d=x[a+4096>>2];x[c+4>>2]=0;x[c>>2]=d;x[a+4096>>2]=c;c=x[a+4096>>2];d=x[c+4>>2];e=b+d|0}x[c+4>>2]=e;return(c+d|0)+8|0}function Zb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;if(a){c=x[a+4>>2];if(c){jd(c);x[a+4>>2]=0}if(b){c=a;while(1){d=x[c+200>>2];if(d){e=0;f=x[c+196>>2];if(f){while(1){g=x[d+12>>2];if(g){jd(g);x[d+12>>2]=0;f=x[c+196>>2]}d=d+16|0;e=e+1|0;if(e>>>0>>0){continue}break}d=x[c+200>>2]}jd(d);x[c+200>>2]=0}c=c+240|0;h=h+1|0;if((h|0)!=(b|0)){continue}break}}jd(a)}}function Xe(a,b,c){var d=0,e=0,f=0,g=0;d=Ca-16|0;Ca=d;x[d+12>>2]=c;c=ke(a);x[d+8>>2]=c;if(c){c=Ca-16|0;Ca=c;e=De(a+408|0,20);f=x[b+4>>2];b=x[b>>2];x[c+8>>2]=b;x[c+12>>2]=f;a=x[d+12>>2];g=x[d+8>>2];x[c>>2]=b;x[c+4>>2]=f;a=Fe(e,62,a,1,1,1);x[a>>2]=33728;e=x[c+4>>2];b=x[c>>2];x[a+16>>2]=g;x[a+8>>2]=b;x[a+12>>2]=e;Ca=c+16|0}else{a=0}Ca=d+16|0;return a}function Dh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(x[x[a+72>>2]+16>>2]<<2!=(e|0)){hb(g,1,8881,0);a=0}else{a=1}Ha=0;return a|0}function Bd(a,b,c,d){v[a+53|0]=1;a:{if(x[a+4>>2]!=(c|0)){break a}v[a+52|0]=1;c=x[a+16>>2];b:{if(!c){x[a+36>>2]=1;x[a+24>>2]=d;x[a+16>>2]=b;if((d|0)!=1){break a}if(x[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=x[a+24>>2];if((c|0)==2){x[a+24>>2]=d;c=d}if(x[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}x[a+36>>2]=x[a+36>>2]+1}v[a+54|0]=1}}function zf(a){var b=0,c=0,d=0;c=Ca-16|0;Ca=c;b=x[a+4>>2];nf(x[a>>2],40);b=Af(c+4|0,x[b+8>>2]);d=x[a>>2];Ia[x[x[b>>2]+16>>2]](b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(((y[b+5|0]|y[b+6|0]<<8)&192)!=64){Ia[x[x[b>>2]+20>>2]](b,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}pf(x[a>>2],41);Ca=c+16|0}function de(a,b){var c=0,d=0,e=0;c=x[a+4>>2];if((c|0)==x[a+8>>2]){c=x[a>>2];e=x[a+4>>2]-c>>2;d=e<<1;a:{b:{c:{if((c|0)==(a+12|0)){c=id(d<<2);if(!c){break b}Be(x[a>>2],x[a+4>>2],c);x[a>>2]=c;break c}c=kd(x[a>>2],d<<2);x[a>>2]=c;if(!c){break b}}x[a+8>>2]=(d<<2)+c;x[a+4>>2]=(e<<2)+c;break a}ud();r()}c=x[a+4>>2]}b=x[b>>2];x[a+4>>2]=c+4;x[c>>2]=b}function dc(a){x[a+28>>2]=25600;x[a+100>>2]=25600;x[a+96>>2]=25600;x[a+92>>2]=25600;x[a+88>>2]=25600;x[a+84>>2]=25600;x[a+80>>2]=25600;x[a+76>>2]=25600;x[a+72>>2]=25600;x[a+68>>2]=25600;x[a- -64>>2]=25600;x[a+60>>2]=25600;x[a+56>>2]=25600;x[a+52>>2]=25600;x[a+48>>2]=25600;x[a+44>>2]=25600;x[a+40>>2]=25600;x[a+36>>2]=25600;x[a+32>>2]=25600}function re(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;e=Ca-16|0;Ca=e;d=Pd(e+8|0,1583);i=x[d+4>>2];x[e>>2]=x[d>>2];x[e+4>>2]=i;if(Qd(a,e)){g=he(a,3269)}a:{b:{d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}if((d|0)!=83){break b}f=Ke(a);if(!f){break a}if(y[f+4|0]==25){break b}if(g|!c){break a}v[c|0]=1;h=f;break a}h=Me(a,b,g,f)}Ca=e+16|0;return h}function yi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;xb(x[a>>2],c);v[a+124|0]=0;x[a+128>>2]=x[c+8248>>2]&1;Ha=0;return 0}function gc(a,b){var c=0,d=0,e=0,f=0;if((b|0)<=0){return 0}c=x[a+12>>2];d=x[a+16>>2];while(1){e=b;a:{if(d){break a}c=c<<8&65280;x[a+12>>2]=c;d=(c|0)==65280?7:8;x[a+16>>2]=d;b=x[a+8>>2];if(b>>>0>=A[a+4>>2]){break a}x[a+8>>2]=b+1;c=y[b|0]|c;x[a+12>>2]=c}d=d-1|0;x[a+16>>2]=d;b=e-1|0;f=(c>>>d&1)<>>0>1){continue}break}return f}function cb(a,b,c){var d=0,e=0;x[b>>2]=0;a:{if(!c){break a}d=c&3;b=b+c|0;if(c>>>0>=4){e=c&-4;c=0;while(1){v[b-1|0]=y[a|0];v[b-2|0]=y[a+1|0];v[b-3|0]=y[a+2|0];b=b-4|0;v[b|0]=y[a+3|0];a=a+4|0;c=c+4|0;if((e|0)!=(c|0)){continue}break}}if(!d){break a}c=0;while(1){b=b-1|0;v[b|0]=y[a|0];a=a+1|0;c=c+1|0;if((d|0)!=(c|0)){continue}break}}}function Rg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;x[b>>2]=a;Qc(1708,b);Ca=b+16|0;Ha=0;return 0}function Qg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;x[b>>2]=a;Qc(1729,b);Ca=b+16|0;Ha=0;return 0}function Pg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=Ca-16|0;Ca=b;x[b>>2]=a;Qc(1719,b);Ca=b+16|0;Ha=0;return 0}function Lg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[c+72>>2];x[a>>2]=x[c+68>>2];x[a+4>>2]=b;Ha=0;return 0}function Kg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[c+64>>2];x[a>>2]=x[c+60>>2];x[a+4>>2]=b;Ha=0;return 0}function Jg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[c+56>>2];x[a>>2]=x[c+52>>2];x[a+4>>2]=b;Ha=0;return 0}function Hg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[c+48>>2];x[a>>2]=x[c+44>>2];x[a+4>>2]=b;Ha=0;return 0}function sd(a){a=a|0;var b=0,c=0;a:{b:{if(!a){break b}b=a-24|0;if(!x[b>>2]){x[11118]=0;xa(171,4820,2043,142,1346);a=x[11118];x[11118]=0;if((a|0)==1){break a}r()}c=x[b>>2]-1|0;x[b>>2]=c;if(y[b+13|0]|c){break b}b=x[b+8>>2];if(b){x[11118]=0;na(b|0,a|0)|0;b=x[11118];x[11118]=0;if((b|0)==1){break a}}qd(a)}return}oa(0)|0;ud();r()}function Jj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;b=x[c+12>>2];x[a>>2]=x[c+8>>2];x[a+4>>2]=b;Ha=0;return 0}function lh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;return!x[a+8>>2]&x[a+192>>2]!=0&x[a+196>>2]!=0}function qb(a,b,c,d){var e=0,f=0,g=E(0),h=0,i=E(0),j=0,k=E(0);if(d){while(1){e=f<<2;h=e+b|0;i=B[h>>2];j=a+e|0;g=B[j>>2];e=c+e|0;k=B[e>>2];B[j>>2]=E(k*E(1.4019999504089355))+g;B[h>>2]=E(g+E(i*E(-.3441300094127655)))+E(k*E(-.714139997959137));B[e>>2]=g+E(i*E(1.7719999551773071));f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function le(a){var b=0,c=0,d=0,e=0,f=0;c=Ca-16|0;Ca=c;a:{if(!Sd(a,68)){break a}if(!Sd(a,116)){if(!Sd(a,84)){break a}}d=ke(a);x[c+12>>2]=d;if(!d){break a}if(!Sd(a,69)){break a}b=Ca-16|0;Ca=b;d=De(a+408|0,28);f=Pd(b+8|0,3056);e=x[c+12>>2];a=x[f+4>>2];x[b>>2]=x[f>>2];x[b+4>>2]=a;e=rf(d,b,e,0);Ca=b+16|0}Ca=c+16|0;return e}function zh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;if(e){a=1}else{hb(g,1,8792,0);a=0}Ha=0;return a|0}function Bi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Cb(x[a>>2],c,e,g,i,k,m,o,q,s,u);Ha=0;return a|0}function aj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(xd(a,x[c+8>>2],k)){Bd(c,e,g,i)}Ha=0;return 0}function eg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=od(8);x[a>>2]=0;x[a+4>>2]=0;Ha=0;return a|0}function cj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(xd(a,x[c+8>>2],0)){zd(c,e,g)}Ha=0;return 0}function xi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=x[a>>2];if(a){x[a+184>>2]=c}Ha=0;return 0}function mi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Cb(a,c,e,g,i,k,m,o,q,s,u);Ha=0;return a|0}function Qk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;nf(c,91);qf(a+8|0,c);pf(c,93);Ha=0;return 0}function Mc(a){var b=0,c=0,d=0;c=Ca-16|0;Ca=c;v[c+15|0]=10;b=x[a+16>>2];a:{if(!b){if(Lc(a)){break a}b=x[a+16>>2]}d=b;b=x[a+20>>2];if(!((d|0)==(b|0)|x[a+80>>2]==10)){x[a+20>>2]=b+1;v[b|0]=10;break a}if((Ia[x[a+36>>2]](a,0,c+15|0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0)!=1){break a}}Ca=c+16|0}function wi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Fb(x[a>>2],c,e,g,i,k,m);Ha=0;return a|0}function Ai(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Db(x[a>>2],c,e,g,i,k);Ha=0;return a|0}function ve(a){var b=0,c=0,d=0;b=Ca-16|0;Ca=b;a:{if(Sd(a,104)){d=1;c=b+8|0;Td(c,a,1);if(x[c>>2]==x[c+4>>2]){break a}d=Sd(a,95)^1;break a}d=1;if(!Sd(a,118)){break a}c=b+8|0;Td(c,a,1);if(x[c>>2]==x[c+4>>2]){break a}if(!Sd(a,95)){break a}Td(b,a,1);if(x[b>>2]==x[b+4>>2]){break a}d=Sd(a,95)^1}Ca=b+16|0;return d}function ti(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Eb(x[a>>2],c,e,g);Ha=0;return a|0}function ki(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Fb(a,c,e,g,i,k,m);Ha=0;return a|0}function Ej(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;x[a>>2]=0;x[a+4>>2]=0;Ha=0;return 0}function zg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;x[a+84>>2]=e;ab(a,c);Ha=0;return 0}function yg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;x[a+84>>2]=0;ab(a,0);Ha=0;return 0}function jl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Ue(x[a+12>>2],c);Ha=0;return a|0}function Ii(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=ia(x[a+60>>2])|0;Ha=0;return a|0}function xl(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Ue(x[a+8>>2],c);Ha=0;return a|0}function ui(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Pb(x[a>>2],c,e);Ha=0;return a|0}function li(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Db(a,c,e,g,i,k);Ha=0;return a|0}function ci(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;if(a){x[a+184>>2]=c}Ha=0;return 0}function Si(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;wa(a|0,c|0,e|0,g|0);Ha=0;return 0}function si(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=yb(x[a>>2],c);Ha=0;return a|0}function lg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;x[x[a>>2]+c>>2]=e;Ha=0;return 0}function ji(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Ob(a,c,e,g,i);Ha=0;return a|0}function hg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;w[x[a>>2]+c>>1]=e;Ha=0;return 0}function jg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,w,y,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;v[x[a>>2]+c|0]=e;Ha=0;return 0}function pi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ib(x[a>>2],c,e);Ha=0;return 0}function oi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Kb(x[a>>2]);Ha=0;return a|0}function ni(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;a=Lb(x[a>>2]);Ha=0;return a|0}function hi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Eb(a,c,e,g);Ha=0;return a|0}function fi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Bb(a,c,e,g);Ha=0;return a|0}function bi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Mb(a,c,e,g);Ha=0;return a|0}function hf(a){var b=0,c=0;c=Ca-16|0;Ca=c;a:{b:{b=x[a>>2];if((b|0)!=x[a+4>>2]){b=y[b|0]}else{b=0}b=b<<24>>24;if((b|0)!=68){if((b&255)!=84){break b}b=ne(a);x[c+12>>2]=b;if(!b){break a}de(a+148|0,c+12|0);break a}b=le(a);x[c+8>>2]=b;if(!b){break a}de(a+148|0,c+8|0);break a}b=Ke(a)}Ca=c+16|0;return b}function qf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;c=Ca-16|0;Ca=c;f=1;while(1){if(x[a+4>>2]!=(e|0)){g=x[b+4>>2];if(!f){d=Pd(c+8|0,6154);h=x[d+4>>2];x[c>>2]=x[d>>2];x[c+4>>2]=h;Ge(b,c)}d=x[b+4>>2];of(x[x[a>>2]+(e<<2)>>2],b,18,0);e=e+1|0;if(x[b+4>>2]==(d|0)){x[b+4>>2]=g}else{f=0}continue}break}Ca=c+16|0}function kg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;return x[x[a>>2]+c>>2]}function ii(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Pb(a,c,e);Ha=0;return a|0}function gg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;Ha=0;return z[x[a>>2]+c>>1]}function ah(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=eb(a,c,d);Ha=0;return a|0}function _i(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=xd(a,c,0);Ha=0;return a|0}function ig(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z,A,B,C,D,E,F,G,H){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;H=H|0;Ha=0;return y[x[a>>2]+c|0]}function wj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Ue(a,c);Ha=0;return a|0}function oj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=ae(a,c);Ha=0;return a|0}function jj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ed(a);jd(a);Ha=0;return 0}function gi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=yb(a,c);Ha=0;return a|0}function Xi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=vd(a,c);Ha=0;return a|0}function Uc(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!y[a|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(y[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=x[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(y[b|0]){continue}break}}return b-a|0}function Og(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;N(x[10504]);Ha=0;return 0}function Ck(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;qf(a+8|0,c);Ha=0;return 0}function Cj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=ye(a,c);Ha=0;return a|0}function uj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=tf(a);Ha=0;return a|0}function tj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Pe(a);Ha=0;return a|0}function sj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Vd(a);Ha=0;return a|0}function rj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;ee(a,c,e);Ha=0;return 0}function qj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=ce(a);Ha=0;return a|0}function og(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Za(a);Ha=0;return a|0}function ai(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ib(a,c,e);Ha=0;return 0}function _h(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Lb(a);Ha=0;return a|0}function Vg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Ed(a);Ha=0;return a|0}function $h(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;a=Kb(a);Ha=0;return a|0}function Ng(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;return x[a+80>>2]}function Mg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;return x[a+76>>2]}function Gg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;return x[a+40>>2]}function Dg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;return x[a+32>>2]}function zj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;ze(a,c);Ha=0;return 0}function vk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Bf(a,c);Ha=0;return 0}function kj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;return x[a+4>>2]}function di(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;xb(a,c);Ha=0;return 0}function Ui(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;td(a,c);Ha=0;return 0}function Ok(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Gf(a,c);Ha=0;return 0}function Mk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ff(a,c);Ha=0;return 0}function Fg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;Ha=0;return y[a+36|0]}function Aj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;qf(a,c);Ha=0;return 0}function zi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Xb(a);Ha=0;return 0}function vj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Le(a);Ha=0;return 0}function fg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Va(a);Ha=0;return 0}function ei(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;zb(a);Ha=0;return 0}function Zi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;jd(a);Ha=0;return 0}function Ri(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;wd(a);Ha=0;return 0}function Zg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ya();Ha=0;return 0}function Yg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Xa();Ha=0;return 0}function Xg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Wa();Ha=0;return 0}function Wg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ua();Ha=0;return 0}function Ti(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;va();Ha=0;return 0}function Hi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Fc();Ha=0;return 0}function Bg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=0;return a+24|0}function mg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=0;return 20700}function ij(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=0;return 2303}function hj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=0;return 3388}function wf(a,b){var c=0,d=0,e=0;c=Ca-16|0;Ca=c;x[c+12>>2]=b;d=x[a>>2];b=d+(b<<2)|0;a=x[b+396>>2];x[b+396>>2]=a+1;x[c+8>>2]=a;a=De(d+408|0,16);b=x[c+12>>2];e=x[c+8>>2];a=Fe(a,31,0,1,1,1);x[a+12>>2]=e;x[a+8>>2]=b;x[a>>2]=35640;x[c+4>>2]=a;de(x[Pe(d+332|0)>>2],c+4|0);Ca=c+16|0;return a}function Oi(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=0;return a|0}function _g(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=-1;return-1}function Fj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;td(5672,0);r()}function ug(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=0;return 0}function uf(a){var b=0,c=0;a:{c=x[a+4>>2];b=x[a>>2]+332|0;if(c>>>0>x[b+4>>2]-x[b>>2]>>2>>>0){x[11118]=0;xa(171,1586,2824,2409,1244);a=x[11118];x[11118]=0;if((a|0)==1){break a}r()}x[11118]=0;ya(215,b|0,c|0);b=x[11118];x[11118]=0;if((b|0)==1){break a}Xd(a+8|0);return}oa(0)|0;ud();r()}function kh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=0;return 1}function $g(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F){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;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;Ha=0;return-1}function tc(a,b,c){var d=0,e=0;a:{d=x[a>>2];e=x[a+4>>2];b:{if((d|0)!=(e|0)){e=x[a+8>>2];break b}d=e+10|0;x[a+4>>2]=d;e=yc(x[a+8>>2],d<<2);if(!e){break a}x[a+8>>2]=e;d=x[a>>2]}x[(d<<2)+e>>2]=b;x[a>>2]=d+1;return 1}jd(x[a+8>>2]);x[a>>2]=0;x[a+4>>2]=0;hb(c,1,10514,0);return 0}function Gj(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,s,t,u,v,w,x,y,z,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;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;E=E|0;F=F|0;G=G|0;r()}function Ye(a,b,c,d){var e=0,f=0,g=0;e=Ca-16|0;Ca=e;g=De(a+408|0,20);b=x[b>>2];f=x[c+4>>2];c=x[c>>2];x[e+8>>2]=c;x[e+12>>2]=f;a=x[d>>2];x[e>>2]=c;x[e+4>>2]=f;c=Fe(g,59,a,1,1,1);x[c+8>>2]=b;x[c>>2]=34356;a=x[e+4>>2];x[c+12>>2]=x[e>>2];x[c+16>>2]=a;Ca=e+16|0;return c}function vf(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;x[c+12>>2]=a;a:{if((a|0)==(b|0)){break a}while(1){b=b-1|0;x[c+8>>2]=b;if(a>>>0>=b>>>0){break a}a=x[c+12>>2];b=y[a|0];d=a;a=x[c+8>>2];v[d|0]=y[a|0];v[a|0]=b;a=x[c+12>>2]+1|0;x[c+12>>2]=a;b=x[c+8>>2];continue}}Ca=c+16|0}function Td(a,b,c){var d=0;d=x[b>>2];if(c){Sd(b,110)}a:{if(x[b+4>>2]==x[b>>2]){break a}c=x[b>>2];if(v[c|0]-48>>>0>=10){break a}while(1){if(!(x[b+4>>2]==x[b>>2]|v[c|0]-48>>>0>9)){c=c+1|0;x[b>>2]=c;continue}break}x[a+4>>2]=c;x[a>>2]=d;return}x[a>>2]=0;x[a+4>>2]=0}function Ff(a,b){var c=0,d=0;c=Ca-32|0;Ca=c;Gf(a,b);a:{if(A[b+8>>2]>1){b=Pd(c+24|0,3420);d=x[b+4>>2];x[c+8>>2]=x[b>>2];x[c+12>>2]=d;if(!$d(a,c+8|0)){break a}bf(c+16|0,a,6);b=x[c+20>>2];x[a>>2]=x[c+16>>2];x[a+4>>2]=b}Ca=c+32|0;return}wa(5280,2824,1582,3065);r()}function ud(){var a=0;a=x[10502];x[11118]=0;qa(a|0);a=x[11118];x[11118]=0;a:{if((a|0)!=1){x[11118]=0;ya(173,3278,0);a=x[11118];x[11118]=0;if((a|0)!=1){break a}}pa(oa(0)|0)|0;x[11118]=0;ya(173,2318,0);a=x[11118];x[11118]=0;if((a|0)!=1){break a}oa(0)|0;ud()}r()}function bd(a,b,c){var d=0,e=0,f=0,g=0;if(b){while(1){c=c-1|0;e=a;a=Hl(a,b,10,0);d=Ha;f=c,g=e-Fl(a,d,10,0)|48,v[f|0]=g;e=b>>>0>9;b=d;if(e){continue}break}}if(a){while(1){c=c-1|0;b=(a>>>0)/10|0;v[c|0]=a-D(b,10)|48;d=a>>>0>9;a=b;if(d){continue}break}}return c}function eb(a,b,c){var d=0,e=0;x[a+48>>2]=0;x[a+36>>2]=x[a+32>>2];e=Ia[x[a+28>>2]](b,c,x[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;d=x[a+68>>2];if(!e){x[a+68>>2]=d|4;return 0}x[a+56>>2]=b;x[a+60>>2]=c;x[a+68>>2]=d&-5;return 1}function Qd(a,b){var c=0,d=0,e=0,f=0;c=Ca-32|0;Ca=c;d=x[a>>2];e=c+24|0;x[e+4>>2]=x[a+4>>2];x[e>>2]=d;f=x[b+4>>2];d=x[b>>2];x[c+8>>2]=d;x[c+12>>2]=f;x[c+16>>2]=d;x[c+20>>2]=f;d=$d(e,c+8|0);if(d){x[a>>2]=x[a>>2]+(x[b+4>>2]-x[b>>2]|0)}Ca=c+32|0;return d}function be(a){var b=0;a=x[a>>2];if(x[a+4>>2]==x[a>>2]){return 1}b=x[a>>2];if((b|0)!=x[a+4>>2]){a=y[b|0]}else{a=0}b=(a<<24>>24)-46|0;if((b&255)>>>0<=49){a=b&31;a=((b&63)>>>0>=32?131072>>>a|0:((1<>>a)&1}else{a=0}return a}function Xc(a,b){var c=0,d=0,e=0;q(+a);d=l(1)|0;e=l(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Xc(a*0x10000000000000000,b);c=x[b>>2]+-64|0}x[b>>2]=c;return a}x[b>>2]=c-1022;n(0,e|0);n(1,d&-2146435073|1071644672);a=+p()}return a}function od(a){var b=0;a=a>>>0<=1?1:a;a:{while(1){b=id(a);if(b){break a}b=x[11120];if(b){Ia[b|0](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;continue}break}a=pd(4);x[a>>2]=32284;x[a>>2]=32264;Y(a|0,32336,167);r()}return b}function Xa(){var a=0,b=0;O(20676,3024,20636,13,20638,14);a=od(4);x[a>>2]=0;b=od(4);x[b>>2]=0;P(20676,2691,32016,20641,15,a|0,32016,20645,16,b|0);a=od(4);x[a>>2]=4;b=od(4);x[b>>2]=4;P(20676,1441,32016,20641,15,a|0,32016,20645,16,b|0);Q(20676)}function Wa(){var a=0,b=0;O(20660,1396,20636,9,20638,10);a=od(4);x[a>>2]=0;b=od(4);x[b>>2]=0;P(20660,1204,32016,20641,11,a|0,32016,20645,12,b|0);a=od(4);x[a>>2]=4;b=od(4);x[b>>2]=4;P(20660,1160,32016,20641,11,a|0,32016,20645,12,b|0);Q(20660)}function jf(a){var b=0,c=0,d=0;c=Ca-16|0;Ca=c;b=Ce(a);x[c+12>>2]=b;a:{if(!b){b=0;break a}d=x[a>>2];if((d|0)!=x[a+4>>2]){d=y[d|0]}else{d=0}if((d|0)!=73){break a}b=oe(a,0);x[c+8>>2]=b;if(b){b=pe(a,c+12|0,c+8|0)}else{b=0}}Ca=c+16|0;return b}function jb(a){var b=0,c=0,d=0;if(a){b=x[a+24>>2];if(b){c=x[a+16>>2];if(c){b=0;while(1){d=x[(x[a+24>>2]+D(b,52)|0)+44>>2];if(d){jd(d);c=x[a+16>>2]}b=b+1|0;if(c>>>0>b>>>0){continue}break}b=x[a+24>>2]}jd(b)}b=x[a+28>>2];if(b){jd(b)}jd(a)}}function Vc(a,b,c){var d=0,e=0,f=0;if(!c){return 0}d=y[a|0];a:{if(!d){break a}while(1){b:{e=y[b|0];if((e|0)!=(d|0)|!e){break b}c=c-1|0;if(!c){break b}b=b+1|0;d=y[a+1|0];a=a+1|0;if(d){continue}break a}break}f=d}return(f&255)-y[b|0]|0}function ie(a,b){var c=0,d=0,e=0;c=Ca-16|0;Ca=c;x[c+12>>2]=0;a:{b:{if(!He(b,c+12|0)){d=x[c+12>>2];if(d>>>0<=x[b+4>>2]-x[b>>2]>>>0){break b}}x[a>>2]=0;x[a+4>>2]=0;break a}e=x[b>>2];x[a+4>>2]=e+d;x[a>>2]=e;x[b>>2]=x[b>>2]+d}Ca=c+16|0}function Od(a){var b=0,c=0;b=a+408|0;while(1){c=x[b+4096>>2];if(c){x[b+4096>>2]=x[c>>2];if((b|0)==(c|0)){continue}jd(c);continue}break}x[b>>2]=0;x[b+4>>2]=0;x[b+4096>>2]=b;Xd(a+360|0);Xd(a+332|0);Xd(a+288|0);Xd(a+148|0);Xd(a+8|0)}function $c(a){var b=0,c=0,d=0;if(v[x[a>>2]]-48>>>0>=10){return 0}while(1){d=x[a>>2];c=-1;if(b>>>0<=214748364){c=v[d|0]-48|0;b=D(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}x[a>>2]=d+1;b=c;if(v[d+1|0]-48>>>0<10){continue}break}return b}function ef(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;a=De(a+408|0,16);d=x[b+4>>2];b=x[b>>2];x[c>>2]=b;x[c+4>>2]=d;x[c+8>>2]=b;x[c+12>>2]=d;a=Fe(a,63,0,1,1,1);x[a>>2]=36548;b=x[c+4>>2];x[a+8>>2]=x[c>>2];x[a+12>>2]=b;Ca=c+16|0;return a}function Gl(a,b,c,d){var e=0,f=0,g=0,h=0;f=b^d;g=f>>31;e=b>>31;a=a^e;h=a-e|0;e=(b^e)-((a>>>0>>0)+e|0)|0;a=d>>31;b=c^a;f=f>>31;a=Hl(h,e,b-a|0,(a^d)-((a>>>0>b>>>0)+a|0)|0)^f;b=a-f|0;Ha=(g^Ha)-((a>>>0>>0)+g|0)|0;return b}function hc(a){var b=0,c=0,d=0;b=x[a+12>>2];a:{if((b&255)==255){b=b<<8&65280;x[a+12>>2]=b;x[a+16>>2]=(b|0)==65280?7:8;c=x[a+8>>2];d=0;if(c>>>0>=A[a+4>>2]){break a}x[a+8>>2]=c+1;x[a+12>>2]=b|y[c|0]}x[a+16>>2]=0;d=1}return d}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ca-16|0;Ca=d;x[d+12>>2]=x[c>>2];a=Ia[x[x[a>>2]+16>>2]](a,0,b,0,d+12|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;if(a){x[c>>2]=x[d+12>>2]}Ca=d+16|0;return a|0}function zc(a){var b=0,c=0,d=0,e=0;if(a){b=x[a+20>>2];c=x[a+16>>2];if(D(b,c)){while(1){e=x[x[a+24>>2]+(d<<2)>>2];if(e){jd(e);c=x[a+16>>2];b=x[a+20>>2]}d=d+1|0;if(d>>>0>>0){continue}break}}jd(x[a+24>>2]);jd(a)}}function pb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(d){while(1){e=f<<2;g=e+a|0;h=c+e|0;i=x[h>>2];j=b+e|0;k=x[j>>2];e=x[g>>2]-(i+k>>2)|0;x[g>>2]=e+i;x[j>>2]=e;x[h>>2]=e+k;f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function Fl(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=D(e,f);g=c&65535;h=a&65535;i=D(g,h);f=(i>>>16|0)+D(f,g)|0;e=(f&65535)+D(e,h)|0;Ha=(D(b,c)+j|0)+D(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function zd(a,b,c){var d=0;d=x[a+16>>2];if(!d){x[a+36>>2]=1;x[a+24>>2]=c;x[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(x[a+24>>2]!=2){break a}x[a+24>>2]=c;return}v[a+54|0]=1;x[a+24>>2]=2;x[a+36>>2]=x[a+36>>2]+1}}function ee(a,b,c){var d=0,e=0,f=0,g=0;d=b+8|0;if(x[d+4>>2]-x[d>>2]>>2>>>0>>0){wa(5251,2824,2470,1120);r()}e=x[d+4>>2];f=x[d>>2]+(c<<2)|0;g=e-f>>2;b=De(b+408|0,g<<2);Be(f,e,b);x[a+4>>2]=g;x[a>>2]=b;ze(d,c)}function cd(a,b,c,d,e){var f=0;f=Ca-256|0;Ca=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Hc(f,b&255,c?d:256);if(!c){while(1){_c(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}_c(a,f,d)}Ca=f+256|0}function Rc(a){var b=0;a:{b=a;a=Uc(a);if((((Pc(b,1,a,41856)|0)!=(a|0)?-1:0)|0)<0){break a}b:{if(x[10484]==10){break b}a=x[10469];if((a|0)==x[10468]){break b}x[10469]=a+1;v[a|0]=10;break a}Mc(41856)}}function Zf(a,b,c,d,e,f,g,h,i,j,k,l){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;k=k|0;l=l|0;return Ia[a|0](b,0,c,0,d,0,e,0,f,0,g,0,h,0,i,0,j,0,k,0,l,0,0,0,0,0,0,0,0,0,0,0)|0}function Je(a){var b=0;b=Ca-16|0;Ca=b;x[b+12>>2]=0;if(Sd(a,114)){x[b+12>>2]=x[b+12>>2]|4}if(Sd(a,86)){x[b+12>>2]=x[b+12>>2]|2}if(Sd(a,75)){x[b+12>>2]=x[b+12>>2]|1}Ca=b+16|0;return x[b+12>>2]}function Lc(a){var b=0;b=x[a+72>>2];x[a+72>>2]=b-1|b;b=x[a>>2];if(b&8){x[a>>2]=b|32;return-1}x[a+4>>2]=0;x[a+8>>2]=0;b=x[a+44>>2];x[a+28>>2]=b;x[a+20>>2]=b;x[a+16>>2]=b+x[a+48>>2];return 0}function Sc(a,b){var c=0,d=0;c=y[a|0];d=y[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=y[b+1|0];c=y[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 yb(a,b){var c=0,d=0,e=0;a:{if(x[a+208>>2]){break a}mb(x[a+212>>2]);x[a+212>>2]=0;if((b|0)>=0){b=lb(b);x[a+212>>2]=b;c=1;if(b){break a}}d=a,e=lb(0),x[d+212>>2]=e;c=0}return c}function _f(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=b;q(+c);b=l(1)|0;return Ia[a|0](h,0,l(0)|0,b,d,0,e,0,f,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Zd(a){var b=0;x[a+12>>2]=0;x[a+16>>2]=0;x[a+8>>2]=a+44;b=a+12|0;x[a+4>>2]=b;x[a>>2]=b;x[a+20>>2]=0;x[a+24>>2]=0;x[a+28>>2]=0;x[a+32>>2]=0;x[a+36>>2]=0;x[a+40>>2]=0;return a}function Wd(a,b){var c=0;a:{b=x[a+4>>2]+b|0;c=x[a+8>>2];if(b>>>0<=c>>>0){break a}c=c<<1;b=b+992|0;b=b>>>0>>0?c:b;x[a+8>>2]=b;c=a;a=kd(x[a>>2],b);x[c>>2]=a;if(a){break a}ud();r()}}function Ue(a,b){var c=0;c=y[a+5|0]|y[a+6|0]<<8;if((c&192)!=128){return(c&255)>>>0<64}return Ia[x[x[a>>2]>>2]](a,0,b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function hd(a){var b=0,c=0;b=x[10501];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>Ja()<<16>>>0){if(!(ma(a|0)|0)){break a}}x[10501]=a;return b}x[10518]=48;return-1}function Ad(a,b){var c=0;a:{if(!b){break a}b=yd(b,31812);if(!b|x[b+8>>2]&(x[a+8>>2]^-1)){break a}if(!xd(x[a+12>>2],x[b+12>>2],0)){break a}c=xd(x[a+16>>2],x[b+16>>2],0)}return c}function vc(a,b){var c=0,d=0;if(!a|!b){a=c}else{a:{if(!a){break a}c=Fl(a,0,b,0);d=Ha;if((a|b)>>>0<65536){break a}c=d?-1:c}a=id(c);if(!(!a|!(y[a-4|0]&3))){Hc(a,0,c)}}return a}function $e(a,b){var c=0,d=0,e=0;c=Ca-16|0;Ca=c;d=De(a+408|0,28);a=Pd(c+8|0,6137);b=x[b>>2];e=x[a+4>>2];x[c>>2]=x[a>>2];x[c+4>>2]=e;a=rf(d,c,b,0);Ca=c+16|0;return a}function sf(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;x[a>>2]=b;x[a+4>>2]=x[b+336>>2]-x[b+332>>2]>>2;b=Zd(a+8|0);d=x[a>>2];x[c+12>>2]=b;de(d+332|0,c+12|0);Ca=c+16|0;return a}function fb(a){var b=0;if(a){b=x[a+4>>2];if(b){Ia[b|0](x[a>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}jd(x[a+32>>2]);x[a+32>>2]=0;jd(a)}}function Kf(a){var b=0,c=0,d=0;c=Ca-16|0;Ca=c;a=x[a+8>>2];if(y[a+4|0]==7){d=x[a+12>>2];b=c+8|0;x[b>>2]=x[a+8>>2];x[b+4>>2]=d;b=af(b,Pd(c,1494))}Ca=c+16|0;return b}function Ec(){var a=0;a=x[10515];if(a){while(1){Ia[x[a>>2]](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;a=x[a+4>>2];if(a){continue}break}}}function je(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;a=De(a+408|0,16);d=x[b+4>>2];b=x[b>>2];x[c>>2]=b;x[c+4>>2]=d;x[c+8>>2]=b;x[c+12>>2]=d;a=Ie(a,c);Ca=c+16|0;return a}function Xf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Ia[a|0](b,0,c,0,d,0,e,0,f,0,g,0,h,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Ud(a,b,c){var d=0,e=0;d=Ca-16|0;Ca=d;e=De(a+408|0,20);a=Pd(d+8|0,b);b=x[c>>2];c=x[a+4>>2];x[d>>2]=x[a>>2];x[d+4>>2]=c;a=Ee(e,d,b);Ca=d+16|0;return a}function db(a,b){v[b+7|0]=y[a|0];v[b+6|0]=y[a+1|0];v[b+5|0]=y[a+2|0];v[b+4|0]=y[a+3|0];v[b+3|0]=y[a+4|0];v[b+2|0]=y[a+5|0];v[b+1|0]=y[a+6|0];v[b|0]=y[a+7|0]}function pd(a){var b=0,c=0;x[11118]=0;b=a+27&-4;a=na(169,b|0)|0;c=x[11118];x[11118]=0;a:{if((c|0)!=1){if(!a){break a}return Hc(a,0,b)+24|0}oa(0)|0}ud();r()}function rf(a,b,c,d){a=Fe(a,56,d,1,1,1);x[a>>2]=34772;d=x[b+4>>2];b=x[b>>2];x[a+16>>2]=c;x[a+8>>2]=b;x[a+12>>2]=d;b=a+20|0;x[b>>2]=0;x[b+4>>2]=0;return a}function Yf(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 Ia[a|0](b,0,c,0,d,0,e,0,f,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Fe(a,b,c,d,e,f){v[a+4|0]=b;x[a>>2]=32632;b=(y[a+5|0]|y[a+6|0]<<8)&61440|(c&63|d<<6&192|(e&3)<<8|(f&3)<<10);v[a+5|0]=b;v[a+6|0]=b>>>8;return a}function Yb(a){if(a){Ia[x[(x[a+76>>2]?20:16)+a>>2]](x[a+48>>2],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0;x[a+48>>2]=0;jd(a)}}function qe(a,b,c){a=De(a+408|0,20);c=x[c>>2];b=x[b>>2];a=Te(a,12,y[b+5|0]>>>6|0,1,1);v[a+16|0]=0;x[a+12>>2]=c;x[a+8>>2]=b;x[a>>2]=41452;return a}function gf(a,b,c,d){a=De(a+408|0,20);b=x[b>>2];c=x[c>>2];d=y[d|0];a=Fe(a,77,0,1,1,1);v[a+16|0]=d;x[a+12>>2]=c;x[a+8>>2]=b;x[a>>2]=36872;return a}function Hf(a,b,c,d){a=De(a+408|0,20);b=x[b>>2];c=y[c|0];d=x[d>>2];a=Fe(a,45,0,1,1,1);x[a+16>>2]=d;v[a+12|0]=c;x[a+8>>2]=b;x[a>>2]=38744;return a}function he(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;a=De(a+408|0,16);b=Pd(c+8|0,b);d=x[b+4>>2];x[c>>2]=x[b>>2];x[c+4>>2]=d;a=Ie(a,c);Ca=c+16|0;return a}function Pc(a,b,c,d){var e=0;e=D(b,c);a:{if(x[d+76>>2]<0){a=Oc(a,e,d);break a}a=Oc(a,e,d)}if((e|0)==(a|0)){return b?c:0}return(a>>>0)/(b>>>0)|0}function $f(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;Ia[a|0](b,0,c,0,d,0,e,0,f,0,g,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Wf(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 Ia[a|0](b,0,c,0,d,0,e,0,f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function yf(a,b){var c=0,d=0;c=Ca-16|0;Ca=c;d=x[b+4>>2];b=x[b>>2];x[c>>2]=b;x[c+4>>2]=d;x[c+8>>2]=b;x[c+12>>2]=d;a=Ge(a,c);Ca=c+16|0;return a}function ag(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ia[a|0](b,0,c,0,d,0,e,0,f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function cg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ia[a|0](b,0,c,d,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Vf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ia[a|0](b,0,c,0,d,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function _d(a){var b=0;x[a+12>>2]=0;x[a+16>>2]=0;x[a+8>>2]=a+28;b=a+12|0;x[a+4>>2]=b;x[a>>2]=b;x[a+20>>2]=0;x[a+24>>2]=0;return a}function Ee(a,b,c){var d=0;a=Fe(a,20,0,1,1,1);x[a>>2]=32480;d=x[b+4>>2];b=x[b>>2];x[a+16>>2]=c;x[a+8>>2]=b;x[a+12>>2]=d;return a}function Tf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ia[a|0](b,0,c,0,d,0,e,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function bg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ia[a|0](b,c,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ia[a|0](b,0,c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Ge(a,b){var c=0;c=x[b+4>>2]-x[b>>2]|0;if(c){Wd(a,c);Gc(x[a>>2]+x[a+4>>2]|0,x[b>>2],c);x[a+4>>2]=x[a+4>>2]+c}return a}function pe(a,b,c){a=De(a+408|0,16);b=x[b>>2];c=x[c>>2];a=Fe(a,41,0,1,1,1);x[a+12>>2]=c;x[a+8>>2]=b;x[a>>2]=39384;return a}function kf(a,b,c){a=De(a+408|0,16);b=x[b>>2];c=x[c>>2];a=Fe(a,22,0,1,1,1);x[a+12>>2]=c;x[a+8>>2]=b;x[a>>2]=37748;return a}function Oe(a,b,c){a=De(a+408|0,16);b=x[b>>2];c=x[c>>2];a=Fe(a,24,0,1,1,1);x[a+12>>2]=c;x[a+8>>2]=b;x[a>>2]=39064;return a}function af(a,b){var c=0;c=x[a+4>>2]-x[a>>2]|0;if((c|0)==(x[b+4>>2]-x[b>>2]|0)){a=Vc(x[a>>2],x[b>>2],c)}else{a=1}return!a}function $d(a,b){var c=0;c=x[b+4>>2]-x[b>>2]|0;if(c>>>0<=x[a+4>>2]-x[a>>2]>>>0){a=Vc(x[b>>2],x[a>>2],c)}else{a=1}return!a}function Pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ia[a|0](b,0,c,0,d,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;return Ia[a|0](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Cf(a,b,c){a=Fe(a,66,0,1,1,1);x[a+8>>2]=b;x[a>>2]=37084;b=x[c+4>>2];x[a+12>>2]=x[c>>2];x[a+16>>2]=b;return a}function Lf(a,b,c){a=Fe(a,5,0,1,1,1);x[a+8>>2]=b;x[a>>2]=41560;b=x[c+4>>2];x[a+12>>2]=x[c>>2];x[a+16>>2]=b;return a}function Ed(a){var b=0,c=0;x[a>>2]=32356;b=x[a+4>>2]-12|0;c=x[b+8>>2]-1|0;x[b+8>>2]=c;if((c|0)<0){jd(b)}return a}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;Ia[a|0](b,0,c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function xd(a,b,c){if(!c){return x[a+4>>2]==x[b+4>>2]}if((a|0)==(b|0)){return 1}return!Sc(x[a+4>>2],x[b+4>>2])}function Qf(a,b){a=a|0;b=b|0;return Ia[a|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function rc(){var a=0,b=0;a=vc(1,12);if(a){x[a+4>>2]=10;b=vc(10,4);x[a+8>>2]=b;if(b){return a}jd(a)}return 0}function Ie(a,b){var c=0;a=Fe(a,7,0,1,1,1);x[a>>2]=32792;c=x[b+4>>2];x[a+8>>2]=x[b>>2];x[a+12>>2]=c;return a}function td(a,b){var c=0,d=0;d=Ca-16|0;Ca=d;c=x[7628];Pc(6121,11,1,c);x[d+12>>2]=b;dd(c,a,b);Nc(c);va();r()}function xc(a){var b=0;b=Ca-16|0;Ca=b;if(a){a=ld(b+12|0,32,a);a=a?0:x[b+12>>2]}else{a=0}Ca=b+16|0;return a}function wc(a){var b=0;b=Ca-16|0;Ca=b;if(a){a=ld(b+12|0,16,a);a=a?0:x[b+12>>2]}else{a=0}Ca=b+16|0;return a}function ze(a,b){if(x[a+4>>2]-x[a>>2]>>2>>>0>>0){wa(5569,2824,129,2575);r()}x[a+4>>2]=x[a>>2]+(b<<2)}function ye(a,b){if(x[a+4>>2]-x[a>>2]>>2>>>0<=b>>>0){wa(5441,2824,143,3452);r()}return x[a>>2]+(b<<2)|0}function ob(a){if(x[a+12>>2]){x[a+40>>2]=0;if(x[a+24>>2]>0){while(1){if(x[a+24>>2]>0){continue}break}}}}function Sd(a,b){var c=0,d=0;c=x[a>>2];if(!((c|0)==x[a+4>>2]|v[c|0]!=(b&255))){x[a>>2]=c+1;d=1}return d}function Nf(a,b){a=a|0;b=b|0;Ia[a|0](b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Za(a){a=a|0;return Ia[a|0](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function Dc(a){a=a|0;var b=0,c=0;a=x[a+4>>2];b=Uc(a)+1|0;c=id(b);if(c){a=Gc(c,a,b)}else{a=0}return a|0}function qd(a){a=a|0;x[11118]=0;wd(a-24|0);a=x[11118];x[11118]=0;if((a|0)!=1){return}oa(0)|0;ud();r()}function bf(a,b,c){var d=0,e=0;d=x[b+4>>2];e=x[b>>2];b=d-e|0;x[a+4>>2]=d;x[a>>2]=(b>>>0>>0?b:c)+e}function xb(a,b){if(!(!a|!b)){x[a+164>>2]=x[b+4>>2];x[a+160>>2]=x[b>>2];x[a+224>>2]=x[b+8248>>2]&2}}function ge(a){var b=0,c=0;b=a+4|0;te(x[a>>2]+332|0,b);c=x[a>>2]+288|0;a=a+32|0;ue(c,a);Xd(a);Xd(b)}function df(a,b){a=De(a+408|0,8);b=x[b>>2]!=0;a=Fe(a,69,0,1,1,1);v[a+7|0]=b;x[a>>2]=34988;return a}function mf(a,b){a=De(a+408|0,12);b=x[b>>2];a=Fe(a,42,0,1,1,1);x[a+8>>2]=b;x[a>>2]=38180;return a}function Df(a,b){a=De(a+408|0,12);b=x[b>>2];a=Fe(a,4,0,1,1,1);x[a+8>>2]=b;x[a>>2]=37956;return a}function Uf(a){a=a|0;Ia[a|0](0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)|0}function vd(a,b){var c=0;c=28;if(!(!y[a+42144|0]|a>>>0>127)){x[(a<<2)+42272>>2]=b;c=0}return c}function Le(a){var b=0;b=x[a+4>>2];if((b|0)==x[a>>2]){wa(5528,2824,124,2566);r()}x[a+4>>2]=b-4}function Pe(a){var b=0;b=x[a+4>>2];if((b|0)==x[a>>2]){wa(5477,2824,139,2570);r()}return b-4|0}function Md(a,b,c,d){var e=0;e=Ca-16|0;Ca=e;x[e+12>>2]=d;a=fd(a,b,c,d);Ca=e+16|0;return a}function Jf(a,b,c){a=Fe(a,27,0,1,1,1);x[a+12>>2]=c;x[a+8>>2]=b;x[a>>2]=40912;return a}function Nd(a,b){var c=0;Wd(a,1);c=x[a+4>>2];x[a+4>>2]=c+1;v[x[a>>2]+c|0]=b;return a}function Yd(a){var b=0;x[a+8>>2]=a+140;b=a+12|0;x[a+4>>2]=b;x[a>>2]=b;Hc(b,0,128)}function Jl(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Qc(a,b){var c=0;c=Ca-16|0;Ca=c;x[c+12>>2]=b;ed(41856,a,b);Ca=c+16|0}function Pd(a,b){var c=0,d=0;x[a>>2]=b;c=a,d=Uc(b)+b|0,x[c+4>>2]=d;return a}function Kl(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function Kc(a,b,c){var d=0;d=Ca-16|0;Ca=d;x[d+12>>2]=c;ed(a,b,c);Ca=d+16|0}function pc(a){var b=0;if(a){b=x[a+12>>2];if(b){jd(b);x[a+12>>2]=0}jd(a)}}function Ef(a,b,c){a=Fe(a,c,0,1,1,1);x[a+8>>2]=b;x[a>>2]=38480;return a}function Af(a,b){a=Fe(a,38,0,1,1,1);x[a+8>>2]=b;x[a>>2]=36756;return a}function nd(a,b){a=a|0;b=b|0;if(!x[11118]){x[11118]=a;x[11119]=b}}function Dd(a){a=a|0;if(!a){return 0}return(yd(a,31700)|0)!=0|0}function If(a,b,c){return Jf(De(a+408|0,16),x[b>>2],x[c>>2])}function sc(a){var b=0;if(a){b=x[a+8>>2];if(b){jd(b)}jd(a)}}function Cc(a,b,c,d,e,f,g,h){return Bc(a,b,c,d,e,f,g,h,0)}function rd(a){a=a|0;if(a){a=a-24|0;x[a>>2]=x[a>>2]+1}}function El(a){if(a){return 31-G(a-1^a)|0}return 32}function me(a,b){return Af(De(a+408|0,12),x[b>>2])}function Ac(a,b,c,d,e,f,g,h){Bc(a,b,c,d,e,f,g,h,1)}function Xd(a){if(x[a>>2]!=(a+12|0)){jd(x[a>>2])}}function Gf(a,b){Pd(a,x[(x[b+8>>2]<<2)+41668>>2])}function pf(a,b){x[a+20>>2]=x[a+20>>2]-1;Nd(a,b)}function nf(a,b){x[a+20>>2]=x[a+20>>2]+1;Nd(a,b)}function yc(a,b){if(!b){return 0}return kd(a,b)}function dg(a,b,c,d){Aa(a|0,b|0,8,0,c|0,-1,d|0)}function Ld(a){a=a|0;a=Ca-a&-16;Ca=a;return a|0}function _c(a,b,c){if(!(y[a|0]&32)){Oc(b,c,a)}}function Il(a,b,c){Dl(a,0,b,c);Ha=Ga;return Fa}function Te(a,b,c,d,e){return Fe(a,b,0,c,d,e)}function uc(a){if(!a){return 0}return id(a)}function dd(a,b,c){return Yc(a,b,c,164,165)}function Hl(a,b,c,d){a=Dl(a,b,c,d);return a}function ff(a,b){Pd(a,x[b+4>>2])}function ed(a,b,c){Yc(a,b,c,0,0)}function Fd(){Ea=110560;Da=45024}function ib(){return vc(1,36)}function Gd(){return Ca-Da|0}function Va(a){if(a){jd(a)}}function Jc(){return 42072}function Kd(a){a=a|0;Ca=a}function Jd(){return Ca|0}function Id(){return Da|0}function Hd(){return Ea|0}function _a(a){} +// EMSCRIPTEN_END_FUNCS +g=y;var Ia=e([null,eg,fg,gg,hg,ig,jg,ig,jg,eg,fg,kg,lg,eg,fg,kg,lg,mg,ng,og,pg,qg,rg,sg,tg,ug,vg,wg,xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Eg,Gg,Eg,Hg,Ig,Jg,Ig,Kg,Lg,Mg,Eg,Ng,Eg,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,ug,_g,$g,$g,ah,bh,ch,dh,ug,eh,fh,gh,hh,ih,jh,kh,lh,mh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,kh,Eh,Fh,kh,kh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Qh,Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh,Zh,_h,$h,ai,kh,bi,ci,di,ei,fi,gi,hi,ii,ji,ki,li,mi,ni,oi,pi,qi,ri,si,ti,ui,vi,wi,xi,yi,zi,Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,Ki,ug,ug,Li,Mi,Ni,Oi,Pi,Qi,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Oi,Zi,ug,ug,_i,Zi,$i,aj,bj,cj,Zi,dj,ej,fj,Zi,gj,Zi,hj,Zi,ij,jj,kj,jj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,ug,ug,ug,Oi,Dj,ug,Ej,Oi,Zi,Fj,Gj,Hj,Zi,Ij,Jj,Zi,Kj,Zi,Lj,Mj,Nj,Oj,Pj,Qj,Zi,Rj,Zi,Sj,Zi,Tj,Zi,Uj,Zi,Vj,Zi,Wj,Zi,Xj,Zi,Yj,Zi,Zj,Zi,_j,Zi,$j,Zi,ak,Zi,bk,Zi,ck,Zi,dk,Zi,ek,Zi,fk,Zi,gk,Zi,hk,Zi,ik,Zi,jk,kk,Zi,lk,mk,Zi,nk,kk,Zi,ok,pk,Zi,qk,Zi,rk,Zi,sk,Zi,tk,Zi,uk,Zi,vk,Zi,wk,Zi,xk,Zi,yk,Zi,zk,Zi,Ak,Zi,Bk,Zi,Ck,Zi,Dk,Zi,Ek,Fk,Zi,Gk,Zi,Hk,Zi,Ik,Zi,Jk,Kk,Zi,Lk,Mk,Zi,Nk,Ok,Zi,Pk,Zi,Qk,Zi,Rk,Zi,Sk,Fk,Zi,Ek,Fk,Zi,Ek,Zi,Tk,Uk,Vk,Wk,Xk,Yk,Zi,Zk,Zi,_k,Kk,Zi,Ck,Zi,$k,Zi,kh,kh,al,bl,Zi,cl,Zi,dl,Zi,el,Zi,kh,kh,fl,gl,Zi,hl,Zi,il,Zi,jl,kl,ll,ml,nl,Zi,ol,Zi,pl,Zi,ql,Zi,rl,Zi,kh,kh,sl,tl,Zi,jl,ul,vl,Zi,wl,Zi,xl,yl,zl,Zi,xl,Al,Bl,Zi,Cl,Zi]);function Ja(){return u.byteLength/65536|0}function Oa(Pa){Pa=Pa|0;var Ka=Ja()|0;var La=Ka+Pa|0;if(Ka=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;assert(INITIAL_MEMORY%65536===0);var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;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(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();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 addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init(){FS.error()},createDataFile(){FS.error()},createPreloadedFile(){FS.error()},createLazyFile(){FS.error()},open(){FS.error()},mkdev(){FS.error()},registerDevice(){FS.error()},analyzePath(){FS.error()},ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name){return function(){assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);return f.apply(null,arguments)}}class EmscriptenEH extends Error{}class EmscriptenSjLj extends EmscriptenEH{}class CppException extends EmscriptenEH{constructor(excPtr){super(excPtr);this.excPtr=excPtr;const excInfo=getExceptionMessage(excPtr);this.name=excInfo[0];this.message=excInfo[1]}}var wasmBinaryFile;wasmBinaryFile="openjpegjs_decode.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;wasmExports=exports;runMemoryInitializer();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function legacyModuleProp(prop,newName,incomming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incomming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!=="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce("`"+sym+"` is not longer defined by emscripten. "+msg);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='"+librarySymbol+"')";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}var memoryInitializer="openjpegjs_decode.js.mem";function runMemoryInitializer(){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,1024)}else{addRunDependency("memory initializer");var applyMemoryInitializer=data=>{if(data.byteLength)data=new Uint8Array(data);for(var i=0;i{readAsync(memoryInitializer,applyMemoryInitializer,()=>{var e=new Error("could not load memory initializer "+memoryInitializer);readyPromiseReject(e)})};if(Module["memoryInitializerRequest"]){var useRequest=()=>{var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number");return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var getExceptionMessageCommon=ptr=>withStackSave(()=>{var type_addr_addr=stackAlloc(4);var message_addr_addr=stackAlloc(4);___get_exception_message(ptr,type_addr_addr,message_addr_addr);var type_addr=HEAPU32[type_addr_addr>>2];var message_addr=HEAPU32[message_addr_addr>>2];var type=UTF8ToString(type_addr);_free(type_addr);var message;if(message_addr){message=UTF8ToString(message_addr);_free(message_addr)}return[type,message]});function getExceptionMessage(ptr){return getExceptionMessageCommon(ptr)}Module["getExceptionMessage"]=getExceptionMessage;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var warnOnce=text=>{if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var exceptionCaught=[];var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(info.excPtr);return info.get_exception_ptr()}var exceptionLast=0;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=new CppException(ptr)}throw exceptionLast}var findMatchingCatch=args=>{var thrown=exceptionLast&&exceptionLast.excPtr;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var arg in args){var caughtType=args[arg];if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=new CppException(ptr);uncaughtExceptionCount++;throw exceptionLast}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}var __embind_finalize_value_object=function(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>getterReturnType["fromWireType"](getter(getterContext,ptr)),write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})};function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}return sharedRegisterType(rawType,registeredInstance,options)}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=function(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{console.warn(info.leakWarning.stack.replace(/^Error: /,""));releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};var cls=$$.ptrType.registeredClass;info.leakWarning=new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n`+"We'll free it automatically in this case, but this functionality is not reliable across various environments.\n"+"Make sure to invoke .delete() manually once you're done with the instance instead.\n"+"Originally allocated");if("captureStackTrace"in Error){Error.captureStackTrace(info.leakWarning,RegisteredPointer_fromWireType)}finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}var dynCallLegacy=(sig,ptr,args)=>{assert("dynCall_"+sig in Module,`bad function pointer type - dynCall function not found for sig '${sig}'`);if(args&&args.length){assert(args.length===sig.substring(1).replace(/j/g,"--").length)}else{assert(sig.length==1)}var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var dynCall=(sig,ptr,args)=>dynCallLegacy(sig,ptr,args);var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){return getDynCaller(signature,rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2])}return array}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}assert(!isAsync,"Async bindings are only supported with JSPI.");var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){assert(this.allocated[id]!==undefined,`invalid handle: ${id}`);return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){assert(this.allocated[id]!==undefined);this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!="number"&&typeof value!="boolean"){throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{if(typeof value!="number"&&typeof value!="boolean"){throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`)}if(valuemaxRange){throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`)}};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string");if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");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};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{assert(ptr%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{assert(outPtr%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!");assert(typeof maxBytesToWrite=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{assert(ptr%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{assert(outPtr%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!");assert(typeof maxBytesToWrite=="number","stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})};function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}function emval_get_global(){if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handles.get(handle).refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}var _abort=()=>{abort("native code called abort()")};var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_memcpy_big=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, asked to go up to ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){err("Warning: Enlarging memory arrays, this is not fast! "+[oldSize,newSize]);return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var SYSCALLS={varargs:undefined,get(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var _fd_close=fd=>{abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")};function convertI32PairToI53Checked(lo,hi){assert(lo==lo>>>0||lo==(lo|0));assert(hi===(hi|0));return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var flush_NO_FILESYSTEM=()=>{_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=function(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":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;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var stackSave=createExportWrapper("stackSave");var stackRestore=createExportWrapper("stackRestore");var stackAlloc=createExportWrapper("stackAlloc");var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var ___cxa_free_exception=createExportWrapper("__cxa_free_exception");var ___cxa_increment_exception_refcount=createExportWrapper("__cxa_increment_exception_refcount");var ___cxa_decrement_exception_refcount=createExportWrapper("__cxa_decrement_exception_refcount");var ___get_exception_message=Module["___get_exception_message"]=createExportWrapper("__get_exception_message");var ___cxa_can_catch=createExportWrapper("__cxa_can_catch");var ___cxa_is_pointer_type=createExportWrapper("__cxa_is_pointer_type");var dynCall_i=Module["dynCall_i"]=createExportWrapper("dynCall_i");var dynCall_vi=Module["dynCall_vi"]=createExportWrapper("dynCall_vi");var dynCall_iii=Module["dynCall_iii"]=createExportWrapper("dynCall_iii");var dynCall_viii=Module["dynCall_viii"]=createExportWrapper("dynCall_viii");var dynCall_ii=Module["dynCall_ii"]=createExportWrapper("dynCall_ii");var dynCall_iiii=Module["dynCall_iiii"]=createExportWrapper("dynCall_iiii");var dynCall_vii=Module["dynCall_vii"]=createExportWrapper("dynCall_vii");var dynCall_viiii=Module["dynCall_viiii"]=createExportWrapper("dynCall_viiii");var dynCall_iji=Module["dynCall_iji"]=createExportWrapper("dynCall_iji");var dynCall_v=Module["dynCall_v"]=createExportWrapper("dynCall_v");var dynCall_jji=Module["dynCall_jji"]=createExportWrapper("dynCall_jji");var dynCall_iiji=Module["dynCall_iiji"]=createExportWrapper("dynCall_iiji");var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji");var dynCall_iiiii=Module["dynCall_iiiii"]=createExportWrapper("dynCall_iiiii");var dynCall_iiiiii=Module["dynCall_iiiiii"]=createExportWrapper("dynCall_iiiiii");var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=createExportWrapper("dynCall_iiiiiiii");var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=createExportWrapper("dynCall_iiiiiii");var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=createExportWrapper("dynCall_iiiiiiiiiiii");var dynCall_iidiiii=Module["dynCall_iidiiii"]=createExportWrapper("dynCall_iidiiii");var dynCall_viiiiii=Module["dynCall_viiiiii"]=createExportWrapper("dynCall_viiiiii");var dynCall_viiiii=Module["dynCall_viiiii"]=createExportWrapper("dynCall_viiiii");function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}Module["ccall"]=ccall;var missingLibrarySymbols=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","zeroMemory","exitJS","isLeapYear","ydayFromDate","arraySum","addDays","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","getHostByName","initRandomFill","randomFill","getCallstack","emscriptenLog","convertPCtoSourceLocation","readEmAsmArgs","jstoi_q","jstoi_s","listenOnce","autoResumeAudioContext","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayFromString","intArrayToString","AsciiToString","stringToNewUTF8","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","demangle","demangleAll","jsStackTrace","stackTrace","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","setMainLoop","getSocketFromFD","getSocketAddress","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","__glGenObject","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","SDL_unicode","SDL_ttfContext","SDL_audio","GLFW_Window","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","registerInheritedInstance","unregisterInheritedInstance","enumReadValueFromPointer","validateThis","emval_lookupTypes","emval_allocateDestructors","emval_addMethodCaller"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createDataFile","FS_createLazyFile","FS_createLink","FS_createDevice","FS_unlink","out","err","callMain","abort","keepRuntimeAlive","wasmMemory","wasmTable","wasmExports","stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","ptrToString","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","timers","warnOnce","UNWIND_CACHE","readEmAsmArgsArray","getExecutableName","dynCallLegacy","getDynCaller","dynCall","handleAllocatorInit","HandleAllocator","getCFunc","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","currentFullscreenStrategy","restoreOldWindowedStyle","ExitStatus","getEnvStrings","flush_NO_FILESYSTEM","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","findMatchingCatch","getExceptionMessageCommon","incrementExceptionRefcount","decrementExceptionRefcount","getExceptionMessage","Browser","wget","SYSCALLS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","emscripten_webgl_power_preferences","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","GLFW","allocateUTF8","allocateUTF8OnStack","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","heap32VectorToArray","requireRegisteredType","UnboundTypeError","PureVirtualError","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","getShiftFromSize","integerReadValueFromPointer","floatReadValueFromPointer","simpleReadValueFromPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_getPointee","RegisteredPointer_destructor","RegisteredPointer_deleteObject","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","ClassHandle_isAliasOf","throwInstanceAlreadyDeleted","ClassHandle_clone","ClassHandle_delete","deletionQueue","ClassHandle_isDeleted","ClassHandle_deleteLater","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","char_0","char_9","makeLegalFunctionName","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_newers","craftEmvalAllocator","emval_get_global","emval_methodCallers","emval_registeredMethods"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return moduleArg.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = OpenJPEGJS; +else if (typeof define === 'function' && define['amd']) + define([], () => OpenJPEGJS); diff --git a/packages/openjpeg/dist/openjpegjs_decode.js.mem b/packages/openjpeg/dist/openjpegjs_decode.js.mem new file mode 100644 index 0000000..aa90739 Binary files /dev/null and b/packages/openjpeg/dist/openjpegjs_decode.js.mem differ diff --git a/packages/openjpeg/dist/openjpegwasm.js b/packages/openjpeg/dist/openjpegwasm.js new file mode 100644 index 0000000..0f8be12 --- /dev/null +++ b/packages/openjpeg/dist/openjpegwasm.js @@ -0,0 +1,19 @@ + +var OpenJPEGWASM = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(moduleArg = {}) { + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});["getExceptionMessage","___get_exception_message","_free","_memory","___indirect_function_table","__embind_initialize_bindings","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var nodeVersion=process.versions.node;var numericVersion=nodeVersion.split(".").slice(0,3);numericVersion=numericVersion[0]*1e4+numericVersion[1]*100+numericVersion[2].split("-")[0]*1;if(numericVersion<16e4){throw new Error("This emscripten-generated code requires node v16.0.0 (detected v"+nodeVersion+")")}var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=read}readBinary=f=>{if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}let data=read(f,"binary");assert(typeof data=="object");return data};readAsync=(f,onload,onerror)=>{setTimeout(()=>onload(readBinary(f)))};if(typeof clearTimeout=="undefined"){globalThis.clearTimeout=id=>{}}if(typeof setTimeout=="undefined"){globalThis.setTimeout=f=>typeof f=="function"?f():abort()}if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{setTimeout(()=>{if(!(toThrow instanceof ExitStatus)){let toLog=toThrow;if(toThrow&&typeof toThrow=="object"&&toThrow.stack){toLog=[toThrow,toThrow.stack]}err(`exiting due to exception: ${toLog}`)}quit(status)});throw toThrow}}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(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var wasmExports;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");assert(!Module["wasmMemory"],"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");assert(!Module["INITIAL_MEMORY"],"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;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(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();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 addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init(){FS.error()},createDataFile(){FS.error()},createPreloadedFile(){FS.error()},createLazyFile(){FS.error()},open(){FS.error()},mkdev(){FS.error()},registerDevice(){FS.error()},analyzePath(){FS.error()},ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name){return function(){assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);return f.apply(null,arguments)}}class EmscriptenEH extends Error{}class EmscriptenSjLj extends EmscriptenEH{}class CppException extends EmscriptenEH{constructor(excPtr){super(excPtr);this.excPtr=excPtr;const excInfo=getExceptionMessage(excPtr);this.name=excInfo[0];this.message=excInfo[1]}}var wasmBinaryFile;wasmBinaryFile="openjpegwasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;wasmExports=exports;wasmMemory=wasmExports["memory"];assert(wasmMemory,"memory not found in wasm exports");updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function legacyModuleProp(prop,newName,incomming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incomming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!=="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce("`"+sym+"` is not longer defined by emscripten. "+msg);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='"+librarySymbol+"')";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number");return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var getExceptionMessageCommon=ptr=>withStackSave(()=>{var type_addr_addr=stackAlloc(4);var message_addr_addr=stackAlloc(4);___get_exception_message(ptr,type_addr_addr,message_addr_addr);var type_addr=HEAPU32[type_addr_addr>>2];var message_addr=HEAPU32[message_addr_addr>>2];var type=UTF8ToString(type_addr);_free(type_addr);var message;if(message_addr){message=UTF8ToString(message_addr);_free(message_addr)}return[type,message]});function getExceptionMessage(ptr){return getExceptionMessageCommon(ptr)}Module["getExceptionMessage"]=getExceptionMessage;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var warnOnce=text=>{if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var exceptionCaught=[];var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(info.excPtr);return info.get_exception_ptr()}var exceptionLast=0;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=new CppException(ptr)}throw exceptionLast}var findMatchingCatch=args=>{var thrown=exceptionLast&&exceptionLast.excPtr;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var arg in args){var caughtType=args[arg];if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=new CppException(ptr);uncaughtExceptionCount++;throw exceptionLast}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}var __embind_finalize_value_object=function(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>getterReturnType["fromWireType"](getter(getterContext,ptr)),write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})};function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}return sharedRegisterType(rawType,registeredInstance,options)}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=function(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{console.warn(info.leakWarning.stack.replace(/^Error: /,""));releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};var cls=$$.ptrType.registeredClass;info.leakWarning=new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n`+"We'll free it automatically in this case, but this functionality is not reliable across various environments.\n"+"Make sure to invoke .delete() manually once you're done with the instance instead.\n"+"Originally allocated");if("captureStackTrace"in Error){Error.captureStackTrace(info.leakWarning,RegisteredPointer_fromWireType)}finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}var dynCallLegacy=(sig,ptr,args)=>{assert("dynCall_"+sig in Module,`bad function pointer type - dynCall function not found for sig '${sig}'`);if(args&&args.length){assert(args.length===sig.substring(1).replace(/j/g,"--").length)}else{assert(sig.length==1)}var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var dynCall=(sig,ptr,args)=>dynCallLegacy(sig,ptr,args);var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){return getDynCaller(signature,rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2])}return array}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}assert(!isAsync,"Async bindings are only supported with JSPI.");var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){assert(this.allocated[id]!==undefined,`invalid handle: ${id}`);return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){assert(this.allocated[id]!==undefined);this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!="number"&&typeof value!="boolean"){throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{if(typeof value!="number"&&typeof value!="boolean"){throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`)}if(valuemaxRange){throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`)}};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string");if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");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};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{assert(ptr%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{assert(outPtr%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!");assert(typeof maxBytesToWrite=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{assert(ptr%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{assert(outPtr%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!");assert(typeof maxBytesToWrite=="number","stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})};function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}function emval_get_global(){if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handles.get(handle).refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}var _abort=()=>{abort("native code called abort()")};var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_memcpy_big=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, asked to go up to ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var SYSCALLS={varargs:undefined,get(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var _fd_close=fd=>{abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")};function convertI32PairToI53Checked(lo,hi){assert(lo==lo>>>0||lo==(lo|0));assert(hi===(hi|0));return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var flush_NO_FILESYSTEM=()=>{_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=function(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":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;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var stackSave=createExportWrapper("stackSave");var stackRestore=createExportWrapper("stackRestore");var stackAlloc=createExportWrapper("stackAlloc");var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var ___cxa_free_exception=createExportWrapper("__cxa_free_exception");var ___cxa_increment_exception_refcount=createExportWrapper("__cxa_increment_exception_refcount");var ___cxa_decrement_exception_refcount=createExportWrapper("__cxa_decrement_exception_refcount");var ___get_exception_message=Module["___get_exception_message"]=createExportWrapper("__get_exception_message");var ___cxa_can_catch=createExportWrapper("__cxa_can_catch");var ___cxa_is_pointer_type=createExportWrapper("__cxa_is_pointer_type");var dynCall_ii=Module["dynCall_ii"]=createExportWrapper("dynCall_ii");var dynCall_vi=Module["dynCall_vi"]=createExportWrapper("dynCall_vi");var dynCall_i=Module["dynCall_i"]=createExportWrapper("dynCall_i");var dynCall_iii=Module["dynCall_iii"]=createExportWrapper("dynCall_iii");var dynCall_viii=Module["dynCall_viii"]=createExportWrapper("dynCall_viii");var dynCall_iiii=Module["dynCall_iiii"]=createExportWrapper("dynCall_iiii");var dynCall_vii=Module["dynCall_vii"]=createExportWrapper("dynCall_vii");var dynCall_viiii=Module["dynCall_viiii"]=createExportWrapper("dynCall_viiii");var dynCall_iji=Module["dynCall_iji"]=createExportWrapper("dynCall_iji");var dynCall_viif=Module["dynCall_viif"]=createExportWrapper("dynCall_viif");var dynCall_viiif=Module["dynCall_viiif"]=createExportWrapper("dynCall_viiif");var dynCall_v=Module["dynCall_v"]=createExportWrapper("dynCall_v");var dynCall_jji=Module["dynCall_jji"]=createExportWrapper("dynCall_jji");var dynCall_iiji=Module["dynCall_iiji"]=createExportWrapper("dynCall_iiji");var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji");var dynCall_viiiiii=Module["dynCall_viiiiii"]=createExportWrapper("dynCall_viiiiii");var dynCall_fi=Module["dynCall_fi"]=createExportWrapper("dynCall_fi");var dynCall_iiiii=Module["dynCall_iiiii"]=createExportWrapper("dynCall_iiiii");var dynCall_iiiiii=Module["dynCall_iiiiii"]=createExportWrapper("dynCall_iiiiii");var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=createExportWrapper("dynCall_iiiiiiii");var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=createExportWrapper("dynCall_iiiiiii");var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=createExportWrapper("dynCall_iiiiiiiiiiii");var dynCall_iidiiii=Module["dynCall_iidiiii"]=createExportWrapper("dynCall_iidiiii");var dynCall_viiiii=Module["dynCall_viiiii"]=createExportWrapper("dynCall_viiiii");function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}Module["ccall"]=ccall;var missingLibrarySymbols=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","zeroMemory","exitJS","isLeapYear","ydayFromDate","arraySum","addDays","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","getHostByName","initRandomFill","randomFill","getCallstack","emscriptenLog","convertPCtoSourceLocation","readEmAsmArgs","jstoi_q","jstoi_s","listenOnce","autoResumeAudioContext","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayFromString","intArrayToString","AsciiToString","stringToNewUTF8","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","demangle","demangleAll","jsStackTrace","stackTrace","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","setMainLoop","getSocketFromFD","getSocketAddress","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","__glGenObject","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","SDL_unicode","SDL_ttfContext","SDL_audio","GLFW_Window","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","registerInheritedInstance","unregisterInheritedInstance","enumReadValueFromPointer","validateThis","emval_lookupTypes","emval_allocateDestructors","emval_addMethodCaller"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createDataFile","FS_createLazyFile","FS_createLink","FS_createDevice","FS_unlink","out","err","callMain","abort","keepRuntimeAlive","wasmMemory","wasmTable","wasmExports","stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","ptrToString","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","timers","warnOnce","UNWIND_CACHE","readEmAsmArgsArray","getExecutableName","dynCallLegacy","getDynCaller","dynCall","handleAllocatorInit","HandleAllocator","getCFunc","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","currentFullscreenStrategy","restoreOldWindowedStyle","ExitStatus","getEnvStrings","flush_NO_FILESYSTEM","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","findMatchingCatch","getExceptionMessageCommon","incrementExceptionRefcount","decrementExceptionRefcount","getExceptionMessage","Browser","wget","SYSCALLS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","emscripten_webgl_power_preferences","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","GLFW","allocateUTF8","allocateUTF8OnStack","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","heap32VectorToArray","requireRegisteredType","UnboundTypeError","PureVirtualError","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","getShiftFromSize","integerReadValueFromPointer","floatReadValueFromPointer","simpleReadValueFromPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_getPointee","RegisteredPointer_destructor","RegisteredPointer_deleteObject","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","ClassHandle_isAliasOf","throwInstanceAlreadyDeleted","ClassHandle_clone","ClassHandle_delete","deletionQueue","ClassHandle_isDeleted","ClassHandle_deleteLater","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","char_0","char_9","makeLegalFunctionName","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_newers","craftEmvalAllocator","emval_get_global","emval_methodCallers","emval_registeredMethods"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return moduleArg.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = OpenJPEGWASM; +else if (typeof define === 'function' && define['amd']) + define([], () => OpenJPEGWASM); diff --git a/packages/openjpeg/dist/openjpegwasm.wasm b/packages/openjpeg/dist/openjpegwasm.wasm new file mode 100755 index 0000000..535436d Binary files /dev/null and b/packages/openjpeg/dist/openjpegwasm.wasm differ diff --git a/packages/openjpeg/dist/openjpegwasm_decode.js b/packages/openjpeg/dist/openjpegwasm_decode.js new file mode 100644 index 0000000..b78344e --- /dev/null +++ b/packages/openjpeg/dist/openjpegwasm_decode.js @@ -0,0 +1,19 @@ + +var OpenJPEGWASM = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(moduleArg = {}) { + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});["getExceptionMessage","___get_exception_message","_free","_memory","___indirect_function_table","__embind_initialize_bindings","_fflush","onRuntimeInitialized"].forEach(prop=>{if(!Object.getOwnPropertyDescriptor(Module["ready"],prop)){Object.defineProperty(Module["ready"],prop,{get:()=>abort("You are getting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>abort("You are setting "+prop+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var nodeVersion=process.versions.node;var numericVersion=nodeVersion.split(".").slice(0,3);numericVersion=numericVersion[0]*1e4+numericVersion[1]*100+numericVersion[2].split("-")[0]*1;if(numericVersion<16e4){throw new Error("This emscripten-generated code requires node v16.0.0 (detected v"+nodeVersion+")")}var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(typeof read!="undefined"){read_=read}readBinary=f=>{if(typeof readbuffer=="function"){return new Uint8Array(readbuffer(f))}let data=read(f,"binary");assert(typeof data=="object");return data};readAsync=(f,onload,onerror)=>{setTimeout(()=>onload(readBinary(f)))};if(typeof clearTimeout=="undefined"){globalThis.clearTimeout=id=>{}}if(typeof setTimeout=="undefined"){globalThis.setTimeout=f=>typeof f=="function"?f():abort()}if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit=="function"){quit_=(status,toThrow)=>{setTimeout(()=>{if(!(toThrow instanceof ExitStatus)){let toLog=toThrow;if(toThrow&&typeof toThrow=="object"&&toThrow.stack){toLog=[toThrow,toThrow.stack]}err(`exiting due to exception: ${toLog}`)}quit(status)});throw toThrow}}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(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{throw new Error("environment detection error")}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed (modify read_ in JS)");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify setWindowTitle in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("read","read_");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");var noExitRuntime=Module["noExitRuntime"]||true;legacyModuleProp("noExitRuntime","noExitRuntime");if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var wasmExports;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");assert(!Module["wasmMemory"],"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");assert(!Module["INITIAL_MEMORY"],"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");var wasmTable;function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;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(){assert(!runtimeInitialized);runtimeInitialized=true;checkStackCookie();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();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 addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err("dependency: "+dep)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var FS={error(){abort("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init(){FS.error()},createDataFile(){FS.error()},createPreloadedFile(){FS.error()},createLazyFile(){FS.error()},open(){FS.error()},mkdev(){FS.error()},registerDevice(){FS.error()},analyzePath(){FS.error()},ErrnoError(){FS.error()}};Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}function createExportWrapper(name){return function(){assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);return f.apply(null,arguments)}}class EmscriptenEH extends Error{}class EmscriptenSjLj extends EmscriptenEH{}class CppException extends EmscriptenEH{constructor(excPtr){super(excPtr);this.excPtr=excPtr;const excInfo=getExceptionMessage(excPtr);this.name=excInfo[0];this.message=excInfo[1]}}var wasmBinaryFile;wasmBinaryFile="openjpegwasm_decode.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);if(isFileURI(wasmBinaryFile)){err("warning: Loading from a file URI ("+wasmBinaryFile+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;wasmExports=exports;wasmMemory=wasmExports["memory"];assert(wasmMemory,"memory not found in wasm exports");updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function legacyModuleProp(prop,newName,incomming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incomming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!=="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce("`"+sym+"` is not longer defined by emscripten. "+msg);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");function missingLibrarySymbol(sym){if(typeof globalThis!=="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg="`"+sym+"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line";var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='"+librarySymbol+"')";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg="'"+sym+"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)";if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number");return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var getExceptionMessageCommon=ptr=>withStackSave(()=>{var type_addr_addr=stackAlloc(4);var message_addr_addr=stackAlloc(4);___get_exception_message(ptr,type_addr_addr,message_addr_addr);var type_addr=HEAPU32[type_addr_addr>>2];var message_addr=HEAPU32[message_addr_addr>>2];var type=UTF8ToString(type_addr);_free(type_addr);var message;if(message_addr){message=UTF8ToString(message_addr);_free(message_addr)}return[type,message]});function getExceptionMessage(ptr){return getExceptionMessageCommon(ptr)}Module["getExceptionMessage"]=getExceptionMessage;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var warnOnce=text=>{if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var exceptionCaught=[];var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(info.excPtr);return info.get_exception_ptr()}var exceptionLast=0;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=new CppException(ptr)}throw exceptionLast}var findMatchingCatch=args=>{var thrown=exceptionLast&&exceptionLast.excPtr;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var arg in args){var caughtType=args[arg];if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=new CppException(ptr);uncaughtExceptionCount++;throw exceptionLast}var structRegistrations={};function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}var __embind_finalize_value_object=function(structType){var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>getterReturnType["fromWireType"](getter(getterContext,ptr)),write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":function(ptr){var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":function(destructors,o){for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})};function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}return sharedRegisterType(rawType,registeredInstance,options)}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationRegistry=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=function(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{console.warn(info.leakWarning.stack.replace(/^Error: /,""));releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};var cls=$$.ptrType.registeredClass;info.leakWarning=new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n`+"We'll free it automatically in this case, but this functionality is not reliable across various environments.\n"+"Make sure to invoke .delete() manually once you're done with the instance instead.\n"+"Originally allocated");if("captureStackTrace"in Error){Error.captureStackTrace(info.leakWarning,RegisteredPointer_fromWireType)}finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}var dynCallLegacy=(sig,ptr,args)=>{assert("dynCall_"+sig in Module,`bad function pointer type - dynCall function not found for sig '${sig}'`);if(args&&args.length){assert(args.length===sig.substring(1).replace(/j/g,"--").length)}else{assert(sig.length==1)}var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var dynCall=(sig,ptr,args)=>dynCallLegacy(sig,ptr,args);var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){return getDynCaller(signature,rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var UnboundTypeError=undefined;function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i>2])}return array}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}assert(!isAsync,"Async bindings are only supported with JSPI.");var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){assert(this.allocated[id]!==undefined,`invalid handle: ${id}`);return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){assert(this.allocated[id]!==undefined);this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!="number"&&typeof value!="boolean"){throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{if(typeof value!="number"&&typeof value!="boolean"){throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`)}if(valuemaxRange){throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`)}};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string");if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");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};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{assert(ptr%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{assert(outPtr%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!");assert(typeof maxBytesToWrite=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{assert(ptr%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{assert(outPtr%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!");assert(typeof maxBytesToWrite=="number","stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})};function __embind_register_value_object(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}function __embind_register_value_object_field(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}function emval_get_global(){if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_incref(handle){if(handle>4){emval_handles.get(handle).refcount+=1}}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function craftEmvalAllocator(argCount){var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_take_value(type,arg){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)}var _abort=()=>{abort("native code called abort()")};var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_memcpy_big=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`)}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;assert(requestedSize>oldSize);var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){err(`Cannot enlarge memory, asked to go up to ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`);return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`);return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var SYSCALLS={varargs:undefined,get(){assert(SYSCALLS.varargs!=undefined);SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var _fd_close=fd=>{abort("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")};function convertI32PairToI53Checked(lo,hi){assert(lo==lo>>>0||lo==(lo|0));assert(hi===(hi|0));return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var flush_NO_FILESYSTEM=()=>{_fflush(0);if(printCharBuffers[1].length)printChar(1,10);if(printCharBuffers[2].length)printChar(2,10)};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var writeArrayToMemory=(array,buffer)=>{assert(array.length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)");HEAP8.set(array,buffer)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=function(ident,returnType,argTypes,args,opts){var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":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;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var stackSave=createExportWrapper("stackSave");var stackRestore=createExportWrapper("stackRestore");var stackAlloc=createExportWrapper("stackAlloc");var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var ___cxa_free_exception=createExportWrapper("__cxa_free_exception");var ___cxa_increment_exception_refcount=createExportWrapper("__cxa_increment_exception_refcount");var ___cxa_decrement_exception_refcount=createExportWrapper("__cxa_decrement_exception_refcount");var ___get_exception_message=Module["___get_exception_message"]=createExportWrapper("__get_exception_message");var ___cxa_can_catch=createExportWrapper("__cxa_can_catch");var ___cxa_is_pointer_type=createExportWrapper("__cxa_is_pointer_type");var dynCall_i=Module["dynCall_i"]=createExportWrapper("dynCall_i");var dynCall_vi=Module["dynCall_vi"]=createExportWrapper("dynCall_vi");var dynCall_iii=Module["dynCall_iii"]=createExportWrapper("dynCall_iii");var dynCall_viii=Module["dynCall_viii"]=createExportWrapper("dynCall_viii");var dynCall_ii=Module["dynCall_ii"]=createExportWrapper("dynCall_ii");var dynCall_iiii=Module["dynCall_iiii"]=createExportWrapper("dynCall_iiii");var dynCall_vii=Module["dynCall_vii"]=createExportWrapper("dynCall_vii");var dynCall_viiii=Module["dynCall_viiii"]=createExportWrapper("dynCall_viiii");var dynCall_iji=Module["dynCall_iji"]=createExportWrapper("dynCall_iji");var dynCall_v=Module["dynCall_v"]=createExportWrapper("dynCall_v");var dynCall_jji=Module["dynCall_jji"]=createExportWrapper("dynCall_jji");var dynCall_iiji=Module["dynCall_iiji"]=createExportWrapper("dynCall_iiji");var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji");var dynCall_iiiii=Module["dynCall_iiiii"]=createExportWrapper("dynCall_iiiii");var dynCall_iiiiii=Module["dynCall_iiiiii"]=createExportWrapper("dynCall_iiiiii");var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=createExportWrapper("dynCall_iiiiiiii");var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=createExportWrapper("dynCall_iiiiiii");var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=createExportWrapper("dynCall_iiiiiiiiiiii");var dynCall_iidiiii=Module["dynCall_iidiiii"]=createExportWrapper("dynCall_iidiiii");var dynCall_viiiiii=Module["dynCall_viiiiii"]=createExportWrapper("dynCall_viiiiii");var dynCall_viiiii=Module["dynCall_viiiii"]=createExportWrapper("dynCall_viiiii");function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}Module["ccall"]=ccall;var missingLibrarySymbols=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","zeroMemory","exitJS","isLeapYear","ydayFromDate","arraySum","addDays","setErrNo","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","getHostByName","initRandomFill","randomFill","getCallstack","emscriptenLog","convertPCtoSourceLocation","readEmAsmArgs","jstoi_q","jstoi_s","listenOnce","autoResumeAudioContext","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","safeSetTimeout","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayFromString","intArrayToString","AsciiToString","stringToNewUTF8","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","findCanvasEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","demangle","demangleAll","jsStackTrace","stackTrace","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","setMainLoop","getSocketFromFD","getSocketAddress","heapObjectForWebGLType","heapAccessShiftForWebGLHeap","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","__glGenObject","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","SDL_unicode","SDL_ttfContext","SDL_audio","GLFW_Window","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","registerInheritedInstance","unregisterInheritedInstance","enumReadValueFromPointer","validateThis","emval_lookupTypes","emval_allocateDestructors","emval_addMethodCaller"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createDataFile","FS_createLazyFile","FS_createLink","FS_createDevice","FS_unlink","out","err","callMain","abort","keepRuntimeAlive","wasmMemory","wasmTable","wasmExports","stackAlloc","stackSave","stackRestore","getTempRet0","setTempRet0","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","ptrToString","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","timers","warnOnce","UNWIND_CACHE","readEmAsmArgsArray","getExecutableName","dynCallLegacy","getDynCaller","dynCall","handleAllocatorInit","HandleAllocator","getCFunc","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToUTF8OnStack","writeArrayToMemory","JSEvents","specialHTMLTargets","currentFullscreenStrategy","restoreOldWindowedStyle","ExitStatus","getEnvStrings","flush_NO_FILESYSTEM","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","ExceptionInfo","findMatchingCatch","getExceptionMessageCommon","incrementExceptionRefcount","decrementExceptionRefcount","getExceptionMessage","Browser","wget","SYSCALLS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","emscripten_webgl_power_preferences","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","GLFW","allocateUTF8","allocateUTF8OnStack","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","heap32VectorToArray","requireRegisteredType","UnboundTypeError","PureVirtualError","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","getShiftFromSize","integerReadValueFromPointer","floatReadValueFromPointer","simpleReadValueFromPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_getPointee","RegisteredPointer_destructor","RegisteredPointer_deleteObject","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","ClassHandle_isAliasOf","throwInstanceAlreadyDeleted","ClassHandle_clone","ClassHandle_delete","deletionQueue","ClassHandle_isDeleted","ClassHandle_deleteLater","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","char_0","char_9","makeLegalFunctionName","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_newers","craftEmvalAllocator","emval_get_global","emval_methodCallers","emval_registeredMethods"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){return}stackCheckInit();preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return moduleArg.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = OpenJPEGWASM; +else if (typeof define === 'function' && define['amd']) + define([], () => OpenJPEGWASM); diff --git a/packages/openjpeg/dist/openjpegwasm_decode.wasm b/packages/openjpeg/dist/openjpegwasm_decode.wasm new file mode 100755 index 0000000..216c58f Binary files /dev/null and b/packages/openjpeg/dist/openjpegwasm_decode.wasm differ diff --git a/packages/openjpeg/src/CMakeLists.txt b/packages/openjpeg/src/CMakeLists.txt index 433643a..440f8cc 100644 --- a/packages/openjpeg/src/CMakeLists.txt +++ b/packages/openjpeg/src/CMakeLists.txt @@ -25,10 +25,12 @@ set_target_properties( -s MODULARIZE=1 \ -s EXPORT_NAME=OpenJPEGJS \ -s WASM=0 \ - -s DISABLE_EXCEPTION_CATCHING=1 \ - -s ASSERTIONS=0 \ + -s DISABLE_EXCEPTION_CATCHING=0 \ + -s ASSERTIONS=1 \ -s NO_EXIT_RUNTIME=1 \ -s ALLOW_MEMORY_GROWTH=1 \ + -s ALLOW_TABLE_GROWTH=1 \ + -s EMULATE_FUNCTION_POINTER_CASTS=1 \ -s INITIAL_MEMORY=50mb \ -s FILESYSTEM=0 \ -s EXPORTED_FUNCTIONS=[] \ @@ -61,10 +63,12 @@ set_target_properties( --bind \ -s MODULARIZE=1 \ -s EXPORT_NAME=OpenJPEGWASM \ - -s DISABLE_EXCEPTION_CATCHING=1 \ - -s ASSERTIONS=0 \ + -s DISABLE_EXCEPTION_CATCHING=0 \ + -s ASSERTIONS=1 \ -s NO_EXIT_RUNTIME=1 \ -s ALLOW_MEMORY_GROWTH=1 \ + -s ALLOW_TABLE_GROWTH=1 \ + -s EMULATE_FUNCTION_POINTER_CASTS=1 \ -s INITIAL_MEMORY=50mb \ -s FILESYSTEM=0 \ -s EXPORTED_FUNCTIONS=[] \ @@ -99,10 +103,12 @@ set_target_properties( -s MODULARIZE=1 \ -s EXPORT_NAME=OpenJPEGJS \ -s WASM=0 \ - -s DISABLE_EXCEPTION_CATCHING=1 \ - -s ASSERTIONS=0 \ + -s DISABLE_EXCEPTION_CATCHING=0 \ + -s ASSERTIONS=1 \ -s NO_EXIT_RUNTIME=1 \ -s ALLOW_MEMORY_GROWTH=1 \ + -s ALLOW_TABLE_GROWTH=1 \ + -s EMULATE_FUNCTION_POINTER_CASTS=1 \ -s INITIAL_MEMORY=50mb \ -s FILESYSTEM=0 \ -s EXPORTED_FUNCTIONS=[] \ @@ -127,7 +133,6 @@ set_target_properties( include_directories("../extern/openjpeg/src/lib/openjp2" "../build/extern/openjpeg/src/lib/openjp2" "../extern/openjpeg/src/bin/common" "../build/extern/openjpeg/src/bin/common") - set_target_properties( openjpegwasm_decode PROPERTIES @@ -135,13 +140,14 @@ set_target_properties( --bind \ -s MODULARIZE=1 \ -s EXPORT_NAME=OpenJPEGWASM \ - -s DISABLE_EXCEPTION_CATCHING=1 \ - -s ASSERTIONS=0 \ + -s DISABLE_EXCEPTION_CATCHING=0 \ + -s ASSERTIONS=1 \ -s NO_EXIT_RUNTIME=1 \ -s ALLOW_MEMORY_GROWTH=1 \ + -s ALLOW_TABLE_GROWTH=1 \ + -s EMULATE_FUNCTION_POINTER_CASTS=1 \ -s INITIAL_MEMORY=50mb \ -s FILESYSTEM=0 \ -s EXPORTED_FUNCTIONS=[] \ -s EXPORTED_RUNTIME_METHODS=[ccall] \ ") - diff --git a/packages/openjpeg/src/J2KDecoder.hpp b/packages/openjpeg/src/J2KDecoder.hpp index a226d0f..013a08c 100644 --- a/packages/openjpeg/src/J2KDecoder.hpp +++ b/packages/openjpeg/src/J2KDecoder.hpp @@ -1,924 +1,929 @@ -// Copyright (c) Chris Hafey. -// SPDX-License-Identifier: MIT - -#pragma once - -#include -#include -#include - -#include "openjpeg.h" -#include "format_defs.h" - -#include -#include -#define EMSCRIPTEN_API __attribute__((used)) -#define J2K_MAGIC_NUMBER 0x51FF4FFF - -#ifdef __EMSCRIPTEN__ -#include - -thread_local const emscripten::val Uint8ClampedArray = emscripten::val::global("Uint8ClampedArray"); - -#endif - -#include "BufferStream.hpp" - -#include "FrameInfo.hpp" -#include "Point.hpp" -#include "Size.hpp" - -///

-/// JavaScript API for decoding HTJ2K bistreams with OpenJPH -/// -class J2KDecoder { - public: - /// - /// Constructor for decoding a HTJ2K image from JavaScript. - /// - J2KDecoder() : - decodeLayer_(1) - { - } - -#ifdef __EMSCRIPTEN__ - /// - /// Resizes encoded buffer and returns a TypedArray of the buffer allocated - /// in WASM memory space that will hold the HTJ2K encoded bitstream. - /// JavaScript code needs to copy the HTJ2K encoded bistream into the - /// returned TypedArray. This copy operation is needed because WASM runs - /// in a sandbox and cannot access memory managed by JavaScript. - /// - emscripten::val getEncodedBuffer(size_t encodedSize) { - encoded_.resize(encodedSize); - return emscripten::val(emscripten::typed_memory_view(encoded_.size(), encoded_.data())); - } - - /// - /// Returns a TypedArray of the buffer allocated in WASM memory space that - /// holds the decoded pixel data - /// - emscripten::val getDecodedBuffer() { - // Create a JavaScript-friendly result from the memory view - // instead of relying on the consumer to detach it from WASM memory - // See https://web.dev/webassembly-memory-debugging/ - emscripten::val js_result = Uint8ClampedArray.new_(emscripten::typed_memory_view( - decoded_.size(), decoded_.data() - )); - - return js_result; - } -#else - /// - /// Returns the buffer to store the encoded bytes. This method is not exported - /// to JavaScript, it is intended to be called by C++ code - /// - std::vector& getEncodedBytes() { - return encoded_; - } - - /// - /// Returns the buffer to store the decoded bytes. This method is not exported - /// to JavaScript, it is intended to be called by C++ code - /// - const std::vector& getDecodedBytes() const { - return decoded_; - } -#endif - - /// - /// Reads the header from an encoded HTJ2K bitstream. The caller must have - /// copied the HTJ2K encoded bitstream into the encoded buffer before - /// calling this method, see getEncodedBuffer() and getEncodedBytes() above. - /// - void readHeader() { - /*ojph::codestream codestream; - ojph::mem_infile mem_file; - mem_file.open(encoded_.data(), encoded_.size()); - readHeader_(codestream, mem_file); - */ - } - - /// - /// Calculates the resolution for a given decomposition level based on the - /// current values in FrameInfo (which is populated via readHeader() and - /// decode()). level = 0 = full res, level = _numDecompositions = lowest resolution - /// - //#define ojph_div_ceil(a, b) (((a) + (b) - 1) / (b)) - Size calculateSizeAtDecompositionLevel(int decompositionLevel) { - Size result(frameInfo_.width, frameInfo_.height); - while(decompositionLevel--) { - result.width = (((result.width + 2) -1 ) / 2); - result.height = (((result.height + 2) - 1) / 2); - } - return result; - } - - static void error_callback(const char *msg, void *client_data) { - (void)client_data; - printf("[ERROR] %s", msg); - } - static void warning_callback(const char *msg, void *client_data) { - (void)client_data; - printf("[WARNING] %s", msg); - } - static void info_callback(const char *msg, void *client_data) { - (void)client_data; - printf("[INFO] %s", msg); - } - - /// - /// Decodes the encoded HTJ2K bitstream. The caller must have copied the - /// HTJ2K encoded bitstream into the encoded buffer before calling this - /// method, see getEncodedBuffer() and getEncodedBytes() above. - /// - void decode() { - decodeLayer_ = 0; - decode_i(0); - } - - /// - /// Decodes the encoded HTJ2K bitstream to the requested decomposition level. - /// The caller must have copied the HTJ2K encoded bitstream into the encoded - /// buffer before calling this method, see getEncodedBuffer() and - /// getEncodedBytes() above. - /// - void decodeSubResolution(size_t decompositionLevel, size_t decodeLayer) { - decodeLayer_ = decodeLayer; - decode_i(decompositionLevel); - } - - /// - /// returns the FrameInfo object for the decoded image. - /// - const FrameInfo& getFrameInfo() const { - return frameInfo_; - } - - /// - /// returns the number of wavelet decompositions. - /// - const size_t getNumDecompositions() const { - return numDecompositions_; - } - - /// - /// returns true if the image is lossless, false if lossy - /// - const bool getIsReversible() const { - return isReversible_; - } - - /// - /// returns progression order. - // -1 = unknown?? - // 0 = LRCP - // 1 = RLCP - // 2 = RPCL - // 3 = PCRL - // 4 = CPRL - /// - const int getProgressionOrder() const { - return progressionOrder_; - } - - /// - /// returns the image offset - /// - Point getImageOffset() const { - return imageOffset_; - } - - /// - /// returns the tile size - /// - Size getTileSize() const { - return tileSize_; - } - - /// - /// returns the tile offset - /// - Point getTileOffset() const { - return tileOffset_; - } - - /// - /// returns the block dimensions - /// - Size getBlockDimensions() const { - return blockDimensions_; - } - - /// - /// returns the number of layers - /// - int32_t getNumLayers() const { - return numLayers_; - } - - // OPJ_CLRSPC_UNKNOWN = -1, /**< not supported by the library */ - // OPJ_CLRSPC_UNSPECIFIED = 0, /**< not specified in the codestream */ - // OPJ_CLRSPC_SRGB = 1, /**< sRGB */ - // OPJ_CLRSPC_GRAY = 2, /**< grayscale */ - // OPJ_CLRSPC_SYCC = 3, /**< YUV */ - // OPJ_CLRSPC_EYCC = 4, /**< e-YCC */ - // OPJ_CLRSPC_CMYK = 5 /**< CMYK */ - size_t getColorSpace() const { - return colorSpace_; - } - - private: - - static void color_sycc_to_rgb(opj_image_t *img) { - if (img->numcomps < 3) { - img->color_space = OPJ_CLRSPC_GRAY; - return; - } - - if ((img->comps[0].dx == 1) - && (img->comps[1].dx == 2) - && (img->comps[2].dx == 2) - && (img->comps[0].dy == 1) - && (img->comps[1].dy == 2) - && (img->comps[2].dy == 2)) { /* horizontal and vertical sub-sample */ - sycc420_to_rgb(img); - } else if ((img->comps[0].dx == 1) - && (img->comps[1].dx == 2) - && (img->comps[2].dx == 2) - && (img->comps[0].dy == 1) - && (img->comps[1].dy == 1) - && (img->comps[2].dy == 1)) { /* horizontal sub-sample only */ - sycc422_to_rgb(img); - } else if ((img->comps[0].dx == 1) - && (img->comps[1].dx == 1) - && (img->comps[2].dx == 1) - && (img->comps[0].dy == 1) - && (img->comps[1].dy == 1) - && (img->comps[2].dy == 1)) { /* no sub-sample */ - sycc444_to_rgb(img); - } else { - fprintf(stderr, "%s:%d:color_sycc_to_rgb\n\tCAN NOT CONVERT\n", __FILE__, - __LINE__); - return; - } - }/* color_sycc_to_rgb() */ - - /*-------------------------------------------------------- - Matrix for sYCC, Amendment 1 to IEC 61966-2-1 - - Y : 0.299 0.587 0.114 :R - Cb: -0.1687 -0.3312 0.5 :G - Cr: 0.5 -0.4187 -0.0812 :B - - Inverse: - - R: 1 -3.68213e-05 1.40199 :Y - G: 1.00003 -0.344125 -0.714128 :Cb - 2^(prec - 1) - B: 0.999823 1.77204 -8.04142e-06 :Cr - 2^(prec - 1) - - -----------------------------------------------------------*/ - static void sycc_to_rgb(int offset, int upb, int y, int cb, int cr, - int *out_r, int *out_g, int *out_b) { - int r, g, b; - - cb -= offset; - cr -= offset; - r = y + (int)(1.402 * (float)cr); - if (r < 0) { - r = 0; - } else if (r > upb) { - r = upb; - } - *out_r = r; - - g = y - (int)(0.344 * (float)cb + 0.714 * (float)cr); - if (g < 0) { - g = 0; - } else if (g > upb) { - g = upb; - } - *out_g = g; - - b = y + (int)(1.772 * (float)cb); - if (b < 0) { - b = 0; - } else if (b > upb) { - b = upb; - } - *out_b = b; - } - - static void sycc444_to_rgb(opj_image_t *img) { - int *d0, *d1, *d2, *r, *g, *b; - const int *y, *cb, *cr; - size_t maxw, maxh, max, i; - int offset, upb; - - upb = (int)img->comps[0].prec; - offset = 1 << (upb - 1); - upb = (1 << upb) - 1; - - maxw = (size_t)img->comps[0].w; - maxh = (size_t)img->comps[0].h; - max = maxw * maxh; - - y = img->comps[0].data; - cb = img->comps[1].data; - cr = img->comps[2].data; - - d0 = r = (int*)opj_image_data_alloc(sizeof(int) * max); - d1 = g = (int*)opj_image_data_alloc(sizeof(int) * max); - d2 = b = (int*)opj_image_data_alloc(sizeof(int) * max); - - if (r == NULL || g == NULL || b == NULL) { - goto fails; - } - - for (i = 0U; i < max; ++i) { - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++cb; - ++cr; - ++r; - ++g; - ++b; - } - opj_image_data_free(img->comps[0].data); - img->comps[0].data = d0; - opj_image_data_free(img->comps[1].data); - img->comps[1].data = d1; - opj_image_data_free(img->comps[2].data); - img->comps[2].data = d2; - img->color_space = OPJ_CLRSPC_SRGB; - return; - - fails: - opj_image_data_free(r); - opj_image_data_free(g); - opj_image_data_free(b); - }/* sycc444_to_rgb() */ - - static void sycc422_to_rgb(opj_image_t *img) { - int *d0, *d1, *d2, *r, *g, *b; - const int *y, *cb, *cr; - size_t maxw, maxh, max, offx, loopmaxw; - int offset, upb; - size_t i; - - upb = (int)img->comps[0].prec; - offset = 1 << (upb - 1); - upb = (1 << upb) - 1; - - maxw = (size_t)img->comps[0].w; - maxh = (size_t)img->comps[0].h; - max = maxw * maxh; - - y = img->comps[0].data; - cb = img->comps[1].data; - cr = img->comps[2].data; - - d0 = r = (int*)opj_image_data_alloc(sizeof(int) * max); - d1 = g = (int*)opj_image_data_alloc(sizeof(int) * max); - d2 = b = (int*)opj_image_data_alloc(sizeof(int) * max); - - if (r == NULL || g == NULL || b == NULL) { - goto fails; - } - - /* if img->x0 is odd, then first column shall use Cb/Cr = 0 */ - offx = img->x0 & 1U; - loopmaxw = maxw - offx; - - for (i = 0U; i < maxh; ++i) { - size_t j; - - if (offx > 0U) { - sycc_to_rgb(offset, upb, *y, 0, 0, r, g, b); - ++y; - ++r; - ++g; - ++b; - } - - for (j = 0U; j < (loopmaxw & ~(size_t)1U); j += 2U) { - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++r; - ++g; - ++b; - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++r; - ++g; - ++b; - ++cb; - ++cr; - } - if (j < loopmaxw) { - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++r; - ++g; - ++b; - ++cb; - ++cr; - } - } - - opj_image_data_free(img->comps[0].data); - img->comps[0].data = d0; - opj_image_data_free(img->comps[1].data); - img->comps[1].data = d1; - opj_image_data_free(img->comps[2].data); - img->comps[2].data = d2; - - img->comps[1].w = img->comps[2].w = img->comps[0].w; - img->comps[1].h = img->comps[2].h = img->comps[0].h; - img->comps[1].dx = img->comps[2].dx = img->comps[0].dx; - img->comps[1].dy = img->comps[2].dy = img->comps[0].dy; - img->color_space = OPJ_CLRSPC_SRGB; - return; - - fails: - opj_image_data_free(r); - opj_image_data_free(g); - opj_image_data_free(b); - }/* sycc422_to_rgb() */ - - static void sycc420_to_rgb(opj_image_t *img) { - int *d0, *d1, *d2, *r, *g, *b, *nr, *ng, *nb; - const int *y, *cb, *cr, *ny; - size_t maxw, maxh, max, offx, loopmaxw, offy, loopmaxh; - int offset, upb; - size_t i; - - upb = (int)img->comps[0].prec; - offset = 1 << (upb - 1); - upb = (1 << upb) - 1; - - maxw = (size_t)img->comps[0].w; - maxh = (size_t)img->comps[0].h; - max = maxw * maxh; - - y = img->comps[0].data; - cb = img->comps[1].data; - cr = img->comps[2].data; - - d0 = r = (int*)opj_image_data_alloc(sizeof(int) * max); - d1 = g = (int*)opj_image_data_alloc(sizeof(int) * max); - d2 = b = (int*)opj_image_data_alloc(sizeof(int) * max); - - if (r == NULL || g == NULL || b == NULL) { - goto fails; - } - - /* if img->x0 is odd, then first column shall use Cb/Cr = 0 */ - offx = img->x0 & 1U; - loopmaxw = maxw - offx; - /* if img->y0 is odd, then first line shall use Cb/Cr = 0 */ - offy = img->y0 & 1U; - loopmaxh = maxh - offy; - - if (offy > 0U) { - size_t j; - - for (j = 0; j < maxw; ++j) { - sycc_to_rgb(offset, upb, *y, 0, 0, r, g, b); - ++y; - ++r; - ++g; - ++b; - } - } - - for (i = 0U; i < (loopmaxh & ~(size_t)1U); i += 2U) { - size_t j; - - ny = y + maxw; - nr = r + maxw; - ng = g + maxw; - nb = b + maxw; - - if (offx > 0U) { - sycc_to_rgb(offset, upb, *y, 0, 0, r, g, b); - ++y; - ++r; - ++g; - ++b; - sycc_to_rgb(offset, upb, *ny, *cb, *cr, nr, ng, nb); - ++ny; - ++nr; - ++ng; - ++nb; - } - - for (j = 0; j < (loopmaxw & ~(size_t)1U); j += 2U) { - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++r; - ++g; - ++b; - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++r; - ++g; - ++b; - sycc_to_rgb(offset, upb, *ny, *cb, *cr, nr, ng, nb); - ++ny; - ++nr; - ++ng; - ++nb; - sycc_to_rgb(offset, upb, *ny, *cb, *cr, nr, ng, nb); - ++ny; - ++nr; - ++ng; - ++nb; - ++cb; - ++cr; - } - if (j < loopmaxw) { - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++r; - ++g; - ++b; - sycc_to_rgb(offset, upb, *ny, *cb, *cr, nr, ng, nb); - ++ny; - ++nr; - ++ng; - ++nb; - ++cb; - ++cr; - } - y += maxw; - r += maxw; - g += maxw; - b += maxw; - } - if (i < loopmaxh) { - size_t j; - - for (j = 0U; j < (maxw & ~(size_t)1U); j += 2U) { - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++r; - ++g; - ++b; - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - ++y; - ++r; - ++g; - ++b; - ++cb; - ++cr; - } - if (j < maxw) { - sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); - } - } - - opj_image_data_free(img->comps[0].data); - img->comps[0].data = d0; - opj_image_data_free(img->comps[1].data); - img->comps[1].data = d1; - opj_image_data_free(img->comps[2].data); - img->comps[2].data = d2; - - img->comps[1].w = img->comps[2].w = img->comps[0].w; - img->comps[1].h = img->comps[2].h = img->comps[0].h; - img->comps[1].dx = img->comps[2].dx = img->comps[0].dx; - img->comps[1].dy = img->comps[2].dy = img->comps[0].dy; - img->color_space = OPJ_CLRSPC_SRGB; - return; - - fails: - opj_image_data_free(r); - opj_image_data_free(g); - opj_image_data_free(b); - }/* sycc420_to_rgb() */ - - static void color_cmyk_to_rgb(opj_image_t *image) { - float C, M, Y, K; - float sC, sM, sY, sK; - unsigned int w, h, max, i; - - w = image->comps[0].w; - h = image->comps[0].h; - - if ( - (image->numcomps < 4) - || (image->comps[0].dx != image->comps[1].dx) || - (image->comps[0].dx != image->comps[2].dx) || - (image->comps[0].dx != image->comps[3].dx) - || (image->comps[0].dy != image->comps[1].dy) || - (image->comps[0].dy != image->comps[2].dy) || - (image->comps[0].dy != image->comps[3].dy) - ) { - fprintf(stderr, "%s:%d:color_cmyk_to_rgb\n\tCAN NOT CONVERT\n", __FILE__, - __LINE__); - return; - } - - max = w * h; - - sC = 1.0F / (float)((1 << image->comps[0].prec) - 1); - sM = 1.0F / (float)((1 << image->comps[1].prec) - 1); - sY = 1.0F / (float)((1 << image->comps[2].prec) - 1); - sK = 1.0F / (float)((1 << image->comps[3].prec) - 1); - - for (i = 0; i < max; ++i) { - /* CMYK values from 0 to 1 */ - C = (float)(image->comps[0].data[i]) * sC; - M = (float)(image->comps[1].data[i]) * sM; - Y = (float)(image->comps[2].data[i]) * sY; - K = (float)(image->comps[3].data[i]) * sK; - - /* Invert all CMYK values */ - C = 1.0F - C; - M = 1.0F - M; - Y = 1.0F - Y; - K = 1.0F - K; - - /* CMYK -> RGB : RGB results from 0 to 255 */ - image->comps[0].data[i] = (int)(255.0F * C * K); /* R */ - image->comps[1].data[i] = (int)(255.0F * M * K); /* G */ - image->comps[2].data[i] = (int)(255.0F * Y * K); /* B */ - } - - opj_image_data_free(image->comps[3].data); - image->comps[3].data = NULL; - image->comps[0].prec = 8; - image->comps[1].prec = 8; - image->comps[2].prec = 8; - image->numcomps -= 1; - image->color_space = OPJ_CLRSPC_SRGB; - - for (i = 3; i < image->numcomps; ++i) { - memcpy(&(image->comps[i]), &(image->comps[i + 1]), sizeof(image->comps[i])); - } - - }/* color_cmyk_to_rgb() */ - - /* - * This code has been adopted from sjpx_openjpeg.c of ghostscript - */ - static void color_esycc_to_rgb(opj_image_t *image) { - int y, cb, cr, sign1, sign2, val; - unsigned int w, h, max, i; - int flip_value = (1 << (image->comps[0].prec - 1)); - int max_value = (1 << image->comps[0].prec) - 1; - - if ( - (image->numcomps < 3) - || (image->comps[0].dx != image->comps[1].dx) || - (image->comps[0].dx != image->comps[2].dx) - || (image->comps[0].dy != image->comps[1].dy) || - (image->comps[0].dy != image->comps[2].dy) - ) { - fprintf(stderr, "%s:%d:color_esycc_to_rgb\n\tCAN NOT CONVERT\n", __FILE__, - __LINE__); - return; - } - - w = image->comps[0].w; - h = image->comps[0].h; - - sign1 = (int)image->comps[1].sgnd; - sign2 = (int)image->comps[2].sgnd; - - max = w * h; - - for (i = 0; i < max; ++i) { - y = image->comps[0].data[i]; - cb = image->comps[1].data[i]; - cr = image->comps[2].data[i]; - - if (!sign1) { - cb -= flip_value; - } - if (!sign2) { - cr -= flip_value; - } - - val = (int) - ((float)y - (float)0.0000368 * (float)cb - + (float)1.40199 * (float)cr + (float)0.5); - - if (val > max_value) { - val = max_value; - } else if (val < 0) { - val = 0; - } - image->comps[0].data[i] = val; - - val = (int) - ((float)1.0003 * (float)y - (float)0.344125 * (float)cb - - (float)0.7141128 * (float)cr + (float)0.5); - - if (val > max_value) { - val = max_value; - } else if (val < 0) { - val = 0; - } - image->comps[1].data[i] = val; - - val = (int) - ((float)0.999823 * (float)y + (float)1.77204 * (float)cb - - (float)0.000008 * (float)cr + (float)0.5); - - if (val > max_value) { - val = max_value; - } else if (val < 0) { - val = 0; - } - image->comps[2].data[i] = val; - } - image->color_space = OPJ_CLRSPC_SRGB; - - }/* color_esycc_to_rgb() */ - - void decode_i(size_t decompositionLevel) { - opj_dparameters_t parameters; - opj_codec_t* l_codec = NULL; - opj_image_t* image = NULL; - opj_stream_t *l_stream = NULL; - - // detect stream type - // NOTE: DICOM only supports OPJ_CODEC_J2K, but not everyone follows this - // and some DICOM images will have JP2 encoded bitstreams - // http://dicom.nema.org/medical/dicom/2017e/output/chtml/part05/sect_A.4.4.html - if( ((OPJ_INT32*)encoded_.data())[0] == J2K_MAGIC_NUMBER ){ - l_codec = opj_create_decompress(OPJ_CODEC_J2K); - }else{ - - l_codec = opj_create_decompress(OPJ_CODEC_JP2); - } - - opj_set_info_handler(l_codec, info_callback,00); - opj_set_warning_handler(l_codec, warning_callback,00); - opj_set_error_handler(l_codec, error_callback,00); - - opj_set_default_decoder_parameters(¶meters); - parameters.cp_reduce = decompositionLevel; - parameters.cp_layer = decodeLayer_; - //opj_set_decoded_resolution_factor(l_codec, 1); - // set stream - opj_buffer_info_t buffer_info; - buffer_info.buf = encoded_.data(); - buffer_info.cur = encoded_.data(); - buffer_info.len = encoded_.size(); - l_stream = opj_stream_create_buffer_stream(&buffer_info, OPJ_TRUE); - - /* Setup the decoder decoding parameters using user parameters */ - if ( !opj_setup_decoder(l_codec, ¶meters) ){ - printf("[ERROR] opj_decompress: failed to setup the decoder\n"); - opj_stream_destroy(l_stream); - opj_destroy_codec(l_codec); - return; - } - - /* Read the main header of the codestream and if necessary the JP2 boxes*/ - if(! opj_read_header(l_stream, l_codec, &image)){ - printf("[ERROR] opj_decompress: failed to read the header\n"); - opj_stream_destroy(l_stream); - opj_destroy_codec(l_codec); - opj_image_destroy(image); - return; - } - - /* decode the image */ - if (!opj_decode(l_codec, l_stream, image)) { - printf("[ERROR] opj_decompress: failed to decode tile!\n"); - opj_destroy_codec(l_codec); - opj_stream_destroy(l_stream); - opj_image_destroy(image); - return; - } - - if (image->color_space != OPJ_CLRSPC_SYCC - && image->numcomps == 3 && image->comps[0].dx == image->comps[0].dy - && image->comps[1].dx != 1) { - image->color_space = OPJ_CLRSPC_SYCC; - } else if (image->numcomps <= 2) { - image->color_space = OPJ_CLRSPC_GRAY; - } - if (image->color_space == OPJ_CLRSPC_SYCC) { - color_sycc_to_rgb(image); - } else if ((image->color_space == OPJ_CLRSPC_CMYK) && - (parameters.cod_format != TIF_DFMT)) { - color_cmyk_to_rgb(image); - } else if (image->color_space == OPJ_CLRSPC_EYCC) { - color_esycc_to_rgb(image); - } - - frameInfo_.width = image->x1; - frameInfo_.height = image->y1; - frameInfo_.componentCount = image->numcomps; - frameInfo_.isSigned = image->comps[0].sgnd; - frameInfo_.bitsPerSample = image->comps[0].prec; - - colorSpace_ = image->color_space; - imageOffset_.x = image->x0; - imageOffset_.y = image->y0; - //image->comps[0].factor always 0?? - - opj_codestream_info_v2_t* cstr_info = opj_get_cstr_info(l_codec); /* Codestream information structure */ - numLayers_ = cstr_info->m_default_tile_info.numlayers; - progressionOrder_ = cstr_info->m_default_tile_info.prg; - isReversible_ = cstr_info->m_default_tile_info.tccp_info->qmfbid == 1; - blockDimensions_.width = 1 << cstr_info->m_default_tile_info.tccp_info->cblkw; - blockDimensions_.height = 1 << cstr_info->m_default_tile_info.tccp_info->cblkh; - tileOffset_.x = cstr_info->tx0; - tileOffset_.y = cstr_info->ty0; - tileSize_.width = cstr_info->tdx; - tileSize_.height = cstr_info->tdy; - numDecompositions_ = cstr_info->m_default_tile_info.tccp_info->numresolutions - 1; - - // calculate the resolution at the requested decomposition level and - // allocate destination buffer - Size sizeAtDecompositionLevel = calculateSizeAtDecompositionLevel(decompositionLevel); - const size_t bytesPerPixel = (frameInfo_.bitsPerSample + 8 - 1) / 8; - const size_t destinationSize = sizeAtDecompositionLevel.width * sizeAtDecompositionLevel.height * frameInfo_.componentCount * bytesPerPixel; - decoded_.resize(destinationSize); - - // Convert from int32 to native size - int comp_num; - for (int y = 0; y < sizeAtDecompositionLevel.height; y++) - { - size_t lineStartPixel = y * sizeAtDecompositionLevel.width; - size_t lineStart = lineStartPixel * frameInfo_.componentCount * bytesPerPixel; - if(frameInfo_.componentCount == 1) { - int* pIn = (int*)&(image->comps[0].data[y * sizeAtDecompositionLevel.width]); - if(frameInfo_.bitsPerSample <= 8) { - unsigned char* pOut = (unsigned char*)&decoded_[lineStart]; - for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { - int val = pIn[x];; - pOut[x] = std::max(0, std::min(val, UCHAR_MAX)); - } - } else { - if(frameInfo_.isSigned) { - short* pOut = (short*)&decoded_[lineStart]; - for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { - int val = pIn[x];; - pOut[x] = std::max(SHRT_MIN, std::min(val, SHRT_MAX)); - } - } else { - unsigned short* pOut = (unsigned short*)&decoded_[lineStart]; - for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { - int val = pIn[x];; - pOut[x] = std::max(0, std::min(val, USHRT_MAX)); - } - } - } - } else { - // Multi-component (RGB) image - if(frameInfo_.bitsPerSample <= 8) { - // 8-bit RGB - uint8_t* pOut = &decoded_[lineStart]; - for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { - pOut[x*3+0] = image->comps[0].data[lineStartPixel + x]; - pOut[x*3+1] = image->comps[1].data[lineStartPixel + x]; - pOut[x*3+2] = image->comps[2].data[lineStartPixel + x]; - } - } else { - // 16-bit RGB - if(frameInfo_.isSigned) { - short* pOut = (short*)&decoded_[lineStart]; - for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { - pOut[x*3+0] = std::max(SHRT_MIN, std::min((int)image->comps[0].data[lineStartPixel + x], SHRT_MAX)); - pOut[x*3+1] = std::max(SHRT_MIN, std::min((int)image->comps[1].data[lineStartPixel + x], SHRT_MAX)); - pOut[x*3+2] = std::max(SHRT_MIN, std::min((int)image->comps[2].data[lineStartPixel + x], SHRT_MAX)); - } - } else { - unsigned short* pOut = (unsigned short*)&decoded_[lineStart]; - for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { - pOut[x*3+0] = std::max(0, std::min((int)image->comps[0].data[lineStartPixel + x], USHRT_MAX)); - pOut[x*3+1] = std::max(0, std::min((int)image->comps[1].data[lineStartPixel + x], USHRT_MAX)); - pOut[x*3+2] = std::max(0, std::min((int)image->comps[2].data[lineStartPixel + x], USHRT_MAX)); - } - } - } - } - } - - opj_stream_destroy(l_stream); - opj_destroy_codec(l_codec); - opj_image_destroy(image); - } - - std::vector encoded_; - std::vector decoded_; - FrameInfo frameInfo_; - size_t numDecompositions_; - bool isReversible_; - int progressionOrder_; - Point imageOffset_; - Size tileSize_; - Point tileOffset_; - Size blockDimensions_; - int32_t numLayers_; - size_t colorSpace_; - - size_t decodeLayer_; -}; +// Copyright (c) Chris Hafey. +// SPDX-License-Identifier: MIT + +#pragma once + +#include +#include +#include + +#include "openjpeg.h" +#include "format_defs.h" + +#include +#include +#define EMSCRIPTEN_API __attribute__((used)) +#define J2K_MAGIC_NUMBER 0x51FF4FFF + +#ifdef __EMSCRIPTEN__ +#include + +thread_local const emscripten::val Uint8ClampedArray = emscripten::val::global("Uint8ClampedArray"); + +#endif + +#include "BufferStream.hpp" + +#include "FrameInfo.hpp" +#include "Point.hpp" +#include "Size.hpp" + +/// +/// JavaScript API for decoding HTJ2K bistreams with OpenJPH +/// +class J2KDecoder { +public: +/// +/// Constructor for decoding a HTJ2K image from JavaScript. +/// +J2KDecoder() : +decodeLayer_(1) +{ +} + +#ifdef __EMSCRIPTEN__ +/// +/// Resizes encoded buffer and returns a TypedArray of the buffer allocated +/// in WASM memory space that will hold the HTJ2K encoded bitstream. +/// JavaScript code needs to copy the HTJ2K encoded bistream into the +/// returned TypedArray. This copy operation is needed because WASM runs +/// in a sandbox and cannot access memory managed by JavaScript. +/// +emscripten::val getEncodedBuffer(size_t encodedSize) { +encoded_.resize(encodedSize); +return emscripten::val(emscripten::typed_memory_view(encoded_.size(), encoded_.data())); +} + +/// +/// Returns a TypedArray of the buffer allocated in WASM memory space that +/// holds the decoded pixel data +/// +emscripten::val getDecodedBuffer() { +// Create a JavaScript-friendly result from the memory view +// instead of relying on the consumer to detach it from WASM memory +// See https://web.dev/webassembly-memory-debugging/ +emscripten::val js_result = Uint8ClampedArray.new_(emscripten::typed_memory_view( +decoded_.size(), decoded_.data() +)); + +return js_result; +} +#else +/// +/// Returns the buffer to store the encoded bytes. This method is not exported +/// to JavaScript, it is intended to be called by C++ code +/// +std::vector& getEncodedBytes() { +return encoded_; +} + +/// +/// Returns the buffer to store the decoded bytes. This method is not exported +/// to JavaScript, it is intended to be called by C++ code +/// +const std::vector& getDecodedBytes() const { +return decoded_; +} +#endif + +/// +/// Reads the header from an encoded HTJ2K bitstream. The caller must have +/// copied the HTJ2K encoded bitstream into the encoded buffer before +/// calling this method, see getEncodedBuffer() and getEncodedBytes() above. +/// +void readHeader() { +/*ojph::codestream codestream; +ojph::mem_infile mem_file; +mem_file.open(encoded_.data(), encoded_.size()); +readHeader_(codestream, mem_file); +*/ +} + +/// +/// Calculates the resolution for a given decomposition level based on the +/// current values in FrameInfo (which is populated via readHeader() and +/// decode()). level = 0 = full res, level = _numDecompositions = lowest resolution +/// +//#define ojph_div_ceil(a, b) (((a) + (b) - 1) / (b)) +Size calculateSizeAtDecompositionLevel(int decompositionLevel) { +Size result(frameInfo_.width, frameInfo_.height); +while(decompositionLevel--) { +result.width = (((result.width + 2) -1 ) / 2); +result.height = (((result.height + 2) - 1) / 2); +} +return result; +} + +static void error_callback(const char *msg, void *client_data) { +(void)client_data; +printf("[ERROR] %s", msg); +} +static void warning_callback(const char *msg, void *client_data) { +(void)client_data; +printf("[WARNING] %s", msg); +} +static void info_callback(const char *msg, void *client_data) { +(void)client_data; +printf("[INFO] %s", msg); +} + +/// +/// Decodes the encoded HTJ2K bitstream. The caller must have copied the +/// HTJ2K encoded bitstream into the encoded buffer before calling this +/// method, see getEncodedBuffer() and getEncodedBytes() above. +/// +void decode() { +decodeLayer_ = 0; +decode_i(0); +} + +/// +/// Decodes the encoded HTJ2K bitstream to the requested decomposition level. +/// The caller must have copied the HTJ2K encoded bitstream into the encoded +/// buffer before calling this method, see getEncodedBuffer() and +/// getEncodedBytes() above. +/// +void decodeSubResolution(size_t decompositionLevel, size_t decodeLayer) { +decodeLayer_ = decodeLayer; +decode_i(decompositionLevel); +} + +/// +/// returns the FrameInfo object for the decoded image. +/// +const FrameInfo& getFrameInfo() const { +return frameInfo_; +} + +/// +/// returns the number of wavelet decompositions. +/// +const size_t getNumDecompositions() const { +return numDecompositions_; +} + +/// +/// returns true if the image is lossless, false if lossy +/// +const bool getIsReversible() const { +return isReversible_; +} + +/// +/// returns progression order. +// -1 = unknown?? +// 0 = LRCP +// 1 = RLCP +// 2 = RPCL +// 3 = PCRL +// 4 = CPRL +/// +const int getProgressionOrder() const { +return progressionOrder_; +} + +/// +/// returns the image offset +/// +Point getImageOffset() const { +return imageOffset_; +} + +/// +/// returns the tile size +/// +Size getTileSize() const { +return tileSize_; +} + +/// +/// returns the tile offset +/// +Point getTileOffset() const { +return tileOffset_; +} + +/// +/// returns the block dimensions +/// +Size getBlockDimensions() const { +return blockDimensions_; +} + +/// +/// returns the number of layers +/// +int32_t getNumLayers() const { +return numLayers_; +} + +// OPJ_CLRSPC_UNKNOWN = -1, /**< not supported by the library */ +// OPJ_CLRSPC_UNSPECIFIED = 0, /**< not specified in the codestream */ +// OPJ_CLRSPC_SRGB = 1, /**< sRGB */ +// OPJ_CLRSPC_GRAY = 2, /**< grayscale */ +// OPJ_CLRSPC_SYCC = 3, /**< YUV */ +// OPJ_CLRSPC_EYCC = 4, /**< e-YCC */ +// OPJ_CLRSPC_CMYK = 5 /**< CMYK */ +size_t getColorSpace() const { +return colorSpace_; +} + +private: + +static void color_sycc_to_rgb(opj_image_t *img) { +if (img->numcomps < 3) { +img->color_space = OPJ_CLRSPC_GRAY; +return; +} + +if ((img->comps[0].dx == 1) +&& (img->comps[1].dx == 2) +&& (img->comps[2].dx == 2) +&& (img->comps[0].dy == 1) +&& (img->comps[1].dy == 2) +&& (img->comps[2].dy == 2)) { /* horizontal and vertical sub-sample */ +sycc420_to_rgb(img); +} else if ((img->comps[0].dx == 1) +&& (img->comps[1].dx == 2) +&& (img->comps[2].dx == 2) +&& (img->comps[0].dy == 1) +&& (img->comps[1].dy == 1) +&& (img->comps[2].dy == 1)) { /* horizontal sub-sample only */ +sycc422_to_rgb(img); +} else if ((img->comps[0].dx == 1) +&& (img->comps[1].dx == 1) +&& (img->comps[2].dx == 1) +&& (img->comps[0].dy == 1) +&& (img->comps[1].dy == 1) +&& (img->comps[2].dy == 1)) { /* no sub-sample */ +sycc444_to_rgb(img); +} else { +fprintf(stderr, "%s:%d:color_sycc_to_rgb\n\tCAN NOT CONVERT\n", __FILE__, +__LINE__); +return; +} +}/* color_sycc_to_rgb() */ + +/*-------------------------------------------------------- +Matrix for sYCC, Amendment 1 to IEC 61966-2-1 + +Y : 0.299 0.587 0.114 :R +Cb: -0.1687 -0.3312 0.5 :G +Cr: 0.5 -0.4187 -0.0812 :B + +Inverse: + +R: 1 -3.68213e-05 1.40199 :Y +G: 1.00003 -0.344125 -0.714128 :Cb - 2^(prec - 1) +B: 0.999823 1.77204 -8.04142e-06 :Cr - 2^(prec - 1) + +-----------------------------------------------------------*/ +static void sycc_to_rgb(int offset, int upb, int y, int cb, int cr, +int *out_r, int *out_g, int *out_b) { +int r, g, b; + +cb -= offset; +cr -= offset; +r = y + (int)(1.402 * (float)cr); +if (r < 0) { +r = 0; +} else if (r > upb) { +r = upb; +} +*out_r = r; + +g = y - (int)(0.344 * (float)cb + 0.714 * (float)cr); +if (g < 0) { +g = 0; +} else if (g > upb) { +g = upb; +} +*out_g = g; + +b = y + (int)(1.772 * (float)cb); +if (b < 0) { +b = 0; +} else if (b > upb) { +b = upb; +} +*out_b = b; +} + +static void sycc444_to_rgb(opj_image_t *img) { +int *d0, *d1, *d2, *r, *g, *b; +const int *y, *cb, *cr; +size_t maxw, maxh, max, i; +int offset, upb; + +upb = (int)img->comps[0].prec; +offset = 1 << (upb - 1); +upb = (1 << upb) - 1; + +maxw = (size_t)img->comps[0].w; +maxh = (size_t)img->comps[0].h; +max = maxw * maxh; + +y = img->comps[0].data; +cb = img->comps[1].data; +cr = img->comps[2].data; + +d0 = r = (int*)opj_image_data_alloc(sizeof(int) * max); +d1 = g = (int*)opj_image_data_alloc(sizeof(int) * max); +d2 = b = (int*)opj_image_data_alloc(sizeof(int) * max); + +if (r == NULL || g == NULL || b == NULL) { +goto fails; +} + +for (i = 0U; i < max; ++i) { +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++cb; +++cr; +++r; +++g; +++b; +} +opj_image_data_free(img->comps[0].data); +img->comps[0].data = d0; +opj_image_data_free(img->comps[1].data); +img->comps[1].data = d1; +opj_image_data_free(img->comps[2].data); +img->comps[2].data = d2; +img->color_space = OPJ_CLRSPC_SRGB; +return; + +fails: +opj_image_data_free(r); +opj_image_data_free(g); +opj_image_data_free(b); +}/* sycc444_to_rgb() */ + +static void sycc422_to_rgb(opj_image_t *img) { +int *d0, *d1, *d2, *r, *g, *b; +const int *y, *cb, *cr; +size_t maxw, maxh, max, offx, loopmaxw; +int offset, upb; +size_t i; + +upb = (int)img->comps[0].prec; +offset = 1 << (upb - 1); +upb = (1 << upb) - 1; + +maxw = (size_t)img->comps[0].w; +maxh = (size_t)img->comps[0].h; +max = maxw * maxh; + +y = img->comps[0].data; +cb = img->comps[1].data; +cr = img->comps[2].data; + +d0 = r = (int*)opj_image_data_alloc(sizeof(int) * max); +d1 = g = (int*)opj_image_data_alloc(sizeof(int) * max); +d2 = b = (int*)opj_image_data_alloc(sizeof(int) * max); + +if (r == NULL || g == NULL || b == NULL) { +goto fails; +} + +/* if img->x0 is odd, then first column shall use Cb/Cr = 0 */ +offx = img->x0 & 1U; +loopmaxw = maxw - offx; + +for (i = 0U; i < maxh; ++i) { +size_t j; + +if (offx > 0U) { +sycc_to_rgb(offset, upb, *y, 0, 0, r, g, b); +++y; +++r; +++g; +++b; +} + +for (j = 0U; j < (loopmaxw & ~(size_t)1U); j += 2U) { +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++r; +++g; +++b; +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++r; +++g; +++b; +++cb; +++cr; +} +if (j < loopmaxw) { +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++r; +++g; +++b; +++cb; +++cr; +} +} + +opj_image_data_free(img->comps[0].data); +img->comps[0].data = d0; +opj_image_data_free(img->comps[1].data); +img->comps[1].data = d1; +opj_image_data_free(img->comps[2].data); +img->comps[2].data = d2; + +img->comps[1].w = img->comps[2].w = img->comps[0].w; +img->comps[1].h = img->comps[2].h = img->comps[0].h; +img->comps[1].dx = img->comps[2].dx = img->comps[0].dx; +img->comps[1].dy = img->comps[2].dy = img->comps[0].dy; +img->color_space = OPJ_CLRSPC_SRGB; +return; + +fails: +opj_image_data_free(r); +opj_image_data_free(g); +opj_image_data_free(b); +}/* sycc422_to_rgb() */ + +static void sycc420_to_rgb(opj_image_t *img) { +int *d0, *d1, *d2, *r, *g, *b, *nr, *ng, *nb; +const int *y, *cb, *cr, *ny; +size_t maxw, maxh, max, offx, loopmaxw, offy, loopmaxh; +int offset, upb; +size_t i; + +upb = (int)img->comps[0].prec; +offset = 1 << (upb - 1); +upb = (1 << upb) - 1; + +maxw = (size_t)img->comps[0].w; +maxh = (size_t)img->comps[0].h; +max = maxw * maxh; + +y = img->comps[0].data; +cb = img->comps[1].data; +cr = img->comps[2].data; + +d0 = r = (int*)opj_image_data_alloc(sizeof(int) * max); +d1 = g = (int*)opj_image_data_alloc(sizeof(int) * max); +d2 = b = (int*)opj_image_data_alloc(sizeof(int) * max); + +if (r == NULL || g == NULL || b == NULL) { +goto fails; +} + +/* if img->x0 is odd, then first column shall use Cb/Cr = 0 */ +offx = img->x0 & 1U; +loopmaxw = maxw - offx; +/* if img->y0 is odd, then first line shall use Cb/Cr = 0 */ +offy = img->y0 & 1U; +loopmaxh = maxh - offy; + +if (offy > 0U) { +size_t j; + +for (j = 0; j < maxw; ++j) { +sycc_to_rgb(offset, upb, *y, 0, 0, r, g, b); +++y; +++r; +++g; +++b; +} +} + +for (i = 0U; i < (loopmaxh & ~(size_t)1U); i += 2U) { +size_t j; + +ny = y + maxw; +nr = r + maxw; +ng = g + maxw; +nb = b + maxw; + +if (offx > 0U) { +sycc_to_rgb(offset, upb, *y, 0, 0, r, g, b); +++y; +++r; +++g; +++b; +sycc_to_rgb(offset, upb, *ny, *cb, *cr, nr, ng, nb); +++ny; +++nr; +++ng; +++nb; +} + +for (j = 0; j < (loopmaxw & ~(size_t)1U); j += 2U) { +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++r; +++g; +++b; +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++r; +++g; +++b; +sycc_to_rgb(offset, upb, *ny, *cb, *cr, nr, ng, nb); +++ny; +++nr; +++ng; +++nb; +sycc_to_rgb(offset, upb, *ny, *cb, *cr, nr, ng, nb); +++ny; +++nr; +++ng; +++nb; +++cb; +++cr; +} +if (j < loopmaxw) { +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++r; +++g; +++b; +sycc_to_rgb(offset, upb, *ny, *cb, *cr, nr, ng, nb); +++ny; +++nr; +++ng; +++nb; +++cb; +++cr; +} +y += maxw; +r += maxw; +g += maxw; +b += maxw; +} +if (i < loopmaxh) { +size_t j; + +for (j = 0U; j < (maxw & ~(size_t)1U); j += 2U) { +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++r; +++g; +++b; +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +++y; +++r; +++g; +++b; +++cb; +++cr; +} +if (j < maxw) { +sycc_to_rgb(offset, upb, *y, *cb, *cr, r, g, b); +} +} + +opj_image_data_free(img->comps[0].data); +img->comps[0].data = d0; +opj_image_data_free(img->comps[1].data); +img->comps[1].data = d1; +opj_image_data_free(img->comps[2].data); +img->comps[2].data = d2; + +img->comps[1].w = img->comps[2].w = img->comps[0].w; +img->comps[1].h = img->comps[2].h = img->comps[0].h; +img->comps[1].dx = img->comps[2].dx = img->comps[0].dx; +img->comps[1].dy = img->comps[2].dy = img->comps[0].dy; +img->color_space = OPJ_CLRSPC_SRGB; +return; + +fails: +opj_image_data_free(r); +opj_image_data_free(g); +opj_image_data_free(b); +}/* sycc420_to_rgb() */ + +static void color_cmyk_to_rgb(opj_image_t *image) { +float C, M, Y, K; +float sC, sM, sY, sK; +unsigned int w, h, max, i; + +w = image->comps[0].w; +h = image->comps[0].h; + +if ( +(image->numcomps < 4) +|| (image->comps[0].dx != image->comps[1].dx) || +(image->comps[0].dx != image->comps[2].dx) || +(image->comps[0].dx != image->comps[3].dx) +|| (image->comps[0].dy != image->comps[1].dy) || +(image->comps[0].dy != image->comps[2].dy) || +(image->comps[0].dy != image->comps[3].dy) +) { +fprintf(stderr, "%s:%d:color_cmyk_to_rgb\n\tCAN NOT CONVERT\n", __FILE__, +__LINE__); +return; +} + +max = w * h; + +sC = 1.0F / (float)((1 << image->comps[0].prec) - 1); +sM = 1.0F / (float)((1 << image->comps[1].prec) - 1); +sY = 1.0F / (float)((1 << image->comps[2].prec) - 1); +sK = 1.0F / (float)((1 << image->comps[3].prec) - 1); + +for (i = 0; i < max; ++i) { +/* CMYK values from 0 to 1 */ +C = (float)(image->comps[0].data[i]) * sC; +M = (float)(image->comps[1].data[i]) * sM; +Y = (float)(image->comps[2].data[i]) * sY; +K = (float)(image->comps[3].data[i]) * sK; + +/* Invert all CMYK values */ +C = 1.0F - C; +M = 1.0F - M; +Y = 1.0F - Y; +K = 1.0F - K; + +/* CMYK -> RGB : RGB results from 0 to 255 */ +image->comps[0].data[i] = (int)(255.0F * C * K); /* R */ +image->comps[1].data[i] = (int)(255.0F * M * K); /* G */ +image->comps[2].data[i] = (int)(255.0F * Y * K); /* B */ +} + +opj_image_data_free(image->comps[3].data); +image->comps[3].data = NULL; +image->comps[0].prec = 8; +image->comps[1].prec = 8; +image->comps[2].prec = 8; +image->numcomps -= 1; +image->color_space = OPJ_CLRSPC_SRGB; + +for (i = 3; i < image->numcomps; ++i) { +memcpy(&(image->comps[i]), &(image->comps[i + 1]), sizeof(image->comps[i])); +} + +}/* color_cmyk_to_rgb() */ + +/* +* This code has been adopted from sjpx_openjpeg.c of ghostscript +*/ +static void color_esycc_to_rgb(opj_image_t *image) { +int y, cb, cr, sign1, sign2, val; +unsigned int w, h, max, i; +int flip_value = (1 << (image->comps[0].prec - 1)); +int max_value = (1 << image->comps[0].prec) - 1; + +if ( +(image->numcomps < 3) +|| (image->comps[0].dx != image->comps[1].dx) || +(image->comps[0].dx != image->comps[2].dx) +|| (image->comps[0].dy != image->comps[1].dy) || +(image->comps[0].dy != image->comps[2].dy) +) { +fprintf(stderr, "%s:%d:color_esycc_to_rgb\n\tCAN NOT CONVERT\n", __FILE__, +__LINE__); +return; +} + +w = image->comps[0].w; +h = image->comps[0].h; + +sign1 = (int)image->comps[1].sgnd; +sign2 = (int)image->comps[2].sgnd; + +max = w * h; + +for (i = 0; i < max; ++i) { +y = image->comps[0].data[i]; +cb = image->comps[1].data[i]; +cr = image->comps[2].data[i]; + +if (!sign1) { +cb -= flip_value; +} +if (!sign2) { +cr -= flip_value; +} + +val = (int) +((float)y - (float)0.0000368 * (float)cb ++ (float)1.40199 * (float)cr + (float)0.5); + +if (val > max_value) { +val = max_value; +} else if (val < 0) { +val = 0; +} +image->comps[0].data[i] = val; + +val = (int) +((float)1.0003 * (float)y - (float)0.344125 * (float)cb +- (float)0.7141128 * (float)cr + (float)0.5); + +if (val > max_value) { +val = max_value; +} else if (val < 0) { +val = 0; +} +image->comps[1].data[i] = val; + +val = (int) +((float)0.999823 * (float)y + (float)1.77204 * (float)cb +- (float)0.000008 * (float)cr + (float)0.5); + +if (val > max_value) { +val = max_value; +} else if (val < 0) { +val = 0; +} +image->comps[2].data[i] = val; +} +image->color_space = OPJ_CLRSPC_SRGB; + +}/* color_esycc_to_rgb() */ + +void decode_i(size_t decompositionLevel) { +opj_dparameters_t parameters; +opj_codec_t* l_codec = NULL; +opj_image_t* image = NULL; +opj_stream_t *l_stream = NULL; + +// detect stream type +// NOTE: DICOM only supports OPJ_CODEC_J2K, but not everyone follows this +// and some DICOM images will have JP2 encoded bitstreams +// http://dicom.nema.org/medical/dicom/2017e/output/chtml/part05/sect_A.4.4.html +if( ((OPJ_INT32*)encoded_.data())[0] == J2K_MAGIC_NUMBER ){ +l_codec = opj_create_decompress(OPJ_CODEC_J2K); +}else{ + +l_codec = opj_create_decompress(OPJ_CODEC_JP2); +} + +opj_set_info_handler(l_codec, info_callback,00); +opj_set_warning_handler(l_codec, warning_callback,00); +opj_set_error_handler(l_codec, error_callback,00); + +opj_set_default_decoder_parameters(¶meters); +parameters.cp_reduce = decompositionLevel; +parameters.cp_layer = decodeLayer_; +//opj_set_decoded_resolution_factor(l_codec, 1); +// set stream +opj_buffer_info_t buffer_info; +buffer_info.buf = encoded_.data(); +buffer_info.cur = encoded_.data(); +buffer_info.len = encoded_.size(); +l_stream = opj_stream_create_buffer_stream(&buffer_info, OPJ_TRUE); + +/* Setup the decoder decoding parameters using user parameters */ +if ( !opj_setup_decoder(l_codec, ¶meters) ){ +printf("[ERROR] opj_decompress: failed to setup the decoder\n"); +opj_stream_destroy(l_stream); +opj_destroy_codec(l_codec); +return; +} + +/* Read the main header of the codestream and if necessary the JP2 boxes*/ +if(! opj_read_header(l_stream, l_codec, &image)){ +printf("[ERROR] opj_decompress: failed to read the header\n"); +opj_stream_destroy(l_stream); +opj_destroy_codec(l_codec); +opj_image_destroy(image); +return; +} + +/* decode the image */ +if (!opj_decode(l_codec, l_stream, image)) { +printf("[ERROR] opj_decompress: failed to decode tile!\n"); +opj_destroy_codec(l_codec); +opj_stream_destroy(l_stream); +opj_image_destroy(image); +return; +} + +/* Finalize decompression before destroying codec/stream */ +if (!opj_end_decompress(l_codec, l_stream)) { +printf("[WARNING] opj_end_decompress failed\n"); +} + +if (image->color_space != OPJ_CLRSPC_SYCC +&& image->numcomps == 3 && image->comps[0].dx == image->comps[0].dy +&& image->comps[1].dx != 1) { +image->color_space = OPJ_CLRSPC_SYCC; +} else if (image->numcomps <= 2) { +image->color_space = OPJ_CLRSPC_GRAY; +} +if (image->color_space == OPJ_CLRSPC_SYCC) { +color_sycc_to_rgb(image); +} else if ((image->color_space == OPJ_CLRSPC_CMYK) && +(parameters.cod_format != TIF_DFMT)) { +color_cmyk_to_rgb(image); +} else if (image->color_space == OPJ_CLRSPC_EYCC) { +color_esycc_to_rgb(image); +} + +// FIX: image->x1/y1 are absolute grid coordinates, not pixel dimensions. +// Correct width = x1 - x0, correct height = y1 - y0. +frameInfo_.width = image->x1 - image->x0; +frameInfo_.height = image->y1 - image->y0; +frameInfo_.componentCount = image->numcomps; +frameInfo_.isSigned = image->comps[0].sgnd; +frameInfo_.bitsPerSample = image->comps[0].prec; + +colorSpace_ = image->color_space; +imageOffset_.x = image->x0; +imageOffset_.y = image->y0; +//image->comps[0].factor always 0?? + +opj_codestream_info_v2_t* cstr_info = opj_get_cstr_info(l_codec); /* Codestream information structure */ +numLayers_ = cstr_info->m_default_tile_info.numlayers; +progressionOrder_ = cstr_info->m_default_tile_info.prg; +isReversible_ = cstr_info->m_default_tile_info.tccp_info->qmfbid == 1; +blockDimensions_.width = 1 << cstr_info->m_default_tile_info.tccp_info->cblkw; +blockDimensions_.height = 1 << cstr_info->m_default_tile_info.tccp_info->cblkh; +tileOffset_.x = cstr_info->tx0; +tileOffset_.y = cstr_info->ty0; +tileSize_.width = cstr_info->tdx; +tileSize_.height = cstr_info->tdy; +numDecompositions_ = cstr_info->m_default_tile_info.tccp_info->numresolutions - 1; + +// calculate the resolution at the requested decomposition level and +// allocate destination buffer +Size sizeAtDecompositionLevel = calculateSizeAtDecompositionLevel(decompositionLevel); +const size_t bytesPerPixel = (frameInfo_.bitsPerSample + 8 - 1) / 8; +const size_t destinationSize = sizeAtDecompositionLevel.width * sizeAtDecompositionLevel.height * frameInfo_.componentCount * bytesPerPixel; +decoded_.resize(destinationSize); + +for (int y = 0; y < sizeAtDecompositionLevel.height; y++) +{ +size_t lineStartPixel = y * sizeAtDecompositionLevel.width; +size_t lineStart = lineStartPixel * frameInfo_.componentCount * bytesPerPixel; +if(frameInfo_.componentCount == 1) { +int* pIn = (int*)&(image->comps[0].data[y * sizeAtDecompositionLevel.width]); +if(frameInfo_.bitsPerSample <= 8) { +unsigned char* pOut = (unsigned char*)&decoded_[lineStart]; +for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { +int val = pIn[x];; +pOut[x] = std::max(0, std::min(val, UCHAR_MAX)); +} +} else { +if(frameInfo_.isSigned) { +short* pOut = (short*)&decoded_[lineStart]; +for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { +int val = pIn[x];; +pOut[x] = std::max(SHRT_MIN, std::min(val, SHRT_MAX)); +} +} else { +unsigned short* pOut = (unsigned short*)&decoded_[lineStart]; +for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { +int val = pIn[x];; +pOut[x] = std::max(0, std::min(val, USHRT_MAX)); +} +} +} +} else { +// Multi-component (RGB) image +if(frameInfo_.bitsPerSample <= 8) { +// 8-bit RGB +uint8_t* pOut = &decoded_[lineStart]; +for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { +pOut[x*3+0] = image->comps[0].data[lineStartPixel + x]; +pOut[x*3+1] = image->comps[1].data[lineStartPixel + x]; +pOut[x*3+2] = image->comps[2].data[lineStartPixel + x]; +} +} else { +// 16-bit RGB +if(frameInfo_.isSigned) { +short* pOut = (short*)&decoded_[lineStart]; +for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { +pOut[x*3+0] = std::max(SHRT_MIN, std::min((int)image->comps[0].data[lineStartPixel + x], SHRT_MAX)); +pOut[x*3+1] = std::max(SHRT_MIN, std::min((int)image->comps[1].data[lineStartPixel + x], SHRT_MAX)); +pOut[x*3+2] = std::max(SHRT_MIN, std::min((int)image->comps[2].data[lineStartPixel + x], SHRT_MAX)); +} +} else { +unsigned short* pOut = (unsigned short*)&decoded_[lineStart]; +for (size_t x = 0; x < sizeAtDecompositionLevel.width; x++) { +pOut[x*3+0] = std::max(0, std::min((int)image->comps[0].data[lineStartPixel + x], USHRT_MAX)); +pOut[x*3+1] = std::max(0, std::min((int)image->comps[1].data[lineStartPixel + x], USHRT_MAX)); +pOut[x*3+2] = std::max(0, std::min((int)image->comps[2].data[lineStartPixel + x], USHRT_MAX)); +} +} +} +} +} + +opj_stream_destroy(l_stream); +opj_destroy_codec(l_codec); +opj_image_destroy(image); +} + +std::vector encoded_; +std::vector decoded_; +FrameInfo frameInfo_; +size_t numDecompositions_; +bool isReversible_; +int progressionOrder_; +Point imageOffset_; +Size tileSize_; +Point tileOffset_; +Size blockDimensions_; +int32_t numLayers_; +size_t colorSpace_; + +size_t decodeLayer_; +}; diff --git a/packages/openjpeg/src/jslib-decode.cpp b/packages/openjpeg/src/jslib-decode.cpp index 98ad506..d9951da 100644 --- a/packages/openjpeg/src/jslib-decode.cpp +++ b/packages/openjpeg/src/jslib-decode.cpp @@ -1,59 +1,58 @@ -// Copyright (c) Chris Hafey. -// SPDX-License-Identifier: MIT - - -#include "J2KDecoder.hpp" -#include "FrameInfo.hpp" -#include "Point.hpp" -#include "Size.hpp" - -#include -#include - -using namespace emscripten; - -EMSCRIPTEN_BINDINGS(FrameInfo) { - value_object("FrameInfo") - .field("width", &FrameInfo::width) - .field("height", &FrameInfo::height) - .field("bitsPerSample", &FrameInfo::bitsPerSample) - .field("componentCount", &FrameInfo::componentCount) - .field("isSigned", &FrameInfo::isSigned) - ; -} - -EMSCRIPTEN_BINDINGS(Point) { - value_object("Point") - .field("x", &Point::x) - .field("y", &Point::y) - ; -} - -EMSCRIPTEN_BINDINGS(Size) { - value_object("Size") - .field("width", &Size::width) - .field("height", &Size::height) - ; -} - -EMSCRIPTEN_BINDINGS(J2KDecoder) { - class_("J2KDecoder") - .constructor<>() - .function("getEncodedBuffer", &J2KDecoder::getEncodedBuffer) - .function("getDecodedBuffer", &J2KDecoder::getDecodedBuffer) - .function("readHeader", &J2KDecoder::readHeader) - .function("calculateSizeAtDecompositionLevel", &J2KDecoder::calculateSizeAtDecompositionLevel) - .function("decode", &J2KDecoder::decode) - .function("decodeSubResolution", &J2KDecoder::decodeSubResolution) - .function("getFrameInfo", &J2KDecoder::getFrameInfo) - .function("getNumDecompositions", &J2KDecoder::getNumDecompositions) - .function("getIsReversible", &J2KDecoder::getIsReversible) - .function("getProgressionOrder", &J2KDecoder::getProgressionOrder) - .function("getImageOffset", &J2KDecoder::getImageOffset) - .function("getTileSize", &J2KDecoder::getTileSize) - .function("getTileOffset", &J2KDecoder::getTileOffset) - .function("getBlockDimensions", &J2KDecoder::getBlockDimensions) - .function("getNumLayers", &J2KDecoder::getNumLayers) - .function("getColorSpace", &J2KDecoder::getColorSpace) - ; -} \ No newline at end of file +// Copyright (c) Chris Hafey. +// SPDX-License-Identifier: MIT + +#include "J2KDecoder.hpp" +#include "FrameInfo.hpp" +#include "Point.hpp" +#include "Size.hpp" + +#include +#include + +using namespace emscripten; + +EMSCRIPTEN_BINDINGS(FrameInfo) { +value_object("FrameInfo") +.field("width", &FrameInfo::width) +.field("height", &FrameInfo::height) +.field("bitsPerSample", &FrameInfo::bitsPerSample) +.field("componentCount", &FrameInfo::componentCount) +.field("isSigned", &FrameInfo::isSigned) +; +} + +EMSCRIPTEN_BINDINGS(Point) { +value_object("Point") +.field("x", &Point::x) +.field("y", &Point::y) +; +} + +EMSCRIPTEN_BINDINGS(Size) { +value_object("Size") +.field("width", &Size::width) +.field("height", &Size::height) +; +} + +EMSCRIPTEN_BINDINGS(J2KDecoder) { +class_("J2KDecoder") +.constructor<>() +.function("getEncodedBuffer", &J2KDecoder::getEncodedBuffer) +.function("getDecodedBuffer", &J2KDecoder::getDecodedBuffer) +.function("readHeader", &J2KDecoder::readHeader) +.function("calculateSizeAtDecompositionLevel", &J2KDecoder::calculateSizeAtDecompositionLevel) +.function("decode", &J2KDecoder::decode) +.function("decodeSubResolution", &J2KDecoder::decodeSubResolution) +.function("getFrameInfo", &J2KDecoder::getFrameInfo) +.function("getNumDecompositions", &J2KDecoder::getNumDecompositions) +.function("getIsReversible", &J2KDecoder::getIsReversible) +.function("getProgressionOrder", &J2KDecoder::getProgressionOrder) +.function("getImageOffset", &J2KDecoder::getImageOffset) +.function("getTileSize", &J2KDecoder::getTileSize) +.function("getTileOffset", &J2KDecoder::getTileOffset) +.function("getBlockDimensions", &J2KDecoder::getBlockDimensions) +.function("getNumLayers", &J2KDecoder::getNumLayers) +.function("getColorSpace", &J2KDecoder::getColorSpace) +; +}