=0&&(c?y="+"+y:h&&(y=" "+y)),"-"==b.charAt(0)&&(y="-"+y,b=b.substr(1));y.length+b.lengthM&&M>=-4?(o=(103==o?"f":"F").charCodeAt(0),C-=M+1):(o=(103==o?"e":"E").charCodeAt(0),C--),k=Math.min(C,20)}101==o||69==o?(b=D.toExponential(k),/[eE][-+]\d$/.test(b)&&(b=b.slice(0,-1)+"0"+b.slice(-1))):102!=o&&70!=o||(b=D.toFixed(k),0===D&&__reallyNegative(D)&&(b="-"+b));var N=b.split("e");if(S&&!l)for(;N[0].length>1&&-1!=N[0].indexOf(".")&&("0"==N[0].slice(-1)||"."==N[0].slice(-1));)N[0]=N[0].slice(0,-1);else for(l&&-1==b.indexOf(".")&&(N[0]+=".");C>k++;)N[0]+="0";b=N[0]+(N.length>1?"e"+N[1]:""),69==o&&(b=b.toUpperCase()),D>=0&&(c?b="+"+b:h&&(b=" "+b))}else b=(D<0?"-":"")+"inf",u=!1;for(;b.length
>0]);else s=s.concat(intArrayFromString("(null)".substr(0,R),!0));if(g)for(;R0;)s.push(32);g||s.push(i("i8"));break;case"n":var K=i("i32*");HEAP32[K>>2]=s.length;break;case"%":s.push(A);break;default:for(v=a;v>0])}r+=2}else s.push(A),r+=1}return s}function _fprintf(e,t,r){var n=__formatString(t,r),i=Runtime.stackSave(),A=_fwrite(allocate(n,"i8",ALLOC_STACK),1,n.length,e);return Runtime.stackRestore(i),A}function _printf(e,t){var r=__formatString(e,t),n=intArrayToString(r);return"\n"===n[n.length-1]&&(n=n.substr(0,n.length-1)),Module.print(n),r.length}function _pthread_once(e,t){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",t),_pthread_once.seen[e]=1)}function _fputc(e,t){var r=unSign(255&e);if(HEAP8[_fputc.ret>>0]=r,-1==_write(_fileno(t),_fputc.ret,1)){var n=FS.getStreamFromPtr(t);return n&&(n.error=!0),-1}return r}Module._strlen=_strlen;var PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function _fputs(e,t){return _write(_fileno(t),e,_strlen(e))}Module._i64Add=_i64Add;var _stdout=allocate(1,"i32*",ALLOC_STATIC);function _puts(e){var t=Pointer_stringify(e),r=t.substr(0);return"\n"===r[r.length-1]&&(r=r.substr(0,r.length-1)),Module.print(r),t.length}function _pthread_setspecific(e,t){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=t,0):ERRNO_CODES.EINVAL}function __exit(e){Module.exit(e)}function _exit(e){__exit(e)}var _UItoD=!0;function _malloc(e){return Runtime.dynamicAlloc(e+8)+8&4294967288}function ___cxa_allocate_exception(e){return _malloc(e)}function _fmod(e,t){return e%t}function _fmodl(){return _fmod.apply(null,arguments)}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}function _time(e){var t=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=t),t}Module._malloc=_malloc,Module._bitshift64Lshr=_bitshift64Lshr;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(e,t){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}function ___cxa_guard_acquire(e){return HEAP8[e>>0]?0:(HEAP8[e>>0]=1,1)}function ___cxa_guard_release(){}function _vfprintf(e,t,r){return _fprintf(e,t,HEAP32[r>>2])}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _emscripten_memcpy_big(e,t,r){return HEAPU8.set(HEAPU8.subarray(t,t+r),e),e}Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;function _sbrk(e){var t=_sbrk;t.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),t.called=!0,assert(Runtime.dynamicAlloc),t.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;return 0!=e&&t.alloc(e),r}var _fabs=Math_abs;function ___errno_location(){return ___errno_state}var _BItoD=!0;function _copysign(e,t){return __reallyNegative(e)===__reallyNegative(t)?e:-e}function _copysignl(){return _copysign.apply(null,arguments)}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC),_stderr=allocate(1,"i32*",ALLOC_STATIC);___errno_state=Runtime.staticAlloc(4),HEAP32[___errno_state>>2]=0,_fputc.ret=allocate([0],"i8",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE>0]=n[e>>0];n[h+1>>0]=n[e+1>>0];n[h+2>>0]=n[e+2>>0];n[h+3>>0]=n[e+3>>0]}function ut(e){e=e|0;n[h>>0]=n[e>>0];n[h+1>>0]=n[e+1>>0];n[h+2>>0]=n[e+2>>0];n[h+3>>0]=n[e+3>>0];n[h+4>>0]=n[e+4>>0];n[h+5>>0]=n[e+5>>0];n[h+6>>0]=n[e+6>>0];n[h+7>>0]=n[e+7>>0]}function ht(e){e=e|0;K=e}function pt(){return K|0}function ft(e){e=e|0;Me(e|0)|0;fn()}function dt(e){e=e|0;return}function Ct(e,t,r,i,o){e=e|0;t=t|0;r=r|0;i=i|0;o=o|0;var s=0;s=l;A[e>>2]=112;A[e+4>>2]=t;A[e+8>>2]=r;A[e+12>>2]=i;A[e+16>>2]=o;if((n[144]|0)==0?(Be(144)|0)!=0:0){A[32]=0;A[33]=0;A[34]=0;Je(19,128,C|0)|0;be(144)}o=A[33]|0;if((o|0)==(A[34]|0)){i=(o>>1)+2&-2;i=(i|0)<2?2:i;if((i|0)>(2147483647-o|0)){t=Qe(1)|0;ze(t|0,48,0)}r=A[32]|0;t=i+o|0;A[34]=t;t=Yn(r,t<<2)|0;A[32]=t;if((t|0)==0?(A[(Ge()|0)>>2]|0)==12:0){t=Qe(1)|0;ze(t|0,48,0)}o=A[33]|0}A[33]=o+1;o=(A[32]|0)+(o<<2)|0;if(!o){l=s;return}A[o>>2]=e;l=s;return}function It(e){e=e|0;var t=0;t=l;gn(e);l=t;return}function Et(e){e=e|0;var t=0,r=0;t=l;r=A[e>>2]|0;if(!r){l=t;return}A[e+4>>2]=0;On(r);A[e>>2]=0;A[e+8>>2]=0;l=t;return}function mt(e){e=e|0;var t=0;t=l;gn(e);l=t;return}function Bt(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0;r=l;if((n[t>>0]|0)!=45){c=0;l=r;return c|0}i=t+1|0;o=110;a=i;c=0;while(1){s=c+1|0;if((n[a>>0]|0)!=o<<24>>24){o=1;break}a=t+(c+2)|0;if((s|0)==3){o=0;i=a;break}else{o=n[264+s>>0]|0;c=s}}if($n(i,A[e+4>>2]|0)|0){c=0;l=r;return c|0}n[e+20>>0]=o;c=1;l=r;return c|0}function yt(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0;s=l;l=l+16|0;r=s;i=A[I>>2]|0;o=e+4|0;a=A[o>>2]|0;A[r>>2]=a;A[r+4>>2]=a;et(i|0,216,r|0)|0;a=0;while(1){c=a>>>0<(32-((si(A[o>>2]|0)|0)<<1)|0)>>>0;qe(32,i|0)|0;if(c)a=a+1|0;else break}A[r>>2]=(n[e+20>>0]|0)!=0?248:256;et(i|0,232,r|0)|0;if(!t){l=s;return}A[r>>2]=A[e+8>>2];et(i|0,88,r|0)|0;qe(10,i|0)|0;l=s;return}function wt(e){e=e|0;var t=0;t=l;gn(e);l=t;return}function Qt(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0;r=l;l=l+16|0;s=r;o=r+8|0;if((n[t>>0]|0)!=45){h=0;l=r;return h|0}g=t+1|0;i=e+4|0;a=A[i>>2]|0;c=n[a>>0]|0;e:do{if(c<<24>>24){u=0;while(1){h=u;u=u+1|0;if((n[g>>0]|0)!=c<<24>>24){e=0;break}c=n[a+u>>0]|0;g=t+(h+2)|0;if(!(c<<24>>24))break e}l=r;return e|0}}while(0);if((n[g>>0]|0)!=61){h=0;l=r;return h|0}t=g+1|0;a=Zn(t,o,10)|0;if(!(A[o>>2]|0)){h=0;l=r;return h|0}if((a|0)>(A[e+24>>2]|0)){h=A[I>>2]|0;u=A[i>>2]|0;A[s>>2]=t;A[s+4>>2]=u;et(h|0,416,s|0)|0;nt(1)}if((a|0)<(A[e+20>>2]|0)){h=A[I>>2]|0;u=A[i>>2]|0;A[s>>2]=t;A[s+4>>2]=u;et(h|0,472,s|0)|0;nt(1)}A[e+28>>2]=a;h=1;l=r;return h|0}function vt(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0;r=l;l=l+16|0;n=r;i=A[I>>2]|0;o=A[e+16>>2]|0;A[n>>2]=A[e+4>>2];A[n+4>>2]=o;et(i|0,336,n|0)|0;o=A[e+20>>2]|0;if((o|0)==-2147483648)Ze(360,4,1,i|0)|0;else{A[n>>2]=o;et(i|0,368,n|0)|0}Ze(376,4,1,i|0)|0;o=A[e+24>>2]|0;if((o|0)==2147483647)Ze(384,4,1,i|0)|0;else{A[n>>2]=o;et(i|0,368,n|0)|0}A[n>>2]=A[e+28>>2];et(i|0,392,n|0)|0;if(!t){l=r;return}A[n>>2]=A[e+8>>2];et(i|0,88,n|0)|0;qe(10,i|0)|0;l=r;return}function bt(e){e=e|0;var t=0,r=0,i=0,o=0,s=0;o=l;A[e>>2]=1816;i=e+4|0;r=e+32|0;s=e+48|0;A[i+0>>2]=0;A[i+4>>2]=0;A[i+8>>2]=0;A[i+12>>2]=0;A[i+16>>2]=0;A[i+20>>2]=0;A[r+0>>2]=0;A[r+4>>2]=0;A[r+8>>2]=0;A[r+12>>2]=0;g[s>>3]=+g[75];g[e+56>>3]=+g[89];g[e+64>>3]=+g[103];g[e+72>>3]=+g[123];n[e+80>>0]=n[1364]|0;A[e+84>>2]=A[269];A[e+88>>2]=A[297];n[e+92>>0]=0;n[e+93>>0]=n[1292]|0;g[e+96>>3]=+g[204];A[e+104>>2]=A[439];A[e+108>>2]=A[359];g[e+112>>3]=+g[191];g[e+120>>3]=.3333333333333333;g[e+128>>3]=1.1;A[e+136>>2]=100;g[e+144>>3]=1.5;s=e+316|0;A[e+332>>2]=0;A[e+336>>2]=0;A[e+340>>2]=0;A[e+348>>2]=0;A[e+352>>2]=0;A[e+356>>2]=0;A[e+364>>2]=0;A[e+368>>2]=0;A[e+372>>2]=0;A[e+380>>2]=0;A[e+384>>2]=0;A[e+388>>2]=0;A[e+396>>2]=0;A[e+400>>2]=0;A[e+404>>2]=0;r=e+544|0;A[e+412>>2]=0;A[e+416>>2]=0;A[e+420>>2]=0;A[e+428>>2]=0;A[e+432>>2]=0;A[e+436>>2]=0;A[e+444>>2]=0;A[e+448>>2]=0;A[e+452>>2]=0;Ai(e+152|0,0,176)|0;A[e+456>>2]=r;i=e+460|0;A[i+0>>2]=0;A[i+4>>2]=0;A[i+8>>2]=0;A[i+12>>2]=0;A[i+16>>2]=0;A[i+20>>2]=0;A[e+488>>2]=s;n[e+492>>0]=1;g[e+496>>3]=1.0;g[e+504>>3]=1.0;A[e+512>>2]=0;A[e+516>>2]=-1;s=e+520|0;i=e+536|0;A[s+0>>2]=0;A[s+4>>2]=0;A[s+8>>2]=0;A[s+12>>2]=0;n[i>>0]=1;i=e+540|0;A[i+0>>2]=0;A[i+4>>2]=0;A[i+8>>2]=0;A[i+12>>2]=0;A[i+16>>2]=0;er(r,1048576);n[e+560>>0]=0;r=e+604|0;i=e+664|0;s=e+564|0;t=s+36|0;do{A[s>>2]=0;s=s+4|0}while((s|0)<(t|0));s=r+0|0;t=s+36|0;do{A[s>>2]=0;s=s+4|0}while((s|0)<(t|0));s=e+680|0;A[i+0>>2]=-1;A[i+4>>2]=-1;A[i+8>>2]=-1;A[i+12>>2]=-1;n[s>>0]=0;l=o;return}function Dt(e){e=e|0;var t=0;t=l;St(e);gn(e);l=t;return}function St(e){e=e|0;var t=0,r=0,n=0;t=l;A[e>>2]=1816;r=e+628|0;n=A[r>>2]|0;if(n){A[e+632>>2]=0;On(n);A[r>>2]=0;A[e+636>>2]=0}r=e+616|0;n=A[r>>2]|0;if(n){A[e+620>>2]=0;On(n);A[r>>2]=0;A[e+624>>2]=0}r=e+604|0;n=A[r>>2]|0;if(n){A[e+608>>2]=0;On(n);A[r>>2]=0;A[e+612>>2]=0}r=e+588|0;n=A[r>>2]|0;if(n){A[e+592>>2]=0;On(n);A[r>>2]=0;A[e+596>>2]=0}r=e+576|0;n=A[r>>2]|0;if(n){A[e+580>>2]=0;On(n);A[r>>2]=0;A[e+584>>2]=0}r=e+564|0;n=A[r>>2]|0;if(n){A[e+568>>2]=0;On(n);A[r>>2]=0;A[e+572>>2]=0}r=A[e+544>>2]|0;if(r)On(r);r=e+472|0;n=A[r>>2]|0;if(n){A[e+476>>2]=0;On(n);A[r>>2]=0;A[e+480>>2]=0}r=e+460|0;n=A[r>>2]|0;if(n){A[e+464>>2]=0;On(n);A[r>>2]=0;A[e+468>>2]=0}tr(e+412|0);r=e+396|0;n=A[r>>2]|0;if(n){A[e+400>>2]=0;On(n);A[r>>2]=0;A[e+404>>2]=0}r=e+380|0;n=A[r>>2]|0;if(n){A[e+384>>2]=0;On(n);A[r>>2]=0;A[e+388>>2]=0}n=e+364|0;r=A[n>>2]|0;if(r){A[e+368>>2]=0;On(r);A[n>>2]=0;A[e+372>>2]=0}r=e+348|0;n=A[r>>2]|0;if(n){A[e+352>>2]=0;On(n);A[r>>2]=0;A[e+356>>2]=0}r=e+332|0;n=A[r>>2]|0;if(n){A[e+336>>2]=0;On(n);A[r>>2]=0;A[e+340>>2]=0}r=e+316|0;n=A[r>>2]|0;if(n){A[e+320>>2]=0;On(n);A[r>>2]=0;A[e+324>>2]=0}r=e+304|0;n=A[r>>2]|0;if(n){A[e+308>>2]=0;On(n);A[r>>2]=0;A[e+312>>2]=0}r=e+292|0;n=A[r>>2]|0;if(n){A[e+296>>2]=0;On(n);A[r>>2]=0;A[e+300>>2]=0}r=e+280|0;n=A[r>>2]|0;if(n){A[e+284>>2]=0;On(n);A[r>>2]=0;A[e+288>>2]=0}r=e+268|0;n=A[r>>2]|0;if(n){A[e+272>>2]=0;On(n);A[r>>2]=0;A[e+276>>2]=0}r=e+256|0;n=A[r>>2]|0;if(n){A[e+260>>2]=0;On(n);A[r>>2]=0;A[e+264>>2]=0}r=e+32|0;n=A[r>>2]|0;if(n){A[e+36>>2]=0;On(n);A[r>>2]=0;A[e+40>>2]=0}r=e+16|0;n=A[r>>2]|0;if(n){A[e+20>>2]=0;On(n);A[r>>2]=0;A[e+24>>2]=0}n=e+4|0;r=A[n>>2]|0;if(!r){l=t;return}A[e+8>>2]=0;On(r);A[n>>2]=0;A[e+12>>2]=0;l=t;return}function kt(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,o=0,s=0,a=0,c=0.0,u=0,h=0,p=0,f=0,d=0,C=0;i=l;l=l+16|0;a=i+4|0;s=i;o=e+580|0;u=A[o>>2]|0;if((u|0)>0){p=u+-1|0;f=A[(A[e+576>>2]|0)+(p<<2)>>2]|0;A[o>>2]=p;o=f}else{f=e+540|0;o=A[f>>2]|0;A[f>>2]=o+1}u=e+412|0;f=o<<1;A[a>>2]=f;rr(u,a);A[s>>2]=f|1;rr(u,s);a=e+332|0;u=n[544]|0;s=o+1|0;nr(a,s);n[(A[a>>2]|0)+o>>0]=u;a=e+396|0;u=e+400|0;if((A[u>>2]|0)<(s|0)){p=e+404|0;f=A[p>>2]|0;if((f|0)<(s|0)){d=o+2-f&-2;h=(f>>1)+2&-2;h=(d|0)>(h|0)?d:h;if((h|0)>(2147483647-f|0)){d=Qe(1)|0;ze(d|0,48,0)}C=A[a>>2]|0;d=h+f|0;A[p>>2]=d;d=Yn(C,d<<3)|0;A[a>>2]=d;if((d|0)==0?(A[(Ge()|0)>>2]|0)==12:0){C=Qe(1)|0;ze(C|0,48,0)}}p=A[u>>2]|0;if((p|0)<(s|0))do{h=(A[a>>2]|0)+(p<<3)|0;if(h){C=h;A[C>>2]=0;A[C+4>>2]=0}p=p+1|0}while((p|0)!=(s|0));A[u>>2]=s}u=(A[a>>2]|0)+(o<<3)|0;A[u>>2]=-1;A[u+4>>2]=0;u=e+316|0;if(!(n[e+93>>0]|0))c=0.0;else{C=e+72|0;c=+g[C>>3]*1389796.0;c=c-+(~~(c/2147483647.0)|0)*2147483647.0;g[C>>3]=c;c=c/2147483647.0*1.0e-5}a=e+320|0;if((A[a>>2]|0)<(s|0)){h=e+324|0;p=A[h>>2]|0;if((p|0)<(s|0)){C=o+2-p&-2;f=(p>>1)+2&-2;f=(C|0)>(f|0)?C:f;if((f|0)>(2147483647-p|0)){C=Qe(1)|0;ze(C|0,48,0)}d=A[u>>2]|0;C=f+p|0;A[h>>2]=C;C=Yn(d,C<<3)|0;A[u>>2]=C;if((C|0)==0?(A[(Ge()|0)>>2]|0)==12:0){C=Qe(1)|0;ze(C|0,48,0)}}f=A[a>>2]|0;if((f|0)<(s|0)){h=A[u>>2]|0;do{p=h+(f<<3)|0;if(p)g[p>>3]=0.0;f=f+1|0}while((f|0)!=(s|0))}A[a>>2]=s}g[(A[u>>2]|0)+(o<<3)>>3]=c;ir(e+588|0,o,0);ir(e+348|0,o,1);a=e+364|0;t=n[t>>0]|0;nr(a,s);n[(A[a>>2]|0)+o>>0]=t;a=e+380|0;t=e+384|0;if((A[t>>2]|0)<(s|0)){u=e+388|0;p=A[u>>2]|0;if((p|0)<(s|0)){C=o+2-p&-2;h=(p>>1)+2&-2;h=(C|0)>(h|0)?C:h;if((h|0)>(2147483647-p|0)){C=Qe(1)|0;ze(C|0,48,0)}d=A[a>>2]|0;C=h+p|0;A[u>>2]=C;C=Yn(d,C)|0;A[a>>2]=C;if((C|0)==0?(A[(Ge()|0)>>2]|0)==12:0){C=Qe(1)|0;ze(C|0,48,0)}}u=A[t>>2]|0;if((u|0)<(s|0))do{h=(A[a>>2]|0)+u|0;if(h)n[h>>0]=0;u=u+1|0}while((u|0)!=(s|0));A[t>>2]=s}t=e+288|0;a=A[t>>2]|0;if((a|0)<(s|0)){C=o+2-a&-2;s=(a>>1)+2&-2;s=(C|0)>(s|0)?C:s;if((s|0)>(2147483647-a|0)){C=Qe(1)|0;ze(C|0,48,0)}d=e+280|0;f=A[d>>2]|0;C=s+a|0;A[t>>2]=C;C=Yn(f,C<<2)|0;A[d>>2]=C;if((C|0)==0?(A[(Ge()|0)>>2]|0)==12:0){C=Qe(1)|0;ze(C|0,48,0)}}s=e+380|0;t=(A[s>>2]|0)+o|0;a=(n[t>>0]|0)==0;if(r){if(a){C=e+200|0;d=C;d=ai(A[d>>2]|0,A[d+4>>2]|0,1,0)|0;A[C>>2]=d;A[C+4>>2]=K}}else if(!a){C=e+200|0;d=C;d=ai(A[d>>2]|0,A[d+4>>2]|0,-1,-1)|0;A[C>>2]=d;A[C+4>>2]=K}n[t>>0]=r&1;r=e+460|0;if((A[e+476>>2]|0)>(o|0)?(A[(A[e+472>>2]|0)+(o<<2)>>2]|0)>-1:0){l=i;return o|0}if(!(n[(A[s>>2]|0)+o>>0]|0)){l=i;return o|0}Ar(r,o);l=i;return o|0}function Mt(e,t){e=e|0;t=t|0;var r=0,i=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0;r=l;l=l+16|0;c=r+1|0;a=r;i=e+492|0;if(!(n[i>>0]|0)){I=0;l=r;return I|0}I=A[t>>2]|0;s=t+4|0;g=A[s>>2]|0;n[c+0>>0]=n[a+0>>0]|0;ar(I,g,c);g=A[s>>2]|0;e:do{if((g|0)>0){c=e+332|0;a=n[528]|0;u=0;h=0;f=-2;while(1){I=A[t>>2]|0;p=A[I+(u<<2)>>2]|0;C=o[(A[c>>2]|0)+(p>>1)>>0]|0;E=C^p&1;d=E&255;m=a&255;if((p|0)==(f^1|0)?1:(d<<24>>24==a<<24>>24&(m>>>1^1)|m&2&E|0)!=0){e=1;break}E=n[536]|0;m=E&255;if((p|0)!=(f|0)?((m>>>1^1)&d<<24>>24==E<<24>>24|C&2&m|0)==0:0){A[I+(h<<2)>>2]=p;g=A[s>>2]|0;h=h+1|0}else p=f;u=u+1|0;if((u|0)<(g|0))f=p;else break e}l=r;return e|0}else{u=0;h=0}}while(0);a=u-h|0;if((a|0)>0){g=g-a|0;A[s>>2]=g}if(!g){n[i>>0]=0;m=0;l=r;return m|0}else if((g|0)==1){E=A[A[t>>2]>>2]|0;I=E>>1;n[(A[e+332>>2]|0)+I>>0]=(E&1^1)&255^1;m=A[e+296>>2]|0;I=(A[e+396>>2]|0)+(I<<3)|0;A[I>>2]=-1;A[I+4>>2]=m;I=e+284|0;m=A[I>>2]|0;A[I>>2]=m+1;A[(A[e+280>>2]|0)+(m<<2)>>2]=E;m=(Ft(e)|0)==-1;n[i>>0]=m&1;l=r;return m|0}else{t=cr(e+544|0,t,0)|0;s=e+256|0;i=e+260|0;c=A[i>>2]|0;a=e+264|0;if((c|0)==(A[a>>2]|0)){g=(c>>1)+2&-2;g=(g|0)<2?2:g;if((g|0)>(2147483647-c|0)){m=Qe(1)|0;ze(m|0,48,0)}E=A[s>>2]|0;m=g+c|0;A[a>>2]=m;m=Yn(E,m<<2)|0;A[s>>2]=m;if((m|0)==0?(A[(Ge()|0)>>2]|0)==12:0){m=Qe(1)|0;ze(m|0,48,0)}c=A[i>>2]|0}A[i>>2]=c+1;i=(A[s>>2]|0)+(c<<2)|0;if(i)A[i>>2]=t;Rt(e,t);m=1;l=r;return m|0}return 0}function Nt(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,o=0;i=A[t>>2]|0;t=i>>1;n[(A[e+332>>2]|0)+t>>0]=(i&1^1)&255^1;o=A[e+296>>2]|0;t=(A[e+396>>2]|0)+(t<<3)|0;A[t>>2]=r;A[t+4>>2]=o;r=e+284|0;t=A[r>>2]|0;A[r>>2]=t+1;A[(A[e+280>>2]|0)+(t<<2)>>2]=i;return}function Ft(e){e=e|0;var t=0,r=0,i=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0,Q=0,v=0,b=0,D=0,S=0,k=0,M=0,N=0,F=0,R=0,L=0,x=0,P=0,U=0,T=0,O=0,Y=0;c=l;l=l+16|0;C=c;s=e+512|0;E=A[s>>2]|0;d=e+284|0;if((E|0)>=(A[d>>2]|0)){U=0;x=0;O=-1;T=e+184|0;R=T;P=R;P=A[P>>2]|0;R=R+4|0;R=A[R>>2]|0;R=ai(P|0,R|0,U|0,x|0)|0;P=K;L=T;A[L>>2]=R;T=T+4|0;A[T>>2]=P;T=e+520|0;P=T;L=P;L=A[L>>2]|0;P=P+4|0;P=A[P>>2]|0;x=ii(L|0,P|0,U|0,x|0)|0;U=K;P=T;A[P>>2]=x;T=T+4|0;A[T>>2]=U;l=c;return O|0}p=e+280|0;a=e+428|0;i=e+412|0;g=e+332|0;u=e+544|0;h=C+4|0;t=e+396|0;f=e+296|0;r=e+456|0;v=-1;I=0;do{A[s>>2]=E+1;y=A[(A[p>>2]|0)+(E<<2)>>2]|0;if(n[(A[a>>2]|0)+y>>0]|0){m=A[i>>2]|0;E=m+(y*12|0)+4|0;Q=A[E>>2]|0;if((Q|0)>0){m=m+(y*12|0)|0;B=0;w=0;do{D=A[m>>2]|0;b=D+(B<<3)|0;if((A[(A[A[r>>2]>>2]|0)+(A[b>>2]<<2)>>2]&3|0)!=1){T=b;O=A[T+4>>2]|0;Q=D+(w<<3)|0;A[Q>>2]=A[T>>2];A[Q+4>>2]=O;Q=A[E>>2]|0;w=w+1|0}B=B+1|0}while((B|0)<(Q|0))}else{B=0;w=0}m=B-w|0;if((m|0)>0)A[E>>2]=Q-m;n[(A[a>>2]|0)+y>>0]=0}E=A[i>>2]|0;I=I+1|0;m=A[E+(y*12|0)>>2]|0;E=E+(y*12|0)+4|0;w=A[E>>2]|0;B=m+(w<<3)|0;e:do{if(!w){B=m;Q=m}else{y=y^1;w=(w<<3)+-1|0;D=m;Q=m;while(1){while(1){t:while(1){F=A[D+4>>2]|0;O=o[(A[g>>2]|0)+(F>>1)>>0]^F&1;L=n[528]|0;R=L&255;x=R&2;R=R>>>1^1;if((O&255)<<24>>24==L<<24>>24&R|x&O){M=19;break}b=A[D>>2]|0;M=A[u>>2]|0;N=M+(b<<2)|0;S=M+(b+1<<2)|0;k=A[S>>2]|0;if((k|0)==(y|0)){O=M+(b+2<<2)|0;k=A[O>>2]|0;A[S>>2]=k;A[O>>2]=y}S=D+8|0;A[C>>2]=b;A[h>>2]=k;if((k|0)!=(F|0)?(O=o[(A[g>>2]|0)+(k>>1)>>0]^k&1,((O&255)<<24>>24==L<<24>>24&R|x&O|0)!=0):0){M=27;break}x=A[N>>2]|0;if(x>>>0<=95){M=31;break}R=A[g>>2]|0;L=n[536]|0;F=L&255;O=F&2;F=F>>>1^1;T=2;while(1){P=N+(T<<2)+4|0;U=A[P>>2]|0;Y=o[R+(U>>1)>>0]^U&1;T=T+1|0;if(!((Y&255)<<24>>24==L<<24>>24&F|O&Y))break;if((T|0)>=(x>>>5|0)){M=32;break t}}Y=M+(b+2<<2)|0;A[Y>>2]=U;A[P>>2]=y;gr((A[i>>2]|0)+((A[Y>>2]^1)*12|0)|0,C);if((S|0)==(B|0))break e;else D=S}if((M|0)==19){M=0;T=D;O=A[T+4>>2]|0;Y=Q;A[Y>>2]=A[T>>2];A[Y+4>>2]=O;D=D+8|0;Q=Q+8|0}else if((M|0)==27){M=0;O=C;Y=A[O+4>>2]|0;D=Q;A[D>>2]=A[O>>2];A[D+4>>2]=Y;D=S;Q=Q+8|0}else if((M|0)==31){L=n[536]|0;M=32}if((M|0)==32){M=Q+8|0;N=C;R=A[N+4>>2]|0;F=Q;A[F>>2]=A[N>>2];A[F+4>>2]=R;F=k>>1;R=k&1;N=(A[g>>2]|0)+F|0;Y=o[N>>0]^R;O=L&255;if((Y&255)<<24>>24==L<<24>>24&(O>>>1^1)|O&2&Y)break;n[N>>0]=(R^1)&255^1;Q=A[f>>2]|0;D=(A[t>>2]|0)+(F<<3)|0;A[D>>2]=b;A[D+4>>2]=Q;D=A[d>>2]|0;A[d>>2]=D+1;A[(A[p>>2]|0)+(D<<2)>>2]=k;D=S;Q=M}if((D|0)==(B|0))break e}A[s>>2]=A[d>>2];if(S>>>0>>0){v=(m+(w-S)|0)>>>3;while(1){T=S;S=S+8|0;O=A[T+4>>2]|0;Y=M;A[Y>>2]=A[T>>2];A[Y+4>>2]=O;if(S>>>0>=B>>>0)break;else M=M+8|0}D=D+(v+2<<3)|0;Q=Q+(v+2<<3)|0}else{D=S;Q=M}if((D|0)==(B|0)){v=b;break}else v=b}}}while(0);m=B-Q|0;if((m|0)>0)A[E>>2]=(A[E>>2]|0)-(m>>3);E=A[s>>2]|0}while((E|0)<(A[d>>2]|0));T=I;P=((I|0)<0)<<31>>31;Y=v;O=e+184|0;L=O;U=L;U=A[U>>2]|0;L=L+4|0;L=A[L>>2]|0;L=ai(U|0,L|0,T|0,P|0)|0;U=K;x=O;A[x>>2]=L;O=O+4|0;A[O>>2]=U;O=e+520|0;U=O;x=U;x=A[x>>2]|0;U=U+4|0;U=A[U>>2]|0;P=ii(x|0,U|0,T|0,P|0)|0;T=K;U=O;A[U>>2]=P;O=O+4|0;A[O>>2]=T;l=c;return Y|0}function Rt(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0;r=l;l=l+16|0;c=r+8|0;i=r;o=A[e+544>>2]|0;n=o+(t<<2)|0;s=o+(t+1<<2)|0;a=e+412|0;g=(A[a>>2]|0)+((A[s>>2]^1)*12|0)|0;o=o+(t+2<<2)|0;u=A[o>>2]|0;A[c>>2]=t;A[c+4>>2]=u;gr(g,c);o=(A[a>>2]|0)+((A[o>>2]^1)*12|0)|0;s=A[s>>2]|0;A[i>>2]=t;A[i+4>>2]=s;gr(o,i);if(!(A[n>>2]&4)){u=e+208|0;g=u;g=ai(A[g>>2]|0,A[g+4>>2]|0,1,0)|0;A[u>>2]=g;A[u+4>>2]=K;u=e+224|0;g=u;g=ai((A[n>>2]|0)>>>5|0,0,A[g>>2]|0,A[g+4>>2]|0)|0;A[u>>2]=g;A[u+4>>2]=K;l=r;return}else{u=e+216|0;g=u;g=ai(A[g>>2]|0,A[g+4>>2]|0,1,0)|0;A[u>>2]=g;A[u+4>>2]=K;u=e+232|0;g=u;g=ai((A[n>>2]|0)>>>5|0,0,A[g>>2]|0,A[g+4>>2]|0)|0;A[u>>2]=g;A[u+4>>2]=K;l=r;return}}function Kt(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0;o=l;l=l+16|0;g=o+4|0;a=o;s=A[e+544>>2]|0;i=s+(t<<2)|0;c=A[s+(t+1<<2)>>2]^1;if(!r){A[g>>2]=c;r=e+428|0;u=A[r>>2]|0;c=u+c|0;if(!(n[c>>0]|0)){n[c>>0]=1;or(e+444|0,g);u=A[r>>2]|0}t=A[s+(t+2<<2)>>2]^1;A[a>>2]=t;t=u+t|0;if(!(n[t>>0]|0)){n[t>>0]=1;or(e+444|0,a)}}else{a=e+412|0;r=A[a>>2]|0;g=r+(c*12|0)|0;s=s+(t+2<<2)|0;c=r+(c*12|0)+4|0;u=A[c>>2]|0;e:do{if((u|0)>0){f=A[g>>2]|0;p=0;while(1){h=p+1|0;if((A[f+(p<<3)>>2]|0)==(t|0)){h=p;break e}if((h|0)<(u|0))p=h;else break}}else h=0}while(0);u=u+-1|0;if((h|0)<(u|0)){do{r=A[g>>2]|0;u=h;h=h+1|0;p=r+(h<<3)|0;f=A[p+4>>2]|0;u=r+(u<<3)|0;A[u>>2]=A[p>>2];A[u+4>>2]=f;u=(A[c>>2]|0)+-1|0}while((h|0)<(u|0));r=A[a>>2]|0}A[c>>2]=u;a=A[s>>2]^1;s=r+(a*12|0)|0;a=r+(a*12|0)+4|0;c=A[a>>2]|0;e:do{if((c|0)>0){r=A[s>>2]|0;u=0;while(1){g=u+1|0;if((A[r+(u<<3)>>2]|0)==(t|0)){g=u;break e}if((g|0)<(c|0))u=g;else break}}else g=0}while(0);t=c+-1|0;if((g|0)<(t|0))do{h=A[s>>2]|0;t=g;g=g+1|0;p=h+(g<<3)|0;f=A[p+4>>2]|0;t=h+(t<<3)|0;A[t>>2]=A[p>>2];A[t+4>>2]=f;t=(A[a>>2]|0)+-1|0}while((g|0)<(t|0));A[a>>2]=t}if(!(A[i>>2]&4)){f=e+208|0;p=f;p=ai(A[p>>2]|0,A[p+4>>2]|0,-1,-1)|0;A[f>>2]=p;A[f+4>>2]=K;f=e+224|0;p=f;p=ii(A[p>>2]|0,A[p+4>>2]|0,(A[i>>2]|0)>>>5|0,0)|0;A[f>>2]=p;A[f+4>>2]=K;l=o;return}else{f=e+216|0;p=f;p=ai(A[p>>2]|0,A[p+4>>2]|0,-1,-1)|0;A[f>>2]=p;A[f+4>>2]=K;f=e+232|0;p=f;p=ii(A[p>>2]|0,A[p+4>>2]|0,(A[i>>2]|0)>>>5|0,0)|0;A[f>>2]=p;A[f+4>>2]=K;l=o;return}}function Lt(e,t){e=e|0;t=t|0;var r=0,i=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0;s=l;i=e+544|0;u=A[i>>2]|0;r=u+(t<<2)|0;Kt(e,t,0);u=A[u+(t+1<<2)>>2]|0;a=u>>1;u=(o[(A[e+332>>2]|0)+a>>0]|0)^u&1;p=n[528]|0;h=p&255;if((((u&255)<<24>>24==p<<24>>24&(h>>>1^1)|h&2&u|0)!=0?(c=(A[e+396>>2]|0)+(a<<3)|0,g=A[c>>2]|0,(g|0)!=-1):0)?((A[i>>2]|0)+(g<<2)|0)==(r|0):0)A[c>>2]=-1;A[r>>2]=A[r>>2]&-4|1;h=A[(A[i>>2]|0)+(t<<2)>>2]|0;p=e+556|0;A[p>>2]=((((h>>>3&1)+(h>>>5)<<2)+4|0)>>>2)+(A[p>>2]|0);l=s;return}function xt(e,t){e=e|0;t=t|0;var r=0,i=0,s=0,a=0,c=0,g=0,u=0;r=l;i=A[t>>2]|0;if(i>>>0<=31){g=0;l=r;return g|0}s=A[e+332>>2]|0;a=n[528]|0;c=a&255;g=c&2;c=c>>>1^1;e=0;while(1){u=A[t+(e<<2)+4>>2]|0;u=(o[s+(u>>1)>>0]|0)^u&1;e=e+1|0;if((u&255)<<24>>24==a<<24>>24&c|g&u){i=1;t=5;break}if((e|0)>=(i>>>5|0)){i=0;t=5;break}}if((t|0)==5){l=r;return i|0}return 0}function Pt(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0;o=l;r=e+296|0;if((A[r>>2]|0)<=(t|0)){l=o;return}i=e+284|0;I=A[i>>2]|0;a=e+292|0;E=A[a>>2]|0;m=A[E+(t<<2)>>2]|0;if((I|0)>(m|0)){C=e+280|0;u=e+332|0;g=e+88|0;c=e+348|0;h=e+460|0;f=e+476|0;d=e+472|0;p=e+380|0;do{I=I+-1|0;m=A[(A[C>>2]|0)+(I<<2)>>2]>>1;n[(A[u>>2]|0)+m>>0]=n[544]|0;E=A[g>>2]|0;if((E|0)<=1){if((E|0)==1?(I|0)>(A[(A[a>>2]|0)+((A[r>>2]|0)+-1<<2)>>2]|0):0)s=7}else s=7;if((s|0)==7){s=0;n[(A[c>>2]|0)+m>>0]=A[(A[C>>2]|0)+(I<<2)>>2]&1}if(!((A[f>>2]|0)>(m|0)?(A[(A[d>>2]|0)+(m<<2)>>2]|0)>-1:0))s=11;if((s|0)==11?(s=0,(n[(A[p>>2]|0)+m>>0]|0)!=0):0)Ar(h,m);E=A[a>>2]|0;m=A[E+(t<<2)>>2]|0}while((I|0)>(m|0));I=A[i>>2]|0}A[e+512>>2]=m;e=A[E+(t<<2)>>2]|0;if((I-e|0)>0)A[i>>2]=e;if(((A[r>>2]|0)-t|0)<=0){l=o;return}A[r>>2]=t;l=o;return}function Ut(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0,c=0,u=0,h=0,p=0,f=0,d=0.0,C=0;t=l;i=e+72|0;d=+g[i>>3]*1389796.0;d=d-+(~~(d/2147483647.0)|0)*2147483647.0;g[i>>3]=d;c=e+464|0;if(d/2147483647.0<+g[e+64>>3]?(u=A[c>>2]|0,(u|0)!=0):0){d=d*1389796.0;d=d-+(~~(d/2147483647.0)|0)*2147483647.0;g[i>>3]=d;u=A[(A[e+460>>2]|0)+(~~(+(u|0)*(d/2147483647.0))<<2)>>2]|0;p=n[(A[e+332>>2]|0)+u>>0]|0;h=n[544]|0;f=h&255;if(((f>>>1^1)&p<<24>>24==h<<24>>24|p&2&f|0)!=0?(n[(A[e+380>>2]|0)+u>>0]|0)!=0:0){f=e+176|0;p=f;p=ai(A[p>>2]|0,A[p+4>>2]|0,1,0)|0;A[f>>2]=p;A[f+4>>2]=K}}else u=-1;h=e+460|0;f=e+332|0;p=e+380|0;while(1){if(((u|0)!=-1?(C=n[(A[f>>2]|0)+u>>0]|0,s=n[544]|0,r=s&255,o=r>>>1^1,(o&C<<24>>24==s<<24>>24|C&2&r|0)!=0):0)?(n[(A[p>>2]|0)+u>>0]|0)!=0:0)break;if(!(A[c>>2]|0)){r=-2;a=17;break}u=lr(h)|0}if((a|0)==17){l=t;return r|0}c=n[(A[e+364>>2]|0)+u>>0]|0;a=c&255;if(!(o&c<<24>>24==s<<24>>24|r&2&a)){f=n[528]|0;C=f&255;C=((C>>>1^1)&c<<24>>24==f<<24>>24|a&2&C|0)!=0|u<<1;l=t;return C|0}if(!(n[e+92>>0]|0)){C=(n[(A[e+348>>2]|0)+u>>0]|0)!=0|u<<1;l=t;return C|0}else{d=+g[i>>3]*1389796.0;d=d-+(~~(d/2147483647.0)|0)*2147483647.0;g[i>>3]=d;C=d/2147483647.0<.5|u<<1;l=t;return C|0}return 0}function Tt(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var o=0,s=0,a=0,u=0,h=0,p=0,f=0,d=0,C=0.0,I=0,E=0,m=0,B=0,y=0,w=0,Q=0,v=0,b=0,D=0,S=0,k=0,M=0,N=0,F=0,R=0,L=0,x=0,P=0,U=0,T=0,O=0,Y=0,j=0,G=0,H=0,J=0.0,_=0;o=l;l=l+16|0;f=o+8|0;E=o+4|0;h=o;u=r+4|0;s=A[u>>2]|0;a=r+8|0;if((s|0)==(A[a>>2]|0)){d=(s>>1)+2&-2;d=(d|0)<2?2:d;if((d|0)>(2147483647-s|0)){H=Qe(1)|0;ze(H|0,48,0)}G=A[r>>2]|0;H=d+s|0;A[a>>2]=H;H=Yn(G,H<<2)|0;A[r>>2]=H;if((H|0)==0?(A[(Ge()|0)>>2]|0)==12:0){H=Qe(1)|0;ze(H|0,48,0)}s=A[u>>2]|0}a=(A[r>>2]|0)+(s<<2)|0;if(a){A[a>>2]=0;s=A[u>>2]|0}A[u>>2]=s+1;d=e+544|0;F=e+280|0;s=e+588|0;a=e+396|0;S=e+504|0;M=e+316|0;k=e+540|0;D=e+476|0;b=e+472|0;v=e+460|0;Q=e+488|0;w=e+296|0;B=e+496|0;y=e+272|0;N=e+268|0;L=-2;R=(A[e+284>>2]|0)+-1|0;x=0;do{P=A[d>>2]|0;t=P+(t<<2)|0;U=A[t>>2]|0;if((U&4|0)!=0?(C=+g[B>>3],H=t+(U>>>5<<2)+4|0,J=C+ +c[H>>2],c[H>>2]=J,J>1.0e20):0){O=A[y>>2]|0;if((O|0)>0){T=A[N>>2]|0;U=0;do{H=P+(A[T+(U<<2)>>2]<<2)|0;H=H+((A[H>>2]|0)>>>5<<2)+4|0;c[H>>2]=+c[H>>2]*1.0e-20;U=U+1|0}while((U|0)!=(O|0))}g[B>>3]=C*1.0e-20}L=(L|0)!=-2&1;if(L>>>0<(A[t>>2]|0)>>>5>>>0)do{U=A[t+(L<<2)+4>>2]|0;A[E>>2]=U;U=U>>1;P=(A[s>>2]|0)+U|0;do{if((n[P>>0]|0)==0?(A[(A[a>>2]|0)+(U<<3)+4>>2]|0)>0:0){O=A[M>>2]|0;H=O+(U<<3)|0;J=+g[S>>3]+ +g[H>>3];g[H>>3]=J;if(J>1.0e+100){Y=A[k>>2]|0;if((Y|0)>0){T=0;do{H=O+(T<<3)|0;g[H>>3]=+g[H>>3]*1.0e-100;T=T+1|0}while((T|0)!=(Y|0))}g[S>>3]=+g[S>>3]*1.0e-100}if((A[D>>2]|0)>(U|0)?(m=A[b>>2]|0,I=A[m+(U<<2)>>2]|0,(I|0)>-1):0){T=A[v>>2]|0;O=A[T+(I<<2)>>2]|0;e:do{if(!I)G=0;else{H=I;while(1){G=H;H=H+-1>>1;j=T+(H<<2)|0;Y=A[j>>2]|0;_=A[A[Q>>2]>>2]|0;if(!(+g[_+(O<<3)>>3]>+g[_+(Y<<3)>>3]))break e;A[T+(G<<2)>>2]=Y;A[m+(A[j>>2]<<2)>>2]=G;if(!H){G=0;break}}}}while(0);A[T+(G<<2)>>2]=O;A[m+(O<<2)>>2]=G}n[P>>0]=1;if((A[(A[a>>2]|0)+(U<<3)+4>>2]|0)<(A[w>>2]|0)){or(r,E);break}else{x=x+1|0;break}}}while(0);L=L+1|0}while((L|0)<((A[t>>2]|0)>>>5|0));t=A[F>>2]|0;P=A[s>>2]|0;do{L=R;R=R+-1|0;L=A[t+(L<<2)>>2]|0;T=L>>1;U=P+T|0}while((n[U>>0]|0)==0);t=A[(A[a>>2]|0)+(T<<3)>>2]|0;n[U>>0]=0;x=x+-1|0}while((x|0)>0);A[A[r>>2]>>2]=L^1;E=e+616|0;B=A[E>>2]|0;I=e+620|0;if(!B)y=A[I>>2]|0;else{A[I>>2]=0;y=0}m=A[u>>2]|0;if((y|0)<(m|0)){Q=e+624|0;w=A[Q>>2]|0;if((w|0)<(m|0)){_=m+1-w&-2;y=(w>>1)+2&-2;y=(_|0)>(y|0)?_:y;if((y|0)>(2147483647-w|0)){_=Qe(1)|0;ze(_|0,48,0)}_=y+w|0;A[Q>>2]=_;B=Yn(B,_<<2)|0;A[E>>2]=B;if((B|0)==0?(A[(Ge()|0)>>2]|0)==12:0){_=Qe(1)|0;ze(_|0,48,0)}}y=A[I>>2]|0;e:do{if((y|0)<(m|0))while(1){B=B+(y<<2)|0;if(B)A[B>>2]=0;y=y+1|0;if((y|0)==(m|0))break e;B=A[E>>2]|0}}while(0);A[I>>2]=m;m=A[u>>2]|0}if((m|0)>0){y=A[E>>2]|0;B=A[r>>2]|0;w=0;do{A[y+(w<<2)>>2]=A[B+(w<<2)>>2];w=w+1|0;m=A[u>>2]|0}while((w|0)<(m|0))}B=A[e+84>>2]|0;if((B|0)==1)if((m|0)>1){h=A[r>>2]|0;p=1;B=1;while(1){m=A[h+(p<<2)>>2]|0;f=A[a>>2]|0;y=A[f+(m>>1<<3)>>2]|0;e:do{if((y|0)!=-1){w=(A[d>>2]|0)+(y<<2)|0;Q=A[w>>2]|0;if(Q>>>0>63){y=A[s>>2]|0;v=1;while(1){_=A[w+(v<<2)+4>>2]>>1;if((n[y+_>>0]|0)==0?(A[f+(_<<3)+4>>2]|0)>0:0)break;v=v+1|0;if((v|0)>=(Q>>>5|0))break e}A[h+(B<<2)>>2]=m;B=B+1|0}}else{A[h+(B<<2)>>2]=m;B=B+1|0}}while(0);p=p+1|0;f=A[u>>2]|0;if((p|0)>=(f|0)){h=f;break}}}else{h=m;p=1;B=1}else if((B|0)==2)if((m|0)>1){d=1;B=1;do{y=A[r>>2]|0;m=A[y+(d<<2)>>2]|0;if((A[(A[a>>2]|0)+(m>>1<<3)>>2]|0)!=-1){A[h>>2]=m;A[f+0>>2]=A[h+0>>2];if(!(Ot(e,f)|0)){m=A[r>>2]|0;y=m;m=A[m+(d<<2)>>2]|0;p=62}}else p=62;if((p|0)==62){p=0;A[y+(B<<2)>>2]=m;B=B+1|0}d=d+1|0;m=A[u>>2]|0}while((d|0)<(m|0));h=m;p=d}else{h=m;p=1;B=1}else{h=m;p=m;B=m}_=e+240|0;H=_;H=ai(A[H>>2]|0,A[H+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;A[_>>2]=H;A[_+4>>2]=K;p=p-B|0;if((p|0)>0){h=h-p|0;A[u>>2]=h}_=e+248|0;H=_;H=ai(A[H>>2]|0,A[H+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;A[_>>2]=H;A[_+4>>2]=K;if((h|0)==1)r=0;else{r=A[r>>2]|0;if((h|0)>2){e=A[a>>2]|0;u=2;p=1;do{p=(A[e+(A[r+(u<<2)>>2]>>1<<3)+4>>2]|0)>(A[e+(A[r+(p<<2)>>2]>>1<<3)+4>>2]|0)?u:p;u=u+1|0}while((u|0)<(h|0))}else p=1;H=r+(p<<2)|0;_=A[H>>2]|0;r=r+4|0;A[H>>2]=A[r>>2];A[r>>2]=_;r=A[(A[a>>2]|0)+(_>>1<<3)+4>>2]|0}A[i>>2]=r;if((A[I>>2]|0)>0)i=0;else{l=o;return}do{n[(A[s>>2]|0)+(A[(A[E>>2]|0)+(i<<2)>>2]>>1)>>0]=0;i=i+1|0}while((i|0)<(A[I>>2]|0));l=o;return}function Ot(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0;r=l;h=A[t>>2]|0;g=e+396|0;d=A[g>>2]|0;c=e+544|0;I=(A[c>>2]|0)+(A[d+(h>>1<<3)>>2]<<2)|0;s=e+604|0;i=e+608|0;if(A[s>>2]|0)A[i>>2]=0;o=e+588|0;a=e+612|0;e=e+616|0;p=1;while(1){if(p>>>0<(A[I>>2]|0)>>>5>>>0){C=A[I+(p<<2)+4>>2]|0;f=C>>1;if((A[d+(f<<3)+4>>2]|0)!=0?(u=n[(A[o>>2]|0)+f>>0]|0,(u+-1<<24>>24&255)>=2):0){I=A[i>>2]|0;E=(I|0)==(A[a>>2]|0);if(u<<24>>24==3?1:(A[d+(f<<3)>>2]|0)==-1){c=8;break}if(E){d=(I>>1)+2&-2;d=(d|0)<2?2:d;if((d|0)>(2147483647-I|0)){c=24;break}m=A[s>>2]|0;E=d+I|0;A[a>>2]=E;E=Yn(m,E<<3)|0;A[s>>2]=E;if((E|0)==0?(A[(Ge()|0)>>2]|0)==12:0){c=24;break}I=A[i>>2]|0}A[i>>2]=I+1;d=(A[s>>2]|0)+(I<<3)|0;if(d){m=d;A[m>>2]=p;A[m+4>>2]=h}A[t>>2]=C;I=A[g>>2]|0;h=C;d=I;I=(A[c>>2]|0)+(A[I+(f<<3)>>2]<<2)|0;p=0}}else{h=(A[o>>2]|0)+(h>>1)|0;if(!(n[h>>0]|0)){n[h>>0]=2;or(e,t)}h=A[i>>2]|0;if(!h){i=1;c=34;break}m=h+-1|0;h=A[s>>2]|0;p=A[h+(m<<3)>>2]|0;h=A[h+(m<<3)+4>>2]|0;A[t>>2]=h;d=A[g>>2]|0;I=(A[c>>2]|0)+(A[d+(h>>1<<3)>>2]<<2)|0;A[i>>2]=m}p=p+1|0}if((c|0)==8){if(E){c=(I>>1)+2&-2;c=(c|0)<2?2:c;if((c|0)>(2147483647-I|0)){m=Qe(1)|0;ze(m|0,48,0)}E=A[s>>2]|0;m=c+I|0;A[a>>2]=m;m=Yn(E,m<<3)|0;A[s>>2]=m;if((m|0)==0?(A[(Ge()|0)>>2]|0)==12:0){m=Qe(1)|0;ze(m|0,48,0)}I=A[i>>2]|0}a=I+1|0;A[i>>2]=a;c=(A[s>>2]|0)+(I<<3)|0;if(c){a=c;A[a>>2]=0;A[a+4>>2]=h;a=A[i>>2]|0}if((a|0)>0)c=0;else{m=0;l=r;return m|0}do{g=(A[o>>2]|0)+(A[(A[s>>2]|0)+(c<<3)+4>>2]>>1)|0;if(!(n[g>>0]|0)){n[g>>0]=3;or(e,(A[s>>2]|0)+(c<<3)+4|0);a=A[i>>2]|0}c=c+1|0}while((c|0)<(a|0));i=0;l=r;return i|0}else if((c|0)==24)ze(Qe(1)|0,48,0);else if((c|0)==34){l=r;return i|0}return 0}function Yt(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0;a=l;l=l+32|0;s=a+16|0;o=a+12|0;c=a+8|0;i=a;h=r+20|0;g=r+16|0;if((A[h>>2]|0)>0){u=0;do{n[(A[r>>2]|0)+(A[(A[g>>2]|0)+(u<<2)>>2]|0)>>0]=0;u=u+1|0}while((u|0)<(A[h>>2]|0))}if(A[g>>2]|0)A[h>>2]=0;u=A[t>>2]|0;A[c>>2]=u;A[o>>2]=u;A[s+0>>2]=A[o+0>>2];ur(r,s,0);g=(A[r>>2]|0)+u|0;if(!(n[g>>0]|0)){n[g>>0]=1;or(r+16|0,c)}if(!(A[e+296>>2]|0)){l=a;return}t=u>>1;p=e+588|0;n[(A[p>>2]|0)+t>>0]=1;f=A[e+284>>2]|0;h=e+292|0;I=A[A[h>>2]>>2]|0;if((f|0)>(I|0)){c=e+280|0;g=e+396|0;u=r+16|0;e=e+544|0;do{f=f+-1|0;C=A[(A[c>>2]|0)+(f<<2)>>2]|0;d=C>>1;if(n[(A[p>>2]|0)+d>>0]|0){I=A[g>>2]|0;E=A[I+(d<<3)>>2]|0;e:do{if((E|0)==-1){C=C^1;A[i>>2]=C;A[o>>2]=C;A[s+0>>2]=A[o+0>>2];ur(r,s,0);C=(A[r>>2]|0)+C|0;if(!(n[C>>0]|0)){n[C>>0]=1;or(u,i)}}else{C=(A[e>>2]|0)+(E<<2)|0;E=A[C>>2]|0;if(E>>>0>63){m=1;while(1){B=A[C+(m<<2)+4>>2]>>1;if((A[I+(B<<3)+4>>2]|0)>0){n[(A[p>>2]|0)+B>>0]=1;E=A[C>>2]|0}m=m+1|0;if((m|0)>=(E>>>5|0))break e;I=A[g>>2]|0}}}}while(0);n[(A[p>>2]|0)+d>>0]=0;I=A[A[h>>2]>>2]|0}}while((f|0)>(I|0))}n[(A[p>>2]|0)+t>>0]=0;l=a;return}function jt(e){e=e|0;var t=0,r=0,i=0,s=0,a=0,u=0,h=0.0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0,Q=0,v=0;r=l;l=l+16|0;f=r+4|0;m=r;t=e+272|0;y=A[t>>2]|0;h=+g[e+496>>3]/+(y|0);s=e+544|0;a=e+268|0;B=A[a>>2]|0;A[m>>2]=s;A[f+0>>2]=A[m+0>>2];hr(B,y,f);f=A[t>>2]|0;if((f|0)>0){u=e+332|0;p=e+396|0;d=0;B=0;do{E=A[a>>2]|0;m=A[E+(d<<2)>>2]|0;y=A[s>>2]|0;C=y+(m<<2)|0;I=A[C>>2]|0;do{if(I>>>0>95){w=A[y+(m+1<<2)>>2]|0;y=w>>1;w=(o[(A[u>>2]|0)+y>>0]|0)^w&1;v=n[528]|0;Q=v&255;if(((w&255)<<24>>24==v<<24>>24&(Q>>>1^1)|Q&2&w|0)!=0?(v=A[(A[p>>2]|0)+(y<<3)>>2]|0,(v|0)!=-1&(v|0)==(m|0)):0){i=9;break}if((d|0)>=((f|0)/2|0|0)?!(+c[C+(I>>>5<<2)+4>>2]>2]=m;B=B+1|0}d=d+1|0;f=A[t>>2]|0}while((d|0)<(f|0))}else{d=0;B=0}i=d-B|0;if((i|0)>0)A[t>>2]=f-i;if(!(+((A[e+556>>2]|0)>>>0)>+g[e+96>>3]*+((A[e+548>>2]|0)>>>0))){l=r;return}ji[A[(A[e>>2]|0)+8>>2]&31](e);l=r;return}function Gt(e,t){e=e|0;t=t|0;var r=0,i=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0;r=l;i=t+4|0;u=A[i>>2]|0;if((u|0)>0){a=e+544|0;s=e+332|0;c=0;g=0;do{m=A[t>>2]|0;f=A[m+(c<<2)>>2]|0;u=(A[a>>2]|0)+(f<<2)|0;p=A[u>>2]|0;do{if(p>>>0>31){B=A[s>>2]|0;C=n[528]|0;d=C&255;y=d&2;d=d>>>1^1;I=p>>>5;E=0;do{w=A[u+(E<<2)+4>>2]|0;w=(o[B+(w>>1)>>0]|0)^w&1;E=E+1|0;if((w&255)<<24>>24==C<<24>>24&d|y&w){h=7;break}}while((E|0)<(I|0));if((h|0)==7){h=0;Lt(e,f);break}if(p>>>0>95){h=n[536]|0;d=p>>>5;f=2;do{C=u+(f<<2)+4|0;w=A[C>>2]|0;w=(o[(A[s>>2]|0)+(w>>1)>>0]|0)^w&1;y=h&255;if((w&255)<<24>>24==h<<24>>24&(y>>>1^1)|y&2&w){A[C>>2]=A[u+(d+-1<<2)+4>>2];p=A[u>>2]|0;if(p&8){p=p>>>5;A[u+(p+-1<<2)+4>>2]=A[u+(p<<2)+4>>2];p=A[u>>2]|0}p=p+-32|0;A[u>>2]=p;f=f+-1|0}f=f+1|0;d=p>>>5}while((f|0)<(d|0));f=A[t>>2]|0;m=f;f=A[f+(c<<2)>>2]|0;h=16}else h=16}else h=16}while(0);if((h|0)==16){h=0;A[m+(g<<2)>>2]=f;g=g+1|0}c=c+1|0;u=A[i>>2]|0}while((c|0)<(u|0))}else{c=0;g=0}t=c-g|0;if((t|0)<=0){l=r;return}A[i>>2]=u-t;l=r;return}function Ht(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0;o=l;l=l+16|0;r=o+4|0;s=o;A[r>>2]=0;t=r+4|0;A[t>>2]=0;i=r+8|0;A[i>>2]=0;A[s>>2]=0;a=e+540|0;h=A[a>>2]|0;if((h|0)>0){g=e+380|0;c=e+332|0;u=0;do{if((n[(A[g>>2]|0)+u>>0]|0)!=0?(f=n[(A[c>>2]|0)+u>>0]|0,d=n[544]|0,p=d&255,((p>>>1^1)&f<<24>>24==d<<24>>24|f&2&p|0)!=0):0){sr(r,s);h=A[a>>2]|0}u=u+1|0;A[s>>2]=u}while((u|0)<(h|0))}pr(e+460|0,r);e=A[r>>2]|0;if(!e){l=o;return}A[t>>2]=0;On(e);A[r>>2]=0;A[i>>2]=0;l=o;return}function Jt(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0,c=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0;t=l;i=e+492|0;if((n[i>>0]|0)!=0?(Ft(e)|0)==-1:0){i=e+284|0;o=e+516|0;if((A[i>>2]|0)==(A[o>>2]|0)){I=1;l=t;return I|0}s=e+520|0;I=s;C=A[I+4>>2]|0;if((C|0)>0|(C|0)==0&(A[I>>2]|0)>>>0>0){I=1;l=t;return I|0}Gt(e,e+268|0);if(n[e+536>>0]|0){Gt(e,e+256|0);c=e+564|0;a=e+568|0;if((A[a>>2]|0)>0){h=e+588|0;u=0;do{n[(A[h>>2]|0)+(A[(A[c>>2]|0)+(u<<2)>>2]|0)>>0]=1;u=u+1|0}while((u|0)<(A[a>>2]|0))}f=A[i>>2]|0;if((f|0)>0){u=A[e+280>>2]|0;h=A[e+588>>2]|0;d=0;p=0;do{C=A[u+(d<<2)>>2]|0;if(!(n[h+(C>>1)>>0]|0)){A[u+(p<<2)>>2]=C;f=A[i>>2]|0;p=p+1|0}d=d+1|0}while((d|0)<(f|0))}else{d=0;p=0}u=d-p|0;if((u|0)>0){f=f-u|0;A[i>>2]=f}A[e+512>>2]=f;e:do{if((A[a>>2]|0)>0){p=e+588|0;u=0;do{n[(A[p>>2]|0)+(A[(A[c>>2]|0)+(u<<2)>>2]|0)>>0]=0;u=u+1|0;h=A[a>>2]|0}while((u|0)<(h|0));if((h|0)>0){h=e+580|0;p=e+584|0;u=e+576|0;f=0;while(1){C=A[h>>2]|0;if((C|0)==(A[p>>2]|0)){d=(C>>1)+2&-2;d=(d|0)<2?2:d;if((d|0)>(2147483647-C|0)){r=28;break}I=A[u>>2]|0;d=d+C|0;A[p>>2]=d;d=Yn(I,d<<2)|0;A[u>>2]=d;if((d|0)==0?(A[(Ge()|0)>>2]|0)==12:0){r=28;break}C=A[h>>2]|0}else d=A[u>>2]|0;I=d+(C<<2)|0;if(I){A[I>>2]=0;C=A[h>>2]|0}A[h>>2]=C+1;I=A[c>>2]|0;A[d+(C<<2)>>2]=A[I+(f<<2)>>2];f=f+1|0;if((f|0)>=(A[a>>2]|0))break e}if((r|0)==28)ze(Qe(1)|0,48,0)}else r=21}else r=21}while(0);if((r|0)==21)I=A[c>>2]|0;if(I)A[a>>2]=0}if(+((A[e+556>>2]|0)>>>0)>+g[e+96>>3]*+((A[e+548>>2]|0)>>>0))ji[A[(A[e>>2]|0)+8>>2]&31](e);Ht(e);A[o>>2]=A[i>>2];C=e+224|0;I=e+232|0;C=ai(A[I>>2]|0,A[I+4>>2]|0,A[C>>2]|0,A[C+4>>2]|0)|0;I=s;A[I>>2]=C;A[I+4>>2]=K;I=1;l=t;return I|0}n[i>>0]=0;I=0;l=t;return I|0}function _t(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,s=0,a=0,u=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0,Q=0,v=0,b=0,D=0,S=0,k=0,M=0,N=0,F=0,R=0,L=0,x=0,P=0,U=0,T=0,O=0,Y=0,j=0,G=0,H=0,J=0,_=0,z=0,W=0,V=0,X=0,Z=0,$=0,ee=0,te=0,re=0,ne=0,ie=0,Ae=0.0,oe=0,se=0,ae=0,ce=0.0,ge=0,le=0,ue=0,he=0,pe=0,fe=0,de=0.0,Ce=0,Ie=0,Ee=0.0;u=l;l=l+64|0;Z=u;N=u+60|0;D=u+56|0;i=u+44|0;$=u+40|0;A[i>>2]=0;a=i+4|0;A[a>>2]=0;s=i+8|0;A[s>>2]=0;T=t+160|0;U=T;U=ai(A[U>>2]|0,A[U+4>>2]|0,1,0)|0;A[T>>2]=U;A[T+4>>2]=K;T=(r|0)<0;U=t+680|0;P=t+664|0;x=t+672|0;d=t+296|0;y=t+272|0;p=t+284|0;R=t+640|0;M=t+308|0;k=t+304|0;C=t+332|0;F=t+292|0;te=t+168|0;E=t+396|0;B=t+280|0;L=t+184|0;S=t+192|0;m=t+48|0;J=t+504|0;V=t+56|0;ee=t+496|0;re=t+656|0;O=t+144|0;Y=t+648|0;j=t+128|0;G=t+44|0;H=t+200|0;_=t+208|0;z=t+224|0;W=t+216|0;I=t+232|0;X=t+540|0;f=t+292|0;w=t+544|0;v=t+276|0;Q=t+268|0;b=t+268|0;ne=0;e:while(1){ie=T|(ne|0)<(r|0);while(1){oe=Ft(t)|0;if((oe|0)!=-1)break;if(!ie){oe=41;break e}if(n[U>>0]|0){oe=41;break e}oe=P;se=A[oe+4>>2]|0;if((se|0)>=0?(Ie=S,Ce=A[Ie+4>>2]|0,!(Ce>>>0>>0|((Ce|0)==(se|0)?(A[Ie>>2]|0)>>>0<(A[oe>>2]|0)>>>0:0))):0){oe=41;break e}oe=x;se=A[oe+4>>2]|0;if((se|0)>=0?(Ie=L,Ce=A[Ie+4>>2]|0,!(Ce>>>0>>0|((Ce|0)==(se|0)?(A[Ie>>2]|0)>>>0<(A[oe>>2]|0)>>>0:0))):0){oe=41;break e}if((A[d>>2]|0)==0?!(Jt(t)|0):0){oe=50;break e}if(+((A[y>>2]|0)-(A[p>>2]|0)|0)>=+g[R>>3])jt(t);while(1){oe=A[d>>2]|0;if((oe|0)>=(A[M>>2]|0)){oe=59;break}ge=A[(A[k>>2]|0)+(oe<<2)>>2]|0;se=o[(A[C>>2]|0)+(ge>>1)>>0]|0;Ie=se^ge&1;ae=Ie&255;fe=n[528]|0;Ce=fe&255;if(!(ae<<24>>24==fe<<24>>24&(Ce>>>1^1)|Ce&2&Ie)){oe=56;break}A[N>>2]=A[p>>2];sr(F,N)}if((oe|0)==56){oe=0;Ce=n[536]|0;Ie=Ce&255;if((Ie>>>1^1)&ae<<24>>24==Ce<<24>>24|se&2&Ie){oe=57;break e}if((ge|0)==-2)oe=59}if((oe|0)==59){Ie=te;Ie=ai(A[Ie>>2]|0,A[Ie+4>>2]|0,1,0)|0;ge=te;A[ge>>2]=Ie;A[ge+4>>2]=K;ge=Ut(t)|0;if((ge|0)==-2){oe=60;break e}}A[Z>>2]=A[p>>2];sr(F,Z);Ie=ge>>1;n[(A[C>>2]|0)+Ie>>0]=(ge&1^1)&255^1;Ce=A[d>>2]|0;Ie=(A[E>>2]|0)+(Ie<<3)|0;A[Ie>>2]=-1;A[Ie+4>>2]=Ce;Ie=A[p>>2]|0;A[p>>2]=Ie+1;A[(A[B>>2]|0)+(Ie<<2)>>2]=ge}Ce=S;Ce=ai(A[Ce>>2]|0,A[Ce+4>>2]|0,1,0)|0;Ie=S;A[Ie>>2]=Ce;A[Ie+4>>2]=K;ne=ne+1|0;if(!(A[d>>2]|0)){oe=5;break}if(A[i>>2]|0)A[a>>2]=0;Tt(t,oe,i,D);Pt(t,A[D>>2]|0);if((A[a>>2]|0)==1){Ce=A[A[i>>2]>>2]|0;Ie=Ce>>1;n[(A[C>>2]|0)+Ie>>0]=(Ce&1^1)&255^1;fe=A[d>>2]|0;Ie=(A[E>>2]|0)+(Ie<<3)|0;A[Ie>>2]=-1;A[Ie+4>>2]=fe;Ie=A[p>>2]|0;A[p>>2]=Ie+1;A[(A[B>>2]|0)+(Ie<<2)>>2]=Ce}else{ie=cr(w,i,1)|0;oe=A[y>>2]|0;if((oe|0)==(A[v>>2]|0)){se=(oe>>1)+2&-2;se=(se|0)<2?2:se;if((se|0)>(2147483647-oe|0)){oe=14;break}Ce=A[Q>>2]|0;Ie=se+oe|0;A[v>>2]=Ie;Ie=Yn(Ce,Ie<<2)|0;A[Q>>2]=Ie;if((Ie|0)==0?(A[(Ge()|0)>>2]|0)==12:0){oe=14;break}oe=A[y>>2]|0}A[y>>2]=oe+1;oe=(A[Q>>2]|0)+(oe<<2)|0;if(oe)A[oe>>2]=ie;Rt(t,ie);ae=A[w>>2]|0;Ie=ae+(ie<<2)|0;Ae=+g[ee>>3];Ie=Ie+((A[Ie>>2]|0)>>>5<<2)+4|0;Ee=Ae+ +c[Ie>>2];c[Ie>>2]=Ee;if(Ee>1.0e20){se=A[y>>2]|0;if((se|0)>0){oe=A[b>>2]|0;ge=0;do{Ie=ae+(A[oe+(ge<<2)>>2]<<2)|0;Ie=Ie+((A[Ie>>2]|0)>>>5<<2)+4|0;c[Ie>>2]=+c[Ie>>2]*1.0e-20;ge=ge+1|0}while((ge|0)!=(se|0))}g[ee>>3]=Ae*1.0e-20}Ce=A[A[i>>2]>>2]|0;Ie=Ce>>1;n[(A[C>>2]|0)+Ie>>0]=(Ce&1^1)&255^1;fe=A[d>>2]|0;Ie=(A[E>>2]|0)+(Ie<<3)|0;A[Ie>>2]=ie;A[Ie+4>>2]=fe;Ie=A[p>>2]|0;A[p>>2]=Ie+1;A[(A[B>>2]|0)+(Ie<<2)>>2]=Ce}g[J>>3]=1.0/+g[m>>3]*+g[J>>3];g[ee>>3]=1.0/+g[V>>3]*+g[ee>>3];Ie=(A[re>>2]|0)+-1|0;A[re>>2]=Ie;if(Ie)continue;Ae=+g[O>>3]*+g[Y>>3];g[Y>>3]=Ae;A[re>>2]=~~Ae;Ae=+g[j>>3]*+g[R>>3];g[R>>3]=Ae;if((A[G>>2]|0)<=0)continue;oe=A[S>>2]|0;ie=A[H>>2]|0;pe=A[d>>2]|0;if(!pe)se=p;else se=A[f>>2]|0;se=A[se>>2]|0;he=A[_>>2]|0;ue=A[z>>2]|0;le=A[W>>2]|0;ge=I;ae=A[ge>>2]|0;ge=A[ge+4>>2]|0;ce=+(A[X>>2]|0);de=1.0/ce;if((pe|0)<0)Ee=0.0;else{fe=0;Ee=0.0;while(1){if(!fe)Ce=0;else Ce=A[(A[f>>2]|0)+(fe+-1<<2)>>2]|0;if((fe|0)==(pe|0))Ie=p;else Ie=(A[f>>2]|0)+(fe<<2)|0;Ee=Ee+ +q(+de,+ +(fe|0))*+((A[Ie>>2]|0)-Ce|0);if((fe|0)==(pe|0))break;else fe=fe+1|0}}A[Z>>2]=oe;A[Z+4>>2]=ie-se;A[Z+8>>2]=he;A[Z+12>>2]=ue;A[Z+16>>2]=~~Ae;A[Z+20>>2]=le;Ie=Z+24|0;g[h>>3]=(+(ae>>>0)+4294967296.0*+(ge>>>0))/+(le|0);A[Ie>>2]=A[h>>2];A[Ie+4>>2]=A[h+4>>2];Ie=Z+32|0;g[h>>3]=Ee/ce*100.0;A[Ie>>2]=A[h>>2];A[Ie+4>>2]=A[h+4>>2];Oe(1832,Z|0)|0}if((oe|0)==5)n[e>>0]=n[536]|0;else if((oe|0)==14)ze(Qe(1)|0,48,0);else if((oe|0)==41){Ae=+(A[X>>2]|0);ce=1.0/Ae;C=A[d>>2]|0;if((C|0)<0)de=0.0;else{d=0;de=0.0;while(1){if(!d)I=0;else I=A[(A[f>>2]|0)+(d+-1<<2)>>2]|0;if((d|0)==(C|0))E=p;else E=(A[f>>2]|0)+(d<<2)|0;de=de+ +q(+ce,+ +(d|0))*+((A[E>>2]|0)-I|0);if((d|0)==(C|0))break;else d=d+1|0}}g[t+528>>3]=de/Ae;Pt(t,0);n[e>>0]=n[544]|0}else if((oe|0)==50)n[e>>0]=n[536]|0;else if((oe|0)==57){A[$>>2]=ge^1;Ie=t+16|0;A[Z+0>>2]=A[$+0>>2];Yt(t,Z,Ie);n[e>>0]=n[536]|0}else if((oe|0)==60)n[e>>0]=n[528]|0;e=A[i>>2]|0;if(!e){l=u;return}A[a>>2]=0;On(e);A[i>>2]=0;A[s>>2]=0;l=u;return}function qt(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0.0,y=0,w=0,Q=0,v=0.0,b=0,D=0;i=l;l=l+16|0;s=i;r=t+4|0;if(A[r>>2]|0)A[t+8>>2]=0;o=t+36|0;a=t+32|0;if((A[o>>2]|0)>0){c=t+16|0;u=0;do{n[(A[c>>2]|0)+(A[(A[a>>2]|0)+(u<<2)>>2]|0)>>0]=0;u=u+1|0}while((u|0)<(A[o>>2]|0))}if(A[a>>2]|0)A[o>>2]=0;a=t+492|0;if(!(n[a>>0]|0)){n[e>>0]=n[536]|0;l=i;return}c=t+152|0;Q=c;Q=ai(A[Q>>2]|0,A[Q+4>>2]|0,1,0)|0;A[c>>2]=Q;A[c+4>>2]=K;v=+g[t+120>>3]*+(A[t+208>>2]|0);c=t+640|0;g[c>>3]=v;B=+(A[t+104>>2]|0);if(v>3]=B;y=A[t+136>>2]|0;g[t+648>>3]=+(y|0);A[t+656>>2]=y;y=n[544]|0;c=t+44|0;if((A[c>>2]|0)>0){Te(2288)|0;Te(2368)|0;Te(2448)|0;Te(2528)|0;p=n[544]|0}else p=y;h=t+192|0;u=t+184|0;Q=p&255;e:do{if((Q>>>1^1)&y<<24>>24==p<<24>>24|y&2&Q){d=t+80|0;E=t+112|0;f=t+108|0;p=t+680|0;C=t+664|0;I=t+672|0;m=0;while(1){B=+g[E>>3];if(!(n[d>>0]|0))B=+q(+B,+ +(m|0));else{Q=m+1|0;if((m|0)>0){w=0;y=1;do{w=w+1|0;y=y<<1|1}while((y|0)<(Q|0));Q=y+-1|0}else{w=0;Q=0}if((Q|0)!=(m|0)){y=m;do{b=Q>>1;w=w+-1|0;y=(y|0)%(b|0)|0;Q=b+-1|0}while((Q|0)!=(y|0))}B=+q(+B,+ +(w|0))}_t(s,t,~~(B*+(A[f>>2]|0)));y=n[s>>0]|0;if(n[p>>0]|0)break e;Q=C;w=A[Q+4>>2]|0;if((w|0)>=0?(b=h,D=A[b+4>>2]|0,!(D>>>0>>0|((D|0)==(w|0)?(A[b>>2]|0)>>>0<(A[Q>>2]|0)>>>0:0))):0)break e;Q=I;w=A[Q+4>>2]|0;if((w|0)>=0?(D=u,b=A[D+4>>2]|0,!(b>>>0>>0|((b|0)==(w|0)?(A[D>>2]|0)>>>0<(A[Q>>2]|0)>>>0:0))):0)break e;b=n[544]|0;D=b&255;if(!((D>>>1^1)&y<<24>>24==b<<24>>24|y&2&D))break;else m=m+1|0}}}while(0);if((A[c>>2]|0)>0)Te(2528)|0;b=n[528]|0;D=b&255;s=y&2;if(!((D>>>1^1)&y<<24>>24==b<<24>>24|s&D)){b=n[536]|0;D=b&255;if(((D>>>1^1)&y<<24>>24==b<<24>>24|s&D|0)!=0?(A[o>>2]|0)==0:0)n[a>>0]=0}else{o=t+540|0;nr(r,A[o>>2]|0);if((A[o>>2]|0)>0){s=t+332|0;a=0;do{n[(A[r>>2]|0)+a>>0]=n[(A[s>>2]|0)+a>>0]|0;a=a+1|0}while((a|0)<(A[o>>2]|0))}}Pt(t,0);n[e>>0]=y;l=i;return}function zt(e,t){e=e|0;t=t|0;var r=0,i=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0;r=l;s=e+412|0;fr(s);c=e+540|0;if((A[c>>2]|0)>0){a=e+544|0;i=0;do{g=i<<1;h=A[s>>2]|0;u=h+(g*12|0)+4|0;if((A[u>>2]|0)>0){f=h+(g*12|0)|0;p=0;do{I=(A[f>>2]|0)+(p<<3)|0;h=A[I>>2]|0;d=A[a>>2]|0;C=d+(h<<2)|0;if(!(A[C>>2]&16)){E=dr(t,C)|0;A[I>>2]=E;A[C>>2]=A[C>>2]|16;A[d+(h+1<<2)>>2]=E}else A[I>>2]=A[d+(h+1<<2)>>2];p=p+1|0}while((p|0)<(A[u>>2]|0));u=A[s>>2]|0}else u=h;h=g|1;g=u+(h*12|0)+4|0;if((A[g>>2]|0)>0){C=u+(h*12|0)|0;d=0;do{u=(A[C>>2]|0)+(d<<3)|0;f=A[u>>2]|0;p=A[a>>2]|0;h=p+(f<<2)|0;if(!(A[h>>2]&16)){E=dr(t,h)|0;A[u>>2]=E;A[h>>2]=A[h>>2]|16;A[p+(f+1<<2)>>2]=E}else A[u>>2]=A[p+(f+1<<2)>>2];d=d+1|0}while((d|0)<(A[g>>2]|0))}i=i+1|0}while((i|0)<(A[c>>2]|0))}i=e+284|0;if((A[i>>2]|0)>0){g=e+280|0;c=e+396|0;a=e+544|0;s=e+332|0;u=0;do{C=A[c>>2]|0;f=C+(A[(A[g>>2]|0)+(u<<2)>>2]>>1<<3)|0;d=A[f>>2]|0;do{if((d|0)!=-1){E=A[a>>2]|0;I=E+(d<<2)|0;p=(A[I>>2]&16|0)==0;if(p){m=A[E+(d+1<<2)>>2]|0;h=m>>1;m=(o[(A[s>>2]|0)+h>>0]|0)^m&1;y=n[528]|0;B=y&255;if(!((m&255)<<24>>24==y<<24>>24&(B>>>1^1)|B&2&m))break;y=A[C+(h<<3)>>2]|0;if(!((y|0)!=-1&(y|0)==(d|0)))break;if(p){y=dr(t,I)|0;A[f>>2]=y;A[I>>2]=A[I>>2]|16;A[E+(d+1<<2)>>2]=y;break}}A[f>>2]=A[E+(d+1<<2)>>2]}}while(0);u=u+1|0}while((u|0)<(A[i>>2]|0))}i=e+272|0;h=A[i>>2]|0;if((h|0)>0){a=e+268|0;s=e+544|0;u=A[a>>2]|0;c=0;g=0;do{f=u+(c<<2)|0;p=A[f>>2]|0;C=A[s>>2]|0;d=C+(p<<2)|0;I=A[d>>2]|0;if((I&3|0)!=1){if(!(I&16)){h=dr(t,d)|0;A[f>>2]=h;A[d>>2]=A[d>>2]|16;A[C+(p+1<<2)>>2]=h;h=A[a>>2]|0;u=h;h=A[h+(c<<2)>>2]|0}else{h=A[C+(p+1<<2)>>2]|0;A[f>>2]=h}A[u+(g<<2)>>2]=h;h=A[i>>2]|0;g=g+1|0}c=c+1|0}while((c|0)<(h|0))}else{c=0;g=0}s=c-g|0;if((s|0)>0)A[i>>2]=h-s;i=e+260|0;u=A[i>>2]|0;if((u|0)>0){s=e+256|0;e=e+544|0;g=A[s>>2]|0;a=0;c=0;do{h=g+(a<<2)|0;f=A[h>>2]|0;p=A[e>>2]|0;C=p+(f<<2)|0;d=A[C>>2]|0;if((d&3|0)!=1){if(!(d&16)){u=dr(t,C)|0;A[h>>2]=u;A[C>>2]=A[C>>2]|16;A[p+(f+1<<2)>>2]=u;u=A[s>>2]|0;g=u;u=A[u+(a<<2)>>2]|0}else{u=A[p+(f+1<<2)>>2]|0;A[h>>2]=u}A[g+(c<<2)>>2]=u;u=A[i>>2]|0;c=c+1|0}a=a+1|0}while((a|0)<(u|0))}else{a=0;c=0}t=a-c|0;if((t|0)<=0){l=r;return}A[i>>2]=u-t;l=r;return}function Wt(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0,c=0;o=l;l=l+32|0;a=o;t=o+8|0;r=e+548|0;i=e+556|0;s=(A[r>>2]|0)-(A[i>>2]|0)|0;A[t+0>>2]=0;A[t+4>>2]=0;A[t+8>>2]=0;A[t+12>>2]=0;er(t,s);s=t+16|0;n[s>>0]=0;zt(e,t);if((A[e+44>>2]|0)>1){c=A[t+4>>2]<<2;A[a>>2]=A[r>>2]<<2;A[a+4>>2]=c;Oe(1888,a|0)|0}n[e+560>>0]=n[s>>0]|0;s=e+544|0;a=A[s>>2]|0;if(a)On(a);A[s>>2]=A[t>>2];A[r>>2]=A[t+4>>2];A[e+552>>2]=A[t+8>>2];A[i>>2]=A[t+12>>2];l=o;return}function Vt(){var e=0,t=0,r=0;e=l;l=l+16|0;t=e;n[528]=0;n[536]=1;n[544]=2;Ct(552,608,624,2136,2144);A[138]=2168;g[72]=0.0;g[73]=1.0;n[592]=0;n[593]=0;i[297]=i[t+0>>1]|0;i[298]=i[t+2>>1]|0;i[299]=i[t+4>>1]|0;g[75]=.95;Ct(664,720,736,2136,2144);A[166]=2168;g[86]=0.0;g[87]=1.0;n[704]=0;n[705]=0;i[353]=i[t+0>>1]|0;i[354]=i[t+2>>1]|0;i[355]=i[t+4>>1]|0;g[89]=.999;Ct(776,832,848,2136,2144);A[194]=2168;g[100]=0.0;g[101]=1.0;n[816]=1;n[817]=1;i[409]=i[t+0>>1]|0;i[410]=i[t+2>>1]|0;i[411]=i[t+4>>1]|0;g[103]=0.0;Ct(936,992,1008,2136,2144);A[234]=2168;g[120]=0.0;g[121]=Q;n[976]=0;n[977]=0;i[489]=i[t+0>>1]|0;i[490]=i[t+2>>1]|0;i[491]=i[t+4>>1]|0;g[123]=91648253.0;Ct(1048,1080,1096,2136,2016);A[262]=280;r=1068|0;A[r>>2]=0;A[r+4>>2]=2;A[269]=2;Ct(1160,1192,1208,2136,2016);A[290]=280;r=1180|0;A[r>>2]=0;A[r+4>>2]=2;A[297]=2;Ct(1272,1296,1312,2136,1992);A[318]=160;n[1292]=0;Ct(1344,1368,1376,2136,1992);A[336]=160;n[1364]=1;Ct(1408,1440,1448,2136,2016);A[352]=280;r=1428|0;A[r>>2]=1;A[r+4>>2]=2147483647;A[359]=100;Ct(1480,1536,1544,2136,2144);A[370]=2168;g[188]=1.0;g[189]=Q;n[1520]=0;n[1521]=0;i[761]=i[t+0>>1]|0;i[762]=i[t+2>>1]|0;i[763]=i[t+4>>1]|0;g[191]=2.0;Ct(1584,1640,1648,2136,2144);A[396]=2168;g[201]=0.0;g[202]=Q;n[1624]=0;n[1625]=0;i[813]=i[t+0>>1]|0;i[814]=i[t+2>>1]|0;i[815]=i[t+4>>1]|0;g[204]=.2;Ct(1728,1760,1776,2136,2016);A[432]=280;t=1748|0;A[t>>2]=0;A[t+4>>2]=2147483647;A[439]=0;l=e;return}function Xt(e){e=e|0;var t=0;t=l;gn(e);l=t;return}function Zt(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,u=0,h=0,p=0,f=0.0,d=0.0;r=l;l=l+16|0;s=r;o=r+8|0;if((n[t>>0]|0)!=45){p=0;l=r;return p|0}u=t+1|0;i=e+4|0;a=A[i>>2]|0;c=n[a>>0]|0;e:do{if(c<<24>>24){h=0;while(1){p=h;h=h+1|0;if((n[u>>0]|0)!=c<<24>>24){e=0;break}c=n[a+h>>0]|0;u=t+(p+2)|0;if(!(c<<24>>24))break e}l=r;return e|0}}while(0);if((n[u>>0]|0)!=61){p=0;l=r;return p|0}a=u+1|0;f=+Xn(a,o);if(!(A[o>>2]|0)){p=0;l=r;return p|0}d=+g[e+32>>3];if(f>=d?(n[e+41>>0]|0)==0|f!=d:0){p=A[I>>2]|0;h=A[i>>2]|0;A[s>>2]=a;A[s+4>>2]=h;et(p|0,2024,s|0)|0;nt(1)}d=+g[e+24>>3];if(f<=d?(n[e+40>>0]|0)==0|f!=d:0){p=A[I>>2]|0;h=A[i>>2]|0;A[s>>2]=a;A[s+4>>2]=h;et(p|0,2080,s|0)|0;nt(1)}g[e+48>>3]=f;p=1;l=r;return p|0}function $t(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0.0,c=0,u=0.0,p=0.0,f=0;r=l;l=l+48|0;i=r;o=A[I>>2]|0;f=A[e+16>>2]|0;c=(n[e+40>>0]|0)!=0?91:40;p=+g[e+24>>3];u=+g[e+32>>3];s=(n[e+41>>0]|0)!=0?93:41;a=+g[e+48>>3];A[i>>2]=A[e+4>>2];A[i+4>>2]=f;A[i+8>>2]=c;c=i+12|0;g[h>>3]=p;A[c>>2]=A[h>>2];A[c+4>>2]=A[h+4>>2];c=i+20|0;g[h>>3]=u;A[c>>2]=A[h>>2];A[c+4>>2]=A[h+4>>2];A[i+28>>2]=s;s=i+32|0;g[h>>3]=a;A[s>>2]=A[h>>2];A[s+4>>2]=A[h+4>>2];et(o|0,2232,i|0)|0;if(!t){l=r;return}A[i>>2]=A[e+8>>2];et(o|0,2e3,i|0)|0;qe(10,o|0)|0;l=r;return}function er(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0;r=l;n=e+8|0;i=A[n>>2]|0;if(i>>>0>>0)s=i;else{l=r;return}while(1){if(s>>>0>=t>>>0)break;s=((s>>>3)+2+(s>>>1)&-2)+s|0;A[n>>2]=s;if(s>>>0<=i>>>0){o=4;break}}if((o|0)==4)ze(Qe(1)|0,48,0);n=Yn(A[e>>2]|0,s<<2)|0;if((n|0)==0?(A[(Ge()|0)>>2]|0)==12:0)ze(Qe(1)|0,48,0);A[e>>2]=n;l=r;return}function tr(e){e=e|0;var t=0,r=0,n=0,i=0,o=0,s=0,a=0;t=l;n=e+32|0;r=A[n>>2]|0;if(r){A[e+36>>2]=0;On(r);A[n>>2]=0;A[e+40>>2]=0}n=e+16|0;r=A[n>>2]|0;if(r){A[e+20>>2]=0;On(r);A[n>>2]=0;A[e+24>>2]=0}n=A[e>>2]|0;if(!n){l=t;return}r=e+4|0;o=A[r>>2]|0;if((o|0)>0){i=0;do{a=n+(i*12|0)|0;s=A[a>>2]|0;if(s){A[n+(i*12|0)+4>>2]=0;On(s);A[a>>2]=0;A[n+(i*12|0)+8>>2]=0;n=A[e>>2]|0;o=A[r>>2]|0}i=i+1|0}while((i|0)<(o|0))}A[r>>2]=0;On(n);A[e>>2]=0;A[e+8>>2]=0;l=t;return}function rr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0;i=l;l=l+16|0;n=i+4|0;r=i;g=A[t>>2]|0;s=g+1|0;o=e+4|0;if((A[o>>2]|0)<(s|0)){c=e+8|0;a=A[c>>2]|0;if((a|0)<(s|0)){u=g+2-a&-2;g=(a>>1)+2&-2;g=(u|0)>(g|0)?u:g;if((g|0)>(2147483647-a|0)){u=Qe(1)|0;ze(u|0,48,0)}h=A[e>>2]|0;u=g+a|0;A[c>>2]=u;u=Yn(h,u*12|0)|0;A[e>>2]=u;if((u|0)==0?(A[(Ge()|0)>>2]|0)==12:0){h=Qe(1)|0;ze(h|0,48,0)}}c=A[o>>2]|0;if((c|0)<(s|0)){a=A[e>>2]|0;do{g=a+(c*12|0)|0;if(g){A[g>>2]=0;A[a+(c*12|0)+4>>2]=0;A[a+(c*12|0)+8>>2]=0}c=c+1|0}while((c|0)!=(s|0))}A[o>>2]=s;g=A[t>>2]|0}o=A[e>>2]|0;if(!(A[o+(g*12|0)>>2]|0)){u=g;h=e+16|0;A[r>>2]=u;A[n+0>>2]=A[r+0>>2];ur(h,n,0);l=i;return}A[o+(g*12|0)+4>>2]=0;u=A[t>>2]|0;h=e+16|0;A[r>>2]=u;A[n+0>>2]=A[r+0>>2];ur(h,n,0);l=i;return}function nr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0;i=l;r=e+4|0;if((A[r>>2]|0)>=(t|0)){l=i;return}s=e+8|0;o=A[s>>2]|0;if((o|0)<(t|0)){c=t+1-o&-2;a=(o>>1)+2&-2;a=(c|0)>(a|0)?c:a;if((a|0)>(2147483647-o|0)){c=Qe(1)|0;ze(c|0,48,0)}g=A[e>>2]|0;c=a+o|0;A[s>>2]=c;c=Yn(g,c)|0;A[e>>2]=c;if((c|0)==0?(A[(Ge()|0)>>2]|0)==12:0){g=Qe(1)|0;ze(g|0,48,0)}}o=A[r>>2]|0;if((o|0)<(t|0)){e=A[e>>2]|0;do{s=e+o|0;if(s)n[s>>0]=0;o=o+1|0}while((o|0)!=(t|0))}A[r>>2]=t;l=i;return}function ir(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0;s=l;o=t+1|0;i=e+4|0;if((A[i>>2]|0)>=(o|0)){g=A[e>>2]|0;g=g+t|0;n[g>>0]=r;l=s;return}c=e+8|0;a=A[c>>2]|0;if((a|0)<(o|0)){u=t+2-a&-2;g=(a>>1)+2&-2;g=(u|0)>(g|0)?u:g;if((g|0)>(2147483647-a|0)){u=Qe(1)|0;ze(u|0,48,0)}h=A[e>>2]|0;u=g+a|0;A[c>>2]=u;u=Yn(h,u)|0;A[e>>2]=u;if((u|0)==0?(A[(Ge()|0)>>2]|0)==12:0){h=Qe(1)|0;ze(h|0,48,0)}}a=A[i>>2]|0;if((a|0)<(o|0))do{c=(A[e>>2]|0)+a|0;if(c)n[c>>0]=0;a=a+1|0}while((a|0)!=(o|0));A[i>>2]=o;h=A[e>>2]|0;h=h+t|0;n[h>>0]=r;l=s;return}function Ar(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0,u=0,h=0,p=0;r=l;l=l+16|0;o=r;A[o>>2]=t;s=e+12|0;i=t+1|0;n=e+16|0;if((A[n>>2]|0)<(i|0)){c=e+20|0;a=A[c>>2]|0;if((a|0)<(i|0)){h=t+2-a&-2;u=(a>>1)+2&-2;u=(h|0)>(u|0)?h:u;if((u|0)>(2147483647-a|0)){h=Qe(1)|0;ze(h|0,48,0)}p=A[s>>2]|0;h=u+a|0;A[c>>2]=h;h=Yn(p,h<<2)|0;A[s>>2]=h;if((h|0)==0?(A[(Ge()|0)>>2]|0)==12:0){p=Qe(1)|0;ze(p|0,48,0)}}a=A[n>>2]|0;if((i|0)>(a|0))Ai((A[s>>2]|0)+(a<<2)|0,-1,i-a<<2|0)|0;A[n>>2]=i}A[(A[s>>2]|0)+(t<<2)>>2]=A[e+4>>2];sr(e,o);n=A[s>>2]|0;o=A[n+(t<<2)>>2]|0;t=A[e>>2]|0;i=A[t+(o<<2)>>2]|0;if(!o){h=0;p=t+(h<<2)|0;A[p>>2]=i;p=n+(i<<2)|0;A[p>>2]=h;l=r;return}e=e+28|0;while(1){s=o;o=o+-1>>1;a=t+(o<<2)|0;c=A[a>>2]|0;p=A[A[e>>2]>>2]|0;if(!(+g[p+(i<<3)>>3]>+g[p+(c<<3)>>3])){e=14;break}A[t+(s<<2)>>2]=c;A[n+(A[a>>2]<<2)>>2]=s;if(!o){s=0;e=14;break}}if((e|0)==14){p=t+(s<<2)|0;A[p>>2]=i;p=n+(i<<2)|0;A[p>>2]=s;l=r;return}}function or(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0;r=l;n=e+4|0;i=A[n>>2]|0;o=e+8|0;s=A[o>>2]|0;if((i|0)==(s|0)&(s|0)<(i+1|0)){s=(i>>1)+2&-2;s=(s|0)<2?2:s;if((s|0)>(2147483647-i|0)){s=Qe(1)|0;ze(s|0,48,0)}a=A[e>>2]|0;i=s+i|0;A[o>>2]=i;i=Yn(a,i<<2)|0;A[e>>2]=i;if((i|0)==0?(A[(Ge()|0)>>2]|0)==12:0){a=Qe(1)|0;ze(a|0,48,0)}}else i=A[e>>2]|0;a=A[n>>2]|0;A[n>>2]=a+1;n=i+(a<<2)|0;if(!n){l=r;return}A[n>>2]=A[t>>2];l=r;return}function sr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0;r=l;n=e+4|0;i=A[n>>2]|0;o=e+8|0;s=A[o>>2]|0;if((i|0)==(s|0)&(s|0)<(i+1|0)){s=(i>>1)+2&-2;s=(s|0)<2?2:s;if((s|0)>(2147483647-i|0)){s=Qe(1)|0;ze(s|0,48,0)}a=A[e>>2]|0;i=s+i|0;A[o>>2]=i;i=Yn(a,i<<2)|0;A[e>>2]=i;if((i|0)==0?(A[(Ge()|0)>>2]|0)==12:0){a=Qe(1)|0;ze(a|0,48,0)}}else i=A[e>>2]|0;a=A[n>>2]|0;A[n>>2]=a+1;n=i+(a<<2)|0;if(!n){l=r;return}A[n>>2]=A[t>>2];l=r;return}function ar(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0;r=l;l=l+16|0;i=r+2|0;s=r+1|0;o=r;if((t|0)<16){o=t+-1|0;if((o|0)>0)s=0;else{l=r;return}do{i=s;s=s+1|0;if((s|0)<(t|0)){c=i;a=s;do{c=(A[e+(a<<2)>>2]|0)<(A[e+(c<<2)>>2]|0)?a:c;a=a+1|0}while((a|0)!=(t|0))}else c=i;h=e+(i<<2)|0;p=A[h>>2]|0;f=e+(c<<2)|0;A[h>>2]=A[f>>2];A[f>>2]=p}while((s|0)!=(o|0));l=r;return}a=A[e+(((t|0)/2|0)<<2)>>2]|0;u=-1;h=t;while(1){do{u=u+1|0;g=e+(u<<2)|0;c=A[g>>2]|0}while((c|0)<(a|0));do{h=h+-1|0;p=e+(h<<2)|0;f=A[p>>2]|0}while((a|0)<(f|0));if((u|0)>=(h|0))break;A[g>>2]=f;A[p>>2]=c}n[i+0>>0]=n[s+0>>0]|0;ar(e,u,i);f=t-u|0;n[i+0>>0]=n[o+0>>0]|0;ar(g,f,i);l=r;return}function cr(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0,s=0,a=0,g=0,u=0;n=l;a=r&1;s=o[e+16>>0]|0|a;i=t+4|0;g=((s+(A[i>>2]|0)<<2)+4|0)>>>2;u=e+4|0;er(e,g+(A[u>>2]|0)|0);r=A[u>>2]|0;g=g+r|0;A[u>>2]=g;if(g>>>0>>0)ze(Qe(1)|0,48,0);e=(A[e>>2]|0)+(r<<2)|0;if(!e){l=n;return r|0}s=s<<3|a<<2;A[e>>2]=A[e>>2]&-32|s;s=A[i>>2]<<5|s;A[e>>2]=s;if((A[i>>2]|0)>0){s=A[t>>2]|0;t=0;do{A[e+(t<<2)+4>>2]=A[s+(t<<2)>>2];t=t+1|0}while((t|0)<(A[i>>2]|0));s=A[e>>2]|0}if(!(s&8)){l=n;return r|0}i=s>>>5;if(s&4){c[e+(i<<2)+4>>2]=0.0;l=n;return r|0}if(!i){i=0;s=0}else{s=0;t=0;do{s=1<<((A[e+(t<<2)+4>>2]|0)>>>1&31)|s;t=t+1|0}while((t|0)<(i|0))}A[e+(i<<2)+4>>2]=s;l=n;return r|0}function gr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0;r=l;n=e+4|0;i=A[n>>2]|0;o=e+8|0;s=A[o>>2]|0;if((i|0)==(s|0)&(s|0)<(i+1|0)){s=(i>>1)+2&-2;s=(s|0)<2?2:s;if((s|0)>(2147483647-i|0)){s=Qe(1)|0;ze(s|0,48,0)}a=A[e>>2]|0;i=s+i|0;A[o>>2]=i;i=Yn(a,i<<3)|0;A[e>>2]=i;if((i|0)==0?(A[(Ge()|0)>>2]|0)==12:0){a=Qe(1)|0;ze(a|0,48,0)}}else i=A[e>>2]|0;a=A[n>>2]|0;A[n>>2]=a+1;n=i+(a<<3)|0;if(!n){l=r;return}o=t;s=A[o+4>>2]|0;a=n;A[a>>2]=A[o>>2];A[a+4>>2]=s;l=r;return}function lr(e){e=e|0;var t=0,r=0,n=0,i=0,o=0,s=0,a=0,c=0,u=0,h=0,p=0,f=0,d=0.0,C=0.0,I=0;t=l;r=A[e>>2]|0;i=A[r>>2]|0;a=e+4|0;p=A[r+((A[a>>2]|0)+-1<<2)>>2]|0;A[r>>2]=p;n=A[e+12>>2]|0;A[n+(p<<2)>>2]=0;A[n+(i<<2)>>2]=-1;p=(A[a>>2]|0)+-1|0;A[a>>2]=p;if((p|0)<=1){l=t;return i|0}o=A[r>>2]|0;c=e+28|0;e=0;u=1;while(1){h=(e<<1)+2|0;if((h|0)<(p|0)){f=A[r+(h<<2)>>2]|0;I=A[r+(u<<2)>>2]|0;p=A[A[c>>2]>>2]|0;d=+g[p+(f<<3)>>3];C=+g[p+(I<<3)>>3];if(!(d>C)){f=I;d=C;s=6}}else{p=A[A[c>>2]>>2]|0;s=A[r+(u<<2)>>2]|0;f=s;d=+g[p+(s<<3)>>3];s=6}if((s|0)==6){s=0;h=u}if(!(d>+g[p+(o<<3)>>3]))break;A[r+(e<<2)>>2]=f;A[n+(f<<2)>>2]=e;u=h<<1|1;p=A[a>>2]|0;if((u|0)>=(p|0)){e=h;break}else e=h}A[r+(e<<2)>>2]=o;A[n+(o<<2)>>2]=e;l=t;return i|0}function ur(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,o=0,s=0,a=0,c=0,g=0,u=0;i=l;c=A[t>>2]|0;t=c+1|0;o=e+4|0;if((A[o>>2]|0)>=(t|0)){l=i;return}a=e+8|0;s=A[a>>2]|0;if((s|0)<(t|0)){g=c+2-s&-2;c=(s>>1)+2&-2;c=(g|0)>(c|0)?g:c;if((c|0)>(2147483647-s|0)){g=Qe(1)|0;ze(g|0,48,0)}u=A[e>>2]|0;g=c+s|0;A[a>>2]=g;g=Yn(u,g)|0;A[e>>2]=g;if((g|0)==0?(A[(Ge()|0)>>2]|0)==12:0){u=Qe(1)|0;ze(u|0,48,0)}}s=A[o>>2]|0;if((s|0)<(t|0))do{n[(A[e>>2]|0)+s>>0]=r;s=s+1|0}while((s|0)!=(t|0));A[o>>2]=t;l=i;return}function hr(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0,o=0,s=0,a=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0;n=l;l=l+16|0;o=n+8|0;i=n+4|0;s=n;if((t|0)<16){i=t+-1|0;if((i|0)<=0){l=n;return}o=A[r>>2]|0;r=0;do{s=r;r=r+1|0;if((r|0)<(t|0)){a=A[o>>2]|0;u=s;g=r;do{h=a+(A[e+(g<<2)>>2]<<2)|0;m=A[h>>2]|0;d=m>>>5;if(m>>>0>95){p=a+(A[e+(u<<2)>>2]<<2)|0;f=(A[p>>2]|0)>>>5;if((f|0)==2)u=g;else u=+c[h+(d<<2)+4>>2]<+c[p+(f<<2)+4>>2]?g:u}g=g+1|0}while((g|0)!=(t|0))}else u=s;I=e+(s<<2)|0;E=A[I>>2]|0;m=e+(u<<2)|0;A[I>>2]=A[m>>2];A[m>>2]=E}while((r|0)!=(i|0));l=n;return}a=A[e+(((t|0)/2|0)<<2)>>2]|0;d=-1;p=t;while(1){E=d+1|0;f=e+(E<<2)|0;m=A[f>>2]|0;g=A[r>>2]|0;u=A[g>>2]|0;I=u+(m<<2)|0;C=A[I>>2]|0;d=u+(a<<2)|0;h=A[d>>2]|0;e:do{if(C>>>0>95)while(1){B=h>>>5;if((B|0)!=2?!(+c[I+(C>>>5<<2)+4>>2]<+c[d+(B<<2)+4>>2]):0){d=E;break e}E=E+1|0;f=e+(E<<2)|0;m=A[f>>2]|0;I=u+(m<<2)|0;C=A[I>>2]|0;if(C>>>0<=95){d=E;break}}else d=E}while(0);p=p+-1|0;I=e+(p<<2)|0;C=u+(a<<2)|0;e:do{if(h>>>0>95)while(1){E=u+(A[I>>2]<<2)|0;B=(A[E>>2]|0)>>>5;if((B|0)!=2?!(+c[C+(h>>>5<<2)+4>>2]<+c[E+(B<<2)+4>>2]):0)break e;B=p+-1|0;I=e+(B<<2)|0;p=B}}while(0);if((d|0)>=(p|0))break;A[f>>2]=A[I>>2];A[I>>2]=m}A[i>>2]=g;A[o+0>>2]=A[i+0>>2];hr(e,d,o);B=t-d|0;A[s>>2]=g;A[o+0>>2]=A[s+0>>2];hr(f,B,o);l=n;return}function pr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0,u=0,h=0,p=0,f=0,d=0.0,C=0.0,I=0;n=l;i=e+4|0;s=A[i>>2]|0;o=A[e>>2]|0;if((s|0)>0){c=A[e+12>>2]|0;a=0;do{A[c+(A[o+(a<<2)>>2]<<2)>>2]=-1;a=a+1|0;s=A[i>>2]|0}while((a|0)<(s|0))}if(o){A[i>>2]=0;s=0}o=t+4|0;if((A[o>>2]|0)>0){a=e+12|0;s=0;do{I=(A[t>>2]|0)+(s<<2)|0;A[(A[a>>2]|0)+(A[I>>2]<<2)>>2]=s;sr(e,I);s=s+1|0}while((s|0)<(A[o>>2]|0));s=A[i>>2]|0}if((s|0)<=1){l=n;return}o=A[e>>2]|0;t=e+28|0;e=e+12|0;p=s;a=(s|0)/2|0;while(1){a=a+-1|0;s=A[o+(a<<2)>>2]|0;u=a<<1|1;e:do{if((u|0)<(p|0)){c=a;while(1){h=(c<<1)+2|0;if((h|0)<(p|0)){f=A[o+(h<<2)>>2]|0;I=A[o+(u<<2)>>2]|0;p=A[A[t>>2]>>2]|0;d=+g[p+(f<<3)>>3];C=+g[p+(I<<3)>>3];if(!(d>C)){f=I;d=C;r=16}}else{p=A[A[t>>2]>>2]|0;r=A[o+(u<<2)>>2]|0;f=r;d=+g[p+(r<<3)>>3];r=16}if((r|0)==16){r=0;h=u}if(!(d>+g[p+(s<<3)>>3]))break e;A[o+(c<<2)>>2]=f;A[(A[e>>2]|0)+(f<<2)>>2]=c;u=h<<1|1;p=A[i>>2]|0;if((u|0)>=(p|0)){c=h;break}else c=h}}else c=a}while(0);A[o+(c<<2)>>2]=s;A[(A[e>>2]|0)+(s<<2)>>2]=c;if((a|0)<=0)break;p=A[i>>2]|0}l=n;return}function fr(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0;r=l;t=e+36|0;g=A[t>>2]|0;i=e+32|0;h=A[i>>2]|0;if((g|0)>0){s=e+16|0;o=e+44|0;a=0;do{c=h+(a<<2)|0;u=A[c>>2]|0;if(n[(A[s>>2]|0)+u>>0]|0){h=A[e>>2]|0;g=h+(u*12|0)+4|0;f=A[g>>2]|0;if((f|0)>0){u=h+(u*12|0)|0;h=0;p=0;do{d=A[u>>2]|0;C=d+(h<<3)|0;if((A[(A[A[o>>2]>>2]|0)+(A[C>>2]<<2)>>2]&3|0)!=1){I=C;C=A[I+4>>2]|0;f=d+(p<<3)|0;A[f>>2]=A[I>>2];A[f+4>>2]=C;f=A[g>>2]|0;p=p+1|0}h=h+1|0}while((h|0)<(f|0))}else{h=0;p=0}u=h-p|0;if((u|0)>0)A[g>>2]=f-u;n[(A[s>>2]|0)+(A[c>>2]|0)>>0]=0;g=A[t>>2]|0;h=A[i>>2]|0}a=a+1|0}while((a|0)<(g|0))}if(!h){l=r;return}A[t>>2]=0;l=r;return}function dr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,s=0,a=0;n=l;s=A[t>>2]|0;i=s>>>2&1|(o[e+16>>0]|0);s=((i+(s>>>5)<<2)+4|0)>>>2;a=e+4|0;er(e,s+(A[a>>2]|0)|0);r=A[a>>2]|0;s=s+r|0;A[a>>2]=s;if(s>>>0>>0)ze(Qe(1)|0,48,0);e=(A[e>>2]|0)+(r<<2)|0;if(!e){l=n;return r|0}i=A[t>>2]&-9|i<<3;A[e>>2]=i;if((A[t>>2]|0)>>>0>31){i=0;do{A[e+(i<<2)+4>>2]=A[t+(i<<2)+4>>2];i=i+1|0}while((i|0)<((A[t>>2]|0)>>>5|0));i=A[e>>2]|0}if(!(i&8)){l=n;return r|0}s=i>>>5;t=t+(s<<2)+4|0;if(!(i&4)){A[e+(s<<2)+4>>2]=A[t>>2];l=n;return r|0}else{c[e+(s<<2)+4>>2]=+c[t>>2];l=n;return r|0}return 0}function Cr(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0;t=l;l=l+16|0;o=t;bt(e);A[e>>2]=3424;A[e+684>>2]=A[719];A[e+688>>2]=A[747];A[e+692>>2]=A[785];g[e+696>>3]=+g[411];n[e+704>>0]=n[2652]|0;n[e+705>>0]=n[2724]|0;n[e+706>>0]=n[2804]|0;n[e+707>>0]=1;A[e+708>>2]=0;A[e+712>>2]=0;A[e+716>>2]=0;A[e+720>>2]=1;n[e+724>>0]=1;r=e+732|0;a=e+544|0;A[e+760>>2]=0;A[e+764>>2]=0;A[e+768>>2]=0;A[e+776>>2]=0;A[e+780>>2]=0;A[e+784>>2]=0;A[e+792>>2]=0;A[e+796>>2]=0;A[e+800>>2]=0;s=e+804|0;A[r+0>>2]=0;A[r+4>>2]=0;A[r+8>>2]=0;A[r+12>>2]=0;A[r+16>>2]=0;A[r+20>>2]=0;A[s>>2]=a;s=e+808|0;A[s>>2]=0;A[e+812>>2]=0;A[e+816>>2]=0;r=e+824|0;A[r+0>>2]=0;A[r+4>>2]=0;A[r+8>>2]=0;A[r+12>>2]=0;A[r+16>>2]=0;A[r+20>>2]=0;A[e+852>>2]=s;xr(e+856|0,1);s=e+868|0;r=e+892|0;A[e+920>>2]=0;A[e+924>>2]=0;A[s+0>>2]=0;A[s+4>>2]=0;A[s+8>>2]=0;A[s+12>>2]=0;A[s+16>>2]=0;A[r+0>>2]=0;A[r+4>>2]=0;A[r+8>>2]=0;A[r+12>>2]=0;A[r+16>>2]=0;A[r+20>>2]=0;r=o+4|0;A[r>>2]=0;s=o+8|0;A[s>>2]=2;i=Yn(0,8)|0;A[o>>2]=i;if((i|0)==0?(A[(Ge()|0)>>2]|0)==12:0)ze(Qe(1)|0,48,0);A[i>>2]=-2;A[r>>2]=1;n[e+560>>0]=1;A[e+928>>2]=cr(a,o,0)|0;n[e+536>>0]=0;if(!i){l=t;return}A[r>>2]=0;On(i);A[o>>2]=0;A[s>>2]=0;l=t;return}function Ir(e){e=e|0;var t=0;t=l;Er(e);gn(e);l=t;return}function Er(e){e=e|0;var t=0,r=0,n=0;t=l;A[e>>2]=3424;r=e+904|0;n=A[r>>2]|0;if(n){A[e+908>>2]=0;On(n);A[r>>2]=0;A[e+912>>2]=0}r=e+892|0;n=A[r>>2]|0;if(n){A[e+896>>2]=0;On(n);A[r>>2]=0;A[e+900>>2]=0}r=e+876|0;n=A[r>>2]|0;if(n){A[e+880>>2]=0;On(n);A[r>>2]=0;A[e+884>>2]=0}r=e+856|0;n=A[r>>2]|0;if(n){A[e+860>>2]=0;On(n);A[r>>2]=0;A[e+864>>2]=0}n=e+836|0;r=A[n>>2]|0;if(r){A[e+840>>2]=0;On(r);A[n>>2]=0;A[e+844>>2]=0}r=e+824|0;n=A[r>>2]|0;if(n){A[e+828>>2]=0;On(n);A[r>>2]=0;A[e+832>>2]=0}r=e+808|0;n=A[r>>2]|0;if(n){A[e+812>>2]=0;On(n);A[r>>2]=0;A[e+816>>2]=0}Pr(e+760|0);r=e+744|0;n=A[r>>2]|0;if(n){A[e+748>>2]=0;On(n);A[r>>2]=0;A[e+752>>2]=0}r=e+732|0;n=A[r>>2]|0;if(!n){St(e);l=t;return}A[e+736>>2]=0;On(n);A[r>>2]=0;A[e+740>>2]=0;St(e);l=t;return}function mr(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,o=0,s=0,a=0,c=0,g=0;i=l;l=l+32|0;s=i+12|0;c=i+8|0;g=i+16|0;o=i+4|0;a=i;n[g>>0]=n[t>>0]|0;n[s+0>>0]=n[g+0>>0]|0;r=kt(e,s,r)|0;A[c>>2]=r;ir(e+876|0,r,0);ir(e+904|0,r,0);if(!(n[e+724>>0]|0)){l=i;return r|0}g=e+808|0;t=r<<1;A[o>>2]=t;A[s+0>>2]=A[o+0>>2];Ur(g,s,0);A[a>>2]=t|1;A[s+0>>2]=A[a+0>>2];Ur(g,s,0);Tr(e+760|0,c);ir(e+744|0,r,0);Or(e+824|0,r);l=i;return r|0}function Br(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0;c=l;l=l+32|0;s=c+4|0;C=c;f=c+16|0;A[s>>2]=0;a=s+4|0;A[a>>2]=0;g=s+8|0;A[g>>2]=0;I=n[2608]|0;n[e>>0]=I;u=t+724|0;r=(o[u>>0]&(r&1)|0)!=0;if(r){m=t+308|0;w=A[m>>2]|0;if((w|0)>0){E=t+304|0;I=t+876|0;B=0;do{y=A[(A[E>>2]|0)+(B<<2)>>2]>>1;A[C>>2]=y;y=(A[I>>2]|0)+y|0;if(!(n[y>>0]|0)){n[y>>0]=1;sr(s,C);w=A[m>>2]|0}B=B+1|0}while((B|0)<(w|0))}C=(yr(t,i)|0)&1^1;n[e>>0]=C;i=n[2608]|0}else{i=I;C=I}w=i&255;if(!((w>>>1^1)&C<<24>>24==i<<24>>24|w&2&(C&255))){if((A[t+44>>2]|0)>0)Te(3760)|0}else{qt(f,t);C=n[f>>0]|0;n[e>>0]=C}y=n[2608]|0;w=y&255;if((((w>>>1^1)&C<<24>>24==y<<24>>24|w&2&(C&255)|0)!=0?(n[t+707>>0]|0)!=0:0)?(d=(A[t+736>>2]|0)+-1|0,(d|0)>0):0){e=t+732|0;f=t+4|0;do{i=A[e>>2]|0;m=A[i+(d<<2)>>2]|0;B=d+-1|0;y=A[i+(B<<2)>>2]|0;d=A[f>>2]|0;e:do{if((m|0)>1){I=n[2616]|0;C=I&255;E=C&2;C=C>>>1^1;w=B;while(1){y=o[d+(y>>1)>>0]^y&1;B=m+-1|0;if(!((y&255)<<24>>24==I<<24>>24&C|E&y))break e;m=w+-1|0;y=A[i+(m<<2)>>2]|0;if((B|0)>1){w=m;m=B}else{w=m;m=B;p=20;break}}}else{w=B;p=20}}while(0);if((p|0)==20){p=0;n[d+(y>>1)>>0]=(y&1^1)&255^1}d=w-m|0}while((d|0)>0)}if(r?(h=A[a>>2]|0,(h|0)>0):0){p=A[s>>2]|0;r=t+876|0;f=0;do{e=A[p+(f<<2)>>2]|0;n[(A[r>>2]|0)+e>>0]=0;if(n[u>>0]|0)Yr(t,e);f=f+1|0}while((f|0)<(h|0))}t=A[s>>2]|0;if(!t){l=c;return}A[a>>2]=0;On(t);A[s>>2]=0;A[g>>2]=0;l=c;return}function yr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,u=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0,Q=0,v=0,b=0,D=0,S=0,k=0,M=0,N=0,F=0,R=0,K=0,L=0;c=l;l=l+16|0;s=c;if(!(Jt(e)|0)){R=0;l=c;return R|0}a=e+724|0;if(!(n[a>>0]|0)){R=1;l=c;return R|0}w=e+924|0;B=e+872|0;y=e+868|0;m=e+860|0;C=e+680|0;Q=e+824|0;o=e+828|0;p=e+836|0;v=e+904|0;b=e+332|0;r=e+44|0;D=e+704|0;k=e+706|0;M=e+696|0;f=e+556|0;d=e+548|0;S=e+876|0;I=e+920|0;E=e+284|0;e:while(1){if(((A[w>>2]|0)<=0?(A[I>>2]|0)>=(A[E>>2]|0):0)?(A[o>>2]|0)<=0:0)break;Sr(e);F=A[B>>2]|0;R=A[y>>2]|0;N=F-R|0;if((F|0)<(R|0))N=(A[m>>2]|0)+N|0;if(!((N|0)<=0?(A[I>>2]|0)>=(A[E>>2]|0):0))u=11;if((u|0)==11?(u=0,!(kr(e,1)|0)):0){u=12;break}R=A[o>>2]|0;if(n[C>>0]|0){u=15;break}if(!R)continue;else N=0;while(1){L=A[Q>>2]|0;F=A[L>>2]|0;K=A[L+(R+-1<<2)>>2]|0;A[L>>2]=K;R=A[p>>2]|0;A[R+(K<<2)>>2]=0;A[R+(F<<2)>>2]=-1;R=(A[o>>2]|0)+-1|0;A[o>>2]=R;if((R|0)>1)jr(Q,0);if(n[C>>0]|0)continue e;if((n[(A[v>>2]|0)+F>>0]|0)==0?(K=n[(A[b>>2]|0)+F>>0]|0,R=n[2624]|0,L=R&255,((L>>>1^1)&K<<24>>24==R<<24>>24|K&2&L|0)!=0):0){if((A[r>>2]|0)>1&((N|0)%100|0|0)==0){A[s>>2]=A[o>>2];Oe(3504,s|0)|0}if(n[D>>0]|0){L=(A[S>>2]|0)+F|0;R=n[L>>0]|0;n[L>>0]=1;if(!(Nr(e,F)|0)){u=29;break e}n[(A[S>>2]|0)+F>>0]=R<<24>>24!=0&1}if((((n[k>>0]|0)!=0?(K=n[(A[b>>2]|0)+F>>0]|0,R=n[2624]|0,L=R&255,((L>>>1^1)&K<<24>>24==R<<24>>24|K&2&L|0)!=0):0)?(n[(A[S>>2]|0)+F>>0]|0)==0:0)?!(Fr(e,F)|0):0){u=35;break e}if(+((A[f>>2]|0)>>>0)>+g[M>>3]*+((A[d>>2]|0)>>>0))ji[A[(A[e>>2]|0)+8>>2]&31](e)}R=A[o>>2]|0;if(!R)continue e;else N=N+1|0}}do{if((u|0)==12)n[e+492>>0]=0;else if((u|0)==15){C=A[e+824>>2]|0;if((R|0)<=0){if(!C)break}else{E=A[p>>2]|0;I=0;do{A[E+(A[C+(I<<2)>>2]<<2)>>2]=-1;I=I+1|0}while((I|0)<(A[o>>2]|0))}A[o>>2]=0}else if((u|0)==29)n[e+492>>0]=0;else if((u|0)==35)n[e+492>>0]=0}while(0);if(!t){if(+((A[f>>2]|0)>>>0)>+g[e+96>>3]*+((A[d>>2]|0)>>>0))ji[A[(A[e>>2]|0)+8>>2]&31](e)}else{t=e+744|0;f=A[t>>2]|0;if(f){A[e+748>>2]=0;On(f);A[t>>2]=0;A[e+752>>2]=0}Gr(e+760|0,1);t=e+808|0;f=A[t>>2]|0;if(f){A[e+812>>2]=0;On(f);A[t>>2]=0;A[e+816>>2]=0}f=e+824|0;t=A[f>>2]|0;if((A[o>>2]|0)<=0){if(t)u=48}else{u=A[p>>2]|0;p=0;do{A[u+(A[t+(p<<2)>>2]<<2)>>2]=-1;p=p+1|0}while((p|0)<(A[o>>2]|0));u=48}if((u|0)==48){A[o>>2]=0;On(t);A[f>>2]=0;A[e+832>>2]=0}Hr(e+856|0,1);n[a>>0]=0;n[e+536>>0]=1;n[e+560>>0]=0;A[e+728>>2]=A[e+540>>2];Ht(e);ji[A[(A[e>>2]|0)+8>>2]&31](e)}if((A[r>>2]|0)>0?(i=A[e+736>>2]|0,(i|0)>0):0){g[h>>3]=+(i<<2>>>0)*9.5367431640625e-7;A[s>>2]=A[h>>2];A[s+4>>2]=A[h+4>>2];Oe(3528,s|0)|0}L=(n[e+492>>0]|0)!=0;l=c;return L|0}function wr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0;r=l;l=l+16|0;o=r;a=e+256|0;c=e+260|0;s=A[c>>2]|0;if((n[e+705>>0]|0)!=0?Qr(e,t)|0:0){f=1;l=r;return f|0}if(!(Mt(e,t)|0)){f=0;l=r;return f|0}if(!(n[e+724>>0]|0)){f=1;l=r;return f|0}t=A[c>>2]|0;if((t|0)!=(s+1|0)){f=1;l=r;return f|0}f=A[(A[a>>2]|0)+(t+-1<<2)>>2]|0;A[o>>2]=f;u=(A[e+544>>2]|0)+(f<<2)|0;Jr(e+856|0,f);if((A[u>>2]|0)>>>0<=31){f=1;l=r;return f|0}g=e+760|0;c=e+808|0;a=e+744|0;s=e+924|0;t=e+824|0;h=e+840|0;e=e+836|0;p=0;do{f=u+(p<<2)+4|0;_r((A[g>>2]|0)+((A[f>>2]>>1)*12|0)|0,o);d=(A[c>>2]|0)+(A[f>>2]<<2)|0;A[d>>2]=(A[d>>2]|0)+1;n[(A[a>>2]|0)+(A[f>>2]>>1)>>0]=1;A[s>>2]=(A[s>>2]|0)+1;f=A[f>>2]>>1;if((A[h>>2]|0)>(f|0)?(i=A[(A[e>>2]|0)+(f<<2)>>2]|0,(i|0)>-1):0)jr(t,i);p=p+1|0}while((p|0)<((A[u>>2]|0)>>>5|0));i=1;l=r;return i|0}function Qr(e,t){e=e|0;t=t|0;var r=0,i=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0;c=l;l=l+16|0;s=c+8|0;a=c+4|0;i=c;A[a>>2]=A[e+284>>2];sr(e+292|0,a);a=t+4|0;u=A[a>>2]|0;e:do{if((u|0)>0){r=e+332|0;g=0;while(1){h=A[(A[t>>2]|0)+(g<<2)>>2]|0;f=o[(A[r>>2]|0)+(h>>1)>>0]|0;d=f^h&1;p=d&255;I=n[2608]|0;C=I&255;if(p<<24>>24==I<<24>>24&(C>>>1^1)|C&2&d)break;C=n[2616]|0;I=C&255;if(!((I>>>1^1)&p<<24>>24==C<<24>>24|f&2&I)){A[i>>2]=h^1;A[s+0>>2]=A[i+0>>2];Nt(e,s,-1);u=A[a>>2]|0}g=g+1|0;if((g|0)>=(u|0))break e}Pt(e,0);I=1;l=c;return I|0}}while(0);I=(Ft(e)|0)!=-1;Pt(e,0);l=c;return I|0}function vr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0;r=l;l=l+16|0;o=r;i=(A[e+544>>2]|0)+(t<<2)|0;if(!(n[e+724>>0]|0)){Lt(e,t);l=r;return}if((A[i>>2]|0)>>>0<=31){Lt(e,t);l=r;return}a=e+808|0;c=e+776|0;s=e+792|0;g=0;do{u=i+(g<<2)+4|0;h=(A[a>>2]|0)+(A[u>>2]<<2)|0;A[h>>2]=(A[h>>2]|0)+-1;Yr(e,A[u>>2]>>1);u=A[u>>2]>>1;A[o>>2]=u;u=(A[c>>2]|0)+u|0;if(!(n[u>>0]|0)){n[u>>0]=1;sr(s,o)}g=g+1|0}while((g|0)<((A[i>>2]|0)>>>5|0));Lt(e,t);l=r;return}function br(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0;i=l;l=l+16|0;a=i+4|0;s=i;g=A[e+544>>2]|0;c=g+(t<<2)|0;Jr(e+856|0,t);if((A[c>>2]&-32|0)==64){vr(e,t);f=A[r>>2]|0;r=A[c>>2]|0;e:do{if(r>>>0>31){u=r>>>5;h=0;while(1){p=h+1|0;if((A[c+(h<<2)+4>>2]|0)==(f|0)){p=h;break e}if((p|0)<(u|0))h=p;else break}}else{u=0;p=0}}while(0);h=u+-1|0;if((p|0)<(h|0))do{r=p;p=p+1|0;A[c+(r<<2)+4>>2]=A[c+(p<<2)+4>>2];r=A[c>>2]|0;u=r>>>5;h=u+-1|0}while((p|0)<(h|0));if(r&8){A[c+(h<<2)+4>>2]=A[c+(u<<2)+4>>2];r=A[c>>2]|0}u=r+-32|0;A[c>>2]=u;u=u>>>5;if(!u){u=0;r=0}else{r=0;h=0;do{r=1<<((A[c+(h<<2)+4>>2]|0)>>>1&31)|r;h=h+1|0}while((h|0)<(u|0))}A[c+(u<<2)+4>>2]=r}else{Kt(e,t,1);r=A[r>>2]|0;h=A[c>>2]|0;e:do{if(h>>>0>31){u=h>>>5;p=0;while(1){f=p+1|0;if((A[c+(p<<2)+4>>2]|0)==(r|0)){f=p;break e}if((f|0)<(u|0))p=f;else break}}else{u=0;f=0}}while(0);p=u+-1|0;if((f|0)<(p|0))do{h=f;f=f+1|0;A[c+(h<<2)+4>>2]=A[c+(f<<2)+4>>2];h=A[c>>2]|0;u=h>>>5;p=u+-1|0}while((f|0)<(p|0));if(h&8){A[c+(p<<2)+4>>2]=A[c+(u<<2)+4>>2];h=A[c>>2]|0}p=h+-32|0;A[c>>2]=p;p=p>>>5;if(!p){p=0;u=0}else{u=0;h=0;do{u=1<<((A[c+(h<<2)+4>>2]|0)>>>1&31)|u;h=h+1|0}while((h|0)<(p|0))}A[c+(p<<2)+4>>2]=u;Rt(e,t);u=r>>1;h=A[e+760>>2]|0;p=h+(u*12|0)|0;h=h+(u*12|0)+4|0;f=A[h>>2]|0;e:do{if((f|0)>0){I=A[p>>2]|0;d=0;while(1){C=d+1|0;if((A[I+(d<<2)>>2]|0)==(t|0))break e;if((C|0)<(f|0))d=C;else{d=C;break}}}else d=0}while(0);f=f+-1|0;if((d|0)<(f|0)){p=A[p>>2]|0;do{f=d;d=d+1|0;A[p+(f<<2)>>2]=A[p+(d<<2)>>2];f=(A[h>>2]|0)+-1|0}while((d|0)<(f|0))}A[h>>2]=f;I=(A[e+808>>2]|0)+(r<<2)|0;A[I>>2]=(A[I>>2]|0)+-1;Yr(e,u)}if((A[c>>2]&-32|0)!=32){I=1;l=i;return I|0}g=A[g+(t+1<<2)>>2]|0;c=o[(A[e+332>>2]|0)+(g>>1)>>0]|0;I=c^g&1;t=I&255;d=n[2624]|0;C=d&255;if(!(t<<24>>24==d<<24>>24&(C>>>1^1)|C&2&I)){C=n[2616]|0;I=C&255;if((I>>>1^1)&t<<24>>24==C<<24>>24|c&2&I){I=0;l=i;return I|0}}else{A[s>>2]=g;A[a+0>>2]=A[s+0>>2];Nt(e,a,-1)}I=(Ft(e)|0)==-1;l=i;return I|0}function Dr(e,t,r,n,i){e=e|0;t=t|0;r=r|0;n=n|0;i=i|0;var o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0;o=l;l=l+16|0;a=o+4|0;s=o;p=e+708|0;A[p>>2]=(A[p>>2]|0)+1;if(A[i>>2]|0)A[i+4>>2]=0;c=(A[t>>2]|0)>>>5>>>0<(A[r>>2]|0)>>>5>>>0;e=c?r:t;t=c?t:r;c=A[t>>2]|0;e:do{if(c>>>0>31){r=0;t:while(1){g=A[t+(r<<2)+4>>2]|0;r:do{if((g>>1|0)!=(n|0)){u=A[e>>2]|0;n:do{if(u>>>0>31){h=0;while(1){p=A[e+(h<<2)+4>>2]|0;h=h+1|0;if((g^p)>>>0<2)break;if((h|0)>=(u>>>5|0))break n}if((p|0)==(g^1|0)){i=0;break t}else break r}}while(0);A[a>>2]=g;or(i,a);c=A[t>>2]|0}}while(0);r=r+1|0;if((r|0)>=(c>>>5|0))break e}l=o;return i|0}}while(0);r=A[e>>2]|0;if(r>>>0<=31){p=1;l=o;return p|0}a=0;do{t=A[e+(a<<2)+4>>2]|0;if((t>>1|0)!=(n|0)){A[s>>2]=t;or(i,s);r=A[e>>2]|0}a=a+1|0}while((a|0)<(r>>>5|0));i=1;l=o;return i|0}function Sr(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0;t=l;c=e+924|0;if(!(A[c>>2]|0)){l=t;return}s=e+856|0;r=e+872|0;i=e+868|0;a=e+860|0;o=e+544|0;g=0;while(1){y=A[r>>2]|0;u=A[i>>2]|0;h=y-u|0;if((y|0)<(u|0))h=(A[a>>2]|0)+h|0;if((g|0)>=(h|0))break;h=(A[o>>2]|0)+(A[(A[s>>2]|0)+(((u+g|0)%(A[a>>2]|0)|0)<<2)>>2]<<2)|0;u=A[h>>2]|0;if(!(u&3))A[h>>2]=u&-4|2;g=g+1|0}g=e+540|0;d=A[g>>2]|0;if((d|0)>0){h=e+744|0;p=e+776|0;u=e+760|0;e=e+804|0;f=0;do{if(n[(A[h>>2]|0)+f>>0]|0){C=(A[p>>2]|0)+f|0;if(n[C>>0]|0){I=A[u>>2]|0;d=I+(f*12|0)+4|0;m=A[d>>2]|0;if((m|0)>0){I=A[I+(f*12|0)>>2]|0;B=0;E=0;do{y=A[I+(B<<2)>>2]|0;if((A[(A[A[e>>2]>>2]|0)+(y<<2)>>2]&3|0)!=1){A[I+(E<<2)>>2]=y;m=A[d>>2]|0;E=E+1|0}B=B+1|0}while((B|0)<(m|0))}else{B=0;E=0}I=B-E|0;if((I|0)>0)A[d>>2]=m-I;n[C>>0]=0}C=A[u>>2]|0;d=C+(f*12|0)+4|0;E=A[d>>2]|0;if((E|0)>0){C=C+(f*12|0)|0;I=0;do{m=A[(A[C>>2]|0)+(I<<2)>>2]|0;if(!(A[(A[o>>2]|0)+(m<<2)>>2]&3)){Jr(s,m);E=(A[o>>2]|0)+(A[(A[C>>2]|0)+(I<<2)>>2]<<2)|0;A[E>>2]=A[E>>2]&-4|2;E=A[d>>2]|0}I=I+1|0}while((I|0)<(E|0))}n[(A[h>>2]|0)+f>>0]=0;d=A[g>>2]|0}f=f+1|0}while((f|0)<(d|0));g=0}else g=0;while(1){y=A[r>>2]|0;u=A[i>>2]|0;h=y-u|0;if((y|0)<(u|0))h=(A[a>>2]|0)+h|0;if((g|0)>=(h|0))break;u=(A[o>>2]|0)+(A[(A[s>>2]|0)+(((u+g|0)%(A[a>>2]|0)|0)<<2)>>2]<<2)|0;h=A[u>>2]|0;if((h&3|0)==2)A[u>>2]=h&-4;g=g+1|0}A[c>>2]=0;l=t;return}function kr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0,Q=0,v=0,b=0,D=0,S=0,k=0,M=0,N=0,F=0,R=0,K=0,L=0,x=0,P=0,U=0,T=0,O=0,Y=0;r=l;l=l+16|0;u=r;w=r+12|0;o=e+856|0;g=e+872|0;d=e+868|0;a=e+860|0;m=e+680|0;i=e+920|0;s=e+284|0;E=e+280|0;C=e+544|0;I=e+928|0;p=e+44|0;h=e+776|0;B=e+692|0;f=e+804|0;c=e+760|0;S=0;N=0;k=0;e:while(1){M=A[d>>2]|0;do{b=A[g>>2]|0;D=(b|0)<(M|0);b=b-M|0;if(D)F=(A[a>>2]|0)+b|0;else F=b;if((F|0)<=0?(A[i>>2]|0)>=(A[s>>2]|0):0){i=1;a=53;break e}if(n[m>>0]|0){a=8;break e}if(D)b=(A[a>>2]|0)+b|0;if((b|0)==0?(v=A[i>>2]|0,(v|0)<(A[s>>2]|0)):0){A[i>>2]=v+1;A[(A[C>>2]|0)+((A[I>>2]|0)+1<<2)>>2]=A[(A[E>>2]|0)+(v<<2)>>2];b=(A[C>>2]|0)+(A[I>>2]<<2)|0;D=(A[b>>2]|0)>>>5;if(!D){D=0;F=0}else{F=0;M=0;do{F=1<<((A[b+(M<<2)+4>>2]|0)>>>1&31)|F;M=M+1|0}while((M|0)<(D|0))}A[b+(D<<2)+4>>2]=F;Jr(o,A[I>>2]|0);M=A[d>>2]|0}b=A[(A[o>>2]|0)+(M<<2)>>2]|0;M=M+1|0;L=A[a>>2]|0;M=(M|0)==(L|0)?0:M;A[d>>2]=M;F=A[C>>2]|0;D=F+(b<<2)|0;K=A[D>>2]|0}while((K&3|0)!=0);if(t?(A[p>>2]|0)>1:0){R=S+1|0;if(!((S|0)%1e3|0)){K=A[g>>2]|0;A[u>>2]=K-M+((K|0)<(M|0)?L:0);A[u+4>>2]=k;A[u+8>>2]=N;Oe(3440,u|0)|0;K=A[D>>2]|0;S=R}else S=R}M=F+(b+1<<2)|0;F=A[M>>2]>>1;if(K>>>0>63){R=A[c>>2]|0;K=K>>>5;L=1;do{Y=A[D+(L<<2)+4>>2]>>1;F=(A[R+(Y*12|0)+4>>2]|0)<(A[R+(F*12|0)+4>>2]|0)?Y:F;L=L+1|0}while((L|0)<(K|0))}K=(A[h>>2]|0)+F|0;if(n[K>>0]|0){L=A[c>>2]|0;R=L+(F*12|0)+4|0;U=A[R>>2]|0;if((U|0)>0){L=A[L+(F*12|0)>>2]|0;P=0;x=0;do{T=A[L+(P<<2)>>2]|0;if((A[(A[A[f>>2]>>2]|0)+(T<<2)>>2]&3|0)!=1){A[L+(x<<2)>>2]=T;U=A[R>>2]|0;x=x+1|0}P=P+1|0}while((P|0)<(U|0))}else{P=0;x=0}L=P-x|0;if((L|0)>0)A[R>>2]=U-L;n[K>>0]=0}K=A[c>>2]|0;R=A[K+(F*12|0)>>2]|0;K=K+(F*12|0)+4|0;if((A[K>>2]|0)>0)L=0;else continue;while(1){T=A[D>>2]|0;if(T&3)continue e;x=A[R+(L<<2)>>2]|0;P=A[C>>2]|0;O=P+(x<<2)|0;U=A[O>>2]|0;t:do{if(((!((U&3|0)!=0|(x|0)==(b|0))?(Y=A[B>>2]|0,Q=U>>>5,(Y|0)==-1|(Q|0)<(Y|0)):0)?(y=T>>>5,Q>>>0>=y>>>0):0)?(A[D+(y<<2)+4>>2]&~A[O+(Q<<2)+4>>2]|0)==0:0){P=P+(x+1<<2)|0;do{if(T>>>0>31){if(U>>>0>31){O=-2;U=0}else break t;while(1){T=A[M+(U<<2)>>2]|0;r:do{if((O|0)==-2){Y=0;while(1){O=A[P+(Y<<2)>>2]|0;if((T|0)==(O|0)){T=-2;break r}Y=Y+1|0;if((T|0)==(O^1|0))break r;if(Y>>>0>=Q>>>0)break t}}else{Y=0;while(1){if((T|0)==(A[P+(Y<<2)>>2]|0)){T=O;break r}Y=Y+1|0;if(Y>>>0>=Q>>>0)break t}}}while(0);U=U+1|0;if(U>>>0>=y>>>0)break;else O=T}if((T|0)==-2)break;else if((T|0)==-1)break t;A[w>>2]=T^1;A[u+0>>2]=A[w+0>>2];if(!(br(e,x,u)|0)){i=0;a=53;break e}N=N+1|0;L=(((T>>1|0)==(F|0))<<31>>31)+L|0;break t}}while(0);vr(e,x);k=k+1|0}}while(0);L=L+1|0;if((L|0)>=(A[K>>2]|0))continue e}}if((a|0)==8){Hr(o,0);A[i>>2]=A[s>>2];Y=1;l=r;return Y|0}else if((a|0)==53){l=r;return i|0}return 0}function Mr(e,t,r){e=e|0;t=t|0;r=r|0;var i=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0;s=l;l=l+16|0;i=s+12|0;u=s+8|0;c=s+4|0;a=s;g=(A[e+544>>2]|0)+(r<<2)|0;if(A[g>>2]&3){C=1;l=s;return C|0}if(xt(e,g)|0){C=1;l=s;return C|0}A[u>>2]=A[e+284>>2];sr(e+292|0,u);f=A[g>>2]|0;if(f>>>0>31){u=e+332|0;h=0;p=-2;do{d=A[g+(h<<2)+4>>2]|0;C=d>>1;if((C|0)!=(t|0)?(C=(o[(A[u>>2]|0)+C>>0]|0)^d&1,E=n[2616]|0,I=E&255,((C&255)<<24>>24==E<<24>>24&(I>>>1^1)|I&2&C|0)==0):0){A[c>>2]=d^1;A[i+0>>2]=A[c+0>>2];Nt(e,i,-1);f=A[g>>2]|0}else p=d;h=h+1|0}while((h|0)<(f>>>5|0))}else p=-2;E=(Ft(e)|0)==-1;Pt(e,0);if(!E){E=e+712|0;A[E>>2]=(A[E>>2]|0)+1;A[a>>2]=p;A[i+0>>2]=A[a+0>>2];if(!(br(e,r,i)|0)){E=0;l=s;return E|0}}E=1;l=s;return E|0}function Nr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0;r=l;s=(A[e+776>>2]|0)+t|0;i=e+760|0;if(n[s>>0]|0){c=A[i>>2]|0;o=c+(t*12|0)+4|0;h=A[o>>2]|0;if((h|0)>0){a=e+804|0;c=A[c+(t*12|0)>>2]|0;u=0;g=0;do{p=A[c+(u<<2)>>2]|0;if((A[(A[A[a>>2]>>2]|0)+(p<<2)>>2]&3|0)!=1){A[c+(g<<2)>>2]=p;h=A[o>>2]|0;g=g+1|0}u=u+1|0}while((u|0)<(h|0))}else{u=0;g=0}a=u-g|0;if((a|0)>0)A[o>>2]=h-a;n[s>>0]=0}o=A[i>>2]|0;h=n[(A[e+332>>2]|0)+t>>0]|0;u=n[2624]|0;p=u&255;if(!((p>>>1^1)&h<<24>>24==u<<24>>24|h&2&p)){p=1;l=r;return p|0}i=o+(t*12|0)+4|0;s=A[i>>2]|0;if(!s){p=1;l=r;return p|0}e:do{if((s|0)>0){o=o+(t*12|0)|0;s=0;while(1){if(!(Mr(e,t,A[(A[o>>2]|0)+(s<<2)>>2]|0)|0)){e=0;break}s=s+1|0;if((s|0)>=(A[i>>2]|0))break e}l=r;return e|0}}while(0);p=kr(e,0)|0;l=r;return p|0}function Fr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0,Q=0,v=0,b=0,D=0,S=0,k=0,M=0,N=0,F=0,R=0,L=0,x=0,P=0,U=0,T=0,O=0,Y=0,j=0,G=0,H=0,J=0,_=0,q=0,z=0,W=0,V=0,X=0;r=l;l=l+48|0;I=r+36|0;C=r+32|0;E=r+28|0;m=r+24|0;i=r+12|0;o=r;h=(A[e+776>>2]|0)+t|0;u=e+760|0;if(n[h>>0]|0){d=A[u>>2]|0;p=d+(t*12|0)+4|0;Q=A[p>>2]|0;if((Q|0)>0){f=e+804|0;d=A[d+(t*12|0)>>2]|0;y=0;B=0;do{v=A[d+(y<<2)>>2]|0;if((A[(A[A[f>>2]>>2]|0)+(v<<2)>>2]&3|0)!=1){A[d+(B<<2)>>2]=v;Q=A[p>>2]|0;B=B+1|0}y=y+1|0}while((y|0)<(Q|0))}else{y=0;B=0}f=y-B|0;if((f|0)>0)A[p>>2]=Q-f;n[h>>0]=0}B=A[u>>2]|0;y=B+(t*12|0)|0;A[i>>2]=0;h=i+4|0;A[h>>2]=0;p=i+8|0;A[p>>2]=0;A[o>>2]=0;d=o+4|0;A[d>>2]=0;f=o+8|0;A[f>>2]=0;B=B+(t*12|0)+4|0;e:do{if((A[B>>2]|0)>0){Q=e+544|0;D=t<<1;b=0;do{S=(A[y>>2]|0)+(b<<2)|0;M=(A[Q>>2]|0)+(A[S>>2]<<2)|0;X=A[M>>2]|0;v=X>>>5;t:do{if(X>>>0>31){N=0;while(1){k=N+1|0;if((A[M+(N<<2)+4>>2]|0)==(D|0)){k=N;break t}if((k|0)<(v|0))N=k;else break}}else k=0}while(0);_r((k|0)<(v|0)?i:o,S);b=b+1|0;v=A[B>>2]|0}while((b|0)<(v|0));Q=A[h>>2]|0;D=(Q|0)>0;if(D){S=A[d>>2]|0;x=(S|0)>0;L=e+544|0;k=A[i>>2]|0;b=A[o>>2]|0;M=e+708|0;R=e+684|0;F=e+688|0;Y=0;N=0;while(1){if(x){U=k+(N<<2)|0;P=A[L>>2]|0;T=A[M>>2]|0;O=0;do{H=P+(A[U>>2]<<2)|0;_=P+(A[b+(O<<2)>>2]<<2)|0;T=T+1|0;A[M>>2]=T;j=(A[H>>2]|0)>>>5>>>0<(A[_>>2]|0)>>>5>>>0;G=j?_:H;_=j?H:_;H=G+4|0;j=_+4|0;G=A[G>>2]|0;J=G>>>5;z=J+-1|0;_=A[_>>2]|0;t:do{if(_>>>0>31){q=0;while(1){X=A[j+(q<<2)>>2]|0;r:do{if((X>>1|0)!=(t|0)){n:do{if(G>>>0>31){V=0;while(1){W=A[H+(V<<2)>>2]|0;V=V+1|0;if((W^X)>>>0<2)break;if((V|0)>=(J|0))break n}if((W|0)==(X^1|0))break t;else break r}}while(0);z=z+1|0}}while(0);q=q+1|0;if((q|0)>=(_>>>5|0)){w=28;break}}}else w=28}while(0);if((w|0)==28){w=0;if((Y|0)>=((A[R>>2]|0)+v|0)){e=1;break e}X=A[F>>2]|0;if((X|0)!=-1&(z|0)>(X|0)){e=1;break e}else Y=Y+1|0}O=O+1|0}while((O|0)<(S|0))}N=N+1|0;if((N|0)>=(Q|0)){w=32;break}}}else{D=0;w=32}}else{Q=0;D=0;w=32}}while(0);e:do{if((w|0)==32){n[(A[e+904>>2]|0)+t>>0]=1;v=e+380|0;b=(A[v>>2]|0)+t|0;if(n[b>>0]|0){X=e+200|0;V=X;V=ai(A[V>>2]|0,A[V+4>>2]|0,-1,-1)|0;A[X>>2]=V;A[X+4>>2]=K}n[b>>0]=0;b=e+460|0;if(!((A[e+476>>2]|0)>(t|0)?(A[(A[e+472>>2]|0)+(t<<2)>>2]|0)>-1:0))w=36;if((w|0)==36?(n[(A[v>>2]|0)+t>>0]|0)!=0:0)Ar(b,t);w=e+716|0;A[w>>2]=(A[w>>2]|0)+1;w=A[d>>2]|0;if((Q|0)>(w|0)){b=e+732|0;if((w|0)>0){m=e+544|0;E=A[o>>2]|0;M=e+736|0;k=0;do{S=(A[m>>2]|0)+(A[E+(k<<2)>>2]<<2)|0;v=A[M>>2]|0;if((A[S>>2]|0)>>>0>31){N=0;F=-1;do{X=S+(N<<2)+4|0;A[I>>2]=A[X>>2];_r(b,I);F=(A[X>>2]>>1|0)==(t|0)?N+v|0:F;N=N+1|0}while((N|0)<((A[S>>2]|0)>>>5|0))}else F=-1;X=A[b>>2]|0;W=X+(F<<2)|0;V=A[W>>2]|0;X=X+(v<<2)|0;A[W>>2]=A[X>>2];A[X>>2]=V;A[C>>2]=(A[S>>2]|0)>>>5;_r(b,C);k=k+1|0}while((k|0)<(w|0))}A[I>>2]=t<<1;_r(b,I);A[C>>2]=1;_r(b,C)}else{k=e+732|0;if(D){N=e+544|0;M=A[i>>2]|0;v=e+736|0;F=0;do{S=(A[N>>2]|0)+(A[M+(F<<2)>>2]<<2)|0;b=A[v>>2]|0;if((A[S>>2]|0)>>>0>31){R=0;L=-1;do{X=S+(R<<2)+4|0;A[I>>2]=A[X>>2];_r(k,I);L=(A[X>>2]>>1|0)==(t|0)?R+b|0:L;R=R+1|0}while((R|0)<((A[S>>2]|0)>>>5|0))}else L=-1;X=A[k>>2]|0;W=X+(L<<2)|0;V=A[W>>2]|0;X=X+(b<<2)|0;A[W>>2]=A[X>>2];A[X>>2]=V;A[C>>2]=(A[S>>2]|0)>>>5;_r(k,C);F=F+1|0}while((F|0)<(Q|0))}A[E>>2]=t<<1|1;_r(k,E);A[m>>2]=1;_r(k,m)}if((A[B>>2]|0)>0){C=0;do{vr(e,A[(A[y>>2]|0)+(C<<2)>>2]|0);C=C+1|0}while((C|0)<(A[B>>2]|0))}C=e+628|0;t:do{if(D){I=e+544|0;y=A[i>>2]|0;b=A[o>>2]|0;if((w|0)>0)B=0;else{C=0;while(1){C=C+1|0;if((C|0)>=(Q|0))break t}}do{m=y+(B<<2)|0;E=0;do{X=A[I>>2]|0;if(Dr(e,X+(A[m>>2]<<2)|0,X+(A[b+(E<<2)>>2]<<2)|0,t,C)|0?!(wr(e,C)|0):0){e=0;break e}E=E+1|0}while((E|0)<(w|0));B=B+1|0}while((B|0)<(Q|0))}}while(0);C=A[u>>2]|0;u=C+(t*12|0)|0;I=A[u>>2]|0;if(I){A[C+(t*12|0)+4>>2]=0;On(I);A[u>>2]=0;A[C+(t*12|0)+8>>2]=0}u=e+412|0;t=t<<1;I=A[u>>2]|0;C=I+(t*12|0)+4|0;if((A[C>>2]|0)==0?(g=I+(t*12|0)|0,c=A[g>>2]|0,(c|0)!=0):0){A[C>>2]=0;On(c);A[g>>2]=0;A[I+(t*12|0)+8>>2]=0;I=A[u>>2]|0}c=t|1;g=I+(c*12|0)+4|0;if((A[g>>2]|0)==0?(a=I+(c*12|0)|0,s=A[a>>2]|0,(s|0)!=0):0){A[g>>2]=0;On(s);A[a>>2]=0;A[I+(c*12|0)+8>>2]=0}e=kr(e,0)|0;b=A[o>>2]|0}}while(0);if(b){A[d>>2]=0;On(b);A[o>>2]=0;A[f>>2]=0}o=A[i>>2]|0;if(!o){l=r;return e|0}A[h>>2]=0;On(o);A[i>>2]=0;A[p>>2]=0;l=r;return e|0}function Rr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0;r=l;if(!(n[e+724>>0]|0)){l=r;return}g=e+540|0;if((A[g>>2]|0)>0){a=e+760|0;i=e+804|0;o=e+776|0;c=e+544|0;s=0;do{h=A[a>>2]|0;u=h+(s*12|0)+4|0;f=A[u>>2]|0;if((f|0)>0){h=A[h+(s*12|0)>>2]|0;d=0;p=0;do{C=A[h+(d<<2)>>2]|0;if((A[(A[A[i>>2]>>2]|0)+(C<<2)>>2]&3|0)!=1){A[h+(p<<2)>>2]=C;f=A[u>>2]|0;p=p+1|0}d=d+1|0}while((d|0)<(f|0))}else{d=0;p=0}h=d-p|0;if((h|0)>0)A[u>>2]=f-h;n[(A[o>>2]|0)+s>>0]=0;h=A[a>>2]|0;u=h+(s*12|0)+4|0;if((A[u>>2]|0)>0){C=h+(s*12|0)|0;f=0;do{h=(A[C>>2]|0)+(f<<2)|0;p=A[h>>2]|0;d=A[c>>2]|0;I=d+(p<<2)|0;if(!(A[I>>2]&16)){E=dr(t,I)|0;A[h>>2]=E;A[I>>2]=A[I>>2]|16;A[d+(p+1<<2)>>2]=E}else A[h>>2]=A[d+(p+1<<2)>>2];f=f+1|0}while((f|0)<(A[u>>2]|0))}s=s+1|0}while((s|0)<(A[g>>2]|0))}i=e+856|0;E=A[e+872>>2]|0;o=e+868|0;u=A[o>>2]|0;c=E-u|0;if((E|0)<(u|0))c=(A[e+860>>2]|0)+c|0;e:do{if((c|0)>0){s=e+860|0;a=e+544|0;while(1){g=A[(A[i>>2]|0)+(u<<2)>>2]|0;h=u+1|0;A[o>>2]=(h|0)==(A[s>>2]|0)?0:h;h=A[a>>2]|0;p=h+(g<<2)|0;u=A[p>>2]|0;if(!(u&3)){if(!(u&16)){E=dr(t,p)|0;A[p>>2]=A[p>>2]|16;A[h+(g+1<<2)>>2]=E;g=E}else g=A[h+(g+1<<2)>>2]|0;Jr(i,g)}c=c+-1|0;if((c|0)<=0)break e;u=A[o>>2]|0}}else a=e+544|0}while(0);e=e+928|0;i=A[e>>2]|0;s=A[a>>2]|0;o=s+(i<<2)|0;if(!(A[o>>2]&16)){E=dr(t,o)|0;A[e>>2]=E;A[o>>2]=A[o>>2]|16;A[s+(i+1<<2)>>2]=E;l=r;return}else{A[e>>2]=A[s+(i+1<<2)>>2];l=r;return}}function Kr(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0;s=l;l=l+32|0;g=s;t=s+8|0;r=e+544|0;i=e+548|0;o=e+556|0;a=(A[i>>2]|0)-(A[o>>2]|0)|0;A[t+0>>2]=0;A[t+4>>2]=0;A[t+8>>2]=0;A[t+12>>2]=0;er(t,a);a=t+16|0;c=e+560|0;n[a>>0]=n[c>>0]|0;Rr(e,t);zt(e,t);if((A[e+44>>2]|0)>1){u=A[t+4>>2]<<2;A[g>>2]=A[i>>2]<<2;A[g+4>>2]=u;Oe(3608,g|0)|0}n[c>>0]=n[a>>0]|0;a=A[r>>2]|0;if(a)On(a);A[r>>2]=A[t>>2];A[i>>2]=A[t+4>>2];A[e+552>>2]=A[t+8>>2];A[o>>2]=A[t+12>>2];l=s;return}function Lr(){var e=0,t=0,r=0;e=l;l=l+16|0;t=e;n[2608]=0;n[2616]=1;n[2624]=2;Ct(2632,2656,2664,3744,3752);A[658]=160;n[2652]=0;Ct(2704,2728,2736,3744,3752);A[676]=160;n[2724]=0;Ct(2784,2808,2816,3744,3752);A[696]=160;n[2804]=1;Ct(2848,2880,2888,3744,3736);A[712]=280;r=2868|0;A[r>>2]=-2147483648;A[r+4>>2]=2147483647;A[719]=0;Ct(2960,2992,3e3,3744,3736);A[740]=280;r=2980|0;A[r>>2]=-1;A[r+4>>2]=2147483647;A[747]=20;Ct(3112,3144,3152,3744,3736);A[778]=280;r=3132|0;A[r>>2]=-1;A[r+4>>2]=2147483647;A[785]=1e3;Ct(3240,3296,3312,3744,3720);A[810]=2168;g[408]=0.0;g[409]=Q;n[3280]=0;n[3281]=0;i[1641]=i[t+0>>1]|0;i[1642]=i[t+2>>1]|0;i[1643]=i[t+4>>1]|0;g[411]=.5;l=e;return}function xr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0;r=l;A[e>>2]=0;n=e+4|0;A[n>>2]=0;i=e+8|0;A[i>>2]=0;if((t|0)<=0){l=r;return}o=t+1&-2;o=(o|0)>2?o:2;A[i>>2]=o;i=Yn(0,o<<2)|0;A[e>>2]=i;if((i|0)==0?(A[(Ge()|0)>>2]|0)==12:0)ze(Qe(1)|0,48,0);e=A[n>>2]|0;if((e|0)<(t|0))do{o=i+(e<<2)|0;if(o)A[o>>2]=0;e=e+1|0}while((e|0)!=(t|0));A[n>>2]=t;l=r;return}function Pr(e){e=e|0;var t=0,r=0,n=0,i=0,o=0,s=0,a=0;t=l;n=e+32|0;r=A[n>>2]|0;if(r){A[e+36>>2]=0;On(r);A[n>>2]=0;A[e+40>>2]=0}n=e+16|0;r=A[n>>2]|0;if(r){A[e+20>>2]=0;On(r);A[n>>2]=0;A[e+24>>2]=0}n=A[e>>2]|0;if(!n){l=t;return}r=e+4|0;o=A[r>>2]|0;if((o|0)>0){i=0;do{a=n+(i*12|0)|0;s=A[a>>2]|0;if(s){A[n+(i*12|0)+4>>2]=0;On(s);A[a>>2]=0;A[n+(i*12|0)+8>>2]=0;n=A[e>>2]|0;o=A[r>>2]|0}i=i+1|0}while((i|0)<(o|0))}A[r>>2]=0;On(n);A[e>>2]=0;A[e+8>>2]=0;l=t;return}function Ur(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0;n=l;t=A[t>>2]|0;o=t+1|0;i=e+4|0;if((A[i>>2]|0)>=(o|0)){c=A[e>>2]|0;c=c+(t<<2)|0;A[c>>2]=r;l=n;return}s=e+8|0;c=A[s>>2]|0;if((c|0)<(o|0)){g=t+2-c&-2;a=(c>>1)+2&-2;a=(g|0)>(a|0)?g:a;if((a|0)>(2147483647-c|0)){g=Qe(1)|0;ze(g|0,48,0)}u=A[e>>2]|0;g=a+c|0;A[s>>2]=g;g=Yn(u,g<<2)|0;A[e>>2]=g;if((g|0)==0?(A[(Ge()|0)>>2]|0)==12:0){u=Qe(1)|0;ze(u|0,48,0)}}c=A[i>>2]|0;if((c|0)<(o|0)){s=A[e>>2]|0;do{a=s+(c<<2)|0;if(a)A[a>>2]=0;c=c+1|0}while((c|0)!=(o|0))}A[i>>2]=o;u=A[e>>2]|0;u=u+(t<<2)|0;A[u>>2]=r;l=n;return}function Tr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0;r=l;c=A[t>>2]|0;o=c+1|0;i=e+4|0;if((A[i>>2]|0)<(o|0)){a=e+8|0;s=A[a>>2]|0;if((s|0)<(o|0)){g=c+2-s&-2;c=(s>>1)+2&-2;c=(g|0)>(c|0)?g:c;if((c|0)>(2147483647-s|0)){g=Qe(1)|0;ze(g|0,48,0)}u=A[e>>2]|0;g=c+s|0;A[a>>2]=g;g=Yn(u,g*12|0)|0;A[e>>2]=g;if((g|0)==0?(A[(Ge()|0)>>2]|0)==12:0){u=Qe(1)|0;ze(u|0,48,0)}}a=A[i>>2]|0;if((a|0)<(o|0)){s=A[e>>2]|0;do{c=s+(a*12|0)|0;if(c){A[c>>2]=0;A[s+(a*12|0)+4>>2]=0;A[s+(a*12|0)+8>>2]=0}a=a+1|0}while((a|0)!=(o|0))}A[i>>2]=o;s=A[t>>2]|0}else s=c;i=A[e>>2]|0;if(A[i+(s*12|0)>>2]|0){A[i+(s*12|0)+4>>2]=0;s=A[t>>2]|0}t=e+16|0;i=s+1|0;o=e+20|0;if((A[o>>2]|0)>=(i|0)){l=r;return}a=e+24|0;e=A[a>>2]|0;if((e|0)<(i|0)){u=s+2-e&-2;s=(e>>1)+2&-2;s=(u|0)>(s|0)?u:s;if((s|0)>(2147483647-e|0)){u=Qe(1)|0;ze(u|0,48,0)}g=A[t>>2]|0;u=s+e|0;A[a>>2]=u;u=Yn(g,u)|0;A[t>>2]=u;if((u|0)==0?(A[(Ge()|0)>>2]|0)==12:0){u=Qe(1)|0;ze(u|0,48,0)}}e=A[o>>2]|0;if((e|0)<(i|0))do{n[(A[t>>2]|0)+e>>0]=0;e=e+1|0}while((e|0)!=(i|0));A[o>>2]=i;l=r;return}function Or(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0;r=l;l=l+16|0;o=r;A[o>>2]=t;i=e+12|0;n=t+1|0;s=e+16|0;if((A[s>>2]|0)<(n|0)){c=e+20|0;a=A[c>>2]|0;if((a|0)<(n|0)){u=t+2-a&-2;g=(a>>1)+2&-2;g=(u|0)>(g|0)?u:g;if((g|0)>(2147483647-a|0)){u=Qe(1)|0;ze(u|0,48,0)}h=A[i>>2]|0;u=g+a|0;A[c>>2]=u;u=Yn(h,u<<2)|0;A[i>>2]=u;if((u|0)==0?(A[(Ge()|0)>>2]|0)==12:0){h=Qe(1)|0;ze(h|0,48,0)}}a=A[s>>2]|0;if((n|0)>(a|0))Ai((A[i>>2]|0)+(a<<2)|0,-1,n-a<<2|0)|0;A[s>>2]=n}A[(A[i>>2]|0)+(t<<2)>>2]=A[e+4>>2];sr(e,o);n=A[i>>2]|0;a=A[n+(t<<2)>>2]|0;t=A[e>>2]|0;i=A[t+(a<<2)>>2]|0;if(!a){u=0;h=t+(u<<2)|0;A[h>>2]=i;h=n+(i<<2)|0;A[h>>2]=u;l=r;return}e=e+28|0;o=i<<1;s=o|1;while(1){u=a;a=a+-1>>1;g=t+(a<<2)|0;c=A[g>>2]|0;C=A[A[e>>2]>>2]|0;p=A[C+(o<<2)>>2]|0;d=A[C+(s<<2)>>2]|0;p=Ci(d|0,((d|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;d=K;f=c<<1;h=A[C+(f<<2)>>2]|0;f=A[C+((f|1)<<2)>>2]|0;h=Ci(f|0,((f|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;f=K;if(!(d>>>0>>0|(d|0)==(f|0)&p>>>0>>0)){e=14;break}A[t+(u<<2)>>2]=c;A[n+(A[g>>2]<<2)>>2]=u;if(!a){u=0;e=14;break}}if((e|0)==14){C=t+(u<<2)|0;A[C>>2]=i;C=n+(i<<2)|0;A[C>>2]=u;l=r;return}}function Yr(e,t){e=e|0;t=t|0;var r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0;r=l;s=e+824|0;g=(A[e+840>>2]|0)>(t|0);if(g?(A[(A[e+836>>2]|0)+(t<<2)>>2]|0)>-1:0)a=7;else a=3;do{if((a|0)==3){if(n[(A[e+876>>2]|0)+t>>0]|0){l=r;return}if(n[(A[e+904>>2]|0)+t>>0]|0){l=r;return}p=n[(A[e+332>>2]|0)+t>>0]|0;h=n[2624]|0;f=h&255;if((f>>>1^1)&p<<24>>24==h<<24>>24|p&2&f)if(g){a=7;break}else break;else{l=r;return}}}while(0);if((a|0)==7?(i=A[e+836>>2]|0,o=i+(t<<2)|0,c=A[o>>2]|0,(c|0)>-1):0){t=A[s>>2]|0;a=A[t+(c<<2)>>2]|0;e:do{if(!c)p=0;else{g=e+852|0;u=a<<1;e=u|1;while(1){p=c;c=c+-1>>1;f=t+(c<<2)|0;h=A[f>>2]|0;m=A[A[g>>2]>>2]|0;C=A[m+(u<<2)>>2]|0;E=A[m+(e<<2)>>2]|0;C=Ci(E|0,((E|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;E=K;I=h<<1;d=A[m+(I<<2)>>2]|0;I=A[m+((I|1)<<2)>>2]|0;d=Ci(I|0,((I|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;I=K;if(!(E>>>0>>0|(E|0)==(I|0)&C>>>0>>0))break e;A[t+(p<<2)>>2]=h;A[i+(A[f>>2]<<2)>>2]=p;if(!c){p=0;break}}}}while(0);A[t+(p<<2)>>2]=a;A[i+(a<<2)>>2]=p;jr(s,A[o>>2]|0);l=r;return}Or(s,t);l=r;return}function jr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0;r=l;n=A[e>>2]|0;i=A[n+(t<<2)>>2]|0;u=t<<1|1;g=e+4|0;p=A[g>>2]|0;if((u|0)>=(p|0)){f=t;d=e+12|0;p=n+(f<<2)|0;A[p>>2]=i;d=A[d>>2]|0;d=d+(i<<2)|0;A[d>>2]=f;l=r;return}s=e+28|0;c=i<<1;a=c|1;e=e+12|0;while(1){h=(t<<1)+2|0;if((h|0)<(p|0)){f=A[n+(h<<2)>>2]|0;d=A[n+(u<<2)>>2]|0;m=f<<1;p=A[A[s>>2]>>2]|0;I=A[p+(m<<2)>>2]|0;m=A[p+((m|1)<<2)>>2]|0;I=Ci(m|0,((m|0)<0)<<31>>31|0,I|0,((I|0)<0)<<31>>31|0)|0;m=K;E=d<<1;C=A[p+(E<<2)>>2]|0;E=A[p+((E|1)<<2)>>2]|0;C=Ci(E|0,((E|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;E=K;if(!(m>>>0>>0|(m|0)==(E|0)&I>>>0>>0)){f=d;o=7}}else{f=A[n+(u<<2)>>2]|0;p=A[A[s>>2]>>2]|0;o=7}if((o|0)==7){o=0;h=u}C=f<<1;E=A[p+(C<<2)>>2]|0;C=A[p+((C|1)<<2)>>2]|0;E=Ci(C|0,((C|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;C=K;m=A[p+(c<<2)>>2]|0;I=A[p+(a<<2)>>2]|0;m=Ci(I|0,((I|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;I=K;if(!(C>>>0>>0|(C|0)==(I|0)&E>>>0>>0)){o=10;break}A[n+(t<<2)>>2]=f;A[(A[e>>2]|0)+(f<<2)>>2]=t;u=h<<1|1;p=A[g>>2]|0;if((u|0)>=(p|0)){t=h;o=10;break}else t=h}if((o|0)==10){m=n+(t<<2)|0;A[m>>2]=i;m=A[e>>2]|0;m=m+(i<<2)|0;A[m>>2]=t;l=r;return}}function Gr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0;r=l;s=A[e>>2]|0;if(s){n=e+4|0;i=A[n>>2]|0;e:do{if((i|0)>0){o=0;while(1){a=s+(o*12|0)|0;c=A[a>>2]|0;if(c){A[s+(o*12|0)+4>>2]=0;On(c);A[a>>2]=0;A[s+(o*12|0)+8>>2]=0;i=A[n>>2]|0}o=o+1|0;if((o|0)>=(i|0))break e;s=A[e>>2]|0}}}while(0);A[n>>2]=0;if(t){On(A[e>>2]|0);A[e>>2]=0;A[e+8>>2]=0}}n=e+16|0;i=A[n>>2]|0;if((i|0)!=0?(A[e+20>>2]=0,t):0){On(i);A[n>>2]=0;A[e+24>>2]=0}i=e+32|0;n=A[i>>2]|0;if(!n){l=r;return}A[e+36>>2]=0;if(!t){l=r;return}On(n);A[i>>2]=0;A[e+40>>2]=0;l=r;return}function Hr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0;n=l;i=A[e>>2]|0;r=e+4|0;if(i){A[r>>2]=0;if(t){On(i);A[e>>2]=0;A[e+8>>2]=0;i=0}}else i=0;if((A[r>>2]|0)>=1){s=e+16|0;A[s>>2]=0;s=e+12|0;A[s>>2]=0;l=n;return}s=e+8|0;o=A[s>>2]|0;if((o|0)<1){a=2-o&-2;t=(o>>1)+2&-2;t=(a|0)>(t|0)?a:t;if((t|0)>(2147483647-o|0)){a=Qe(1)|0;ze(a|0,48,0)}a=t+o|0;A[s>>2]=a;i=Yn(i,a<<2)|0;A[e>>2]=i;if((i|0)==0?(A[(Ge()|0)>>2]|0)==12:0){a=Qe(1)|0;ze(a|0,48,0)}}t=A[r>>2]|0;if((t|0)<1)while(1){o=i+(t<<2)|0;if(o)A[o>>2]=0;if(!t)break;else t=t+1|0}A[r>>2]=1;a=e+16|0;A[a>>2]=0;a=e+12|0;A[a>>2]=0;l=n;return}function Jr(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0;n=l;l=l+16|0;r=n;i=e+16|0;a=A[i>>2]|0;A[i>>2]=a+1;A[(A[e>>2]|0)+(a<<2)>>2]=t;a=A[i>>2]|0;t=e+4|0;s=A[t>>2]|0;if((a|0)==(s|0)){A[i>>2]=0;a=0}o=e+12|0;if((A[o>>2]|0)!=(a|0)){l=n;return}xr(r,(s*3|0)+1>>1);g=A[o>>2]|0;u=A[t>>2]|0;if((g|0)<(u|0)){a=A[e>>2]|0;c=A[r>>2]|0;u=0;while(1){s=u+1|0;A[c+(u<<2)>>2]=A[a+(g<<2)>>2];g=g+1|0;u=A[t>>2]|0;if((g|0)>=(u|0)){c=s;break}else u=s}}else c=0;s=A[e>>2]|0;if((A[i>>2]|0)>0){a=A[r>>2]|0;g=0;while(1){A[a+(c<<2)>>2]=A[s+(g<<2)>>2];g=g+1|0;if((g|0)>=(A[i>>2]|0))break;else c=c+1|0}u=A[t>>2]|0}A[o>>2]=0;A[i>>2]=u;if(!s)i=e+8|0;else{A[t>>2]=0;On(s);A[e>>2]=0;i=e+8|0;A[i>>2]=0}A[e>>2]=A[r>>2];g=r+4|0;A[t>>2]=A[g>>2];u=r+8|0;A[i>>2]=A[u>>2];A[r>>2]=0;A[g>>2]=0;A[u>>2]=0;l=n;return}function _r(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0;r=l;n=e+4|0;i=A[n>>2]|0;o=e+8|0;s=A[o>>2]|0;if((i|0)==(s|0)&(s|0)<(i+1|0)){s=(i>>1)+2&-2;s=(s|0)<2?2:s;if((s|0)>(2147483647-i|0)){s=Qe(1)|0;ze(s|0,48,0)}a=A[e>>2]|0;i=s+i|0;A[o>>2]=i;i=Yn(a,i<<2)|0;A[e>>2]=i;if((i|0)==0?(A[(Ge()|0)>>2]|0)==12:0){a=Qe(1)|0;ze(a|0,48,0)}}else i=A[e>>2]|0;a=A[n>>2]|0;A[n>>2]=a+1;n=i+(a<<2)|0;if(!n){l=r;return}A[n>>2]=A[t>>2];l=r;return}function qr(){var e=0,t=0;t=l;Te(3864)|0;e=cn(936)|0;Cr(e);l=t;return e|0}function zr(e){e=e|0;var t=0;t=l;if(!e){l=t;return}ji[A[(A[e>>2]|0)+4>>2]&31](e);l=t;return}function Wr(){var e=0,t=0,r=0;e=l;l=l+16|0;t=e;r=cn(936)|0;Cr(r);A[964]=r;yr(r,1)|0;r=A[964]|0;n[t+0>>0]=n[3840]|0;mr(r,t,1)|0;l=e;return}function Vr(e){e=e|0;var t=0,r=0,i=0;t=l;l=l+16|0;r=t;if((A[962]|0)>=(e|0)){l=t;return}do{i=A[964]|0;n[r+0>>0]=n[3840]|0;mr(i,r,1)|0;i=(A[962]|0)+1|0;A[962]=i}while((i|0)<(e|0));l=t;return}function Xr(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0;o=l;l=l+32|0;s=o+16|0;r=o+4|0;a=o;A[r>>2]=0;i=r+4|0;A[i>>2]=0;t=r+8|0;A[t>>2]=0;c=A[e>>2]|0;if(c)do{g=(c|0)<0?0-c|0:c;if((A[962]|0)<(g|0))do{u=A[964]|0;n[s+0>>0]=n[3840]|0;mr(u,s,1)|0;u=(A[962]|0)+1|0;A[962]=u}while((u|0)<(g|0));A[a>>2]=g<<1|c>>>31;or(r,a);e=e+4|0;c=A[e>>2]|0}while((c|0)!=0);a=A[964]|0;s=a+628|0;on(r,s);s=wr(a,s)|0;a=A[r>>2]|0;if(!a){l=o;return s|0}A[i>>2]=0;On(a);A[r>>2]=0;A[t>>2]=0;l=o;return s|0}function Zr(){var e=0,t=0,r=0,i=0;t=l;l=l+16|0;e=t;r=A[964]|0;i=r+664|0;A[i+0>>2]=-1;A[i+4>>2]=-1;A[i+8>>2]=-1;A[i+12>>2]=-1;if(A[r+304>>2]|0)A[r+308>>2]=0;Br(e,r,1,0);l=t;return(n[e>>0]|0)==0|0}function $r(){return(A[(A[964]|0)+4>>2]|0)+1|0}function en(){return A[962]|0}function tn(e){e=e|0;var t=0,r=0,i=0,o=0,s=0,a=0;t=l;l=l+32|0;s=t+16|0;i=t+4|0;a=t;A[i>>2]=0;r=i+4|0;A[r>>2]=0;o=i+8|0;A[o>>2]=0;A[a>>2]=e<<1;or(i,a);e=A[964]|0;a=e+664|0;A[a+0>>2]=-1;A[a+4>>2]=-1;A[a+8>>2]=-1;A[a+12>>2]=-1;on(i,e+304|0);Br(s,e,1,0);e=(n[s>>0]|0)==0;s=A[i>>2]|0;if(!s){l=t;return e|0}A[r>>2]=0;On(s);A[i>>2]=0;A[o>>2]=0;l=t;return e|0}function rn(e){e=e|0;var t=0,r=0,n=0;t=l;l=l+16|0;n=t;r=A[964]|0;A[n>>2]=e<<1|1;e=r+628|0;if(A[e>>2]|0)A[r+632>>2]=0;or(e,n);wr(r,e)|0;l=t;return}function nn(){return A[(A[964]|0)+36>>2]|0}function An(){return A[(A[964]|0)+32>>2]|0}function on(e,t){e=e|0;t=t|0;var r=0,n=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0;r=l;s=A[t>>2]|0;n=t+4|0;if(!s)a=A[n>>2]|0;else{A[n>>2]=0;a=0}n=e+4|0;i=A[n>>2]|0;o=t+4|0;if((a|0)<(i|0)){c=t+8|0;a=A[c>>2]|0;if((a|0)<(i|0)){u=i+1-a&-2;g=(a>>1)+2&-2;g=(u|0)>(g|0)?u:g;if((g|0)>(2147483647-a|0)){u=Qe(1)|0;ze(u|0,48,0)}u=g+a|0;A[c>>2]=u;s=Yn(s,u<<2)|0;A[t>>2]=s;if((s|0)==0?(A[(Ge()|0)>>2]|0)==12:0){u=Qe(1)|0;ze(u|0,48,0)}}a=A[o>>2]|0;e:do{if((a|0)<(i|0))while(1){s=s+(a<<2)|0;if(s)A[s>>2]=0;a=a+1|0;if((a|0)==(i|0))break e;s=A[t>>2]|0}}while(0);A[o>>2]=i;i=A[n>>2]|0}if((i|0)<=0){l=r;return}t=A[t>>2]|0;e=A[e>>2]|0;i=0;do{A[t+(i<<2)>>2]=A[e+(i<<2)>>2];i=i+1|0}while((i|0)<(A[n>>2]|0));l=r;return}function sn(e,t){e=e|0;t=t|0;var r=0;r=l;l=l+16|0;A[r>>2]=t;t=A[I>>2]|0;we(t|0,e|0,r|0)|0;qe(10,t|0)|0;Xe()}function an(){var e=0,t=0;e=l;l=l+16|0;if(!(Ue(4064,3)|0)){t=xe(A[1014]|0)|0;l=e;return t|0}else sn(4072,e);return 0}function cn(e){e=e|0;var t=0,r=0;t=l;e=(e|0)==0?1:e;r=Tn(e)|0;if(r){l=t;return r|0}while(1){r=dn()|0;if(!r){e=4;break}Ji[r&3]();r=Tn(e)|0;if(r){e=5;break}}if((e|0)==4){r=Qe(4)|0;A[r>>2]=4248;ze(r|0,4296,12)}else if((e|0)==5){l=t;return r|0}return 0}function gn(e){e=e|0;var t=0;t=l;On(e);l=t;return}function ln(e){e=e|0;var t=0;t=l;gn(e);l=t;return}function un(e){e=e|0;return}function hn(e){e=e|0;return 4264}function pn(e){e=e|0;var t=0;t=l;l=l+16|0;Ji[e&3]();sn(4312,t)}function fn(){var e=0,t=0;t=an()|0;if(((t|0)!=0?(e=A[t>>2]|0,(e|0)!=0):0)?(t=e+48|0,(A[t>>2]&-256|0)==1126902528?(A[t+4>>2]|0)==1129074247:0):0)pn(A[e+12>>2]|0);t=A[968]|0;A[968]=t+0;pn(t)}function dn(){var e=0;e=A[1102]|0;A[1102]=e+0;return e|0}function Cn(e){e=e|0;return}function In(e){e=e|0;return}function En(e){e=e|0;return}function mn(e){e=e|0;return}function Bn(e){e=e|0;return}function yn(e){e=e|0;var t=0;t=l;gn(e);l=t;return}function wn(e){e=e|0;var t=0;t=l;gn(e);l=t;return}function Qn(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0,o=0,s=0;n=l;l=l+64|0;i=n;if((e|0)==(t|0)){s=1;l=n;return s|0}if(!t){s=0;l=n;return s|0}t=Sn(t,4504,4560,0)|0;if(!t){s=0;l=n;return s|0}s=i+0|0;o=s+56|0;do{A[s>>2]=0;s=s+4|0}while((s|0)<(o|0));A[i>>2]=t;A[i+8>>2]=e;A[i+12>>2]=-1;A[i+48>>2]=1;zi[A[(A[t>>2]|0)+28>>2]&3](t,i,A[r>>2]|0,1);if((A[i+24>>2]|0)!=1){s=0;l=n;return s|0}A[r>>2]=A[i+16>>2];s=1;l=n;return s|0}function vn(e,t,r,i){e=e|0;t=t|0;r=r|0;i=i|0;var o=0,s=0;e=l;o=t+16|0;s=A[o>>2]|0;if(!s){A[o>>2]=r;A[t+24>>2]=i;A[t+36>>2]=1;l=e;return}if((s|0)!=(r|0)){s=t+36|0;A[s>>2]=(A[s>>2]|0)+1;A[t+24>>2]=2;n[t+54>>0]=1;l=e;return}r=t+24|0;if((A[r>>2]|0)!=2){l=e;return}A[r>>2]=i;l=e;return}function bn(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var i=0;i=l;if((A[t+8>>2]|0)!=(e|0)){l=i;return}vn(0,t,r,n);l=i;return}function Dn(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var i=0;i=l;if((e|0)==(A[t+8>>2]|0)){vn(0,t,r,n);l=i;return}else{e=A[e+8>>2]|0;zi[A[(A[e>>2]|0)+28>>2]&3](e,t,r,n);l=i;return}}function Sn(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;var s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0;s=l;l=l+64|0;a=s;c=A[e>>2]|0;g=e+(A[c+-8>>2]|0)|0;c=A[c+-4>>2]|0;A[a>>2]=r;A[a+4>>2]=e;A[a+8>>2]=t;A[a+12>>2]=o;h=a+16|0;p=a+20|0;t=a+24|0;u=a+28|0;o=a+32|0;e=a+40|0;f=(c|0)==(r|0);d=h+0|0;r=d+36|0;do{A[d>>2]=0;d=d+4|0}while((d|0)<(r|0));i[h+36>>1]=0;n[h+38>>0]=0;if(f){A[a+48>>2]=1;_i[A[(A[c>>2]|0)+20>>2]&3](c,a,g,g,1,0);d=(A[t>>2]|0)==1?g:0;l=s;return d|0}Yi[A[(A[c>>2]|0)+24>>2]&3](c,a,g,1,0);a=A[a+36>>2]|0;if(!a){d=(A[e>>2]|0)==1&(A[u>>2]|0)==1&(A[o>>2]|0)==1?A[p>>2]|0:0;l=s;return d|0}else if((a|0)==1){if((A[t>>2]|0)!=1?!((A[e>>2]|0)==0&(A[u>>2]|0)==1&(A[o>>2]|0)==1):0){d=0;l=s;return d|0}d=A[h>>2]|0;l=s;return d|0}else{d=0;l=s;return d|0}return 0}function kn(e,t,r,i,o){e=e|0;t=t|0;r=r|0;i=i|0;o=o|0;var s=0;e=l;n[t+53>>0]=1;if((A[t+4>>2]|0)!=(i|0)){l=e;return}n[t+52>>0]=1;i=t+16|0;s=A[i>>2]|0;if(!s){A[i>>2]=r;A[t+24>>2]=o;A[t+36>>2]=1;if(!((o|0)==1?(A[t+48>>2]|0)==1:0)){l=e;return}n[t+54>>0]=1;l=e;return}if((s|0)!=(r|0)){s=t+36|0;A[s>>2]=(A[s>>2]|0)+1;n[t+54>>0]=1;l=e;return}r=t+24|0;i=A[r>>2]|0;if((i|0)==2)A[r>>2]=o;else o=i;if(!((o|0)==1?(A[t+48>>2]|0)==1:0)){l=e;return}n[t+54>>0]=1;l=e;return}function Mn(e,t,r,i,o){e=e|0;t=t|0;r=r|0;i=i|0;o=o|0;var s=0,a=0,c=0,g=0,u=0;s=l;if((e|0)==(A[t+8>>2]|0)){if((A[t+4>>2]|0)!=(r|0)){l=s;return}a=t+28|0;if((A[a>>2]|0)==1){l=s;return}A[a>>2]=i;l=s;return}if((e|0)!=(A[t>>2]|0)){g=A[e+8>>2]|0;Yi[A[(A[g>>2]|0)+24>>2]&3](g,t,r,i,o);l=s;return}if((A[t+16>>2]|0)!=(r|0)?(c=t+20|0,(A[c>>2]|0)!=(r|0)):0){A[t+32>>2]=i;i=t+44|0;if((A[i>>2]|0)==4){l=s;return}g=t+52|0;n[g>>0]=0;u=t+53|0;n[u>>0]=0;e=A[e+8>>2]|0;_i[A[(A[e>>2]|0)+20>>2]&3](e,t,r,r,1,o);if(n[u>>0]|0){if(!(n[g>>0]|0)){e=1;a=13}}else{e=0;a=13}do{if((a|0)==13){A[c>>2]=r;u=t+40|0;A[u>>2]=(A[u>>2]|0)+1;if((A[t+36>>2]|0)==1?(A[t+24>>2]|0)==2:0){n[t+54>>0]=1;if(e)break}else a=16;if((a|0)==16?e:0)break;A[i>>2]=4;l=s;return}}while(0);A[i>>2]=3;l=s;return}if((i|0)!=1){l=s;return}A[t+32>>2]=1;l=s;return}function Nn(e,t,r,i,o){e=e|0;t=t|0;r=r|0;i=i|0;o=o|0;var s=0;o=l;if((A[t+8>>2]|0)==(e|0)){if((A[t+4>>2]|0)!=(r|0)){l=o;return}t=t+28|0;if((A[t>>2]|0)==1){l=o;return}A[t>>2]=i;l=o;return}if((A[t>>2]|0)!=(e|0)){l=o;return}if((A[t+16>>2]|0)!=(r|0)?(s=t+20|0,(A[s>>2]|0)!=(r|0)):0){A[t+32>>2]=i;A[s>>2]=r;e=t+40|0;A[e>>2]=(A[e>>2]|0)+1;if((A[t+36>>2]|0)==1?(A[t+24>>2]|0)==2:0)n[t+54>>0]=1;A[t+44>>2]=4;l=o;return}if((i|0)!=1){l=o;return}A[t+32>>2]=1;l=o;return}function Fn(e,t,r,n,i,o){e=e|0;t=t|0;r=r|0;n=n|0;i=i|0;o=o|0;var s=0;s=l;if((e|0)==(A[t+8>>2]|0)){kn(0,t,r,n,i);l=s;return}else{e=A[e+8>>2]|0;_i[A[(A[e>>2]|0)+20>>2]&3](e,t,r,n,i,o);l=s;return}}function Rn(e,t,r,n,i,o){e=e|0;t=t|0;r=r|0;n=n|0;i=i|0;o=o|0;o=l;if((A[t+8>>2]|0)!=(e|0)){l=o;return}kn(0,t,r,n,i);l=o;return}function Kn(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;n=l;l=l+16|0;i=n;A[i>>2]=A[r>>2];e=Oi[A[(A[e>>2]|0)+16>>2]&1](e,t,i)|0;t=e&1;if(!e){l=n;return t|0}A[r>>2]=A[i>>2];l=n;return t|0}function Ln(e){e=e|0;var t=0;t=l;if(!e)e=0;else e=(Sn(e,4504,4672,0)|0)!=0;l=t;return e&1|0}function xn(){var e=0,t=0,r=0,n=0,i=0;e=l;l=l+16|0;t=e;e=e+12|0;r=an()|0;if(!r)sn(4040,t);r=A[r>>2]|0;if(!r)sn(4040,t);i=r+48|0;n=A[i>>2]|0;i=A[i+4>>2]|0;if(!((n&-256|0)==1126902528&(i|0)==1129074247)){A[t>>2]=A[970];sn(4e3,t)}if((n|0)==1126902529&(i|0)==1129074247)n=A[r+44>>2]|0;else n=r+80|0;A[e>>2]=n;i=A[r>>2]|0;r=A[i+4>>2]|0;if(Oi[A[(A[4432>>2]|0)+16>>2]&1](4432,i,e)|0){i=A[e>>2]|0;n=A[970]|0;i=Hi[A[(A[i>>2]|0)+8>>2]&1](i)|0;A[t>>2]=n;A[t+4>>2]=r;A[t+8>>2]=i;sn(3904,t)}else{A[t>>2]=A[970];A[t+4>>2]=r;sn(3952,t)}}function Pn(){var e=0;e=l;l=l+16|0;if(!(Ye(4056,20)|0)){l=e;return}else sn(4128,e)}function Un(e){e=e|0;var t=0;t=l;l=l+16|0;On(e);if(!(He(A[1014]|0,0)|0)){l=t;return}else sn(4184,t)}function Tn(e){e=e|0;var t=0,r=0,n=0,i=0,o=0,s=0,a=0,c=0,g=0,u=0,h=0,p=0,f=0,d=0,C=0,I=0,E=0,m=0,B=0,y=0,w=0,Q=0,v=0,b=0,D=0,S=0,k=0,M=0,N=0,F=0,R=0;t=l;do{if(e>>>0<245){if(e>>>0<11)e=16;else e=e+11&-8;w=e>>>3;f=A[1206]|0;y=f>>>w;if(y&3){o=(y&1^1)+w|0;i=o<<1;r=4864+(i<<2)|0;i=4864+(i+2<<2)|0;s=A[i>>2]|0;a=s+8|0;n=A[a>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(A[1210]|0)>>>0)Xe();c=n+12|0;if((A[c>>2]|0)==(s|0)){A[c>>2]=r;A[i>>2]=n;break}else Xe()}else A[1206]=f&~(1<>2]=R|3;R=s+(R|4)|0;A[R>>2]=A[R>>2]|1;R=a;l=t;return R|0}B=A[1208]|0;if(e>>>0>B>>>0){if(y){s=2<>>12&16;s=s>>>r;a=s>>>5&8;s=s>>>a;i=s>>>2&4;s=s>>>i;o=s>>>1&2;s=s>>>o;n=s>>>1&1;n=(a|r|i|o|n)+(s>>>n)|0;s=n<<1;o=4864+(s<<2)|0;s=4864+(s+2<<2)|0;i=A[s>>2]|0;r=i+8|0;a=A[r>>2]|0;do{if((o|0)!=(a|0)){if(a>>>0<(A[1210]|0)>>>0)Xe();c=a+12|0;if((A[c>>2]|0)==(i|0)){A[c>>2]=o;A[s>>2]=a;M=A[1208]|0;break}else Xe()}else{A[1206]=f&~(1<>2]=e|3;o=i+e|0;A[i+(e|4)>>2]=n|1;A[i+R>>2]=n;if(M){i=A[1211]|0;g=M>>>3;a=g<<1;s=4864+(a<<2)|0;c=A[1206]|0;g=1<>2]|0;if(c>>>0<(A[1210]|0)>>>0)Xe();else{k=a;S=c}}else{A[1206]=c|g;k=4864+(a+2<<2)|0;S=s}A[k>>2]=i;A[S+12>>2]=i;A[i+8>>2]=S;A[i+12>>2]=s}A[1208]=n;A[1211]=o;R=r;l=t;return R|0}f=A[1207]|0;if(f){r=(f&0-f)+-1|0;F=r>>>12&16;r=r>>>F;N=r>>>5&8;r=r>>>N;R=r>>>2&4;r=r>>>R;i=r>>>1&2;r=r>>>i;n=r>>>1&1;n=A[5128+((N|F|R|i|n)+(r>>>n)<<2)>>2]|0;r=(A[n+4>>2]&-8)-e|0;i=n;while(1){o=A[i+16>>2]|0;if(!o){o=A[i+20>>2]|0;if(!o)break}i=(A[o+4>>2]&-8)-e|0;R=i>>>0>>0;r=R?i:r;i=o;n=R?o:n}s=A[1210]|0;if(n>>>0>>0)Xe();i=n+e|0;if(n>>>0>=i>>>0)Xe();o=A[n+24>>2]|0;c=A[n+12>>2]|0;do{if((c|0)==(n|0)){c=n+20|0;a=A[c>>2]|0;if(!a){c=n+16|0;a=A[c>>2]|0;if(!a){D=0;break}}while(1){g=a+20|0;u=A[g>>2]|0;if(u){a=u;c=g;continue}g=a+16|0;u=A[g>>2]|0;if(!u)break;else{a=u;c=g}}if(c>>>0>>0)Xe();else{A[c>>2]=0;D=a;break}}else{a=A[n+8>>2]|0;if(a>>>0>>0)Xe();s=a+12|0;if((A[s>>2]|0)!=(n|0))Xe();g=c+8|0;if((A[g>>2]|0)==(n|0)){A[s>>2]=c;A[g>>2]=a;D=c;break}else Xe()}}while(0);do{if(o){a=A[n+28>>2]|0;s=5128+(a<<2)|0;if((n|0)==(A[s>>2]|0)){A[s>>2]=D;if(!D){A[1207]=A[1207]&~(1<>>0<(A[1210]|0)>>>0)Xe();s=o+16|0;if((A[s>>2]|0)==(n|0))A[s>>2]=D;else A[o+20>>2]=D;if(!D)break}s=A[1210]|0;if(D>>>0>>0)Xe();A[D+24>>2]=o;o=A[n+16>>2]|0;do{if(o)if(o>>>0>>0)Xe();else{A[D+16>>2]=o;A[o+24>>2]=D;break}}while(0);o=A[n+20>>2]|0;if(o)if(o>>>0<(A[1210]|0)>>>0)Xe();else{A[D+20>>2]=o;A[o+24>>2]=D;break}}}while(0);if(r>>>0<16){R=r+e|0;A[n+4>>2]=R|3;R=n+(R+4)|0;A[R>>2]=A[R>>2]|1}else{A[n+4>>2]=e|3;A[n+(e|4)>>2]=r|1;A[n+(r+e)>>2]=r;s=A[1208]|0;if(s){o=A[1211]|0;c=s>>>3;g=c<<1;s=4864+(g<<2)|0;a=A[1206]|0;c=1<>2]|0;if(c>>>0<(A[1210]|0)>>>0)Xe();else{b=a;v=c}}else{A[1206]=a|c;b=4864+(g+2<<2)|0;v=s}A[b>>2]=o;A[v+12>>2]=o;A[o+8>>2]=v;A[o+12>>2]=s}A[1208]=r;A[1211]=i}R=n+8|0;l=t;return R|0}}}else if(e>>>0<=4294967231){v=e+11|0;e=v&-8;D=A[1207]|0;if(D){b=0-e|0;v=v>>>8;if(v)if(e>>>0>16777215)S=31;else{F=(v+1048320|0)>>>16&8;R=v<>>16&4;R=R<>>16&2;S=14-(N|F|S)+(R<>>15)|0;S=e>>>(S+7|0)&1|S<<1}else S=0;k=A[5128+(S<<2)>>2]|0;e:do{if(!k){N=0;v=0}else{if((S|0)==31)v=0;else v=25-(S>>>1)|0;N=0;M=e<>2]&-8;R=F-e|0;if(R>>>0>>0)if((F|0)==(e|0)){b=R;N=k;v=k;break e}else{b=R;v=k}R=A[k+20>>2]|0;k=A[k+(M>>>31<<2)+16>>2]|0;N=(R|0)==0|(R|0)==(k|0)?N:R;if(!k)break;else M=M<<1}}}while(0);if((N|0)==0&(v|0)==0){R=2<>>12&16;R=R>>>k;S=R>>>5&8;R=R>>>S;M=R>>>2&4;R=R>>>M;F=R>>>1&2;R=R>>>F;N=R>>>1&1;N=A[5128+((S|k|M|F|N)+(R>>>N)<<2)>>2]|0}if(N)while(1){R=(A[N+4>>2]&-8)-e|0;D=R>>>0>>0;b=D?R:b;v=D?N:v;D=A[N+16>>2]|0;if(D){N=D;continue}N=A[N+20>>2]|0;if(!N)break}if((v|0)!=0?b>>>0<((A[1208]|0)-e|0)>>>0:0){i=A[1210]|0;if(v>>>0>>0)Xe();r=v+e|0;if(v>>>0>=r>>>0)Xe();n=A[v+24>>2]|0;o=A[v+12>>2]|0;do{if((o|0)==(v|0)){s=v+20|0;o=A[s>>2]|0;if(!o){s=v+16|0;o=A[s>>2]|0;if(!o){w=0;break}}while(1){a=o+20|0;c=A[a>>2]|0;if(c){o=c;s=a;continue}a=o+16|0;c=A[a>>2]|0;if(!c)break;else{o=c;s=a}}if(s>>>0>>0)Xe();else{A[s>>2]=0;w=o;break}}else{s=A[v+8>>2]|0;if(s>>>0>>0)Xe();a=s+12|0;if((A[a>>2]|0)!=(v|0))Xe();i=o+8|0;if((A[i>>2]|0)==(v|0)){A[a>>2]=o;A[i>>2]=s;w=o;break}else Xe()}}while(0);do{if(n){i=A[v+28>>2]|0;o=5128+(i<<2)|0;if((v|0)==(A[o>>2]|0)){A[o>>2]=w;if(!w){A[1207]=A[1207]&~(1<>>0<(A[1210]|0)>>>0)Xe();i=n+16|0;if((A[i>>2]|0)==(v|0))A[i>>2]=w;else A[n+20>>2]=w;if(!w)break}i=A[1210]|0;if(w>>>0>>0)Xe();A[w+24>>2]=n;n=A[v+16>>2]|0;do{if(n)if(n>>>0>>0)Xe();else{A[w+16>>2]=n;A[n+24>>2]=w;break}}while(0);n=A[v+20>>2]|0;if(n)if(n>>>0<(A[1210]|0)>>>0)Xe();else{A[w+20>>2]=n;A[n+24>>2]=w;break}}}while(0);e:do{if(b>>>0>=16){A[v+4>>2]=e|3;A[v+(e|4)>>2]=b|1;A[v+(b+e)>>2]=b;i=b>>>3;if(b>>>0<256){s=i<<1;n=4864+(s<<2)|0;o=A[1206]|0;i=1<>2]|0;if(o>>>0>=(A[1210]|0)>>>0){y=i;B=o;break}Xe()}}while(0);A[y>>2]=r;A[B+12>>2]=r;A[v+(e+8)>>2]=B;A[v+(e+12)>>2]=n;break}n=b>>>8;if(n)if(b>>>0>16777215)n=31;else{F=(n+1048320|0)>>>16&8;R=n<>>16&4;R=R<>>16&2;n=14-(N|F|n)+(R<