var Physics3D=function(){var t="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(e){var o;e={},o||(o=void 0!==e?e:{});var i,c={};for(i in o)o.hasOwnProperty(i)&&(c[i]=o[i]);o.arguments=[],o.thisProgram="./this.program",o.quit=function(t,e){throw e},o.preRun=[],o.postRun=[];var s,_,b,g=!1;s="object"==typeof window,_="function"==typeof importScripts,g="object"==typeof process&&"function"==typeof require&&!s&&!_,b=!s&&!g&&!_;var d,j,q="";g?(q=__dirname+"/",o.read=function(t,e){var o=ka(t);return o||(d||(d=require("fs")),j||(j=require("path")),t=j.normalize(t),o=d.readFileSync(t)),e?o:o.toString()},o.readBinary=function(t){return(t=o.read(t,!0)).buffer||(t=new Uint8Array(t)),assert(t.buffer),t},1>>16)*r+o*(e>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(t){var e=32,o=t>>16;return o&&(e-=16,t=o),(o=t>>8)&&(e-=8,t=o),(o=t>>4)&&(e-=4,t=o),(o=t>>2)&&(e-=2,t=o),t>>1?e-2:e-t}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return 0>t?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var mt=0,Ct=null,jt=null;o.preloadedImages={},o.preloadedAudios={};var vt=null,St="data:application/octet-stream;base64,";at=520,ft.push();var It=at;_t=at+=16,it=pt=oa(at=at+4+15&-16),st=oa(ct=it+lt),rt[_t>>2]=st;var Rt=!1;function la(t){for(var e=[],o=0;o>4,n=(15&n)<<4|a>>2;var p=(3&a)<<6|i;e+=String.fromCharCode(r),64!==a&&(e+=String.fromCharCode(n)),64!==i&&(e+=String.fromCharCode(p))}while(o>2]=t),t},_emscripten_memcpy_big:function(t,e,o){return ot.set(ot.subarray(e,e+o),t),t},DYNAMICTOP_PTR:_t,tempDoublePtr:It,STACKTOP:pt,STACK_MAX:ct};var Ot=function(t,e,o){"use asm";var r=new t.Int8Array(o);var n=new t.Int16Array(o);var a=new t.Int32Array(o);var i=new t.Uint8Array(o);var p=new t.Uint16Array(o);var c=new t.Uint32Array(o);var s=new t.Float32Array(o);var b=new t.Float64Array(o);var l=e.DYNAMICTOP_PTR|0;var y=e.tempDoublePtr|0;var u=e.STACKTOP|0;var f=e.STACK_MAX|0;var h=0;var g=0;var d=0;var m=0;var C=t.NaN,j=t.Infinity;var v=0,S=0,I=0,R=0,P=0.0;var O=0;var w=t.Math.floor;var T=t.Math.abs;var W=t.Math.sqrt;var k=t.Math.pow;var M=t.Math.cos;var A=t.Math.sin;var D=t.Math.tan;var L=t.Math.acos;var x=t.Math.asin;var F=t.Math.atan;var B=t.Math.atan2;var G=t.Math.exp;var V=t.Math.log;var H=t.Math.ceil;var U=t.Math.imul;var N=t.Math.min;var E=t.Math.max;var Q=t.Math.clz32;var z=e.abort;var K=e.assert;var X=e.enlargeMemory;var Y=e.getTotalMemory;var q=e.abortOnCannotGrowMemory;var J=e.___errno_location;var tt=e.___setErrNo;var et=e._emscripten_memcpy_big;var ot=0.0;function Z(t){t=t|0;var e=0,o=0,r=0,n=0,i=0,p=0,c=0,s=0,_=0,b=0,l=0,y=0,f=0,h=0,g=0,d=0,m=0,C=0,j=0,v=0;v=u;u=u+16|0;do{if(t>>>0<245){y=t>>>0<11?16:t+11&-8;b=a[2]|0;if(b>>>(y>>>3)&3|0){t=48+((b>>>(y>>>3)&1^1)+(y>>>3)<<1<<2)|0;e=a[t+8>>2]|0;o=a[e+8>>2]|0;if((o|0)==(t|0))a[2]=b&~(1<<(b>>>(y>>>3)&1^1)+(y>>>3));else{a[o+12>>2]=t;a[t+8>>2]=o}j=(b>>>(y>>>3)&1^1)+(y>>>3)<<3;a[e+4>>2]=j|3;a[e+j+4>>2]=a[e+j+4>>2]|1;j=e+8|0;u=v;return j|0}l=a[4]|0;if(y>>>0>l>>>0){if(b>>>(y>>>3)|0){t=b>>>(y>>>3)<<(y>>>3)&(2<<(y>>>3)|0-(2<<(y>>>3)));n=((t&0-t)+-1|0)>>>(((t&0-t)+-1|0)>>>12&16);r=n>>>(n>>>5&8)>>>(n>>>(n>>>5&8)>>>2&4);r=(n>>>5&8|((t&0-t)+-1|0)>>>12&16|n>>>(n>>>5&8)>>>2&4|r>>>1&2|r>>>(r>>>1&2)>>>1&1)+(r>>>(r>>>1&2)>>>(r>>>(r>>>1&2)>>>1&1))|0;n=a[48+(r<<1<<2)+8>>2]|0;t=a[n+8>>2]|0;if((t|0)==(48+(r<<1<<2)|0)){a[2]=b&~(1<>2]=48+(r<<1<<2);a[48+(r<<1<<2)+8>>2]=t;t=b}a[n+4>>2]=y|3;a[n+y+4>>2]=(r<<3)-y|1;a[n+(r<<3)>>2]=(r<<3)-y;if(l|0){o=a[7]|0;if(!(t&1<<(l>>>3))){a[2]=t|1<<(l>>>3);t=48+(l>>>3<<1<<2)|0;e=48+(l>>>3<<1<<2)+8|0}else{t=a[48+(l>>>3<<1<<2)+8>>2]|0;e=48+(l>>>3<<1<<2)+8|0}a[e>>2]=o;a[t+12>>2]=o;a[o+8>>2]=t;a[o+12>>2]=48+(l>>>3<<1<<2)}a[4]=(r<<3)-y;a[7]=n+y;j=n+8|0;u=v;return j|0}p=a[3]|0;if(p){e=((p&0-p)+-1|0)>>>(((p&0-p)+-1|0)>>>12&16);_=e>>>(e>>>5&8)>>>(e>>>(e>>>5&8)>>>2&4);_=a[312+((e>>>5&8|((p&0-p)+-1|0)>>>12&16|e>>>(e>>>5&8)>>>2&4|_>>>1&2|_>>>(_>>>1&2)>>>1&1)+(_>>>(_>>>1&2)>>>(_>>>(_>>>1&2)>>>1&1))<<2)>>2]|0;e=_;s=_;_=(a[_+4>>2]&-8)-y|0;while(1){t=a[e+16>>2]|0;if(!t){t=a[e+20>>2]|0;if(!t)break}c=(a[t+4>>2]&-8)-y|0;n=c>>>0<_>>>0;e=t;s=n?t:s;_=n?c:_}c=s+y|0;if(c>>>0>s>>>0){n=a[s+24>>2]|0;t=a[s+12>>2]|0;do{if((t|0)==(s|0)){e=s+20|0;t=a[e>>2]|0;if(!t){e=s+16|0;t=a[e>>2]|0;if(!t){e=0;break}}while(1){r=t+20|0;o=a[r>>2]|0;if(!o){r=t+16|0;o=a[r>>2]|0;if(!o)break;else{t=o;e=r}}else{t=o;e=r}}a[e>>2]=0;e=t}else{e=a[s+8>>2]|0;a[e+12>>2]=t;a[t+8>>2]=e;e=t}}while(0);do{if(n|0){t=a[s+28>>2]|0;if((s|0)==(a[312+(t<<2)>>2]|0)){a[312+(t<<2)>>2]=e;if(!e){a[3]=p&~(1<>2]|0)==(s|0)?n+16|0:n+20|0)>>2]=e;if(!e)break}a[e+24>>2]=n;t=a[s+16>>2]|0;if(t|0){a[e+16>>2]=t;a[t+24>>2]=e}t=a[s+20>>2]|0;if(t|0){a[e+20>>2]=t;a[t+24>>2]=e}}}while(0);if(_>>>0<16){j=_+y|0;a[s+4>>2]=j|3;j=s+j+4|0;a[j>>2]=a[j>>2]|1}else{a[s+4>>2]=y|3;a[c+4>>2]=_|1;a[c+_>>2]=_;if(l|0){o=a[7]|0;if(!(1<<(l>>>3)&b)){a[2]=1<<(l>>>3)|b;t=48+(l>>>3<<1<<2)|0;e=48+(l>>>3<<1<<2)+8|0}else{t=a[48+(l>>>3<<1<<2)+8>>2]|0;e=48+(l>>>3<<1<<2)+8|0}a[e>>2]=o;a[t+12>>2]=o;a[o+8>>2]=t;a[o+12>>2]=48+(l>>>3<<1<<2)}a[4]=_;a[7]=c}j=s+8|0;u=v;return j|0}}}}else if(t>>>0<=4294967231){y=t+11&-8;r=a[3]|0;if(r){if((t+11|0)>>>8)if(y>>>0>16777215)s=31;else{s=(t+11|0)>>>8<<((((t+11|0)>>>8)+1048320|0)>>>16&8);s=14-((s+520192|0)>>>16&4|(((t+11|0)>>>8)+1048320|0)>>>16&8|((s<<((s+520192|0)>>>16&4))+245760|0)>>>16&2)+(s<<((s+520192|0)>>>16&4)<<(((s<<((s+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;s=y>>>(s+7|0)&1|s<<1}else s=0;t=a[312+(s<<2)>>2]|0;t:do{if(!t){o=0;t=0;e=0-y|0;d=61}else{p=0;e=0-y|0;c=y<<((s|0)==31?0:25-(s>>>1)|0);o=0;while(1){n=(a[t+4>>2]&-8)-y|0;if(n>>>0>>0)if(!n){n=t;e=0;o=t;d=65;break t}else{p=t;e=n}d=a[t+20>>2]|0;t=a[t+16+(c>>>31<<2)>>2]|0;o=(d|0)==0|(d|0)==(t|0)?o:d;if(!t){t=p;d=61;break}else c=c<<1}}}while(0);if((d|0)==61){if((o|0)==0&(t|0)==0){t=2<>>(b>>>12&16)>>>(b>>>(b>>>12&16)>>>5&8);o=l>>>(l>>>2&4)>>>(l>>>(l>>>2&4)>>>1&2);t=0;o=a[312+((b>>>(b>>>12&16)>>>5&8|b>>>12&16|l>>>2&4|l>>>(l>>>2&4)>>>1&2|o>>>1&1)+(o>>>(o>>>1&1))<<2)>>2]|0}if(!o){c=t;p=e}else{n=t;d=65}}if((d|0)==65)while(1){l=(a[o+4>>2]&-8)-y|0;t=l>>>0>>0;e=t?l:e;n=t?o:n;t=a[o+16>>2]|0;if(!t)t=a[o+20>>2]|0;if(!t){c=n;p=e;break}else o=t}if(((c|0)!=0?p>>>0<((a[4]|0)-y|0)>>>0:0)?(_=c+y|0,_>>>0>c>>>0):0){i=a[c+24>>2]|0;t=a[c+12>>2]|0;do{if((t|0)==(c|0)){e=c+20|0;t=a[e>>2]|0;if(!t){e=c+16|0;t=a[e>>2]|0;if(!t){t=0;break}}while(1){n=t+20|0;o=a[n>>2]|0;if(!o){n=t+16|0;o=a[n>>2]|0;if(!o)break;else{t=o;e=n}}else{t=o;e=n}}a[e>>2]=0}else{j=a[c+8>>2]|0;a[j+12>>2]=t;a[t+8>>2]=j}}while(0);do{if(i){e=a[c+28>>2]|0;if((c|0)==(a[312+(e<<2)>>2]|0)){a[312+(e<<2)>>2]=t;if(!t){a[3]=r&~(1<>2]|0)==(c|0)?i+16|0:i+20|0)>>2]=t;if(!t)break}a[t+24>>2]=i;e=a[c+16>>2]|0;if(e|0){a[t+16>>2]=e;a[e+24>>2]=t}e=a[c+20>>2]|0;if(e){a[t+20>>2]=e;a[e+24>>2]=t}}}while(0);t:do{if(p>>>0<16){j=p+y|0;a[c+4>>2]=j|3;j=c+j+4|0;a[j>>2]=a[j>>2]|1}else{a[c+4>>2]=y|3;a[_+4>>2]=p|1;a[_+p>>2]=p;o=p>>>3;if(p>>>0<256){t=a[2]|0;if(!(t&1<>2]|0;e=48+(o<<1<<2)+8|0}a[e>>2]=_;a[t+12>>2]=_;a[_+8>>2]=t;a[_+12>>2]=48+(o<<1<<2);break}t=p>>>8;if(t)if(p>>>0>16777215)o=31;else{o=t<<((t+1048320|0)>>>16&8)<<(((t<<((t+1048320|0)>>>16&8))+520192|0)>>>16&4);o=14-(((t<<((t+1048320|0)>>>16&8))+520192|0)>>>16&4|(t+1048320|0)>>>16&8|(o+245760|0)>>>16&2)+(o<<((o+245760|0)>>>16&2)>>>15)|0;o=p>>>(o+7|0)&1|o<<1}else o=0;t=312+(o<<2)|0;a[_+28>>2]=o;a[_+16+4>>2]=0;a[_+16>>2]=0;e=1<>2]=_;a[_+24>>2]=t;a[_+12>>2]=_;a[_+8>>2]=_;break}t=a[t>>2]|0;e:do{if((a[t+4>>2]&-8|0)!=(p|0)){r=p<<((o|0)==31?0:25-(o>>>1)|0);while(1){o=t+16+(r>>>31<<2)|0;e=a[o>>2]|0;if(!e)break;if((a[e+4>>2]&-8|0)==(p|0)){t=e;break e}else{r=r<<1;t=e}}a[o>>2]=_;a[_+24>>2]=t;a[_+12>>2]=_;a[_+8>>2]=_;break t}}while(0);C=t+8|0;j=a[C>>2]|0;a[j+12>>2]=_;a[C>>2]=_;a[_+8>>2]=j;a[_+12>>2]=t;a[_+24>>2]=0}}while(0);j=c+8|0;u=v;return j|0}}}else y=-1}while(0);o=a[4]|0;if(o>>>0>=y>>>0){t=o-y|0;e=a[7]|0;if(t>>>0>15){j=e+y|0;a[7]=j;a[4]=t;a[j+4>>2]=t|1;a[e+o>>2]=t;a[e+4>>2]=y|3}else{a[4]=0;a[7]=0;a[e+4>>2]=o|3;a[e+o+4>>2]=a[e+o+4>>2]|1}j=e+8|0;u=v;return j|0}n=a[5]|0;if(n>>>0>y>>>0){m=n-y|0;a[5]=m;j=a[8]|0;C=j+y|0;a[8]=C;a[C+4>>2]=m|1;a[j+4>>2]=y|3;j=j+8|0;u=v;return j|0}if(!(a[120]|0)){a[122]=4096;a[121]=4096;a[123]=-1;a[124]=-1;a[125]=0;a[113]=0;a[120]=v&-16^1431655768;t=4096}else t=a[122]|0;p=y+48|0;c=y+47|0;_=t+c|0;s=0-t|0;if((_&s)>>>0<=y>>>0){j=0;u=v;return j|0}t=a[112]|0;if(t|0?(l=a[110]|0,(l+(_&s)|0)>>>0<=l>>>0?1:(l+(_&s)|0)>>>0>t>>>0):0){j=0;u=v;return j|0}t:do{if(!(a[113]&4)){o=a[8]|0;e:do{if(o){e=456;while(1){t=a[e>>2]|0;if(t>>>0<=o>>>0?(f=e+4|0,(t+(a[f>>2]|0)|0)>>>0>o>>>0):0)break;t=a[e+8>>2]|0;if(!t){d=128;break e}else e=t}if((_-n&s)>>>0<2147483647){t=ca(_-n&s|0)|0;if((t|0)==((a[e>>2]|0)+(a[f>>2]|0)|0))if((t|0)==(-1|0))t=_-n&s;else{p=_-n&s;i=t;d=145;break t}else{r=t;o=_-n&s;d=136}}else t=0}else d=128}while(0);do{if((d|0)==128){e=ca(0)|0;if((e|0)!=(-1|0)?(g=a[121]|0,g=((g+-1&e|0)==0?0:(g+-1+e&0-g)-e|0)+(_&s)|0,h=a[110]|0,g>>>0>y>>>0&g>>>0<2147483647):0){f=a[112]|0;if(f|0?(g+h|0)>>>0<=h>>>0|(g+h|0)>>>0>f>>>0:0){t=0;break}t=ca(g|0)|0;if((t|0)==(e|0)){p=g;i=e;d=145;break t}else{r=t;o=g;d=136}}else t=0}}while(0);do{if((d|0)==136){e=0-o|0;if(!(p>>>0>o>>>0&(o>>>0<2147483647&(r|0)!=(-1|0))))if((r|0)==(-1|0)){t=0;break}else{p=o;i=r;d=145;break t}t=a[122]|0;t=c-o+t&0-t;if(t>>>0>=2147483647){p=o;i=r;d=145;break t}if((ca(t|0)|0)==(-1|0)){ca(e|0)|0;t=0;break}else{p=t+o|0;i=r;d=145;break t}}}while(0);a[113]=a[113]|4;d=143}else{t=0;d=143}}while(0);if(((d|0)==143?(_&s)>>>0<2147483647:0)?(i=ca(_&s|0)|0,m=ca(0)|0,C=(m-i|0)>>>0>(y+40|0)>>>0,!((i|0)==(-1|0)|C^1|i>>>0>>0&((i|0)!=(-1|0)&(m|0)!=(-1|0))^1)):0){p=C?m-i|0:t;d=145}if((d|0)==145){t=(a[110]|0)+p|0;a[110]=t;if(t>>>0>(a[111]|0)>>>0)a[111]=t;s=a[8]|0;t:do{if(s){t=456;while(1){e=a[t>>2]|0;o=t+4|0;r=a[o>>2]|0;if((i|0)==(e+r|0)){d=154;break}n=a[t+8>>2]|0;if(!n)break;else t=n}if(((d|0)==154?(a[t+12>>2]&8|0)==0:0)?i>>>0>s>>>0&e>>>0<=s>>>0:0){a[o>>2]=r+p;j=(a[5]|0)+p|0;C=(s+8&7|0)==0?0:0-(s+8)&7;a[8]=s+C;a[5]=j-C;a[s+C+4>>2]=j-C|1;a[s+j+4>>2]=40;a[9]=a[124];break}if(i>>>0<(a[6]|0)>>>0)a[6]=i;o=i+p|0;t=456;while(1){if((a[t>>2]|0)==(o|0)){d=162;break}e=a[t+8>>2]|0;if(!e)break;else t=e}if((d|0)==162?(a[t+12>>2]&8|0)==0:0){a[t>>2]=i;b=t+4|0;a[b>>2]=(a[b>>2]|0)+p;b=i+8|0;b=i+((b&7|0)==0?0:0-b&7)|0;t=o+((o+8&7|0)==0?0:0-(o+8)&7)|0;_=b+y|0;c=t-b-y|0;a[b+4>>2]=y|3;e:do{if((s|0)==(t|0)){j=(a[5]|0)+c|0;a[5]=j;a[8]=_;a[_+4>>2]=j|1}else{if((a[7]|0)==(t|0)){j=(a[4]|0)+c|0;a[4]=j;a[7]=_;a[_+4>>2]=j|1;a[_+j>>2]=j;break}p=a[t+4>>2]|0;if((p&3|0)==1){o:do{if(p>>>0<256){e=a[t+8>>2]|0;o=a[t+12>>2]|0;if((o|0)==(e|0)){a[2]=a[2]&~(1<<(p>>>3));break}else{a[e+12>>2]=o;a[o+8>>2]=e;break}}else{i=a[t+24>>2]|0;e=a[t+12>>2]|0;do{if((e|0)==(t|0)){e=a[t+16+4>>2]|0;if(!e){e=a[t+16>>2]|0;if(!e){e=0;break}else o=t+16|0}else o=t+16+4|0;while(1){n=e+20|0;r=a[n>>2]|0;if(!r){n=e+16|0;r=a[n>>2]|0;if(!r)break;else{e=r;o=n}}else{e=r;o=n}}a[o>>2]=0}else{j=a[t+8>>2]|0;a[j+12>>2]=e;a[e+8>>2]=j}}while(0);if(!i)break;o=a[t+28>>2]|0;do{if((a[312+(o<<2)>>2]|0)!=(t|0)){a[((a[i+16>>2]|0)==(t|0)?i+16|0:i+20|0)>>2]=e;if(!e)break o}else{a[312+(o<<2)>>2]=e;if(e|0)break;a[3]=a[3]&~(1<>2]=i;o=a[t+16>>2]|0;if(o|0){a[e+16>>2]=o;a[o+24>>2]=e}o=a[t+16+4>>2]|0;if(!o)break;a[e+20>>2]=o;a[o+24>>2]=e}}while(0);t=t+(p&-8)|0;n=(p&-8)+c|0}else n=c;o=t+4|0;a[o>>2]=a[o>>2]&-2;a[_+4>>2]=n|1;a[_+n>>2]=n;o=n>>>3;if(n>>>0<256){t=a[2]|0;if(!(t&1<>2]|0;e=48+(o<<1<<2)+8|0}a[e>>2]=_;a[t+12>>2]=_;a[_+8>>2]=t;a[_+12>>2]=48+(o<<1<<2);break}t=n>>>8;do{if(!t)r=0;else{if(n>>>0>16777215){r=31;break}r=t<<((t+1048320|0)>>>16&8)<<(((t<<((t+1048320|0)>>>16&8))+520192|0)>>>16&4);r=14-(((t<<((t+1048320|0)>>>16&8))+520192|0)>>>16&4|(t+1048320|0)>>>16&8|(r+245760|0)>>>16&2)+(r<<((r+245760|0)>>>16&2)>>>15)|0;r=n>>>(r+7|0)&1|r<<1}}while(0);t=312+(r<<2)|0;a[_+28>>2]=r;a[_+16+4>>2]=0;a[_+16>>2]=0;e=a[3]|0;o=1<>2]=_;a[_+24>>2]=t;a[_+12>>2]=_;a[_+8>>2]=_;break}t=a[t>>2]|0;o:do{if((a[t+4>>2]&-8|0)!=(n|0)){r=n<<((r|0)==31?0:25-(r>>>1)|0);while(1){o=t+16+(r>>>31<<2)|0;e=a[o>>2]|0;if(!e)break;if((a[e+4>>2]&-8|0)==(n|0)){t=e;break o}else{r=r<<1;t=e}}a[o>>2]=_;a[_+24>>2]=t;a[_+12>>2]=_;a[_+8>>2]=_;break e}}while(0);C=t+8|0;j=a[C>>2]|0;a[j+12>>2]=_;a[C>>2]=_;a[_+8>>2]=j;a[_+12>>2]=t;a[_+24>>2]=0}}while(0);j=b+8|0;u=v;return j|0}t=456;while(1){e=a[t>>2]|0;if(e>>>0<=s>>>0?(j=e+(a[t+4>>2]|0)|0,j>>>0>s>>>0):0)break;t=a[t+8>>2]|0}n=j+-47+((j+-47+8&7|0)==0?0:0-(j+-47+8)&7)|0;n=n>>>0<(s+16|0)>>>0?s:n;t=p+-40|0;m=i+8|0;m=(m&7|0)==0?0:0-m&7;C=i+m|0;a[8]=C;a[5]=t-m;a[C+4>>2]=t-m|1;a[i+t+4>>2]=40;a[9]=a[124];a[n+4>>2]=27;a[n+8>>2]=a[114];a[n+8+4>>2]=a[115];a[n+8+8>>2]=a[116];a[n+8+12>>2]=a[117];a[114]=i;a[115]=p;a[117]=0;a[116]=n+8;t=n+24|0;do{C=t;t=t+4|0;a[t>>2]=7}while((C+8|0)>>>0>>0);if((n|0)!=(s|0)){a[n+4>>2]=a[n+4>>2]&-2;a[s+4>>2]=n-s|1;a[n>>2]=n-s;if((n-s|0)>>>0<256){o=48+((n-s|0)>>>3<<1<<2)|0;t=a[2]|0;if(!(t&1<<((n-s|0)>>>3))){a[2]=t|1<<((n-s|0)>>>3);t=o;e=o+8|0}else{t=a[o+8>>2]|0;e=o+8|0}a[e>>2]=s;a[t+12>>2]=s;a[s+8>>2]=t;a[s+12>>2]=o;break}if((n-s|0)>>>8)if((n-s|0)>>>0>16777215)r=31;else{r=(n-s|0)>>>8<<((((n-s|0)>>>8)+1048320|0)>>>16&8);r=14-((r+520192|0)>>>16&4|(((n-s|0)>>>8)+1048320|0)>>>16&8|((r<<((r+520192|0)>>>16&4))+245760|0)>>>16&2)+(r<<((r+520192|0)>>>16&4)<<(((r<<((r+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;r=(n-s|0)>>>(r+7|0)&1|r<<1}else r=0;t=312+(r<<2)|0;a[s+28>>2]=r;a[s+20>>2]=0;a[s+16>>2]=0;e=a[3]|0;o=1<>2]=s;a[s+24>>2]=t;a[s+12>>2]=s;a[s+8>>2]=s;break}t=a[t>>2]|0;e:do{if((a[t+4>>2]&-8|0)!=(n-s|0)){r=n-s<<((r|0)==31?0:25-(r>>>1)|0);while(1){o=t+16+(r>>>31<<2)|0;e=a[o>>2]|0;if(!e)break;if((a[e+4>>2]&-8|0)==(n-s|0)){t=e;break e}else{r=r<<1;t=e}}a[o>>2]=s;a[s+24>>2]=t;a[s+12>>2]=s;a[s+8>>2]=s;break t}}while(0);C=t+8|0;j=a[C>>2]|0;a[j+12>>2]=s;a[C>>2]=s;a[s+8>>2]=j;a[s+12>>2]=t;a[s+24>>2]=0}}else{j=a[6]|0;if((j|0)==0|i>>>0>>0)a[6]=i;a[114]=i;a[115]=p;a[117]=0;a[11]=a[120];a[10]=-1;a[15]=48;a[14]=48;a[17]=56;a[16]=56;a[19]=64;a[18]=64;a[21]=72;a[20]=72;a[23]=80;a[22]=80;a[25]=88;a[24]=88;a[27]=96;a[26]=96;a[29]=104;a[28]=104;a[31]=112;a[30]=112;a[33]=120;a[32]=120;a[35]=128;a[34]=128;a[37]=136;a[36]=136;a[39]=144;a[38]=144;a[41]=152;a[40]=152;a[43]=160;a[42]=160;a[45]=168;a[44]=168;a[47]=176;a[46]=176;a[49]=184;a[48]=184;a[51]=192;a[50]=192;a[53]=200;a[52]=200;a[55]=208;a[54]=208;a[57]=216;a[56]=216;a[59]=224;a[58]=224;a[61]=232;a[60]=232;a[63]=240;a[62]=240;a[65]=248;a[64]=248;a[67]=256;a[66]=256;a[69]=264;a[68]=264;a[71]=272;a[70]=272;a[73]=280;a[72]=280;a[75]=288;a[74]=288;a[77]=296;a[76]=296;j=p+-40|0;m=i+8|0;m=(m&7|0)==0?0:0-m&7;C=i+m|0;a[8]=C;a[5]=j-m;a[C+4>>2]=j-m|1;a[i+j+4>>2]=40;a[9]=a[124]}}while(0);t=a[5]|0;if(t>>>0>y>>>0){m=t-y|0;a[5]=m;j=a[8]|0;C=j+y|0;a[8]=C;a[C+4>>2]=m|1;a[j+4>>2]=y|3;j=j+8|0;u=v;return j|0}}a[(J()|0)>>2]=12;j=0;u=v;return j|0}function _(t){t=t|0;var e=0,o=0,r=0,n=0,i=0,p=0,c=0,s=0;if(!t)return;e=a[6]|0;o=a[t+-4>>2]|0;s=t+-8+(o&-8)|0;do{if(!(o&1)){r=a[t+-8>>2]|0;if(!(o&3))return;p=t+-8+(0-r)|0;i=r+(o&-8)|0;if(p>>>0>>0)return;if((a[7]|0)==(p|0)){e=a[s+4>>2]|0;if((e&3|0)!=3){c=p;e=i;break}a[4]=i;a[s+4>>2]=e&-2;a[p+4>>2]=i|1;a[p+i>>2]=i;return}if(r>>>0<256){e=a[p+8>>2]|0;t=a[p+12>>2]|0;if((t|0)==(e|0)){a[2]=a[2]&~(1<<(r>>>3));c=p;e=i;break}else{a[e+12>>2]=t;a[t+8>>2]=e;c=p;e=i;break}}n=a[p+24>>2]|0;e=a[p+12>>2]|0;do{if((e|0)==(p|0)){e=a[p+16+4>>2]|0;if(!e){e=a[p+16>>2]|0;if(!e){e=0;break}else t=p+16|0}else t=p+16+4|0;while(1){r=e+20|0;o=a[r>>2]|0;if(!o){r=e+16|0;o=a[r>>2]|0;if(!o)break;else{e=o;t=r}}else{e=o;t=r}}a[t>>2]=0}else{c=a[p+8>>2]|0;a[c+12>>2]=e;a[e+8>>2]=c}}while(0);if(n){t=a[p+28>>2]|0;if((a[312+(t<<2)>>2]|0)==(p|0)){a[312+(t<<2)>>2]=e;if(!e){a[3]=a[3]&~(1<>2]|0)==(p|0)?n+16|0:n+20|0)>>2]=e;if(!e){c=p;e=i;break}}a[e+24>>2]=n;t=a[p+16>>2]|0;if(t|0){a[e+16>>2]=t;a[t+24>>2]=e}t=a[p+16+4>>2]|0;if(t){a[e+20>>2]=t;a[t+24>>2]=e;c=p;e=i}else{c=p;e=i}}else{c=p;e=i}}else{c=t+-8|0;e=o&-8;p=t+-8|0}}while(0);if(p>>>0>=s>>>0)return;o=a[s+4>>2]|0;if(!(o&1))return;if(!(o&2)){if((a[8]|0)==(s|0)){s=(a[5]|0)+e|0;a[5]=s;a[8]=c;a[c+4>>2]=s|1;if((c|0)!=(a[7]|0))return;a[7]=0;a[4]=0;return}if((a[7]|0)==(s|0)){s=(a[4]|0)+e|0;a[4]=s;a[7]=p;a[c+4>>2]=s|1;a[p+s>>2]=s;return}n=(o&-8)+e|0;do{if(o>>>0<256){t=a[s+8>>2]|0;e=a[s+12>>2]|0;if((e|0)==(t|0)){a[2]=a[2]&~(1<<(o>>>3));break}else{a[t+12>>2]=e;a[e+8>>2]=t;break}}else{i=a[s+24>>2]|0;e=a[s+12>>2]|0;do{if((e|0)==(s|0)){e=a[s+16+4>>2]|0;if(!e){e=a[s+16>>2]|0;if(!e){t=0;break}else t=s+16|0}else t=s+16+4|0;while(1){r=e+20|0;o=a[r>>2]|0;if(!o){r=e+16|0;o=a[r>>2]|0;if(!o)break;else{e=o;t=r}}else{e=o;t=r}}a[t>>2]=0;t=e}else{t=a[s+8>>2]|0;a[t+12>>2]=e;a[e+8>>2]=t;t=e}}while(0);if(i|0){e=a[s+28>>2]|0;if((a[312+(e<<2)>>2]|0)==(s|0)){a[312+(e<<2)>>2]=t;if(!t){a[3]=a[3]&~(1<>2]|0)==(s|0)?i+16|0:i+20|0)>>2]=t;if(!t)break}a[t+24>>2]=i;e=a[s+16>>2]|0;if(e|0){a[t+16>>2]=e;a[e+24>>2]=t}e=a[s+16+4>>2]|0;if(e|0){a[t+20>>2]=e;a[e+24>>2]=t}}}}while(0);a[c+4>>2]=n|1;a[p+n>>2]=n;if((c|0)==(a[7]|0)){a[4]=n;return}}else{a[s+4>>2]=o&-2;a[c+4>>2]=e|1;a[p+e>>2]=e;n=e}o=n>>>3;if(n>>>0<256){e=a[2]|0;if(!(e&1<>2]|0;t=48+(o<<1<<2)+8|0}a[t>>2]=c;a[e+12>>2]=c;a[c+8>>2]=e;a[c+12>>2]=48+(o<<1<<2);return}e=n>>>8;if(e)if(n>>>0>16777215)r=31;else{r=e<<((e+1048320|0)>>>16&8)<<(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4);r=14-(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4|(e+1048320|0)>>>16&8|(r+245760|0)>>>16&2)+(r<<((r+245760|0)>>>16&2)>>>15)|0;r=n>>>(r+7|0)&1|r<<1}else r=0;e=312+(r<<2)|0;a[c+28>>2]=r;a[c+20>>2]=0;a[c+16>>2]=0;t=a[3]|0;o=1<>2]=c;a[c+24>>2]=e;a[c+12>>2]=c;a[c+8>>2]=c}else{e=a[e>>2]|0;e:do{if((a[e+4>>2]&-8|0)!=(n|0)){r=n<<((r|0)==31?0:25-(r>>>1)|0);while(1){o=e+16+(r>>>31<<2)|0;t=a[o>>2]|0;if(!t)break;if((a[t+4>>2]&-8|0)==(n|0)){e=t;break e}else{r=r<<1;e=t}}a[o>>2]=c;a[c+24>>2]=e;a[c+12>>2]=c;a[c+8>>2]=c;break t}}while(0);p=e+8|0;s=a[p>>2]|0;a[s+12>>2]=c;a[p>>2]=c;a[c+8>>2]=s;a[c+12>>2]=e;a[c+24>>2]=0}}while(0);s=(a[10]|0)+-1|0;a[10]=s;if(s|0)return;e=464;while(1){e=a[e>>2]|0;if(!e)break;else e=e+8|0}a[10]=-1;return}function $(){}function aa(t,e,o){t=t|0;e=e|0;o=o|0;var n=0,i=0,p=0;if((o|0)>=8192)return et(t|0,e|0,o|0)|0;p=t|0;i=t+o|0;if((t&3)==(e&3)){while(t&3){if(!o)return p|0;r[t>>0]=r[e>>0]|0;t=t+1|0;e=e+1|0;o=o-1|0}o=i&-4|0;n=o-64|0;while((t|0)<=(n|0)){a[t>>2]=a[e>>2];a[t+4>>2]=a[e+4>>2];a[t+8>>2]=a[e+8>>2];a[t+12>>2]=a[e+12>>2];a[t+16>>2]=a[e+16>>2];a[t+20>>2]=a[e+20>>2];a[t+24>>2]=a[e+24>>2];a[t+28>>2]=a[e+28>>2];a[t+32>>2]=a[e+32>>2];a[t+36>>2]=a[e+36>>2];a[t+40>>2]=a[e+40>>2];a[t+44>>2]=a[e+44>>2];a[t+48>>2]=a[e+48>>2];a[t+52>>2]=a[e+52>>2];a[t+56>>2]=a[e+56>>2];a[t+60>>2]=a[e+60>>2];t=t+64|0;e=e+64|0}while((t|0)<(o|0)){a[t>>2]=a[e>>2];t=t+4|0;e=e+4|0}}else{o=i-4|0;while((t|0)<(o|0)){r[t>>0]=r[e>>0]|0;r[t+1>>0]=r[e+1>>0]|0;r[t+2>>0]=r[e+2>>0]|0;r[t+3>>0]=r[e+3>>0]|0;t=t+4|0;e=e+4|0}}while((t|0)<(i|0)){r[t>>0]=r[e>>0]|0;t=t+1|0;e=e+1|0}return p|0}function ba(t,e,o){t=t|0;e=e|0;o=o|0;var n=0,i=0;n=t+o|0;e=e&255;if((o|0)>=67){while(t&3){r[t>>0]=e;t=t+1|0}i=e|e<<8|e<<16|e<<24;while((t|0)<=((n&-4)-64|0)){a[t>>2]=i;a[t+4>>2]=i;a[t+8>>2]=i;a[t+12>>2]=i;a[t+16>>2]=i;a[t+20>>2]=i;a[t+24>>2]=i;a[t+28>>2]=i;a[t+32>>2]=i;a[t+36>>2]=i;a[t+40>>2]=i;a[t+44>>2]=i;a[t+48>>2]=i;a[t+52>>2]=i;a[t+56>>2]=i;a[t+60>>2]=i;t=t+64|0}while((t|0)<(n&-4|0)){a[t>>2]=i;t=t+4|0}}while((t|0)<(n|0)){r[t>>0]=e;t=t+1|0}return n-o|0}function ca(t){t=t|0;var e=0;e=a[l>>2]|0;if((t|0)>0&(e+t|0)<(e|0)|(e+t|0)<0){q()|0;tt(12);return-1}a[l>>2]=e+t;if((e+t|0)>(Y()|0)?(X()|0)==0:0){a[l>>2]=e;tt(12);return-1}return e|0}function da(t){t=t|0;var e=0;e=u;u=u+t|0;u=u+15&-16;return e|0}function ea(t,e){t=t|0;e=e|0;if(!h){h=t;g=e}}function fa(t,e){t=t|0;e=e|0;u=t;f=e}function ga(t){t=t|0;u=t}function ha(t){t=t|0;O=t}function ia(){return O|0}function ja(){return u|0}return{_free:_,_malloc:Z,_memcpy:aa,_memset:ba,_sbrk:ca,establishStackSpace:fa,getTempRet0:ia,runPostSets:$,setTempRet0:ha,setThrew:ea,stackAlloc:da,stackRestore:ga,stackSave:ja}}(o.g,o.h,et);if(o._free=Ot._free,o._malloc=Ot._malloc,o._memcpy=Ot._memcpy,o._memset=Ot._memset,o._sbrk=Ot._sbrk,o.establishStackSpace=Ot.establishStackSpace,o.getTempRet0=Ot.getTempRet0,o.runPostSets=Ot.runPostSets,o.setTempRet0=Ot.setTempRet0,o.setThrew=Ot.setThrew,o.stackAlloc=Ot.stackAlloc,o.stackRestore=Ot.stackRestore,o.stackSave=Ot.stackSave,o.asm=Ot,vt){if(String.prototype.startsWith?!vt.startsWith(St):0!==vt.indexOf(St)){var wt=vt;vt=o.locateFile?o.locateFile(wt,q):q+wt}if(g||b){var Tt=o.readBinary(vt);ot.set(Tt,8)}else{var Wt=function(){o.readAsync(vt,kt,function(){throw"could not load memory initializer "+vt})};mt++,o.monitorRunDependencies&&o.monitorRunDependencies(mt);var kt=function(t){t.byteLength&&(t=new Uint8Array(t)),ot.set(t,8),o.memoryInitializerRequest&&delete o.memoryInitializerRequest.response,mt--,o.monitorRunDependencies&&o.monitorRunDependencies(mt),0==mt&&(null!==Ct&&(clearInterval(Ct),Ct=null),jt&&(t=jt,jt=null,t()))},Mt=ka(vt);if(Mt)kt(Mt.buffer);else if(o.memoryInitializerRequest){var At=function(){var t=o.memoryInitializerRequest,e=t.response;if(200!==t.status&&0!==t.status){if(!(e=ka(o.memoryInitializerRequestURL)))return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+t.status+", retrying "+vt),void Wt();e=e.buffer}kt(e)};o.memoryInitializerRequest.response?setTimeout(At,0):o.memoryInitializerRequest.addEventListener("load",At)}else Wt()}}function cb(){function a(){if(!o.calledRun&&(o.calledRun=!0,!bt)){if(dt||(dt=!0,Fa(ft)),Fa(ht),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;){var t=o.postRun.shift();gt.unshift(t)}Fa(gt)}}if(!(0=Lt){assert(0>=1;break;case 4:n>>=2;break;case 8:n>>=3}for(var a=0;a