// http://www.jpemartins.com/amr.js/ // pcmdata.min.js (function(b,c){var j=String.fromCharCode,h=true,d=false;function e(k,l){return l?j(k&255)+e(k>>8,l-1):""}function g(k,l){return l?g(k>>8,l-1)+j(255-k&255):""}function i(k,l,m){return m?g(k,l):e(k,l)}function a(r,q){var k=r.length,p=k-1,s=0,o=c.pow,m;if(q){for(m=0;mx?(y-q)*p:y*m}:function(z,y){return l(z,y)*m}:t?function(A,z){var y=l(A,z);return y>x?y-q:y}:function(z,y){return l(z,y)}}f.convertToBinary=i;f.convertFromBinary=a;f.fromQ32=f(32,h,h,h);f.toQ32=f(32,h,h,d);f.fromQ24=f(24,h,h,h);f.toQ24=f(24,h,h,d);f.fromQ16=f(16,h,h,h);f.toQ16=f(16,h,h,d);f.fromQ8=f(8,h,h,h);f.toQ8=f(8,h,h,d);f.fromInt32=f(32,h,d,h);f.toInt32=f(32,h,d,d);f.fromInt16=f(16,h,d,h);f.toInt16=f(16,h,d,d);f.fromInt8=f(8,h,d,h);f.toInt8=f(8,h,d,d);f.fromUint32=f(32,d,d,h);f.toUint32=f(32,d,d,d);f.fromUint16=f(16,d,d,h);f.toUint16=f(16,d,d,d);f.fromUint8=f(8,d,d,h);f.toUint8=f(8,d,d,d);b.Binary=f}(this,Math));(function(e,f){function g(h){this.data=h}var d=g.prototype={read:function(i){var h=this,j=h.data.substr(0,i);h.skip(i);return j},skip:function(i){var h=this,j=h.data=h.data.substr(i);h.pointer+=i;return j.length},readBuffer:function(j,n,p){var k=this,o="read"+p+n,q=n/8,h=j.length,m=0;while(k.data&&m>1]=k;break;case "i32":h[R>>2]=k;break;case "i64":h[R>>2]=k;break;case "float":nb[R>>2]=k;break;case "double":ze[0]=k;h[R>>2]=dc[0];h[R+4>>2]=dc[1];break;default:O("invalid type for setValue: "+e)}} function H(a,k,e){var c,b;typeof a==="number"?(c=true,b=a):(c=false,b=a.length);var d=typeof k==="string"?k:null,e=[va,sa.stackAlloc,sa.staticAlloc][e===void 0?L:e](Math.max(b,d?1:k.length));if(c)return ta(e,0,b),e;c=0;for(var i;c0;){var k=a.shift(),e=k.func;typeof e==="number"&&(e=Cb[e]);e(k.arg===void 0?null:k.arg)}}function ob(a,k){return Array.prototype.slice.call(N.subarray(a,a+k))}function Db(a){for(var k=0;N[a+k];)k++;return k}function cb(a,k){for(var e=[],c=0;c255&&(x(false,"Character code "+b+" ("+a[c]+") at offset "+c+" not in 0x00-0xFF."),b&=255);e.push(b);c+=1}k||e.push(0); return e}function Ae(a,k,e){for(var c=0;c255&&(x(false,"Character code "+b+" ("+a[c]+") at offset "+c+" not in 0x00-0xFF."),b&=255);N[k+c]=b;c+=1}e||(N[k+c]=0)}function $(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)+(b<<16>>16)|0;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=5;break;case 2:c=(b|0)<-32768?3:4;break;case 3:h[d>>2]=1;b=-32768;c=4;break;case 4:c=5;break;case 5:return b&65535;default:x(0,"bad label: "+c)}}function Tc(a, k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3;break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Be(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:e=(b<<16>>16|0)<31?2:3;break;case 2:d= c>>(b<<16>>16|0);e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?5:6;break;case 5:d=c>>31^2147483647;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Uc(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]= 1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function Eb(R,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f,j;b=R;d=k;i=e;g=0;j=h[i>>2];f=0;c=1;break;case 1:c=(f<<16>>16|0)<(d<<16>>16|0)?2:4;break;case 2:g=Uc(g,a[(b+(f<<16>>16<<1)|0)>>1],a[(b+(f<<16>>16<<1)|0)>>1],i);c=3;break;case 3:f=f+1&65535;c=1;break;case 4:c=(g|0)!=2147483647?5:6;break;case 5:g>>=4;c=7;break;case 6:h[i>>2]=j;a:{c=b;g=d;for(var n=i,l=void 0, l=0;;)switch(l){case 0:var q,m,p,o,r;q=c;m=g;p=n;r=o=0;l=1;break;case 1:l=(r<<16>>16|0)<(m<<16>>16|0)?2:4;break;case 2:l=a[(q+(r<<16>>16<<1)|0)>>1]<<16>>16>>2&65535;o=Uc(o,l,l,p);l=3;break;case 3:r=r+1&65535;l=1;break;case 4:g=o;break a;default:x(0,"bad label: "+l)}g=void 0}c=7;break;case 7:return g;default:x(0,"bad label: "+c)}}function Ce(h,k,e,c,b,d){var i;for(i=0;;)switch(i){case 0:var g,f,j,n,l,q,m,p,o,r,s,v,t;g=h;f=k;j=e;n=c;l=b;q=d;o=Eb(j,l,q);i=(o|0)==0?1:2;break;case 1:a[(g|0)>>1]=0;i=10; break;case 2:p=((oa(o)<<16>>16)-1|0)&65535;i=Tc(o,p,q);r=la(i,q);o=Eb(f,l,q);i=(o|0)==0?3:4;break;case 3:s=0;i=5;break;case 4:m=oa(o);i=o<<(m<<16>>16);o=la(i,q);p=((p<<16>>16)-(m<<16>>16)|0)&65535;s=xa(r,o);o=s<<16>>16;o<<=7;o=Be(o,p,q);o=Xa(o,q);i=o<<9;m=(i+32768|0)>>16&65535;s=(32767-(n<<16>>16)|0)&65535;s=((m<<16>>16)*(s<<16>>16)|0)>>15&65535;i=5;break;case 5:v=a[(g|0)>>1];t=j;m=0;i=6;break;case 6:i=(m<<16>>16|0)<(l<<16>>16|0)?7:9;break;case 7:v=((v<<16>>16)*(n<<16>>16)|0)>>15&65535;v=((v<<16>> 16)+(s<<16>>16)|0)&65535;i=((a[t>>1]<<16>>16)*(v<<16>>16)|0)<<1;i=i>>13&65535;var u=t;t=u+2|0;a[u>>1]=i;i=8;break;case 8:m=m+1&65535;i=6;break;case 9:a[(g|0)>>1]=v;i=10;break;case 10:return;default:x(0,"bad label: "+i)}}function De(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p;d=R;i=k;g=e;f=c;l=Eb(i,g,f);b=(l|0)==0?1:2;break;case 1:b=28;break;case 2:n=((oa(l)<<16>>16)-1|0)&65535;p=Tc(l,n,f);q=la(p,f);l=Eb(d,g,f);b=(l|0)==0?3:4;break;case 3:m=0;b=17;break;case 4:j=oa(l);p=Tc(l, j,f);l=la(p,f);n=((n<<16>>16)-(j<<16>>16)|0)&65535;l=xa(q,l);l=l<<16>>16;b=(l|0)>16777215?5:6;break;case 5:l=2147483647;b=10;break;case 6:b=(l|0)<-16777216?7:8;break;case 7:l=-2147483648;b=9;break;case 8:l<<=7;b=9;break;case 9:b=10;break;case 10:l=Be(l,n,f);l=Xa(l,f);b=(l|0)>4194303?11:12;break;case 11:p=2147483647;b=16;break;case 12:b=(l|0)<-4194304?13:14;break;case 13:p=-2147483648;b=15;break;case 14:p=l<<9;b=15;break;case 15:b=16;break;case 16:m=la(p,f);b=17;break;case 17:j=((g<<16>>16)-1|0)&65535; b=18;break;case 18:b=(j<<16>>16|0)>=0?19:27;break;case 19:a:{p=a[(i+(j<<16>>16<<1)|0)>>1];b=m;for(var o=f,r=void 0,r=0;;)switch(r){case 0:var s,v;s=p;r=b;v=o;s=(s<<16>>16)*(r<<16>>16)|0;r=(s|0)!=1073741824?1:2;break;case 1:s<<=1;r=3;break;case 2:h[v>>2]=1;s=2147483647;r=3;break;case 3:p=s;break a;default:x(0,"bad label: "+r)}p=void 0}b=(p|0)>268435455?20:21;break;case 20:a[(i+(j<<16>>16<<1)|0)>>1]=32767;b=25;break;case 21:b=(p|0)<-268435456?22:23;break;case 22:a[(i+(j<<16>>16<<1)|0)>>1]=-32768;b= 24;break;case 23:a[(i+(j<<16>>16<<1)|0)>>1]=p>>13&65535;b=24;break;case 24:b=25;break;case 25:b=26;break;case 26:j=j-1&65535;b=18;break;case 27:b=28;break;case 28:return;default:x(0,"bad label: "+b)}}function Ee(R,k,e,c,b){var u;var t;var d=B;B+=488;x(B%4==0,"Stack is unaligned");x(B>16),v=t;i=4;break;case 3:He(f,j,r|0,(g|0)+1168|0);v=Ie+(f<<1)|0;u=(ga=M[v]|M[v+1]<<8,ga<<16>>16),v=u;i=4;break;case 4:i=f>>>0<=7?5:6;break;case 5:m=f;o=0;i=20;break;case 6:i=(f|0)==8?7:15;break;case 7:s=p=0;i=8;break;case 8:i=(s<<16>>16|0)<3?9:11;break;case 9:i=a[(r+(((s<<16>>16)+36|0)<<1)|0)>>1]<<16>>16<<(s<<16>>16);p|=i;i=10;break;case 10:s=s+1&65535;i=8;break;case 11:m=p;i=(a[(r+70|0)>>1]<<16>>16|0)==0?12:13;break;case 12:o=4;i=14;break;case 13:o=5; i=14;break;case 14:i=19;break;case 15:i=f>>>0<15?16:17;break;case 16:v=-1;i=18;break;case 17:m=h[(g+1760|0)>>2];o=7;i=18;break;case 18:i=19;break;case 19:i=20;break;case 20:i=32;break;case 21:i=(l|0)==0?22:30;break;case 22:q=j;o=a[q>>1]<<16>>16;q=q+2|0;s=0;i=23;break;case 23:i=(s<<16>>16|0)<244?24:26;break;case 24:a[(r+(s<<16>>16<<1)|0)>>1]=a[q>>1];q=q+2|0;i=25;break;case 25:s=s+1&65535;i=23;break;case 26:i=(o|0)!=7?27:28;break;case 27:m=a[q>>1]<<16>>16;i=29;break;case 28:m=h[(g+1760|0)>>2];i=29; break;case 29:v=492;i=31;break;case 30:v=-1;i=31;break;case 31:i=32;break;case 32:i=(v<<16>>16|0)!=-1?33:34;break;case 33:Je(g,m,r|0,o,n);h[(g+1760|0)>>2]=m;i=34;break;case 34:return R=v,B=d,R;default:x(0,"bad label: "+i)}}function Ke(R,k,e,c,b,d,i){var A;var z;var y;var g=B;B+=500;x(B%4==0,"Stack is unaligned");x(B>2]=0;f=((o<<16>>16|0)==0&1|(o<<16>>16|0)==1&1| (o<<16>>16|0)==3&1|0)!=0?1:24;break;case 1:Vc(j,l,q,r|0,w);Wc(n,h[w>>2],u);f=(h[u>>2]|0)!=3?2:14;break;case 2:h[p>>2]=h[w>>2];f=(h[p>>2]|0)==8?3:13;break;case 3:f=(h[u>>2]|0)==1?4:5;break;case 4:f=r+70|0;a[f>>1]=a[f>>1]<<16>>16&0;f=8;break;case 5:f=(h[u>>2]|0)==2?6:7;break;case 6:f=r+70|0;a[f>>1]=(a[f>>1]<<16>>16|1)&65535;f=7;break;case 7:f=8;break;case 8:t=0;f=9;break;case 9:f=(t<<16>>16|0)<3?10:12;break;case 10:a[(r+(((t<<16>>16)+36|0)<<1)|0)>>1]=l>>>(t<<16>>16>>>0)&1;f=11;break;case 11:t=t+1&65535; f=9;break;case 12:f=13;break;case 13:f=15;break;case 14:f=h[p>>2]=15;break;case 15:f=(o<<16>>16|0)==3?16:17;break;case 16:Le(h[p>>2],r|0,m,h[(j+4|0)>>2]+2392|0);v=Xc+((h[p>>2]&65535)<<16>>16<<1)|0;y=(ga=M[v]|M[v+1]<<8,ga<<16>>16),v=y;f=23;break;case 17:f=(o<<16>>16|0)==0?18:19;break;case 18:Me(h[p>>2],r|0,m,h[(j+4|0)>>2]+2392|0);v=Xc+((h[p>>2]&65535)<<16>>16<<1)|0;z=(ga=M[v]|M[v+1]<<8,ga<<16>>16),v=z;f=22;break;case 19:f=(o<<16>>16|0)==1?20:21;break;case 20:Ne(h[p>>2],r|0,m,h[(j+4|0)>>2]+2392|0); v=Oe+((h[p>>2]&65535)<<16>>16<<1)|0;A=(ga=M[v]|M[v+1]<<8,ga<<16>>16),v=A;f=21;break;case 21:f=22;break;case 22:f=23;break;case 23:f=35;break;case 24:f=(o<<16>>16|0)==2?25:33;break;case 25:Vc(j,l,q,r+2|0,w);h[p>>2]=h[w>>2];Wc(n,h[w>>2],u);a[(r|0)>>1]=h[u>>2]&65535;f=(h[u>>2]|0)!=3?26:27;break;case 26:a[(r+490|0)>>1]=l&65535;f=28;break;case 27:a[(r+490|0)>>1]=-1;f=28;break;case 28:s=r|0;t=0;f=29;break;case 29:f=(t<<16>>16|0)<492?30:32;break;case 30:N[m+(t<<16>>16)|0]=N[s];s=s+1|0;f=31;break;case 31:t= t+1&65535;f=29;break;case 32:v=492;f=34;break;case 33:v=-1;f=34;break;case 34:f=35;break;case 35:return R=v,B=g,R;default:x(0,"bad label: "+f)}}function Pe(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535; e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Yc(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>>2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0,"bad label: "+c)}}function Qe(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b-c|0;c=((b^c)>>31|0)!=0?1:4;break;case 1:c=((i^b)&-2147483648|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648: 2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function Re(h,k,e){var c=B;B+=40;x(B%4==0,"Stack is unaligned");x(B>16|0)<10?2:4;break;case 2:a[(n+(f<<16>>16<<1)|0)>>1]=a[(d+(f<<16>>16<<1)|0)>>1];b=3;break;case 3:f=f+1&65535;b=1;break;case 4:f=9;b=5;break;case 5:b=(f<<16>>16|0)>=0?6:28;break;case 6:b=a[(n+(f<<16>>16<<1)|0)>> 1];var o=void 0,o=((b<<16>>16)-((b<<16>>16|0)<0&1)|0)&65535,o=(o<<16>>16^o<<16>>16>>15)&65535;b=(o<<16>>16|0)>=4096?7:12;break;case 7:f=0;b=8;break;case 8:b=(f<<16>>16|0)<10?9:11;break;case 9:a[(i+(f<<16>>16<<1)|0)>>1]=0;b=10;break;case 10:f=f+1&65535;b=8;break;case 11:b=28;break;case 12:m=Pe(a[(n+(f<<16>>16<<1)|0)>>1],3,g);a[(i+(f<<16>>16<<1)|0)>>1]=m;p=Yc(a[(i+(f<<16>>16<<1)|0)>>1],a[(i+(f<<16>>16<<1)|0)>>1],g);b=Qe(2147483647,p,g);q=oa(b);m=(15-(q<<16>>16)|0)&65535;a:{j=b;b=void 0;for(b=0;;)switch(b){case 0:var r, s,v;r=j;s=q;v=0;b=(s<<16>>16|0)>0?1:4;break;case 1:v=r<<(s<<16>>16);b=(v>>(s<<16>>16|0)|0)!=(r|0)?2:3;break;case 2:v=r>>31^2147483647;b=3;break;case 3:b=7;break;case 4:s=(-(s<<16>>16)|0)&65535;b=(s<<16>>16|0)<31?5:6;break;case 5:v=r>>(s<<16>>16|0);b=6;break;case 6:b=7;break;case 7:b=v;break a;default:x(0,"bad label: "+b)}b=void 0}j=la(b,g);q=xa(16384,j);j=0;b=13;break;case 13:b=(j<<16>>16|0)<(f<<16>>16|0)?14:22;break;case 14:p=b=a[(n+(j<<16>>16<<1)|0)>>1]<<16>>16<<16;b=g;o=void 0;o=Yc(a[(i+(f<<16>> 16<<1)|0)>>1],a[(n+((((f<<16>>16)-(j<<16>>16)|0)-1|0)<<1)|0)>>1],b);b=o=Qe(p,o,b);p=la(b,g);p=Yc(q,p,g);p=Se(p,m,g);b=p-((p|0)<0&1)|0;b^=b>>31;b=(b|0)>32767?15:20;break;case 15:f=0;b=16;break;case 16:b=(f<<16>>16|0)<10?17:19;break;case 17:a[(i+(f<<16>>16<<1)|0)>>1]=0;b=18;break;case 18:f=f+1&65535;b=16;break;case 19:b=22;break;case 20:a[(l+(j<<16>>16<<1)|0)>>1]=p&65535;b=21;break;case 21:j=j+1&65535;b=13;break;case 22:j=0;b=23;break;case 23:b=(j<<16>>16|0)<(f<<16>>16|0)?24:26;break;case 24:a[(n+(j<< 16>>16<<1)|0)>>1]=a[(l+(j<<16>>16<<1)|0)>>1];b=25;break;case 25:j=j+1&65535;b=23;break;case 26:b=27;break;case 27:f=f-1&65535;b=5;break;case 28:B=c;return;default:x(0,"bad label: "+b)}}function ec(h,k,e,c,b){var d=B;B+=480;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:6;break;case 2:i=v;v=i+2|0;i=a[i>>1]<<16>>16;var z=C;C=z+2|0; var z=i=(16384+(i*(a[z>>1]<<16>>16)|0)|0)>>15&65535,D=t;t=D+2|0;a[D>>1]=z;r=r+(((i<<16>>16)*(i<<16>>16)|0)<<1)|0;i=(r|0)<0?3:4;break;case 3:m=1;i=6;break;case 4:i=5;break;case 5:q=q-1&65535;i=1;break;case 6:i=m<<16>>16!=0?7:12;break;case 7:t=o+((240-(q<<16>>16)|0)<<1)|0;v=g+((240-(q<<16>>16)|0)<<1)|0;C=l+((240-(q<<16>>16)|0)<<1)|0;i=8;break;case 8:i=(q<<16>>16|0)!=0?9:11;break;case 9:i=v;v=i+2|0;i=a[i>>1]<<16>>16;z=C;C=z+2|0;i=(16384+(i*(a[z>>1]<<16>>16)|0)|0)>>15&65535;z=t;t=z+2|0;a[z>>1]=i;i=10; break;case 10:q=q-1&65535;i=8;break;case 11:i=12;break;case 12:s=0;i=13;break;case 13:i=(m<<16>>16|0)==1?14:21;break;case 14:s=((s<<16>>16)+4|0)&65535;t=o|0;r=0;q=120;i=15;break;case 15:i=(q<<16>>16|0)!=0?16:18;break;case 16:z=i=a[t>>1]<<16>>16>>2&65535;D=t;t=D+2|0;a[D>>1]=z;r=r+(((i<<16>>16)*(i<<16>>16)|0)<<1)|0;z=i=a[t>>1]<<16>>16>>2&65535;D=t;t=D+2|0;a[D>>1]=z;r=r+(((i<<16>>16)*(i<<16>>16)|0)<<1)|0;i=17;break;case 17:q=q-1&65535;i=15;break;case 18:i=(r|0)>0?19:20;break;case 19:m=0;i=20;break;case 20:i= 13;break;case 21:r=r+1|0;p=oa(r);r<<=p<<16>>16;a[(j|0)>>1]=r>>16&65535;a[(n|0)>>1]=((r>>1)-(a[(j|0)>>1]<<16>>16<<15)|0)&65535;w=o+478|0;y=j+(f<<16>>16<<1)|0;A=n+(f<<16>>16<<1)|0;q=f;i=22;break;case 22:i=(q<<16>>16|0)>0?23:31;break;case 23:r=0;t=o+(((240-(q<<16>>16)|0)-1|0)<<1)|0;u=w;m=((240-(q<<16>>16)|0)-1|0)>>1&65535;i=24;break;case 24:i=(m<<16>>16|0)!=0?25:27;break;case 25:i=t;t=i-2|0;i=a[i>>1]<<16>>16;z=u;u=z-2|0;r=r+(i*(a[z>>1]<<16>>16)|0)|0;i=t;t=i-2|0;i=a[i>>1]<<16>>16;z=u;u=z-2|0;r=r+(i*(a[z>> 1]<<16>>16)|0)|0;i=26;break;case 26:m=m-1&65535;i=24;break;case 27:i=t;t=i-2|0;i=a[i>>1]<<16>>16;z=u;u=z-2|0;r=r+(i*(a[z>>1]<<16>>16)|0)|0;i=(((240-(q<<16>>16)|0)-1|0)&1|0)!=0?28:29;break;case 28:i=t;t=i-2|0;i=a[i>>1]<<16>>16;z=u;u=z-2|0;r=r+(i*(a[z>>1]<<16>>16)|0)|0;i=29;break;case 29:r<<=(p<<16>>16)+1|0;a[y>>1]=r>>16&65535;i=r>>1;z=y;y=z-2|0;i=(i-(a[z>>1]<<16>>16<<15)|0)&65535;z=A;A=z-2|0;a[z>>1]=i;i=30;break;case 30:q=q-1&65535;i=22;break;case 31:return h=p=((p<<16>>16)-(s<<16>>16)|0)&65535,B= d,h;default:x(0,"bad label: "+i)}}function fc(h,k,e,c){var b=B;B+=24;x(B%4==0,"Stack is unaligned");x(B>1]=1024;a[F>>1]=1024;n=0;d=1;break;case 1:d=(n<<16>>16|0)<5?2:4;break;case 2:y=a[((i+(n<<16>>16<<1)|0)+2|0)>>1]<<16>>16;d=a[((i+20|0)+((-(n<<16>>16)|0)<<1)|0)>>1]<<16>>16;w=(y+d|0)>>2&65535;y=(y-d|0)>>2&65535;d=E;E=d+2|0;w=((w<<16>>16)-(a[d>>1]<<16>>16)| 0)&65535;a[E>>1]=w;d=F;F=d+2|0;y=((y<<16>>16)+(a[d>>1]<<16>>16)|0)&65535;a[F>>1]=y;d=3;break;case 3:n=n+1&65535;d=1;break;case 4:m=q=0;C=z|0;p=a[(Zc|0)>>1];o=Fb(p,C,5,j);l=0;d=5;break;case 5:if((q<<16>>16|0)<10)d=6;else{var I=0;d=7}break;case 6:I=(l<<16>>16|0)<60;d=7;break;case 7:d=I?8:26;break;case 8:l=l+1&65535;r=p;s=o;p=a[((Zc|0)+(l<<16>>16<<1)|0)>>1];o=Fb(p,C,5,j);d=((o<<16>>16)*(s<<16>>16)|0)<=0?9:25;break;case 9:n=4;d=10;break;case 10:d=(n<<16>>16|0)!=0?11:16;break;case 11:w=p<<16>>16>>1&65535; y=r<<16>>16>>1&65535;v=((w<<16>>16)+(y<<16>>16)|0)&65535;t=Fb(v,C,5,j);d=((o<<16>>16)*(t<<16>>16)|0)<=0?12:13;break;case 12:s=t;r=v;d=14;break;case 13:o=t;p=v;d=14;break;case 14:d=15;break;case 15:n=n-1&65535;d=10;break;case 16:w=((r<<16>>16)-(p<<16>>16)|0)&65535;y=((s<<16>>16)-(o<<16>>16)|0)&65535;d=(y<<16>>16|0)==0?17:18;break;case 17:u=p;d=21;break;case 18:d=y;A=void 0;A=((y<<16>>16)-((y<<16>>16|0)<0&1)|0)&65535;y=A=(A<<16>>16^A<<16>>16>>15)&65535;A=db(y);y=y<<16>>16<<(A<<16>>16)&65535;y=xa(16383, y);y=((w<<16>>16)*(y<<16>>16)|0)>>(19-(A<<16>>16)|0)&65535;d=(d<<16>>16|0)<0?19:20;break;case 19:y=(-(y<<16>>16)|0)&65535;d=20;break;case 20:u=((p<<16>>16)-(((o<<16>>16)*(y<<16>>16)|0)>>10)|0)&65535;d=21;break;case 21:p=a[(g+(q<<16>>16<<1)|0)>>1]=u;q=q+1&65535;d=(m<<16>>16|0)==0?22:23;break;case 22:m=1;C=D|0;d=24;break;case 23:m=0;C=z|0;d=24;break;case 24:o=Fb(p,C,5,j);d=25;break;case 25:d=5;break;case 26:d=(q<<16>>16|0)<10?27:32;break;case 27:n=5;d=28;break;case 28:d=(n<<16>>16|0)!=0?29:31;break; case 29:d=f;f=d+2|0;d=a[d>>1];A=g;g=A+2|0;a[A>>1]=d;d=f;f=d+2|0;d=a[d>>1];A=g;g=A+2|0;a[A>>1]=d;d=30;break;case 30:n=n-1&65535;d=28;break;case 31:d=32;break;case 32:B=b;return;default:x(0,"bad label: "+d)}}function gc(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g;c=a;b=k;g=d=0;e=1;break;case 1:e=(g<<16>>16|0)<(b<<16>>16|0)?2:12;break;case 2:e=(h[c>>2]&1|0)!=0?3:4;break;case 3:i=1;e=5;break;case 4:i=0;e=5;break;case 5:e=(h[c>>2]&268435456|0)!=0?6:7;break;case 6:i=(i<<16>>16^1)&65535;e=8;break; case 7:i=(i<<16>>16^0)&65535;e=8;break;case 8:d=d<<16>>16<<1&65535;e=h[c>>2]&1;d=(d<<16>>16|e<<16>>16)&65535;h[c>>2]>>=1;e=(i<<16>>16&1|0)!=0?9:10;break;case 9:h[c>>2]|=1073741824;e=10;break;case 10:e=11;break;case 11:g=g+1&65535;e=1;break;case 12:return d;default:x(0,"bad label: "+e)}}function Te(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>>2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0, "bad label: "+c)}}function Fb(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f,j,n,l,q;b=h;d=k;i=e;d=d+2|0;q=16777216;g=b<<16>>16<<10;j=d;d=j+2|0;l=g+(a[j>>1]<<16>>16<<14)|0;j=l>>16&65535;n=((l>>1)-(j<<16>>16<<15)|0)&65535;g=2;c=1;break;case 1:c=(g<<16>>16|0)<(i<<16>>16|0)?2:4;break;case 2:l=(j<<16>>16)*(b<<16>>16)|0;l=l+(((n<<16>>16)*(b<<16>>16)|0)>>15)|0;l<<=2;l=l-q|0;q=d;d=q+2|0;l=l+(a[q>>1]<<16>>16<<14)|0;q=(j<<16>>16<<16)+(n<<16>>16<<1)|0;j=l>>16&65535;n=((l>>1)-(j<<16>>16<<15)|0)&65535; c=3;break;case 3:g=g+1&65535;c=1;break;case 4:l=(j<<16>>16)*(b<<16>>16)|0;l=l+(((n<<16>>16)*(b<<16>>16)|0)>>15)|0;l<<=1;l=l-q|0;l=l+(a[d>>1]<<16>>16<<13)|0;c=(l+33554432|0)>>>0<67108863?5:6;break;case 5:f=l>>10&65535;c=10;break;case 6:c=(l|0)>33554431?7:8;break;case 7:f=32767;c=9;break;case 8:f=-32768;c=9;break;case 9:c=10;break;case 10:return f;default:x(0,"bad label: "+c)}}function Ue(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f;b=h;d=k;i=e;g=0;c=1;break;case 1:c=(g<<16>>16|0)<40?2:4;break; case 2:a[(d+(g<<16>>16<<1)|0)>>1]=0;c=3;break;case 3:g=g+1&65535;c=1;break;case 4:f=0;c=5;break;case 5:c=(f<<16>>16|0)<10?6:11;break;case 6:g=gc(b,2);g=Te(g,10,i)&65535;g=g<<16>>16>>1&65535;g=$(g,f,i);c=gc(b,1);c=(c<<16>>16|0)>0?7:8;break;case 7:a[(d+(g<<16>>16<<1)|0)>>1]=4096;c=9;break;case 8:a[(d+(g<<16>>16<<1)|0)>>1]=-4096;c=9;break;case 9:c=10;break;case 10:f=f+1&65535;c=5;break;case 11:return;default:x(0,"bad label: "+c)}}function Ve(R,k,e,c,b,d){var i;for(i=0;;)switch(i){case 0:var g,f,j,n, l,q;g=R;f=k;j=e;n=c;l=b;q=d;i=Te(a[g>>1],31821,q);i>>=1;a:{for(var m=void 0,m=0;;)switch(m){case 0:var p,o,r;p=i;o=q;r=p+13849|0;m=(p^13849|0)>=0?1:4;break;case 1:m=((r^p)>>31|0)!=0?2:3;break;case 2:r=(p>>31|0)!=0?-2147483648:2147483647;h[o>>2]=1;m=3;break;case 3:m=4;break;case 4:i=r;break a;default:x(0,"bad label: "+m)}i=void 0}a[g>>1]=i&65535;l=l+((a[g>>1]<<16>>16&127)<<1)|0;g=0;i=1;break;case 1:i=(g<<16>>16|0)<(f<<16>>16|0)?2:4;break;case 2:i=(65535<<(a[(j+(g<<16>>16<<1)|0)>>1]<<16>>16)^-1)&65535; q=l;l=q+2|0;a[(n+(g<<16>>16<<1)|0)>>1]=a[q>>1]<<16>>16&i<<16>>16&65535;i=3;break;case 3:g=g+1&65535;i=1;break;case 4:return;default:x(0,"bad label: "+i)}}function We(h){var k;for(k=0;;)switch(k){case 0:var e,c;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:ta(c|0,0,120,1);e=a[(c+120|0)>>1]=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function Xe(R,k,e,c,b){var d;for(d=0;;)switch(d){case 0:var i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y;i=R;g=k;f=e;j=c;n=b;w=0;l=159;d=1;break;case 1:d=(l<< 16>>16|0)>=0?2:7;break;case 2:y=(a[(f+(l<<16>>16<<1)|0)>>1]<<16>>16)*(a[(f+(l<<16>>16<<1)|0)>>1]<<16>>16)|0;d=(y|0)!=1073741824?3:4;break;case 3:y<<=1;d=5;break;case 4:y=2147483647;d=5;break;case 5:a:{d=y;for(var A=n,C=void 0,C=0;;)switch(C){case 0:var z,D,E;z=w;C=d;D=A;E=z+C|0;C=(z^C|0)>=0?1:4;break;case 1:C=((E^z)>>31|0)!=0?2:3;break;case 2:E=(z>>31|0)!=0?-2147483648:2147483647;h[D>>2]=1;C=3;break;case 3:C=4;break;case 4:w=E;break a;default:x(0,"bad label: "+C)}w=void 0}d=6;break;case 6:l=l-1&65535; d=1;break;case 7:d=(w|0)>536870911?8:9;break;case 8:s=32767;d=10;break;case 9:s=w>>14&65535;d=10;break;case 10:r=32767;l=59;d=11;break;case 11:d=(l<<16>>16|0)>=0?12:16;break;case 12:d=(a[((i|0)+(l<<16>>16<<1)|0)>>1]<<16>>16|0)<(r<<16>>16|0)?13:14;break;case 13:r=a[((i|0)+(l<<16>>16<<1)|0)>>1];d=14;break;case 14:d=15;break;case 15:l=l-1&65535;d=11;break;case 16:y=r<<16>>16<<4;d=(y|0)!=((y&65535)<<16>>16|0)?17:21;break;case 17:d=(y|0)>0?18:19;break;case 18:v=32767;d=20;break;case 19:v=-32768;d=20;break; case 20:d=22;break;case 21:v=y&65535;d=22;break;case 22:t=a[(i|0)>>1];l=55;d=23;break;case 23:d=(l<<16>>16|0)>=1?24:28;break;case 24:d=(t<<16>>16|0)<(a[((i|0)+(l<<16>>16<<1)|0)>>1]<<16>>16|0)?25:26;break;case 25:t=a[((i|0)+(l<<16>>16<<1)|0)>>1];d=26;break;case 26:d=27;break;case 27:l=l-1&65535;d=23;break;case 28:u=a[((i|0)+80|0)>>1];l=41;d=29;break;case 29:d=(l<<16>>16|0)<60?30:34;break;case 30:d=(u<<16>>16|0)<(a[((i|0)+(l<<16>>16<<1)|0)>>1]<<16>>16|0)?31:32;break;case 31:u=a[((i|0)+(l<<16>>16<<1)| 0)>>1];d=32;break;case 32:d=33;break;case 33:l=l+1&65535;d=29;break;case 34:d=(t<<16>>16|0)>20?35:43;break;case 35:d=(s<<16>>16|0)<17578?36:43;break;case 36:d=(s<<16>>16|0)>20?37:43;break;case 37:d=(s<<16>>16|0)<(v<<16>>16|0)?39:38;break;case 38:d=(u<<16>>16|0)<1953?39:43;break;case 39:d=((a[(i+120|0)>>1]<<16>>16)+1|0)>30?40:41;break;case 40:a[(i+120|0)>>1]=30;d=42;break;case 41:d=i+120|0;a[d>>1]=((a[d>>1]<<16>>16)+1|0)&65535;d=42;break;case 42:d=44;break;case 43:a[(i+120|0)>>1]=0;d=44;break;case 44:d= (a[(i+120|0)>>1]<<16>>16|0)>1?45:46;break;case 45:m=1;d=47;break;case 46:m=0;d=47;break;case 47:l=0;d=48;break;case 48:d=(l<<16>>16|0)<59?49:51;break;case 49:a[((i|0)+(l<<16>>16<<1)|0)>>1]=a[((i|0)+(((l<<16>>16)+1|0)<<1)|0)>>1];d=50;break;case 50:l=l+1&65535;d=48;break;case 51:a[((i|0)+118|0)>>1]=s;d=(a[(i+120|0)>>1]<<16>>16|0)>15?52:53;break;case 52:o=16383;d=57;break;case 53:d=(a[(i+120|0)>>1]<<16>>16|0)>8?54:55;break;case 54:o=15565;d=56;break;case 55:o=13926;d=56;break;case 56:d=57;break;case 57:q= 0;d=(Ya(g+8|0,5)<<16>>16|0)>(o<<16>>16|0)?58:59;break;case 58:q=1;d=59;break;case 59:d=(a[(i+120|0)>>1]<<16>>16|0)>20?60:64;break;case 60:d=(Ya(g,9)<<16>>16|0)>(o<<16>>16|0)?61:62;break;case 61:q=1;d=63;break;case 62:q=0;d=63;break;case 63:d=64;break;case 64:d=q<<16>>16!=0?65:66;break;case 65:a[j>>1]=0;d=70;break;case 66:p=((a[j>>1]<<16>>16)+1|0)&65535;d=(p<<16>>16|0)>10?67:68;break;case 67:a[j>>1]=10;d=69;break;case 68:a[j>>1]=p;d=69;break;case 69:d=70;break;case 70:return m;default:x(0,"bad label: "+ d)}}function Ye(h,k,e,c,b,d,i,g){var f=B;B+=3412;x(B%4==0,"Stack is unaligned");x(B>16|0)<10?2:4;break;case 2:a:{j=p+(n<<16>>16<<1)|0;l=n;q=o;m=void 0;for(m=0;;)switch(m){case 0:var A,C,z;A=j;m=l;C=q;z=a[A>>1]; m=(m<<16>>16|0)<5?1:2;break;case 1:a[A>>1]=(z<<16>>16&8|a[(C+((z<<16>>16&7)<<1)|0)>>1]<<16>>16)&65535;m=3;break;case 2:a[A>>1]=a[(C+((z<<16>>16&7)<<1)|0)>>1];m=3;break;case 3:break a;default:x(0,"bad label: "+m)}}j=3;break;case 3:n=n+1&65535;j=1;break;case 4:B=f;return;default:x(0,"bad label: "+j)}}function $e(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+ c)}}function Ze(h,k,e,c,b,d){var i=B;B+=20;x(B%4==0,"Stack is unaligned");x(B>16|0)<10?2:19;break;case 2:r=t;t=r+2|0;p=a[r>>1];s=((p<<16>>16)*6554|0)>>15&65535;r=((p<<16>>16)-((s<<16>>16)+(s<<16>>16<<2)|0)|0)&65535;g=(a[(j+(p<<16>>16<<1)|0)>>1]<<16>>16|0)>0?3:4;break;case 3:g=n+ (p<<16>>16<<1)|0;a[g>>1]=((a[g>>1]<<16>>16)+4096|0)&65535;g=K;K=g+2|0;a[g>>1]=8192;g=5;break;case 4:g=n+(p<<16>>16<<1)|0;a[g>>1]=((a[g>>1]<<16>>16)-4096|0)&65535;g=K;K=g+2|0;a[g>>1]=-8192;s=((s<<16>>16)+8|0)&65535;g=5;break;case 5:u=m+(r<<16>>16<<1)|0;I=a[u>>1];g=(I<<16>>16|0)<0?6:7;break;case 6:a[u>>1]=s;g=17;break;case 7:g=((s<<16>>16^I<<16>>16)&8|0)==0?8:12;break;case 8:g=(I<<16>>16|0)<=(s<<16>>16|0)?9:10;break;case 9:a[(u+10|0)>>1]=s;g=11;break;case 10:a[(u+10|0)>>1]=I;a[u>>1]=s;g=11;break;case 11:g= 16;break;case 12:g=(I<<16>>16&7|0)<=(s<<16>>16&7|0)?13:14;break;case 13:a[(u+10|0)>>1]=I;a[u>>1]=s;g=15;break;case 14:a[(u+10|0)>>1]=s;g=15;break;case 15:g=16;break;case 16:g=17;break;case 17:g=18;break;case 18:o=o+1&65535;g=1;break;case 19:F=f|0;t=l;u=F;F=u+2|0;t=t+((-(a[u>>1]<<16>>16)|0)<<1)|0;u=l;w=F;F=w+2|0;u=u+((-(a[w>>1]<<16>>16)|0)<<1)|0;w=l;y=F;F=y+2|0;w=w+((-(a[y>>1]<<16>>16)|0)<<1)|0;y=l;A=F;F=A+2|0;y=y+((-(a[A>>1]<<16>>16)|0)<<1)|0;A=l;C=F;F=C+2|0;A=A+((-(a[C>>1]<<16>>16)|0)<<1)|0;C=l; z=F;F=z+2|0;C=C+((-(a[z>>1]<<16>>16)|0)<<1)|0;z=l;D=F;F=D+2|0;z=z+((-(a[D>>1]<<16>>16)|0)<<1)|0;D=l;E=F;F=E+2|0;D=D+((-(a[E>>1]<<16>>16)|0)<<1)|0;E=l;J=F;F=J+2|0;E=E+((-(a[J>>1]<<16>>16)|0)<<1)|0;F=l+((-(a[F>>1]<<16>>16)|0)<<1)|0;J=q;p=40;g=20;break;case 20:g=(p<<16>>16|0)!=0?21:23;break;case 21:K=v|0;g=t;t=g+2|0;g=a[g>>1]<<16>>16;var G=K;K=G+2|0;g=(g*(a[G>>1]<<16>>16)|0)>>7;G=u;u=G+2|0;var G=a[G>>1]<<16>>16,U=K;K=U+2|0;g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;G=w;w=G+2|0;G=a[G>>1]<<16>>16;U=K;K=U+2|0; g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;G=y;y=G+2|0;G=a[G>>1]<<16>>16;U=K;K=U+2|0;g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;G=A;A=G+2|0;G=a[G>>1]<<16>>16;U=K;K=U+2|0;g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;G=C;C=G+2|0;G=a[G>>1]<<16>>16;U=K;K=U+2|0;g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;G=z;z=G+2|0;G=a[G>>1]<<16>>16;U=K;K=U+2|0;g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;G=D;D=G+2|0;G=a[G>>1]<<16>>16;U=K;K=U+2|0;g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;G=E;E=G+2|0;G=a[G>>1]<<16>>16;U=K;K=U+2|0;g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;G=F; F=G+2|0;G=a[G>>1]<<16>>16;U=K;K=U+2|0;g=g+((G*(a[U>>1]<<16>>16)|0)>>7)|0;g=(g+128|0)>>8&65535;G=J;J=G+2|0;a[G>>1]=g;g=22;break;case 22:p=p-1&65535;g=20;break;case 23:B=i;return;default:x(0,"bad label: "+g)}}function af(h,k,e,c,b,d,i,g){var f=B;B+=3444;x(B%4==0,"Stack is unaligned");x(B>16<<1&65535;j=(q<<16>>16|0)<40?1:6;break;case 1:A=q;j=2;break; case 2:j=(A<<16>>16|0)<40?3:5;break;case 3:j=$e(a[(l+(((A<<16>>16)-(q<<16>>16)|0)<<1)|0)>>1],m,s);j=$(a[(l+(A<<16>>16<<1)|0)>>1],j,s);a[(l+(A<<16>>16<<1)|0)>>1]=j;j=4;break;case 4:A=A+1&65535;j=2;break;case 5:j=6;break;case 6:pb(l,n,t|0,1,s);Gb(t|0,w|0,u|0,8);eb(l,w|0,y|0,s);bf(t|0,y|0,v|0,s);C=cf(v|0,w|0,p,l,o,r,s);j=(q<<16>>16|0)<40?7:12;break;case 7:A=q;j=8;break;case 8:j=(A<<16>>16|0)<40?9:11;break;case 9:j=$e(a[(p+(((A<<16>>16)-(q<<16>>16)|0)<<1)|0)>>1],m,s);j=$(a[(p+(A<<16>>16<<1)|0)>>1],j, s);a[(p+(A<<16>>16<<1)|0)>>1]=j;j=10;break;case 10:A=A+1&65535;j=8;break;case 11:j=12;break;case 12:return h=C,B=f,h;default:x(0,"bad label: "+j)}}function df(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535; e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function bd(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function bf(h,k,e,c){var b= B;B+=4;x(B%4==0,"Stack is unaligned");x(B>16|0)<2?2:4;break;case 2:d=C;var D=z;z=D+2|0;a[D>>1]=d;d=3;break;case 3:C=C+1&65535;d=1;break;case 4:m=0;d=5;break;case 5:d=(m<<16>>16|0)<2?6:24;break;case 6:p=0;d=7;break;case 7:d=(p<<16>>16|0)<4?8:22;break;case 8:a[(o|0)>>1]=a[(ef+(m<<16>>16<<1)|0)>>1];a[(o+2|0)>>1]=a[(ff+(p<<16>>16<<1)|0)>> 1];n=a[(o|0)>>1];d=9;break;case 9:d=(n<<16>>16|0)<40?10:20;break;case 10:s=a[(i+(n<<16>>16<<1)|0)>>1];A=a[((g+(n<<16>>16)*80|0)+(n<<16>>16<<1)|0)>>1]<<16>>16<<14;t=-1;w=1;q=a[(o+2|0)>>1];l=a[(o+2|0)>>1];d=11;break;case 11:d=(l<<16>>16|0)<40?12:16;break;case 12:v=$(s,a[(i+(l<<16>>16<<1)|0)>>1],j);y=A+(a[((g+(l<<16>>16)*80|0)+(l<<16>>16<<1)|0)>>1]<<16>>16<<14)|0;y=y+(a[((g+(n<<16>>16)*80|0)+(l<<16>>16<<1)|0)>>1]<<16>>16<<15)|0;v=((v<<16>>16)*(v<<16>>16)|0)>>15&65535;y=(y+32768|0)>>16&65535;d=((w<<16>> 16)*(v<<16>>16)|0)<<1;d=d-(((t<<16>>16)*(y<<16>>16)|0)<<1)|0;d=(d|0)>0?13:14;break;case 13:t=v;w=y;q=l;d=14;break;case 14:d=15;break;case 15:l=((l<<16>>16)+5|0)&65535;d=11;break;case 16:d=((u<<16>>16)*(t<<16>>16)|0)<<1;d=d-(((r<<16>>16)*(w<<16>>16)|0)<<1)|0;d=(d|0)>0?17:18;break;case 17:r=t;u=w;z=f|0;d=n;D=z;z=D+2|0;a[D>>1]=d;a[z>>1]=q;d=18;break;case 18:d=19;break;case 19:n=((n<<16>>16)+5|0)&65535;d=9;break;case 20:d=21;break;case 21:p=p+1&65535;d=7;break;case 22:d=23;break;case 23:m=m+1&65535;d= 5;break;case 24:B=b;return;default:x(0,"bad label: "+d)}}function cf(h,k,e,c,b,d,i){var g=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>16|0)<40?2:4;break;case 2:a[(l+(r<<16>>16<<1)|0)>>1]=0;f=3;break;case 3:r=r+1&65535;f=1;break;case 4:v=A=y=0;f=5;break;case 5:f=(v<<16>>16|0)<2?6:28;break;case 6:r=a[(j+(v<<16>>16<<1)|0)>>1];s=a[(n+(r<<16>>16<<1)|0)>> 1];u=((r<<16>>16)*6554|0)>>15&65535;f=((u<<16>>16<<3)+(u<<16>>16<<1)|0)&65535;f=f<<16>>16>>1&65535;f=t=((r<<16>>16)-(f<<16>>16)|0)&65535;f=(f<<16>>16|0)==0?7:8;break;case 7:t=1;u=u<<16>>16<<6&65535;f=23;break;case 8:f=(t<<16>>16|0)==1?9:13;break;case 9:f=v;f=(f<<16>>16|0)==0?10:11;break;case 10:t=0;u=u<<16>>16<<1&65535;f=12;break;case 11:t=1;f=u<<16>>16<<6&65535;u=((f<<16>>16)+16|0)&65535;f=12;break;case 12:f=22;break;case 13:f=(t<<16>>16|0)==2?14:15;break;case 14:t=1;f=u<<16>>16<<6&65535;u=((f<< 16>>16)+32|0)&65535;f=21;break;case 15:f=(t<<16>>16|0)==3?16:17;break;case 16:t=0;f=u<<16>>16<<1&65535;u=((f<<16>>16)+1|0)&65535;f=20;break;case 17:f=(t<<16>>16|0)==4?18:19;break;case 18:t=1;f=u<<16>>16<<6&65535;u=((f<<16>>16)+48|0)&65535;f=19;break;case 19:f=20;break;case 20:f=21;break;case 21:f=22;break;case 22:f=23;break;case 23:f=(s<<16>>16|0)>0?24:25;break;case 24:a[(l+(r<<16>>16<<1)|0)>>1]=8191;a[(w+(v<<16>>16<<1)|0)>>1]=32767;f=df(1,t,o);A=$(A,f,o);f=26;break;case 25:a[(l+(r<<16>>16<<1)|0)>> 1]=-8192;a[(w+(v<<16>>16<<1)|0)>>1]=-32768;f=26;break;case 26:y=$(y,u,o);f=27;break;case 27:v=v+1&65535;f=5;break;case 28:a[p>>1]=A;C=q+((-(a[(j|0)>>1]<<16>>16)|0)<<1)|0;z=q+((-(a[(j+2|0)>>1]<<16>>16)|0)<<1)|0;r=0;f=29;break;case 29:f=(r<<16>>16|0)<40?30:32;break;case 30:f=0;var D=C;C=D+2|0;f=bd(f,a[D>>1],a[(w|0)>>1],o);D=z;z=D+2|0;f=bd(f,a[D>>1],a[(w+2|0)>>1],o);f=la(f,o);a[(m+(r<<16>>16<<1)|0)>>1]=f;f=31;break;case 31:r=r+1&65535;f=29;break;case 32:return h=y,B=g,h;default:x(0,"bad label: "+f)}} function gf(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function hf(h,k,e,c,b){var d=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>1]=0;a[i>>1]=1;o=0;i=1;break;case 1:i=(o<<16>>16|0)<2?2:16; break;case 2:q=((g<<16>>16<<1)+(o<<16>>16<<3)|0)&65535;a[(r|0)>>1]=a[(n+(q<<16>>16<<1)|0)>>1];a[((r|0)+2|0)>>1]=a[((n+(q<<16>>16<<1)|0)+2|0)>>1];q=a[(r|0)>>1];i=3;break;case 3:i=(q<<16>>16|0)<40?4:14;break;case 4:v=a[(f+(q<<16>>16<<1)|0)>>1];C=a[((j+(q<<16>>16)*80|0)+(q<<16>>16<<1)|0)>>1]<<16>>16<<14;u=-1;y=1;p=a[((r|0)+2|0)>>1];m=a[((r|0)+2|0)>>1];i=5;break;case 5:i=(m<<16>>16|0)<40?6:10;break;case 6:t=((v<<16>>16)+(a[(f+(m<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;A=C+(a[((j+(m<<16>>16)*80|0)+(m<<16>> 16<<1)|0)>>1]<<16>>16<<14)|0;A=A+(a[((j+(q<<16>>16)*80|0)+(m<<16>>16<<1)|0)>>1]<<16>>16<<15)|0;t=((t<<16>>16)*(t<<16>>16)|0)>>15&65535;A=(A+32768|0)>>16&65535;i=((y<<16>>16)*(t<<16>>16)|0)<<1;i=i-(((u<<16>>16)*(A<<16>>16)|0)<<1)|0;i=(i|0)>0?7:8;break;case 7:u=t;y=A;p=m;i=8;break;case 8:i=9;break;case 9:m=((m<<16>>16)+5|0)&65535;i=5;break;case 10:i=((w<<16>>16)*(u<<16>>16)|0)<<1;i=i-(((s<<16>>16)*(y<<16>>16)|0)<<1)|0;i=(i|0)>0?11:12;break;case 11:s=u;w=y;i=l|0;var z=q,D=i;i=D+2|0;a[D>>1]=z;a[i>>1]= p;i=12;break;case 12:i=13;break;case 13:q=((q<<16>>16)+5|0)&65535;i=3;break;case 14:i=15;break;case 15:o=o+1&65535;i=1;break;case 16:B=d;return;default:x(0,"bad label: "+i)}}function jf(R,k,e,c,b,d,i,g,f,j){var n=B;B+=3444;x(B%4==0,"Stack is unaligned");x(B>16<<1;l=(K|0)!=((K&65535)<<16>>16|0)?1:2;break;case 1:h[w>>2]=1;I=((r<<16>> 16|0)>0?32767:-32768)&65535;l=3;break;case 2:I=K&65535;l=3;break;case 3:l=(o<<16>>16|0)<40?4:9;break;case 4:E=o;l=5;break;case 5:l=(E<<16>>16|0)<40?6:8;break;case 6:l=gf(a[((p+(E<<16>>16<<1)|0)+((-(o<<16>>16)|0)<<1)|0)>>1],I,w);l=$(a[(p+(E<<16>>16<<1)|0)>>1],l,w);a[(p+(E<<16>>16<<1)|0)>>1]=l;l=7;break;case 7:E=E+1&65535;l=5;break;case 8:l=9;break;case 9:pb(p,m,A|0,1,w);Gb(A|0,z|0,C|0,8);eb(p,z|0,D|0,w);hf(q,A|0,D|0,u,y|0,w);F=kf(q,y|0,z|0,s,p,v,t,w);l=(o<<16>>16|0)<40?10:15;break;case 10:E=o;l=11; break;case 11:l=(E<<16>>16|0)<40?12:14;break;case 12:l=gf(a[((s+(E<<16>>16<<1)|0)+((-(o<<16>>16)|0)<<1)|0)>>1],I,w);l=$(a[(s+(E<<16>>16<<1)|0)>>1],l,w);a[(s+(E<<16>>16<<1)|0)>>1]=l;l=13;break;case 13:E=E+1&65535;l=11;break;case 14:l=15;break;case 15:return R=F,B=n,R;default:x(0,"bad label: "+l)}}function kf(R,k,e,c,b,d,i,g){var f=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>16<<1)|0)+(n<<16>>16<<2<<1)|0;n=0;j=1;break;case 1:j=(n<<16>>16|0)<40?2:4;break;case 2:a[(m+(n<<16>>16<<1)|0)>>1]=0;j=3;break;case 3:n=n+1&65535;j=1;break;case 4:t=A=C=0;j=5;break;case 5:j=(t<<16>>16|0)<2?6:16;break;case 6:n=a[(l+(t<<16>>16<<1)|0)>>1];v=a[(q+(n<<16>>16<<1)|0)>>1];j=((n<<16>>16)*6554|0)>>15;y=j&65535;u=((n<<16>>16)-((y<<16>>16)*5|0)|0)&65535;w=a[(F+(u<<16>>16<<1)|0)>>1];j=(t<<16>>16|0)==0?7:10;break;case 7:u=0;j=(w<<16>>16|0)!=0?8:9;break;case 8:y=((y<<16>>16)+ 64|0)&65535;j=9;break;case 9:j=11;break;case 10:u=1;y=y<<16>>16<<3&65535;j=11;break;case 11:j=(v<<16>>16|0)>0?12:13;break;case 12:a[(m+(n<<16>>16<<1)|0)>>1]=8191;a[((z|0)+(t<<16>>16<<1)|0)>>1]=32767;A=((A<<16>>16)+(1<<(u<<16>>16))|0)&65535;j=14;break;case 13:a[(m+(n<<16>>16<<1)|0)>>1]=-8192;a[((z|0)+(t<<16>>16<<1)|0)>>1]=-32768;j=14;break;case 14:C=((C<<16>>16)+(y<<16>>16)|0)&65535;j=15;break;case 15:t=t+1&65535;j=5;break;case 16:a[r>>1]=A;D=p+((-(a[l>>1]<<16>>16)|0)<<1)|0;E=p+((-(a[(l+2|0)>>1]<< 16>>16)|0)<<1)|0;n=0;j=17;break;case 17:j=(n<<16>>16|0)<40?18:20;break;case 18:j=D;D=j+2|0;a:{j=a[j>>1];for(var I=a[(z|0)>>1],K=s,J=void 0,J=0;;)switch(J){case 0:var G,U;G=j;J=I;U=K;G=(G<<16>>16)*(J<<16>>16)|0;J=(G|0)!=1073741824?1:2;break;case 1:G<<=1;J=3;break;case 2:h[U>>2]=1;G=2147483647;J=3;break;case 3:j=G;break a;default:x(0,"bad label: "+J)}j=void 0}I=E;E=I+2|0;j=mf(j,a[I>>1],a[((z|0)+2|0)>>1],s);j=la(j,s);a[(o+(n<<16>>16<<1)|0)>>1]=j;j=19;break;case 19:n=n+1&65535;j=17;break;case 20:return R= C,B=f,R;default:x(0,"bad label: "+j)}}function mf(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function nf(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d; c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function of(h,k,e,c,b,d,i,g){var f=B;B+=3448;x(B%4==0,"Stack is unaligned");x(B>16<<1&65535;j=(q<<16>>16|0)<40?1:6;break;case 1:A=q;j=2;break;case 2:j=(A<<16>>16|0)<40?3:5;break;case 3:j=nf(a[(l+ (((A<<16>>16)-(q<<16>>16)|0)<<1)|0)>>1],m,s);j=$(a[(l+(A<<16>>16<<1)|0)>>1],j,s);a[(l+(A<<16>>16<<1)|0)>>1]=j;j=4;break;case 4:A=A+1&65535;j=2;break;case 5:j=6;break;case 6:pb(l,n,t|0,1,s);Gb(t|0,w|0,u|0,6);eb(l,w|0,y|0,s);pf(t|0,u|0,y|0,v|0,s);C=qf(v|0,w|0,p,l,o,r,s);j=(q<<16>>16|0)<40?7:12;break;case 7:A=q;j=8;break;case 8:j=(A<<16>>16|0)<40?9:11;break;case 9:j=nf(a[(p+(((A<<16>>16)-(q<<16>>16)|0)<<1)|0)>>1],m,s);j=$(a[(p+(A<<16>>16<<1)|0)>>1],j,s);a[(p+(A<<16>>16<<1)|0)>>1]=j;j=10;break;case 10:A= A+1&65535;j=8;break;case 11:j=12;break;case 12:return h=C,B=f,h;default:x(0,"bad label: "+j)}}function pf(R,k,e,c,b){var d=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>16|0)<3?2:4;break;case 2:i=s;var J=I;I=J+2|0;a[J>>1]=i;i=3;break;case 3:s=s+1&65535;i=1;break;case 4:v=1;i=5;break;case 5:i=(v<<16>>16|0)<4?6:36;break;case 6:t= 2;i=7;break;case 7:i=(t<<16>>16|0)<5?8:34;break;case 8:a[(u|0)>>1]=0;a[(u+2|0)>>1]=v;a[(u+4|0)>>1]=t;s=0;i=9;break;case 9:i=(s<<16>>16|0)<3?10:32;break;case 10:q=a[(u|0)>>1];i=11;break;case 11:i=(q<<16>>16|0)<40?12:30;break;case 12:i=(a[(f+(q<<16>>16<<1)|0)>>1]<<16>>16|0)>=0?13:28;break;case 13:y=a[(g+(q<<16>>16<<1)|0)>>1];K=a[((j+(q<<16>>16)*80|0)+(q<<16>>16<<1)|0)>>1]<<16>>16<<14;C=-1;E=1;r=0;o=a[(u+2|0)>>1];m=a[(u+2|0)>>1];i=14;break;case 14:i=(m<<16>>16|0)<40?15:19;break;case 15:A=((y<<16>>16)+ (a[(g+(m<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;F=K+(a[((j+(m<<16>>16)*80|0)+(m<<16>>16<<1)|0)>>1]<<16>>16<<14)|0;F=F+(a[((j+(q<<16>>16)*80|0)+(m<<16>>16<<1)|0)>>1]<<16>>16<<15)|0;z=((A<<16>>16)*(A<<16>>16)|0)>>15&65535;F=(F+32768|0)>>16&65535;i=((E<<16>>16)*(z<<16>>16)|0)<<1;i=i-(((C<<16>>16)*(F<<16>>16)|0)<<1)|0;i=(i|0)>0?16:17;break;case 16:C=z;r=A;E=F;o=m;i=17;break;case 17:i=18;break;case 18:m=((m<<16>>16)+5|0)&65535;i=14;break;case 19:m=o;y=r;K=E<<16>>16<<14;C=-1;E=1;r=0;o=a[(u+4|0)>>1];p=a[(u+ 4|0)>>1];i=20;break;case 20:i=(p<<16>>16|0)<40?21:25;break;case 21:A=((y<<16>>16)+(a[(g+(p<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;F=K+(a[((j+(p<<16>>16)*80|0)+(p<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;F=F+(a[((j+(m<<16>>16)*80|0)+(p<<16>>16<<1)|0)>>1]<<16>>16<<13)|0;F=F+(a[((j+(q<<16>>16)*80|0)+(p<<16>>16<<1)|0)>>1]<<16>>16<<13)|0;z=((A<<16>>16)*(A<<16>>16)|0)>>15&65535;F=(F+32768|0)>>16&65535;i=((E<<16>>16)*(z<<16>>16)|0)<<1;i=i-(((C<<16>>16)*(F<<16>>16)|0)<<1)|0;i=(i|0)>0?22:23;break;case 22:C=z;r=A;E= F;o=p;i=23;break;case 23:i=24;break;case 24:p=((p<<16>>16)+5|0)&65535;i=20;break;case 25:p=o;i=rf(D,C,l);var G=l,J=void 0,J=rf(w,E,G);a:{for(var U=void 0,U=0;;)switch(U){case 0:var fa,ja,pa;fa=i;U=J;ja=G;pa=fa-U|0;U=((fa^U)>>31|0)!=0?1:4;break;case 1:U=((pa^fa)&-2147483648|0)!=0?2:3;break;case 2:pa=(fa>>31|0)!=0?-2147483648:2147483647;h[ja>>2]=1;U=3;break;case 3:U=4;break;case 4:J=pa;break a;default:x(0,"bad label: "+U)}J=void 0}i=J;i=(i|0)>0?26:27;break;case 26:w=C;D=E;I=n|0;i=q;J=I;I=J+2|0;a[J>> 1]=i;i=m;J=I;I=J+2|0;a[J>>1]=i;a[I>>1]=p;i=27;break;case 27:i=28;break;case 28:i=29;break;case 29:q=((q<<16>>16)+5|0)&65535;i=11;break;case 30:i=a[(u+4|0)>>1];a[(u+4|0)>>1]=a[(u+2|0)>>1];a[(u+2|0)>>1]=a[(u|0)>>1];a[(u|0)>>1]=i;i=31;break;case 31:s=s+1&65535;i=9;break;case 32:i=33;break;case 33:t=((t<<16>>16)+2|0)&65535;i=7;break;case 34:i=35;break;case 35:v=((v<<16>>16)+2|0)&65535;i=5;break;case 36:B=d;return;default:x(0,"bad label: "+i)}}function hc(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d, i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function rf(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>> 2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0,"bad label: "+c)}}function sf(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function qf(h,k,e,c,b,d,i){var g=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>16|0)<40?2:4;break;case 2:a[(l+(r<<16>>16<<1)|0)>>1]=0;f=3;break;case 3:r=r+1&65535;f=1;break;case 4:v=A=y=0;f=5;break;case 5:f=(v<<16>>16|0)<3?6:22;break;case 6:r=a[(j+(v<<16>>16<<1)|0)>>1];s=a[(n+(r<<16>>16<<1)|0)>>1];u=((r<<16>>16)*6554|0)>>15&65535;f=((u<<16>>16)*5|0)<<1;f>>=1;t=((r<<16>>16)-((f&65535)<<16>>16)|0)&65535;f=(t<<16>>16|0)==1?7:8;break;case 7:u=u<<16>>16<<4&65535;f=17;break;case 8:f=(t<<16>>16|0)==2?9:10;break;case 9:t=2;u=u<<16>>16<<8&65535;f=16;break;case 10:f= (t<<16>>16|0)==3?11:12;break;case 11:t=1;u=u<<16>>16<<4&65535;u=((u<<16>>16)+8|0)&65535;f=15;break;case 12:f=(t<<16>>16|0)==4?13:14;break;case 13:t=2;u=u<<16>>16<<8&65535;u=((u<<16>>16)+128|0)&65535;f=14;break;case 14:f=15;break;case 15:f=16;break;case 16:f=17;break;case 17:f=(s<<16>>16|0)>0?18:19;break;case 18:a[(l+(r<<16>>16<<1)|0)>>1]=8191;a[(w+(v<<16>>16<<1)|0)>>1]=32767;t=1<<(t<<16>>16)&65535;A=((A<<16>>16)+(t<<16>>16)|0)&65535;f=20;break;case 19:a[(l+(r<<16>>16<<1)|0)>>1]=-8192;a[(w+(v<<16>> 16<<1)|0)>>1]=-32768;f=20;break;case 20:y=((y<<16>>16)+(u<<16>>16)|0)&65535;f=21;break;case 21:v=v+1&65535;f=5;break;case 22:a[p>>1]=A;C=q+((-(a[(j|0)>>1]<<16>>16)|0)<<1)|0;z=q+((-(a[(j+2|0)>>1]<<16>>16)|0)<<1)|0;D=q+((-(a[(j+4|0)>>1]<<16>>16)|0)<<1)|0;r=0;f=23;break;case 23:f=(r<<16>>16|0)<40?24:26;break;case 24:f=0;var E=C;C=E+2|0;f=hc(f,a[E>>1],a[(w|0)>>1],o);E=z;z=E+2|0;f=hc(f,a[E>>1],a[(w+2|0)>>1],o);E=D;D=E+2|0;f=hc(f,a[E>>1],a[(w+4|0)>>1],o);f=la(f,o);a[(m+(r<<16>>16<<1)|0)>>1]=f;f=25;break; case 25:r=r+1&65535;f=23;break;case 26:return h=y,B=g,h;default:x(0,"bad label: "+f)}}function tf(h,k,e,c,b,d,i,g,f){var j=B;B+=3448;x(B%4==0,"Stack is unaligned");x(B>16<<1&65535;n=(m<<16>>16|0)<40?1:6;break;case 1:z=m;n=2;break;case 2:n=(z<<16>>16|0)<40?3:5;break;case 3:n=sf(a[(q+(((z<<16>>16)-(m<<16>>16)|0)<<1)|0)>>1],p,t);n=$(a[(q+(z<< 16>>16<<1)|0)>>1],n,t);a[(q+(z<<16>>16<<1)|0)>>1]=n;n=4;break;case 4:z=z+1&65535;n=2;break;case 5:n=6;break;case 6:pb(q,l,w|0,1,t);Gb(w|0,A|0,y|0,4);eb(q,A|0,C|0,t);uf(w|0,y|0,C|0,u|0,t);D=vf(u|0,A|0,o,q,r,s,v,t);n=((m<<16>>16)-40|0)&65535;n=(n<<16>>16|0)<0?7:12;break;case 7:z=m;n=8;break;case 8:n=(z<<16>>16|0)<40?9:11;break;case 9:n=sf(a[(o+(((z<<16>>16)-(m<<16>>16)|0)<<1)|0)>>1],p,t);n=$(a[(o+(z<<16>>16<<1)|0)>>1],n,t);a[(o+(z<<16>>16<<1)|0)>>1]=n;n=10;break;case 10:z=z+1&65535;n=8;break;case 11:n= 12;break;case 12:return h=D,B=j,h;default:x(0,"bad label: "+n)}}function uf(h,k,e,c){var b=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>16|0)<4?2:4;break;case 2:d=r;var I=E;E=I+2|0;a[I>>1]=d;d=3;break;case 3:r=r+1&65535;d=1;break;case 4:s=3;d=5;break;case 5:d=(s<<16>>16|0)<5?6:38;break;case 6:a[(v|0)>>1]=0;a[(v+2|0)>>1]=1;a[(v+ 4|0)>>1]=2;a[(v+6|0)>>1]=s;r=0;d=7;break;case 7:d=(r<<16>>16|0)<4?8:36;break;case 8:n=a[(v|0)>>1];d=9;break;case 9:d=(n<<16>>16|0)<40?10:34;break;case 10:d=(a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16|0)>=0?11:32;break;case 11:u=a[(i+(n<<16>>16<<1)|0)>>1];F=a[((f+(n<<16>>16)*80|0)+(n<<16>>16<<1)|0)>>1]<<16>>16<<14;y=-1;z=1;o=0;p=a[(v+2|0)>>1];l=a[(v+2|0)>>1];d=12;break;case 12:d=(l<<16>>16|0)<40?13:17;break;case 13:w=((u<<16>>16)+(a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;D=F+(a[((f+(l<<16>>16)*80|0)+(l<< 16>>16<<1)|0)>>1]<<16>>16<<14)|0;D=D+(a[((f+(n<<16>>16)*80|0)+(l<<16>>16<<1)|0)>>1]<<16>>16<<15)|0;A=((w<<16>>16)*(w<<16>>16)|0)>>15&65535;D=(D+32768|0)>>16&65535;d=((z<<16>>16)*(A<<16>>16)|0)<<1;d=d-(((y<<16>>16)*(D<<16>>16)|0)<<1)|0;d=(d|0)>0?14:15;break;case 14:y=A;o=w;z=D;p=l;d=15;break;case 15:d=16;break;case 16:l=((l<<16>>16)+5|0)&65535;d=12;break;case 17:l=p;u=o;F=z<<16>>16<<14;y=-1;z=1;o=0;p=a[(v+4|0)>>1];q=a[(v+4|0)>>1];d=18;break;case 18:d=(q<<16>>16|0)<40?19:23;break;case 19:w=((u<<16>> 16)+(a[(i+(q<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;D=F+(a[((f+(q<<16>>16)*80|0)+(q<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;D=D+(a[((f+(l<<16>>16)*80|0)+(q<<16>>16<<1)|0)>>1]<<16>>16<<13)|0;D=D+(a[((f+(n<<16>>16)*80|0)+(q<<16>>16<<1)|0)>>1]<<16>>16<<13)|0;A=((w<<16>>16)*(w<<16>>16)|0)>>15&65535;D=(D+32768|0)>>16&65535;d=((z<<16>>16)*(A<<16>>16)|0)<<1;d=d-(((y<<16>>16)*(D<<16>>16)|0)<<1)|0;d=(d|0)>0?20:21;break;case 20:y=A;o=w;z=D;p=q;d=21;break;case 21:d=22;break;case 22:q=((q<<16>>16)+5|0)&65535;d=18;break; case 23:q=p;u=o;F=z<<16>>16<<16;y=-1;z=1;o=0;p=a[(v+6|0)>>1];m=a[(v+6|0)>>1];d=24;break;case 24:d=(m<<16>>16|0)<40?25:29;break;case 25:w=((u<<16>>16)+(a[(i+(m<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;D=F+(a[((f+(m<<16>>16)*80|0)+(m<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;D=D+(a[((f+(q<<16>>16)*80|0)+(m<<16>>16<<1)|0)>>1]<<16>>16<<13)|0;D=D+(a[((f+(l<<16>>16)*80|0)+(m<<16>>16<<1)|0)>>1]<<16>>16<<13)|0;D=D+(a[((f+(n<<16>>16)*80|0)+(m<<16>>16<<1)|0)>>1]<<16>>16<<13)|0;A=((w<<16>>16)*(w<<16>>16)|0)>>15&65535;D= (D+32768|0)>>16&65535;d=((z<<16>>16)*(A<<16>>16)|0)<<1;d=d-(((y<<16>>16)*(D<<16>>16)|0)<<1)|0;d=(d|0)>0?26:27;break;case 26:y=A;o=w;z=D;p=m;d=27;break;case 27:d=28;break;case 28:m=((m<<16>>16)+5|0)&65535;d=24;break;case 29:d=((C<<16>>16)*(y<<16>>16)|0)<<1;d=d-(((t<<16>>16)*(z<<16>>16)|0)<<1)|0;d=(d|0)>0?30:31;break;case 30:t=y;C=z;E=j|0;d=n;I=E;E=I+2|0;a[I>>1]=d;d=l;I=E;E=I+2|0;a[I>>1]=d;d=q;I=E;E=I+2|0;a[I>>1]=d;a[E>>1]=p;d=31;break;case 31:d=32;break;case 32:d=33;break;case 33:n=((n<<16>>16)+5| 0)&65535;d=9;break;case 34:d=a[(v+6|0)>>1];a[(v+6|0)>>1]=a[(v+4|0)>>1];a[(v+4|0)>>1]=a[(v+2|0)>>1];a[(v+2|0)>>1]=a[(v|0)>>1];a[(v|0)>>1]=d;d=35;break;case 35:r=r+1&65535;d=7;break;case 36:d=37;break;case 37:s=s+1&65535;d=5;break;case 38:B=b;return;default:x(0,"bad label: "+d)}}function Hb(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f= (d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function vf(h,k,e,c,b,d,i,g){var f=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>16|0)<40?2:4;break;case 2:j=K;K=j+2|0;a[j>>1]=0;j=3;break;case 3:v=v+1&65535; j=1;break;case 4:u=z=C=0;j=5;break;case 5:j=(u<<16>>16|0)<4?6:22;break;case 6:v=a[(n+(u<<16>>16<<1)|0)>>1];t=a[(l+(v<<16>>16<<1)|0)>>1];y=((v<<16>>16)*6554|0)>>15&65535;j=((y<<16>>16)*5|0)<<1;j>>=1;w=((v<<16>>16)-((j&65535)<<16>>16)|0)&65535;y=a[(r+(y<<16>>16<<1)|0)>>1];j=(w<<16>>16|0)==1?7:8;break;case 7:y=y<<16>>16<<3&65535;j=17;break;case 8:j=(w<<16>>16|0)==2?9:10;break;case 9:y=y<<16>>16<<6&65535;j=16;break;case 10:j=(w<<16>>16|0)==3?11:12;break;case 11:y=y<<16>>16<<10&65535;j=15;break;case 12:j= (w<<16>>16|0)==4?13:14;break;case 13:w=3;y=y<<16>>16<<10&65535;y=((y<<16>>16)+512|0)&65535;j=14;break;case 14:j=15;break;case 15:j=16;break;case 16:j=17;break;case 17:j=(t<<16>>16|0)>0?18:19;break;case 18:a[(q+(v<<16>>16<<1)|0)>>1]=8191;a[(A+(u<<16>>16<<1)|0)>>1]=32767;w=1<<(w<<16>>16)&65535;z=((z<<16>>16)+(w<<16>>16)|0)&65535;j=20;break;case 19:a[(q+(v<<16>>16<<1)|0)>>1]=-8192;a[(A+(u<<16>>16<<1)|0)>>1]=-32768;j=20;break;case 20:C=((C<<16>>16)+(y<<16>>16)|0)&65535;j=21;break;case 21:u=u+1&65535; j=5;break;case 22:a[o>>1]=z;D=m+((-(a[(n|0)>>1]<<16>>16)|0)<<1)|0;E=m+((-(a[(n+2|0)>>1]<<16>>16)|0)<<1)|0;F=m+((-(a[(n+4|0)>>1]<<16>>16)|0)<<1)|0;I=m+((-(a[(n+6|0)>>1]<<16>>16)|0)<<1)|0;v=0;j=23;break;case 23:j=(v<<16>>16|0)<40?24:26;break;case 24:j=0;var J=D;D=J+2|0;j=Hb(j,a[J>>1],a[(A|0)>>1],s);J=E;E=J+2|0;j=Hb(j,a[J>>1],a[(A+2|0)>>1],s);J=F;F=J+2|0;j=Hb(j,a[J>>1],a[(A+4|0)>>1],s);J=I;I=J+2|0;j=Hb(j,a[J>>1],a[(A+6|0)>>1],s);j=la(j,s);a[(p+(v<<16>>16<<1)|0)>>1]=j;j=25;break;case 25:v=v+1&65535;j= 23;break;case 26:return h=C,B=f,h;default:x(0,"bad label: "+j)}}function wf(a,k,e,c,b,d,i){var g=B;B+=3424;x(B%4==0,"Stack is unaligned");x(B>16>>1&65535)<<16>>16)*5|0)<<1;b>>=1;c=b&65535;b=(((e<<16>>16>>1&65535)<<16>>16)*25|0)<<1;b>>=1; c=((((((c<<16>>16)+((b&65535)<<16>>16)|0)&65535)<<16>>16)+((a<<16>>16>>1&65535)<<16>>16)|0)&65535)<<16>>16<<3&65535;return((c<<16>>16)+(((((((((k<<16>>16&1)<<16>>16<<1&65535)<<16>>16)+(((e<<16>>16&1)<<16>>16<<2&65535)<<16>>16)|0)&65535)<<16>>16)+((a<<16>>16&1)<<16>>16)|0)&65535)<<16>>16)|0)&65535}function Sa(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!= 0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function yf(h,k,e,c,b,d,i,g){var f=B;B+=16;x(B%4==0,"Stack is unaligned");x(B>16|0)<40?2:4;break;case 2:j=G;G=j+2|0;a[j>> 1]=0;j=3;break;case 3:v=v+1&65535;j=1;break;case 4:v=0;j=5;break;case 5:j=(v<<16>>16|0)<4?6:8;break;case 6:a[(r+(v<<16>>16<<1)|0)>>1]=-1;a[(o+(v<<16>>16<<1)|0)>>1]=-1;j=7;break;case 7:v=v+1&65535;j=5;break;case 8:t=0;j=9;break;case 9:j=(t<<16>>16|0)<8?10:27;break;case 10:v=a[(n+(t<<16>>16<<1)|0)>>1];j=a[(l+(v<<16>>16<<1)|0)>>1];y=v<<16>>16>>2&65535;u=v<<16>>16&3;j=(j<<16>>16|0)>0?11:12;break;case 11:a[(q+(v<<16>>16<<1)|0)>>1]=((a[(q+(v<<16>>16<<1)|0)>>1]<<16>>16)+8191|0)&65535;a[(A+(t<<16>>16<<1)| 0)>>1]=32767;w=0;j=13;break;case 12:a[(q+(v<<16>>16<<1)|0)>>1]=((a[(q+(v<<16>>16<<1)|0)>>1]<<16>>16)-8191|0)&65535;a[(A+(t<<16>>16<<1)|0)>>1]=-32768;w=1;j=13;break;case 13:j=(a[(r+(u<<16>>16<<1)|0)>>1]<<16>>16|0)<0?14:15;break;case 14:a[(r+(u<<16>>16<<1)|0)>>1]=y;a[(o+(u<<16>>16<<1)|0)>>1]=w;j=25;break;case 15:j=((w<<16>>16^a[(o+(u<<16>>16<<1)|0)>>1]<<16>>16)&1|0)==0?16:20;break;case 16:j=(a[(r+(u<<16>>16<<1)|0)>>1]<<16>>16|0)<=(y<<16>>16|0)?17:18;break;case 17:a[(r+(((u<<16>>16)+4|0)<<1)|0)>>1]= y;j=19;break;case 18:a[(r+(((u<<16>>16)+4|0)<<1)|0)>>1]=a[(r+(u<<16>>16<<1)|0)>>1];a[(r+(u<<16>>16<<1)|0)>>1]=y;a[(o+(u<<16>>16<<1)|0)>>1]=w;j=19;break;case 19:j=24;break;case 20:j=(a[(r+(u<<16>>16<<1)|0)>>1]<<16>>16|0)<=(y<<16>>16|0)?21:22;break;case 21:a[(r+(((u<<16>>16)+4|0)<<1)|0)>>1]=a[(r+(u<<16>>16<<1)|0)>>1];a[(r+(u<<16>>16<<1)|0)>>1]=y;a[(o+(u<<16>>16<<1)|0)>>1]=w;j=23;break;case 22:a[(r+(((u<<16>>16)+4|0)<<1)|0)>>1]=y;j=23;break;case 23:j=24;break;case 24:j=25;break;case 25:j=26;break;case 26:t= t+1&65535;j=9;break;case 27:C=m;z=U;U=z+2|0;C=C+((-(a[z>>1]<<16>>16)|0)<<1)|0;z=m;D=U;U=D+2|0;z=z+((-(a[D>>1]<<16>>16)|0)<<1)|0;D=m;E=U;U=E+2|0;D=D+((-(a[E>>1]<<16>>16)|0)<<1)|0;E=m;F=U;U=F+2|0;E=E+((-(a[F>>1]<<16>>16)|0)<<1)|0;F=m;I=U;U=I+2|0;F=F+((-(a[I>>1]<<16>>16)|0)<<1)|0;I=m;v=U;U=v+2|0;I=I+((-(a[v>>1]<<16>>16)|0)<<1)|0;v=m;K=U;U=K+2|0;K=v+((-(a[K>>1]<<16>>16)|0)<<1)|0;J=m+((-(a[U>>1]<<16>>16)|0)<<1)|0;v=0;j=28;break;case 28:j=(v<<16>>16|0)<40?29:31;break;case 29:j=0;var fa=C;C=fa+2|0;j=Sa(j, a[fa>>1],a[(A|0)>>1],s);fa=z;z=fa+2|0;j=Sa(j,a[fa>>1],a[(A+2|0)>>1],s);fa=D;D=fa+2|0;j=Sa(j,a[fa>>1],a[(A+4|0)>>1],s);fa=E;E=fa+2|0;j=Sa(j,a[fa>>1],a[(A+6|0)>>1],s);fa=F;F=fa+2|0;j=Sa(j,a[fa>>1],a[(A+8|0)>>1],s);fa=I;I=fa+2|0;j=Sa(j,a[fa>>1],a[(A+10|0)>>1],s);fa=K;K=fa+2|0;j=Sa(j,a[fa>>1],a[(A+12|0)>>1],s);fa=J;J=fa+2|0;j=Sa(j,a[fa>>1],a[(A+14|0)>>1],s);j=la(j,s);a[(p+(v<<16>>16<<1)|0)>>1]=j;j=30;break;case 30:v=v+1&65535;j=28;break;case 31:B=f;return;default:x(0,"bad label: "+j)}}function zf(h,k, e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l;d=h;i=k;g=e;f=c;n=g|0;l=d|0;d=0;b=1;break;case 1:b=(d<<16>>16|0)<4?2:4;break;case 2:b=l;l=b+2|0;b=a[b>>1];var q=n;n=q+2|0;a[q>>1]=b;b=3;break;case 3:d=d+1&65535;b=1;break;case 4:j=cd(a[(i|0)>>1],a[(i+8|0)>>1],a[(i+2|0)>>1],f);a[(g+8|0)>>1]=j;j=cd(a[(i+4|0)>>1],a[(i+12|0)>>1],a[(i+10|0)>>1],f);a[(g+10|0)>>1]=j;b=a[(i+14|0)>>1]<<16>>16>>1&65535;b=b<<16>>16&1;j=a[(i+6|0)>>1]<<16>>16>>1&65535;b=(b<<16>>16|0)==1?5:6;break;case 5:j=(4-(j<<16>>16)| 0)&65535;b=6;break;case 6:b=a[(i+14|0)>>1]<<16>>16>>1&65535;h=((b<<16>>16)*5|0)<<1;h>>=1;b=h&65535;b=((b<<16>>16)+(j<<16>>16)|0)&65535;b=b<<16>>16<<5&65535;b=((b<<16>>16)+12|0)&65535;h=((b<<16>>16)*1311|0)>>15&65535;h=h<<16>>16<<2&65535;j=a[(i+6|0)>>1]<<16>>16&1;b=(a[(i+14|0)>>1]<<16>>16&1)<<16>>16<<1&65535;b=((b<<16>>16)+(h<<16>>16)|0)&65535;b=((b<<16>>16)+(j<<16>>16)|0)&65535;a[(g+12|0)>>1]=b;return;default:x(0,"bad label: "+b)}}function Ia(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b= k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3;break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Ib(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b= ((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function dd(R,k,e,c,b){var d;for(d=0;;)switch(d){case 0:var i,g,f,j,n,l,q,m,p,o,r,s,v;i=R;g=k;f=e;d=c;j=b;j=j+((-(f<<16>>16)|0)<<2)|0;p=i+((-(f<<16>>16)|0)<<1)|0;f=((((f<<16>>16)-(d<<16>>16)|0)>>2)+1|0)&65535;d=1;break;case 1:d=(f<<16>>16|0)>0?2:8;break;case 2:v=s=r=o=0;l=i|0;q=p;p=q+2|0; n=p=p+2|0;p=n+2|0;m=n;p=p+2|0;n=g<<16>>16>>1&65535;d=3;break;case 3:d=(n<<16>>16|0)!=0?4:6;break;case 4:d=a[l>>1]<<16>>16;var t=q;q=t+2|0;o=o+(d*(a[t>>1]<<16>>16)|0)|0;r=r+((a[l>>1]<<16>>16)*(a[q>>1]<<16>>16)|0)|0;d=a[l>>1]<<16>>16;t=m;m=t+2|0;s=s+(d*(a[t>>1]<<16>>16)|0)|0;d=l;l=d+2|0;v=v+((a[d>>1]<<16>>16)*(a[m>>1]<<16>>16)|0)|0;d=a[l>>1]<<16>>16;t=q;q=t+2|0;o=o+(d*(a[t>>1]<<16>>16)|0)|0;r=r+((a[l>>1]<<16>>16)*(a[q>>1]<<16>>16)|0)|0;d=a[l>>1]<<16>>16;t=m;m=t+2|0;s=s+(d*(a[t>>1]<<16>>16)|0)|0;d=l; l=d+2|0;v=v+((a[d>>1]<<16>>16)*(a[m>>1]<<16>>16)|0)|0;d=5;break;case 5:n=n-1&65535;d=3;break;case 6:d=o<<1;t=j;j=t+4|0;h[t>>2]=d;d=r<<1;t=j;j=t+4|0;h[t>>2]=d;d=s<<1;t=j;j=t+4|0;h[t>>2]=d;d=v<<1;t=j;j=t+4|0;h[t>>2]=d;d=7;break;case 7:f=f-1&65535;d=1;break;case 8:return;default:x(0,"bad label: "+d)}}function Af(R,k,e,c,b,d,i,g,f){var j=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>16|0)<(o<<16>>16|0)?2:4;break;case 2:n=a[(l+(z<<16>>16<<1)|0)>>1];C=a[(q+(z<<16>>16<<1)|0)>>1];u=u+((n<<16>>16)*(n<<16>>16)|0)|0;w=w+((C<<16>>16)*(C<<16>>16)|0)|0;y=y+((C<<16>>16)*(a[(m+(z<<16>>16<<1)|0)>>1]<<16>>16)|0)|0;a:{for(var K=p,J=t,G=void 0,G=0;;)switch(G){case 0:var U,fa;U=C;G=K;fa=J;U=(U<<16>>16)*(G<<16>>16)|0;G=(U|0)!=1073741824?1:2;break;case 1:U<<=1;G=3;break;case 2:h[fa>>2]=1;U=2147483647;G=3;break;case 3:C=U;break a;default:x(0, "bad label: "+G)}C=void 0}C=Ia(C,1,t);C=la(C,t);C=ha(n,C,t);A=Ib(A,C,C,t);n=3;break;case 3:z=z+1&65535;n=1;break;case 4:u<<=1;w<<=1;y<<=1;n=(u&-2147483648|0)!=0?5:6;break;case 5:u=2147483647;h[t>>2]=1;n=6;break;case 6:n=(u|0)<400?7:8;break;case 7:a[(r|0)>>1]=0;a[(s|0)>>1]=-15;n=9;break;case 8:D=oa(u);n=Ia(u,D,t)>>16&65535;a[(r|0)>>1]=n;a[(s|0)>>1]=(15-(D<<16>>16)|0)&65535;n=9;break;case 9:n=(w&-2147483648|0)!=0?10:11;break;case 10:w=2147483647;h[t>>2]=1;n=11;break;case 11:D=oa(w);E=Ia(w,D,t)>>16& 65535;a[(r+2|0)>>1]=E;a[(s+2|0)>>1]=(15-(D<<16>>16)|0)&65535;D=oa(y);E=Ia(y,D,t)>>16&65535;a[(r+4|0)>>1]=E;a[(s+4|0)>>1]=(2-(D<<16>>16)|0)&65535;D=oa(A);E=Ia(A,D,t)>>16&65535;D=(15-(D<<16>>16)|0)&65535;a[(r+6|0)>>1]=E;a[(s+6|0)>>1]=D;n=(E<<16>>16|0)>0?12:14;break;case 12:n=(a[(r|0)>>1]<<16>>16|0)!=0?13:14;break;case 13:n=ra(a[(r|0)>>1],1,t);n=xa(n,E);D=ha(D,a[(s|0)>>1],t);C=n<<16>>16<<16;a:{n=C;C=((D<<16>>16)+3|0)&65535;K=void 0;for(K=0;;)switch(K){case 0:var ja,pa,H;ja=n;pa=C;H=0;K=(pa<<16>>16|0)> 0?1:4;break;case 1:K=(pa<<16>>16|0)<31?2:3;break;case 2:H=ja>>(pa<<16>>16|0);K=3;break;case 3:K=7;break;case 4:pa=(-(pa<<16>>16)|0)&65535;H=ja<<(pa<<16>>16);K=(H>>(pa<<16>>16|0)|0)!=(ja|0)?5:6;break;case 5:H=ja>>31^2147483647;K=6;break;case 6:K=7;break;case 7:C=H;break a;default:x(0,"bad label: "+K)}C=void 0}Za(C,F,I,t);C=Bf((((a[F>>1]<<16>>16)-27|0)&65535)<<16>>16<<16,a[I>>1],1,t);n=Ia(C,13,t);n=la(n,t);a[v>>1]=n;n=15;break;case 14:a[v>>1]=0;n=15;break;case 15:B=j;return;default:x(0,"bad label: "+ n)}}function Cf(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e<<16>>16|0)==-32768?1:2;break;case 1:var c=32767;k=3;break;case 2:c=-(e<<16>>16)|0;k=3;break;case 3:return c&65535;default:x(0,"bad label: "+k)}}function ed(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16| 0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function fd(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function ic(h,k,e,c,b,d,i,g,f,j,n){var l=B;B+=80;x(B%4==0,"Stack is unaligned");x(B>1]=a[(q|0)>>1];a[(t|0)>>1]=a[(q+2|0)>>1];var K=Cf(a[(q+4|0)>>1]);a[(v+2|0)>>1]=K;a[(t+2|0)>>1]=((a[(q+6|0)>>1]<<16>>16)+1|0)&65535;q=(m|0)==5?2:1;break;case 1:q=(m|0)==0?2:3;break;case 2:z=C=A=0;q=4;break;case 3:z=C=A=1;q=4;break;case 4:D=0;q=5;break;case 5:q=(D<<16>>16|0)<40?6:8;break;case 6:q=a[(s+(D<<16>>16<<1)|0)>>1]<<16>>16>>3&65535;a[(I+(D<<16>>16<<1)|0)>>1]=q;A=Ib(A,q,q,y);C=Ib(C,a[(p+(D<<16>>16<<1)|0)>> 1],q,y);z=Ib(z,a[(r+(D<<16>>16<<1)|0)>>1],q,y);q=7;break;case 7:D=D+1&65535;q=5;break;case 8:E=oa(A);q=Ia(A,E,y)>>16&65535;a[(v+4|0)>>1]=q;a[(t+4|0)>>1]=(-3-(E<<16>>16)|0)&65535;E=oa(C);q=Ia(C,E,y)>>16&65535;q=Cf(q);a[(v+6|0)>>1]=q;a[(t+6|0)>>1]=(7-(E<<16>>16)|0)&65535;E=oa(z);q=Ia(z,E,y)>>16&65535;a[(v+8|0)>>1]=q;a[(t+8|0)>>1]=(7-(E<<16>>16)|0)&65535;q=(m|0)==5?10:9;break;case 9:q=(m|0)==0?10:18;break;case 10:D=A=0;q=11;break;case 11:q=(D<<16>>16|0)<40?12:14;break;case 12:A=A+((a[(o+(D<<16>>16<< 1)|0)>>1]<<16>>16)*(a[(I+(D<<16>>16<<1)|0)>>1]<<16>>16)|0)|0;q=13;break;case 13:D=D+1&65535;q=11;break;case 14:A<<=1;E=oa(A);F=Ia(A,E,y)>>16&65535;E=(6-(E<<16>>16)|0)&65535;q=(F<<16>>16|0)<=0?15:16;break;case 15:a[u>>1]=0;a[w>>1]=0;q=17;break;case 16:q=ra(F,1,y);q=xa(q,a[(v+4|0)>>1]);a[u>>1]=q;a[w>>1]=(((E<<16>>16)-(a[(t+4|0)>>1]<<16>>16)|0)-14|0)&65535;q=17;break;case 17:q=18;break;case 18:B=l;return;default:x(0,"bad label: "+q)}}function gd(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f, j,n;d=R;i=k;g=e;f=c;n=j=0;b=1;break;case 1:b=(n<<16>>16|0)<40?2:4;break;case 2:j=j+((a[(d+(n<<16>>16<<1)|0)>>1]<<16>>16)*(a[(d+(n<<16>>16<<1)|0)>>1]<<16>>16)|0)|0;b=3;break;case 3:n=n+1&65535;b=1;break;case 4:b=(j|0)<0?5:6;break;case 5:h[f>>2]=1;j=2147483647;b=6;break;case 6:R=oa(j);f=Ia(j,R,f)>>16&65535;a[g>>1]=f;a[i>>1]=(16-(R<<16>>16)|0)&65535;return;default:x(0,"bad label: "+b)}}function Df(R,k,e,c,b,d,i,g,f,j,n,l,q){var m=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2],E);var J=A,G=h[J>>2];h[J>>2]=G+2|0;a[G>>1]=p;p=a[F>>1];J=A;G=h[J>>2];h[J>>2]=G+2|0;a[G>>1]=p;p=33;break;case 3:p=(C|0)==2?4:5;break;case 4:p=af(o,r,s,v,w,y,F,E);J=A;G=h[J>>2];h[J>>2]=G+2|0;a[G>>1]=p;p=a[F>>1];J=A;G=h[J>>2];h[J>>2]=G+2|0;a[G>>1]=p;p=32;break;case 5:p=(C|0)==3?6:7;break;case 6:p= of(o,r,s,v,w,y,F,E);J=A;G=h[J>>2];h[J>>2]=G+2|0;a[G>>1]=p;p=a[F>>1];J=A;G=h[J>>2];h[J>>2]=G+2|0;a[G>>1]=p;p=31;break;case 7:p=(C|0)==4?9:8;break;case 8:p=(C|0)==5?9:10;break;case 9:p=tf(o,r,s,v,w,y,F,h[(D+36|0)>>2],E);J=A;G=h[J>>2];h[J>>2]=G+2|0;a[G>>1]=p;p=a[F>>1];J=A;G=h[J>>2];h[J>>2]=G+2|0;a[G>>1]=p;p=30;break;case 10:p=(C|0)==6?11:20;break;case 11:K=ed(v,1,E);I=s;p=12;break;case 12:p=(I<<16>>16|0)<40?13:15;break;case 13:p=fd(a[(r+(((I<<16>>16)-(s<<16>>16)|0)<<1)|0)>>1],K,E);p=$(a[(r+(I<<16>>16<< 1)|0)>>1],p,E);a[(r+(I<<16>>16<<1)|0)>>1]=p;p=14;break;case 14:I=I+1&65535;p=12;break;case 15:wf(o,u,r,w,y,h[A>>2],E);I=A;h[I>>2]=h[I>>2]+14|0;I=s;p=16;break;case 16:p=(I<<16>>16|0)<40?17:19;break;case 17:p=fd(a[(w+(((I<<16>>16)-(s<<16>>16)|0)<<1)|0)>>1],K,E);p=$(a[(w+(I<<16>>16<<1)|0)>>1],p,E);a[(w+(I<<16>>16<<1)|0)>>1]=p;p=18;break;case 18:I=I+1&65535;p=16;break;case 19:p=29;break;case 20:K=ed(t,1,E);I=s;p=21;break;case 21:p=(I<<16>>16|0)<40?22:24;break;case 22:p=((a[(r+(((I<<16>>16)-(s<<16>>16)| 0)<<1)|0)>>1]<<16>>16)*(K<<16>>16)|0)>>15&65535;p=$(a[(r+(I<<16>>16<<1)|0)>>1],p,E);a[(r+(I<<16>>16<<1)|0)>>1]=p;p=23;break;case 23:I=I+1&65535;p=21;break;case 24:Ye(o,u,r,w,y,h[A>>2],h[(D+36|0)>>2],E);I=A;h[I>>2]=h[I>>2]+20|0;I=s;p=25;break;case 25:p=(I<<16>>16|0)<40?26:28;break;case 26:p=fd(a[(w+(((I<<16>>16)-(s<<16>>16)|0)<<1)|0)>>1],K,E);p=$(a[(w+(I<<16>>16<<1)|0)>>1],p,E);a[(w+(I<<16>>16<<1)|0)>>1]=p;p=27;break;case 27:I=I+1&65535;p=25;break;case 28:p=29;break;case 29:p=30;break;case 30:p=31; break;case 31:p=32;break;case 32:p=33;break;case 33:B=m;return;default:x(0,"bad label: "+p)}}function Ef(h){var k;for(k=0;;)switch(k){case 0:var e,c;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:k=c|0;for(e=k+14;k>1]=0;e=a[(c+16|0)>>1]=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function Jb(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>> 16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function jc(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>>2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0,"bad label: "+c)}}function kc(a, k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function Ff(R,k,e,c,b,d,i,g,f,j,n,l){var q=B;B+=20;x(B%4==0,"Stack is unaligned");x(B>16|0)<6?2:4;break;case 2:a[((p|0)+(D<<16>>16<<1)|0)>>1]=a[((p|0)+(((D<<16>>16)+1|0)<<1)|0)>>1];m=3;break;case 3:D=D+1&65535;m=1;break;case 4:a[((p|0)+12|0)>>1]=r;D=F=0;m=5;break;case 5:m=(D<<16>>16|0)<10?6:11;break;case 6:fa=ha(a[(v+(D<<16>>16<<1)|0)>>1],a[(s+(D<<16>>16<<1)|0)>>1],z);pa=void 0;pa=((fa<<16>>16)-((fa<<16>>16|0)<0&1)|0)& 65535;fa=pa=(pa<<16>>16^pa<<16>>16>>15)&65535;pa=((db(fa)<<16>>16)-1|0)&65535;fa=Jb(fa,pa,z);m=db(a[(v+(D<<16>>16<<1)|0)>>1]);ja=Jb(a[(v+(D<<16>>16<<1)|0)>>1],m,z);ja=xa(fa,ja);a[(U+(D<<16>>16<<1)|0)>>1]=ja;pa=(((pa<<16>>16)+2|0)-(m<<16>>16)|0)&65535;m=(pa<<16>>16|0)>=0?7:8;break;case 7:m=ra(a[((U|0)+(D<<16>>16<<1)|0)>>1],pa,z);a[((U|0)+(D<<16>>16<<1)|0)>>1]=m;m=9;break;case 8:m=a[((U|0)+(D<<16>>16<<1)|0)>>1];a:{ja=pa;for(var H=void 0,H=0;;)switch(H){case 0:var Z;Z=ja;H=(Z<<16>>16|0)==-32768?1:2; break;case 1:var ka=32767,H=3;break;case 2:ka=-(Z<<16>>16)|0;H=3;break;case 3:ja=ka&65535;break a;default:x(0,"bad label: "+H)}ja=void 0}m=Jb(m,ja,z);a[((U|0)+(D<<16>>16<<1)|0)>>1]=m;m=9;break;case 9:F=$(F,a[((U|0)+(D<<16>>16<<1)|0)>>1],z);m=10;break;case 10:D=D+1&65535;m=5;break;case 11:m=(F<<16>>16|0)>5325?12:13;break;case 12:m=p+14|0;a[m>>1]=((a[m>>1]<<16>>16)+1|0)&65535;m=14;break;case 13:a[(p+14|0)>>1]=0;m=14;break;case 14:m=(a[(p+14|0)>>1]<<16>>16|0)>10?15:16;break;case 15:a[(p+16|0)>>1]=0; m=16;break;case 16:K=8192;m=o>>>0<=3?18:17;break;case 17:m=(o|0)==6?18:54;break;case 18:m=(w<<16>>16|0)!=0?19:20;break;case 19:m=(y<<16>>16|0)!=0?22:20;break;case 20:m=(t<<16>>16|0)!=0?22:21;break;case 21:m=(u<<16>>16|0)!=0?22:28;break;case 22:m=(C<<16>>16|0)>1?23:28;break;case 23:m=(A<<16>>16|0)!=0?24:28;break;case 24:m=(o|0)==0?27:25;break;case 25:m=(o|0)==1?27:26;break;case 26:m=(o|0)==2?27:28;break;case 27:I=((F<<16>>16)-4506|0)&65535;m=29;break;case 28:I=((F<<16>>16)-3277|0)&65535;m=29;break; case 29:m=(I<<16>>16|0)>0?30:31;break;case 30:fa=I;m=32;break;case 31:fa=0;m=32;break;case 32:m=2048<(fa<<16>>16|0)?33:34;break;case 33:K=8192;m=35;break;case 34:K=Jb(fa,2,z);m=35;break;case 35:m=(a[(p+16|0)>>1]<<16>>16|0)<40?37:36;break;case 36:m=(F<<16>>16|0)>5325?37:38;break;case 37:K=8192;m=38;break;case 38:G=jc(6554,a[((p|0)+4|0)>>1],z);D=3;m=39;break;case 39:m=(D<<16>>16|0)<7?40:42;break;case 40:G=kc(G,6554,a[((p|0)+(D<<16>>16<<1)|0)>>1],z);m=41;break;case 41:D=D+1&65535;m=39;break;case 42:J= la(G,z);m=(t<<16>>16|0)!=0?44:43;break;case 43:m=(u<<16>>16|0)!=0?44:53;break;case 44:m=(A<<16>>16|0)!=0?45:53;break;case 45:m=(o|0)==0?48:46;break;case 46:m=(o|0)==1?48:47;break;case 47:m=(o|0)==2?48:53;break;case 48:G=jc(4681,a[(p|0)>>1],z);D=1;m=49;break;case 49:m=(D<<16>>16|0)<7?50:52;break;case 50:G=kc(G,4681,a[((p|0)+(D<<16>>16<<1)|0)>>1],z);m=51;break;case 51:D=D+1&65535;m=49;break;case 52:J=la(G,z);m=53;break;case 53:G=jc(K,E,z);G=kc(G,8192,J,z);m=z;E=void 0;E=jc(K,J,m);a:{ja=void 0;for(ja= 0;;)switch(ja){case 0:var Q,T,X;Q=G;ja=E;T=m;X=Q-ja|0;ja=((Q^ja)>>31|0)!=0?1:4;break;case 1:ja=((X^Q)&-2147483648|0)!=0?2:3;break;case 2:X=(Q>>31|0)!=0?-2147483648:2147483647;h[T>>2]=1;ja=3;break;case 3:ja=4;break;case 4:E=X;break a;default:x(0,"bad label: "+ja)}E=void 0}G=E;a:{E=G;m=void 0;for(m=0;;)switch(m){case 0:var N,L,Aa;N=E;L=2;Aa=0;m=(L<<16>>16|0)>0?1:4;break;case 1:Aa=N<<(L<<16>>16);m=(Aa>>(L<<16>>16|0)|0)!=(N|0)?2:3;break;case 2:Aa=N>>31^2147483647;m=3;break;case 3:m=7;break;case 4:L=(-(L<< 16>>16)|0)&65535;m=(L<<16>>16|0)<31?5:6;break;case 5:Aa=N>>(L<<16>>16|0);m=6;break;case 6:m=7;break;case 7:E=Aa;break a;default:x(0,"bad label: "+m)}E=void 0}E=la(E,z);m=54;break;case 54:return R=p+16|0,a[R>>1]=((a[R>>1]<<16>>16)+1|0)&65535,R=E,B=q,R;default:x(0,"bad label: "+m)}}function Gf(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e|0)==0?2:1;break;case 1:k=(h[e>>2]|0)==0?2:3;break;case 2:k=4;break;case 3:a:{k=h[e>>2]|0;for(var c=void 0,c=0;;)switch(c){case 0:var b;b=k;c=(b|0)==0?2:1;break; case 1:c=(h[b>>2]|0)==0?2:3;break;case 2:c=4;break;case 3:wa(h[b>>2]);h[b>>2]=0;c=4;break;case 4:break a;default:x(0,"bad label: "+c)}}wa(h[e>>2]);h[e>>2]=0;k=4;break;case 4:return;default:x(0,"bad label: "+k)}}function hd(a){var k;for(k=0;;)switch(k){case 0:var e,c;c=a;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:Hf(h[(c|0)>>2]);e=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function If(R,k,e,c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t){var u=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>2],C,D,F,K,E,40,z,fa,N,X,Q);a[U>>1]=y;X=a[X>>1];y=H;z=h[y>>2];h[y>>2]=z+2|0;a[z>>1]=X;qb(F,a[U>>1],a[fa>>1],40,a[N>>1],Q);Kb(F,E,G,40);E=Kf(C,K,G,pa,40,Q);a[ja>>1]=E;E=0;a[Z>>1]=32767;w=(w<<16>>16|0)!=0?1:3;break;case 1:w=(a[ja>>1]<<16>>16|0)>15565?2:3;break;case 2:a:{w=A;E=a[ja>> 1];U=Q;fa=void 0;for(fa=0;;)switch(fa){case 0:var aa,da,M,S,O;da=w;M=E;S=U;O=ra(M,3,S);M=0;fa=1;break;case 1:fa=(M<<16>>16|0)<7?2:4;break;case 2:O=$(O,a[((da+2|0)+(M<<16>>16<<1)|0)>>1],S);fa=3;break;case 3:M=M+1&65535;fa=1;break;case 4:fa=(O<<16>>16|0)>15565?5:6;break;case 5:aa=1;fa=7;break;case 6:aa=0;fa=7;break;case 7:E=aa;break a;default:x(0,"bad label: "+fa)}E=void 0}w=3;break;case 3:w=(C|0)==0?5:4;break;case 4:w=(C|0)==1?5:11;break;case 5:w=(a[ja>>1]<<16>>16|0)>13926?6:7;break;case 6:var Y=13926; w=8;break;case 7:Y=a[ja>>1]<<16>>16;w=8;break;case 8:a[ja>>1]=Y&65535;w=(E<<16>>16|0)!=0?9:10;break;case 9:a[Z>>1]=15565;w=10;break;case 10:w=16;break;case 11:w=(E<<16>>16|0)!=0?12:13;break;case 12:a[Z>>1]=15565;a[ja>>1]=15565;w=13;break;case 13:w=(C|0)==7?14:15;break;case 14:w=id(7,a[Z>>1],ja,0,0,ka,Q);U=H;fa=h[U>>2];h[U>>2]=fa+2|0;a[fa>>1]=w;w=15;break;case 15:w=16;break;case 16:Aa=F|0;Ja=K|0;ca=J|0;P=G|0;L=a[ja>>1];T=0;w=17;break;case 17:w=(T<<16>>16|0)<40?18:20;break;case 18:w=P;P=w+2|0;w=((a[w>> 1]<<16>>16)*(L<<16>>16)|0)>>14;U=Ja;Ja=U+2|0;w=((a[U>>1]<<16>>16)-((w&65535)<<16>>16)|0)&65535;U=ca;ca=U+2|0;a[U>>1]=w;w=Aa;Aa=w+2|0;w=((a[w>>1]<<16>>16)*(L<<16>>16)|0)>>14;U=I+(T<<16>>16<<1)|0;a[U>>1]=((a[U>>1]<<16>>16)-((w&65535)<<16>>16)|0)&65535;w=19;break;case 19:T=T+1&65535;w=17;break;case 20:B=u;return;default:x(0,"bad label: "+w)}}function Lf(a,k){var e=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=0;c=va(2532);h[g>>2]=c;c=(c|0)==0?3:4;break;case 3:b=-1;c=14;break;case 4:jd(h[g>>2]+2392|0);h[(h[g>>2]+2188|0)>>2]=0;h[(h[g>>2]+2192|0)>>2]=0;h[(h[g>>2]+2196|0)>>2]=0;h[(h[g>>2]+2200|0)>>2]=0;h[(h[g>>2]+2204|0)>>2]=0;h[(h[g>>2]+2208|0)>>2]=0;h[(h[g>>2]+2212|0)>>2]=0;h[(h[g>>2]+2220|0)>>2]=0;h[(h[g>>2]+2216|0)>>2]=i;h[(h[g>>2]+2528|0)>>2]=0;a:{var f=h[g>>2]+2196|0;c=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=0;j=va(4);h[q>>2]=j;j=(j|0)==0?3:4;break;case 3:n=-1;j=7;break;case 4:b:{for(var j=h[q>>2]|0,m=void 0,m=0;;)switch(m){case 0:var p,o,r;o=j;m=(o|0)==0?1:2;break;case 1:p=-1;m=5;break;case 2:h[o>>2]=0;r=m=va(2);m=(m|0)==0?3:4;break;case 3:p=-1;m=5;break;case 4:Hf(r);h[o>>2]=r;p=0;m=5;break;case 5:j=p;break b;default:x(0,"bad label: "+m)}j=void 0}j=j<<16>>16!=0?5:6;break;case 5:Gf(q);n=-1;j=7;break;case 6:hd(h[q>>2]);h[l>>2]=h[q>>2]; n=0;j=7;break;case 7:f=n;B=c;c=f;break a;default:x(0,"bad label: "+j)}c=void 0}c=(c<<16>>16|0)!=0?12:5;break;case 5:a:{c=h[g>>2]+2192|0;f=void 0;for(f=0;;)switch(f){case 0:var s,v,t;v=c;f=(v|0)==0?1:2;break;case 1:s=-1;f=9;break;case 2:h[v>>2]=0;t=f=va(44);f=(f|0)==0?3:4;break;case 3:s=-1;f=9;break;case 4:b:{f=t+40|0;j=void 0;for(j=0;;)switch(j){case 0:var u,w,y;w=f;j=(w|0)==0?1:2;break;case 1:u=-1;j=5;break;case 2:h[w>>2]=0;y=j=va(20);j=(j|0)==0?3:4;break;case 3:u=-1;j=5;break;case 4:Mf(y);h[w>> 2]=y;u=0;j=5;break;case 5:f=u;break b;default:x(0,"bad label: "+j)}f=void 0}f=0!=(f<<16>>16|0)?5:6;break;case 5:s=-1;f=9;break;case 6:f=0!=(kd(t)<<16>>16|0)?7:8;break;case 7:s=-1;f=9;break;case 8:h[v>>2]=t;s=0;f=9;break;case 9:c=s;break a;default:x(0,"bad label: "+f)}c=void 0}c=(c<<16>>16|0)!=0?12:6;break;case 6:c=(Nf(h[g>>2]+2200|0)<<16>>16|0)!=0?12:7;break;case 7:a:{c=h[g>>2]+2204|0;f=void 0;for(f=0;;)switch(f){case 0:var A,C,z;C=c;f=(C|0)==0?1:2;break;case 1:A=-1;f=5;break;case 2:h[C>>2]=0;z=f= va(6);f=(f|0)==0?3:4;break;case 3:A=-1;f=5;break;case 4:Of(z);h[C>>2]=z;A=0;f=5;break;case 5:c=A;break a;default:x(0,"bad label: "+f)}c=void 0}c=(c<<16>>16|0)!=0?12:8;break;case 8:a:{c=h[g>>2]+2208|0;f=void 0;for(f=0;;)switch(f){case 0:var D,E,F;E=c;f=(E|0)==0?1:2;break;case 1:D=-1;f=5;break;case 2:h[E>>2]=0;F=f=va(16);f=(f|0)==0?3:4;break;case 3:D=-1;f=5;break;case 4:Pf(F);h[E>>2]=F;D=0;f=5;break;case 5:c=D;break a;default:x(0,"bad label: "+f)}c=void 0}c=(c<<16>>16|0)!=0?12:9;break;case 9:a:{c=h[g>> 2]+2212|0;f=void 0;for(f=0;;)switch(f){case 0:var I,K,J;K=c;f=(K|0)==0?1:2;break;case 1:I=-1;f=5;break;case 2:h[K>>2]=0;J=f=va(128);f=(f|0)==0?3:4;break;case 3:I=-1;f=5;break;case 4:ld(J);h[K>>2]=J;I=0;f=5;break;case 5:c=I;break a;default:x(0,"bad label: "+f)}c=void 0}c=(c<<16>>16|0)!=0?12:10;break;case 10:a:{c=h[g>>2]+2220|0;f=h[((h[g>>2]+2392|0)+40|0)>>2];j=void 0;for(j=0;;)switch(j){case 0:var G,U,fa,ja;U=c;fa=f;j=(U|0)==0?1:2;break;case 1:G=-1;j=5;break;case 2:h[U>>2]=0;ja=j=va(192);j=(j|0)== 0?3:4;break;case 3:G=-1;j=5;break;case 4:md(ja,fa);h[U>>2]=ja;G=0;j=5;break;case 5:c=G;break a;default:x(0,"bad label: "+j)}c=void 0}c=(c<<16>>16|0)!=0?12:11;break;case 11:a:{f=h[g>>2]+2188|0;c=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=0;j=va(4);h[Z>>2]=j;j=(j|0)==0?3:4;break;case 3:H=-1;j=7;break;case 4:h[(h[Z>>2]|0)>>2]=0;b:{j=h[Z>>2]|0;m=void 0;for(m=0;;)switch(m){case 0:var ka, Q,T;Q=j;m=(Q|0)==0?1:2;break;case 1:ka=-1;m=5;break;case 2:h[Q>>2]=0;T=m=va(22);m=(m|0)==0?3:4;break;case 3:ka=-1;m=5;break;case 4:Qf(T);h[Q>>2]=T;ka=0;m=5;break;case 5:j=ka;break b;default:x(0,"bad label: "+m)}j=void 0}j=j<<16>>16!=0?5:6;break;case 5:Rf(Z);H=-1;j=7;break;case 6:Sf(h[Z>>2]);h[N>>2]=h[Z>>2];H=0;j=7;break;case 7:f=H;B=c;c=f;break a;default:x(0,"bad label: "+j)}c=void 0}c=(c<<16>>16|0)!=0?12:13;break;case 12:nd(g);b=-1;c=14;break;case 13:od(h[g>>2]);h[d>>2]=h[g>>2];b=0;c=14;break;case 14:return B= e,b;default:x(0,"bad label: "+c)}}function nd(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e|0)==0?2:1;break;case 1:k=(h[e>>2]|0)==0?2:3;break;case 2:k=4;break;case 3:Rf(h[e>>2]+2188|0);a:{k=h[e>>2]+2192|0;for(var c=void 0,c=0;;)switch(c){case 0:var b;b=k;c=(b|0)==0?2:1;break;case 1:c=(h[b>>2]|0)==0?2:3;break;case 2:c=4;break;case 3:b:for(var c=h[b>>2]+40|0,d=void 0,d=0;;)switch(d){case 0:var i;i=c;d=(i|0)==0?2:1;break;case 1:d=(h[i>>2]|0)==0?2:3;break;case 2:d=4;break;case 3:wa(h[i>>2]);h[i>> 2]=0;d=4;break;case 4:break b;default:x(0,"bad label: "+d)}wa(h[b>>2]);h[b>>2]=0;c=4;break;case 4:break a;default:x(0,"bad label: "+c)}}Tf(h[e>>2]+2200|0);Gf(h[e>>2]+2196|0);a:{k=h[e>>2]+2204|0;c=void 0;for(c=0;;)switch(c){case 0:var g;g=k;c=(g|0)==0?2:1;break;case 1:c=(h[g>>2]|0)==0?2:3;break;case 2:c=4;break;case 3:wa(h[g>>2]);h[g>>2]=0;c=4;break;case 4:break a;default:x(0,"bad label: "+c)}}a:{k=h[e>>2]+2208|0;c=void 0;for(c=0;;)switch(c){case 0:var f;f=k;c=(f|0)==0?2:1;break;case 1:c=(h[f>>2]| 0)==0?2:3;break;case 2:c=4;break;case 3:wa(h[f>>2]);h[f>>2]=0;c=4;break;case 4:break a;default:x(0,"bad label: "+c)}}a:{k=h[e>>2]+2212|0;c=void 0;for(c=0;;)switch(c){case 0:var j;j=k;c=(j|0)==0?2:1;break;case 1:c=(h[j>>2]|0)==0?2:3;break;case 2:c=4;break;case 3:wa(h[j>>2]);h[j>>2]=0;c=4;break;case 4:break a;default:x(0,"bad label: "+c)}}a:{k=h[e>>2]+2220|0;c=void 0;for(c=0;;)switch(c){case 0:var n;n=k;c=(n|0)==0?2:1;break;case 1:c=(h[n>>2]|0)==0?2:3;break;case 2:c=4;break;case 3:wa(h[n>>2]);h[n>> 2]=0;c=4;break;case 4:break a;default:x(0,"bad label: "+c)}}wa(h[e>>2]);h[e>>2]=0;k=4;break;case 4:return;default:x(0,"bad label: "+k)}}function od(R){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=R;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:h[(c+652|0)>>2]=((c|0)+640|0)-320|0;h[(c+640|0)>>2]=h[(c+652|0)>>2]-80|0;h[(c+644|0)>>2]=((c|0)+640|0)-480|0;h[(c+648|0)>>2]=h[(c+644|0)>>2]-80|0;h[(c+1264|0)>>2]=(c+656|0)+286|0;h[(c+1912|0)>>2]=((c+1282|0)+286|0)+22|0;h[(c+2020|0)>>2]=(c+1916|0)+22|0; h[(c+2384|0)>>2]=(c+2284|0)+20|0;h[(c+2024|0)>>2]=(c+2028|0)+80|0;h[(c+2528|0)>>2]=0;ta(c|0,0,640,1);ta(c+1282|0,0,308,1);ta(c+656|0,0,286,1);ta(c+2224|0,0,20,1);ta(c+2264|0,0,20,1);ta(c+2244|0,0,20,1);ta(c+2284|0,0,20,1);ta(h[(c+2020|0)>>2],0,80,1);ta(c+2028|0,0,80,1);b=0;k=3;break;case 3:k=(b<<16>>16|0)<5?4:6;break;case 4:a[((c+1268|0)+(b<<16>>16<<1)|0)>>1]=40;k=5;break;case 5:b=b+1&65535;k=3;break;case 6:Sf(h[(c+2188|0)>>2]);kd(h[(c+2192|0)>>2]);hd(h[(c+2196|0)>>2]);Uf(h[(c+2200|0)>>2]);Of(h[(c+ 2204|0)>>2]);Pf(h[(c+2208|0)>>2]);ld(h[(c+2212|0)>>2]);md(h[(c+2220|0)>>2],h[((c+2392|0)+40|0)>>2]);e=a[(c+2388|0)>>1]=0;k=7;break;case 7:return e;default:x(0,"bad label: "+k)}}function Vf(R,k,e,c,b,d){var i=B;B+=1188;x(B%4==0,"Stack is unaligned");x(B>2]=c;q=b;m=d;M=Z=N=H=0;S=f+2528|0;g=h[(f+652|0)>>2];x(true,"memcpy given 320 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,n,320,1);h[q>>2]=j;g=(h[(f+2216|0)>>2]|0)!=0?1:2;break;case 1:da=Wf(h[(f+2212|0)>>2],h[(f+652|0)>>2],S);da=Xf(h[(f+2220|0)>>2],da,q,S);g=3;break;case 2:da=0;g=3;break;case 3:Yf(h[(f+2188|0)>>2],j,h[(f+644|0)>>2],h[(f+648|0)>>2],p|0,f+2392|0,S);Zf(h[(f+2192|0)>>2], j,h[q>>2],p|0,o|0,v|0,l,S);$f(h[(f+2220|0)>>2],v|0,h[(f+652|0)>>2],S);g=(h[q>>2]|0)==8?4:5;break;case 4:ag(h[(f+2220|0)>>2],da,h[(h[(f+2192|0)>>2]+40|0)>>2],h[(f+2200|0)>>2]+32|0,l,S);ta(f+1282|0,0,308,1);ta(f+2244|0,0,20,1);ta(f+2284|0,0,20,1);ta(h[(f+2020|0)>>2],0,80,1);ta(f+2028|0,0,80,1);kd(h[(f+2192|0)>>2]);g=h[(f+2192|0)>>2]|0;n=v|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,n,20,1);g=h[(f+2192|0)>>2]+20|0;n=v|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?"); na(g,n,20,1);hd(h[(f+2196|0)>>2]);a[(f+2388|0)>>1]=0;g=6;break;case 5:M=bg(h[(f+2208|0)>>2],h[(f+2192|0)>>2]|0,S);g=6;break;case 6:T=X=0;g=7;break;case 7:g=(X<<16>>16|0)<2?8:13;break;case 8:cg(j,Lb|0,Mb|0,Nb|0,p|0,T,h[(f+640|0)>>2],f+2264|0,h[(f+1264|0)>>2],S);g=(j|0)!=0?9:11;break;case 9:g=(j|0)!=1?10:11;break;case 10:pd(h[(f+2204|0)>>2],h[(f+2212|0)>>2],j,h[(f+1264|0)>>2]+(T<<16>>16<<1)|0,L+(X<<16>>16<<1)|0,f+1268|0,f+1278|0,X,h[(f+2216|0)>>2],S);g=11;break;case 11:g=12;break;case 12:X=X+1&65535; T=((T<<16>>16)+80|0)&65535;g=7;break;case 13:g=(j|0)==0?15:14;break;case 14:g=(j|0)==1?15:16;break;case 15:pd(h[(f+2204|0)>>2],h[(f+2212|0)>>2],j,h[(f+1264|0)>>2]|0,L|0,f+1268|0,f+1278|0,1,h[(f+2216|0)>>2],S);a[(L+2|0)>>1]=a[(L|0)>>1];g=16;break;case 16:g=(h[(f+2216|0)>>2]|0)!=0?17:18;break;case 17:dg(h[(f+2212|0)>>2],L|0,S);g=18;break;case 18:g=(h[q>>2]|0)==8?19:20;break;case 19:g=45;break;case 20:r=p|0;s=o|0;ja=0;X=-1;T=0;g=21;break;case 21:g=(T<<16>>16|0)<160?22:44;break;case 22:X=X+1&65535;ja= (1-(ja<<16>>16)|0)&65535;g=(ja<<16>>16|0)!=0?23:25;break;case 23:g=(h[q>>2]|0)==0?24:25;break;case 24:g=J|0;n=f+2224|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,n,20,1);g=G|0;n=f+2244|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,n,20,1);g=U|0;n=f+2284|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,n,20,1);a[fa>>1]=a[(f+2388|0)>>1];g=25;break;case 25:g=(h[q>>2]| 0)!=0?26:27;break;case 26:lc(h[q>>2],Lb|0,Mb|0,Nb|0,r,s,h[(f+640|0)>>2]+(T<<16>>16<<1)|0,f+2284|0,f+2244|0,h[(f+2020|0)>>2],f+1916|0,h[(f+1912|0)>>2]+(T<<16>>16<<1)|0,h[(f+2024|0)>>2],t|0,z|0,h[(f+2384|0)>>2]);g=30;break;case 27:lc(h[q>>2],Lb|0,Mb|0,Nb|0,r,s,h[(f+640|0)>>2]+(T<<16>>16<<1)|0,f+2284|0,G|0,h[(f+2020|0)>>2],f+1916|0,h[(f+1912|0)>>2]+(T<<16>>16<<1)|0,h[(f+2024|0)>>2],t|0,z|0,h[(f+2384|0)>>2]);g=(ja<<16>>16|0)!=0?28:29;break;case 28:g=K|0;n=h[(f+2024|0)>>2];x(true,"memcpy given 80 bytes to copy. Problem with quantum=1 corrections perhaps?"); na(g,n,80,1);g=29;break;case 29:g=30;break;case 30:g=D|0;n=z|0;x(true,"memcpy given 80 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,n,80,1);If(h[(f+2196|0)>>2],h[(f+2208|0)>>2],h[q>>2],T,L|0,h[(f+2024|0)>>2],h[(f+1912|0)>>2]+(T<<16>>16<<1)|0,D|0,t|0,M,u|0,y|0,P,Aa,Ja,C|0,l,aa,h[((f+2392|0)+72|0)>>2],S);g=(X<<16>>16|0)==0?31:33;break;case 31:g=(a[(f+1278|0)>>1]<<16>>16|0)>0?32:33;break;case 32:a[((f+1268|0)+2|0)>>1]=a[P>>1];g=33;break;case 33:g=(X<<16>>16|0)==3?34:36;break;case 34:g= (a[((f+1278|0)+2|0)>>1]<<16>>16|0)>0?35:36;break;case 35:a[(f+1268|0)>>1]=a[P>>1];g=36;break;case 36:Df(u|0,h[(f+2024|0)>>2],a[P>>1],a[(f+2388|0)>>1],a[Ja>>1],D|0,w|0,A|0,l,h[q>>2],X,f+2392|0,S);eg(h[(f+2200|0)>>2],h[q>>2],z|0,h[(f+1912|0)>>2]+(T<<16>>16<<1)|0,w|0,t|0,u|0,y|0,A|0,C|0,ja,a[aa>>1],ka,Q,Ja,ca,l,f+2392|0,S);a:{g=h[(f+2208|0)>>2];n=a[Ja>>1];for(var $=void 0,$=0;;)switch($){case 0:var O,Y,V;O=g;Y=n;V=0;$=1;break;case 1:$=(V|0)<6?2:4;break;case 2:a[((O+2|0)+(V<<1)|0)>>1]=a[((O+2|0)+((V+ 1|0)<<1)|0)>>1];$=3;break;case 3:V=V+1|0;$=1;break;case 4:a[((O+2|0)+12|0)>>1]=Y<<16>>16>>3&65535;break a;default:x(0,"bad label: "+$)}}g=(h[q>>2]|0)!=0?37:38;break;case 37:Ob(h[(f+640|0)>>2],h[q>>2],T,a[Ja>>1],a[ca>>1],s,m,t|0,w|0,y|0,A|0,f+2224|0,f+2284|0,f+2244|0,h[(f+1912|0)>>2],f+2388|0,S);g=42;break;case 38:g=(ja<<16>>16|0)!=0?39:40;break;case 39:Z=T;H=E|0;N=t|0;x(true,"memcpy given 80 bytes to copy. Problem with quantum=1 corrections perhaps?");na(H,N,80,1);H=F|0;N=A|0;x(true,"memcpy given 80 bytes to copy. Problem with quantum=1 corrections perhaps?"); na(H,N,80,1);H=I|0;N=w|0;x(true,"memcpy given 80 bytes to copy. Problem with quantum=1 corrections perhaps?");na(H,N,80,1);H=a[P>>1];N=a[Aa>>1];Ob(h[(f+640|0)>>2],h[q>>2],T,a[Ja>>1],a[ca>>1],s,m,t|0,w|0,y|0,A|0,J|0,f+2284|0,G|0,h[(f+1912|0)>>2],f+2388|0,S);a[(f+2388|0)>>1]=a[fa>>1];g=41;break;case 40:g=f+2284|0;n=U|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,n,20,1);qb(h[(f+1912|0)>>2]+(Z<<16>>16<<1)|0,H,N,40,1,S);Kb(h[(f+1912|0)>>2]+(Z<<16>>16<<1)| 0,K|0,y|0,40);s=s-22|0;Ob(h[(f+640|0)>>2],h[q>>2],Z,a[ka>>1],a[Q>>1],s,m,E|0,I|0,y|0,F|0,f+2224|0,f+2284|0,f+2244|0,h[(f+1912|0)>>2],fa,S);s=s+22|0;lc(h[q>>2],Lb|0,Mb|0,Nb|0,r,s,h[(f+640|0)>>2]+(T<<16>>16<<1)|0,f+2284|0,f+2244|0,h[(f+2020|0)>>2],f+1916|0,h[(f+1912|0)>>2]+(T<<16>>16<<1)|0,h[(f+2024|0)>>2],t|0,z|0,h[(f+2384|0)>>2]);qb(h[(f+1912|0)>>2]+(T<<16>>16<<1)|0,a[P>>1],a[Aa>>1],40,1,S);Kb(h[(f+1912|0)>>2]+(T<<16>>16<<1)|0,h[(f+2024|0)>>2],y|0,40);Ob(h[(f+640|0)>>2],h[q>>2],T,a[Ja>>1],a[ca>>1], s,m,t|0,w|0,y|0,A|0,f+2224|0,f+2284|0,f+2244|0,h[(f+1912|0)>>2],f+2388|0,S);g=41;break;case 41:g=42;break;case 42:r=r+22|0;s=s+22|0;g=43;break;case 43:T=((T<<16>>16)+40|0)&65535;g=21;break;case 44:g=f+1282|0;n=(f+1282|0)+320|0;x(true,"memcpy given 308 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,n,308,1);g=45;break;case 45:return R=f+656|0,k=(f+656|0)+320|0,x(true,"memcpy given 286 bytes to copy. Problem with quantum=1 corrections perhaps?"),na(R,k,286,1),R=f|0,f=(f|0)+320|0, x(true,"memcpy given 320 bytes to copy. Problem with quantum=1 corrections perhaps?"),na(R,f,320,1),B=i,0;default:x(0,"bad label: "+g)}}function Kb(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q;d=h;i=k;g=e;f=c;b=n=1;break;case 1:b=(n<<16>>16|0)<(f<<16>>16|0)?2:8;break;case 2:i=i+(n<<16>>16<<1)|0;q=a[d>>1]<<16>>16;j=i;i=j-2|0;q=q*(a[j>>1]<<16>>16)|0;j=d;d=j+2|0;l=(a[j>>1]<<16>>16)*(a[i>>1]<<16>>16)|0;j=((n<<16>>16)-1|0)>>1&65535;b=3;break;case 3:b=(j<<16>>16|0)!=0?4:6;break;case 4:b= a[d>>1]<<16>>16;var m=i;i=m-2|0;q=q+(b*(a[m>>1]<<16>>16)|0)|0;b=d;d=b+2|0;l=l+((a[b>>1]<<16>>16)*(a[i>>1]<<16>>16)|0)|0;b=a[d>>1]<<16>>16;m=i;i=m-2|0;q=q+(b*(a[m>>1]<<16>>16)|0)|0;b=d;d=b+2|0;l=l+((a[b>>1]<<16>>16)*(a[i>>1]<<16>>16)|0)|0;b=5;break;case 5:j=j-1&65535;b=3;break;case 6:q=q+((a[d>>1]<<16>>16)*(a[i>>1]<<16>>16)|0)|0;b=l>>12&65535;m=g;g=m+2|0;a[m>>1]=b;b=q>>12&65535;m=g;g=m+2|0;a[m>>1]=b;d=d+((-(n<<16>>16)|0)<<1)|0;b=7;break;case 7:n=((n<<16>>16)+2|0)&65535;b=1;break;case 8:return;default:x(0, "bad label: "+b)}}function eb(h,k,e,c){var b=B;B+=80;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:4;break;case 2:d=v;v=d+2|0;o=a[d>>1];m=m+((o<<16>>16)*(o<<16>>16)|0)|0;d=v;v=d+2|0;o=a[d>>1];m=m+((o<<16>>16)*(o<<16>>16)|0)|0;d=3;break;case 3:n=n-1&65535;d=1;break;case 4:m<<=1;d=(m&-2147483648|0)!=0?5:10;break;case 5:t=q|0;v=i;n=20;d=6;break; case 6:d=(n<<16>>16|0)!=0?7:9;break;case 7:d=v;v=d+2|0;d=a[d>>1]<<16>>16>>1&65535;o=t;t=o+2|0;a[o>>1]=d;d=v;v=d+2|0;d=a[d>>1]<<16>>16>>1&65535;o=t;t=o+2|0;a[o>>1]=d;d=8;break;case 8:n=n-1&65535;d=6;break;case 9:d=18;break;case 10:m>>=1;m=Xa(m,j);d=(m|0)<16777215?11:12;break;case 11:l=((m>>9)*32440|0)>>15&65535;d=13;break;case 12:l=32440;d=13;break;case 13:v=i;t=q|0;n=20;d=14;break;case 14:d=(n<<16>>16|0)!=0?15:17;break;case 15:d=v;v=d+2|0;d=(32+((a[d>>1]<<16>>16)*(l<<16>>16)|0)|0)>>6&65535;o=t;t= o+2|0;a[o>>1]=d;d=v;v=d+2|0;d=(32+((a[d>>1]<<16>>16)*(l<<16>>16)|0)|0)>>6&65535;o=t;t=o+2|0;a[o>>1]=d;d=16;break;case 16:n=n-1&65535;d=14;break;case 17:d=18;break;case 18:m=0;t=q|0;u=(f+3120|0)+78|0;n=20;d=19;break;case 19:d=(n<<16>>16|0)!=0?20:22;break;case 20:d=t;t=d+2|0;o=a[d>>1];m=m+((o<<16>>16)*(o<<16>>16)|0)|0;a[u>>1]=(m+16384|0)>>15&65535;u=u-82|0;d=t;t=d+2|0;o=a[d>>1];m=m+((o<<16>>16)*(o<<16>>16)|0)|0;a[u>>1]=(m+16384|0)>>15&65535;u=u-82|0;d=21;break;case 21:n=n-1&65535;d=19;break;case 22:A= f+3120|0;l=1;d=23;break;case 23:d=(l<<16>>16|0)<40?24:30;break;case 24:u=A+((39-(l<<16>>16)|0)<<1)|0;w=(f+(39-(l<<16>>16)|0)*80|0)+78|0;y=(f+(39-((l<<16>>16)+1|0)|0)*80|0)+78|0;p=m=0;C=g+78|0;z=g+((39-(l<<16>>16)|0)<<1)|0;t=q|0;v=q+(l<<16>>16<<1)|0;n=((40-(l<<16>>16)|0)-1|0)&65535;d=25;break;case 25:d=(n<<16>>16|0)!=0?26:28;break;case 26:d=a[t>>1]<<16>>16;o=v;v=o+2|0;m=m+(d*(a[o>>1]<<16>>16)|0)|0;d=t;t=d+2|0;p=p+((a[d>>1]<<16>>16)*(a[v>>1]<<16>>16)|0)|0;o=(m+16384|0)>>15&65535;d=(p+16384|0)>>15&65535; s=a[C>>1]<<16>>16;r=z;z=r-2|0;r=(s*(a[r>>1]<<16>>16)|0)>>15&65535;s=C;C=s-2|0;s=((a[s>>1]<<16>>16)*(a[z>>1]<<16>>16)|0)>>15&65535;a[w>>1]=((o<<16>>16)*(r<<16>>16)|0)>>15&65535;o=a[w>>1];r=u;u=r-2|0;a[r>>1]=o;a[u>>1]=((d<<16>>16)*(s<<16>>16)|0)>>15&65535;a[y>>1]=a[u>>1];u=u-80|0;w=w-82|0;y=y-82|0;d=27;break;case 27:n=n-1&65535;d=25;break;case 28:m=m+((a[t>>1]<<16>>16)*(a[v>>1]<<16>>16)|0)|0;o=(m+16384|0)>>15&65535;r=((a[C>>1]<<16>>16)*(a[z>>1]<<16>>16)|0)>>15&65535;a[u>>1]=((o<<16>>16)*(r<<16>>16)| 0)>>15&65535;a[w>>1]=a[u>>1];u=u-82|0;w=w-82|0;d=29;break;case 29:l=((l<<16>>16)+2|0)&65535;d=23;break;case 30:B=b;return;default:x(0,"bad label: "+d)}}function xf(R,k,e,c,b,d,i){var g=B;B+=160;x(B%4==0,"Stack is unaligned");x(B>16|0)<(m<<16>>16|0)?2:14;break;case 2:w=0;r=v;f=3;break;case 3:f=(r<<16>>16|0)<40?4:12;break;case 4:t=0;s=r;f=5;break;case 5:f= (s<<16>>16|0)<40?6:8;break;case 6:t=t+((a[(n+(s<<16>>16<<1)|0)>>1]<<16>>16)*(a[(j+(((s<<16>>16)-(r<<16>>16)|0)<<1)|0)>>1]<<16>>16)|0)|0;f=7;break;case 7:s=s+1&65535;f=5;break;case 8:t<<=1;h[(u+(r<<16>>16<<2)|0)>>2]=t;t=fb(t);f=(t|0)>(w|0)?9:10;break;case 9:w=t;f=10;break;case 10:f=11;break;case 11:r=((r<<16>>16)+(p<<16>>16)|0)&65535;f=3;break;case 12:y=y+(w>>1)|0;f=13;break;case 13:v=v+1&65535;f=1;break;case 14:s=((oa(y)<<16>>16)-(q<<16>>16)|0)&65535;r=0;f=15;break;case 15:f=(r<<16>>16|0)<40?16:18; break;case 16:a:{f=h[(u+(r<<16>>16<<2)|0)>>2];for(var A=s,C=void 0,C=0;;)switch(C){case 0:var z,D,E;z=f;D=A;E=0;C=(D<<16>>16|0)>0?1:4;break;case 1:E=z<<(D<<16>>16);C=(E>>(D<<16>>16|0)|0)!=(z|0)?2:3;break;case 2:E=z>>31^2147483647;C=3;break;case 3:C=7;break;case 4:D=(-(D<<16>>16)|0)&65535;C=(D<<16>>16|0)<31?5:6;break;case 5:E=z>>(D<<16>>16|0);C=6;break;case 6:C=7;break;case 7:f=E;break a;default:x(0,"bad label: "+C)}f=void 0}f=la(f,o);a[(l+(r<<16>>16<<1)|0)>>1]=f;f=17;break;case 17:r=r+1&65535;f=15; break;case 18:B=g;return;default:x(0,"bad label: "+f)}}function fg(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3;break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function gg(h,k,e){var c=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>16&1;b=b<<16>>16>>1&65535;g=b<<16>>16&7;a[(j|0)>>1]=((((g<<16>>16)*5|0)+(f<<16>>16<<1|0)|0)+1|0)&65535;b=b<<16>>16>>3&65535;f=b<<16>>16&3;b=b<<16>>16>>2&65535;g=b<<16>>16&7;b=(f<<16>>16|0)==3?1:2;break;case 1:a[(j+2|0)>>1]=(((g<<16>>16)*5|0)+4|0)&65535;b=3;break;case 2:a[(j+2|0)>>1]=(((g<<16>>16)*5|0)+(f<<16>>16)|0)&65535;b=3;break;case 3:g=0;b=4;break;case 4:b=(g<<16>>16|0)<40?5:7;break;case 5:a[(i+(g<<16>> 16<<1)|0)>>1]=0;b=6;break;case 6:g=g+1&65535;b=4;break;case 7:f=0;b=8;break;case 8:b=(f<<16>>16|0)<2?9:11;break;case 9:g=d<<16>>16&1;a[(i+(a[(j+(f<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]=(((g<<16>>16)*16383|0)-8192|0)&65535;d=d<<16>>16>>1&65535;b=10;break;case 10:f=f+1&65535;b=8;break;case 11:B=c;return;default:x(0,"bad label: "+b)}}function pb(R,k,e,c,b){var d=B;B+=160;x(B%4==0,"Stack is unaligned");x(B>16|0)<5?2:18;break;case 2:s=0;q=p;i=3;break;case 3:i=(q<<16>>16|0)<40?4:16;break;case 4:o=0;t=f+(q<<16>>16<<1)|0;u=g;m=((40-(q<<16>>16)|0)-1|0)>>1&65535;i=5;break;case 5:i=(m<<16>>16|0)!=0?6:8;break;case 6:i=t;t=i+2|0;i=a[i>>1]<<16>>16;var y=u;u=y+2|0;o=o+((i*(a[y>>1]<<16>>16)|0)<<1)|0;i=t;t=i+2|0;i=a[i>>1]<<16>>16;y=u;u=y+2|0;o=o+((i*(a[y>>1]<<16>>16)|0)<<1)|0;i=7;break;case 7:m=m-1&65535;i=5;break;case 8:i=t;t=i+2|0;i=a[i>>1]<<16>>16;y=u;u=y+2| 0;o=o+((i*(a[y>>1]<<16>>16)|0)<<1)|0;i=((40-(q<<16>>16)|0)&1|0)!=0?10:9;break;case 9:i=t;t=i+2|0;i=a[i>>1]<<16>>16;y=u;u=y+2|0;o=o+((i*(a[y>>1]<<16>>16)|0)<<1)|0;i=10;break;case 10:h[(r+(q<<16>>16<<2)|0)>>2]=o;i=(o|0)<0?11:12;break;case 11:o=-o|0;i=12;break;case 12:i=(o|0)>(s|0)?13:14;break;case 13:s=o;i=14;break;case 14:i=15;break;case 15:q=((q<<16>>16)+5|0)&65535;i=3;break;case 16:v=v+(s>>1)|0;i=17;break;case 17:p=p+1&65535;i=1;break;case 18:m=((oa(v)<<16>>16)-(n<<16>>16)|0)&65535;u=j;w=r|0;q=20; i=19;break;case 19:i=(q<<16>>16|0)!=0?20:22;break;case 20:o=w;w=o+4|0;o=fg(h[o>>2],m,l);o=(o+32768|0)>>16&65535;i=u;u=i+2|0;a[i>>1]=o;o=w;w=o+4|0;o=fg(h[o>>2],m,l);i=(o+32768|0)>>16&65535;y=u;u=y+2|0;a[y>>1]=i;i=21;break;case 21:q=q-1&65535;i=19;break;case 22:B=d;return;default:x(0,"bad label: "+i)}}function hg(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f,j,n,l;b=h;d=k;i=e;g=0;c=1;break;case 1:c=(g<<16>>16|0)<40?2:4;break;case 2:a[(d+(g<<16>>16<<1)|0)>>1]=0;c=3;break;case 3:g=g+1&65535;c= 1;break;case 4:f=0;c=5;break;case 5:c=(f<<16>>16|0)<5?6:13;break;case 6:c=a[(b+(f<<16>>16<<1)|0)>>1];g=c<<16>>16&7;g=a[(i+(g<<16>>16<<1)|0)>>1];g=((g<<16>>16)*5|0)&65535;j=((g<<16>>16)+(f<<16>>16)|0)&65535;g=c<<16>>16>>3&1;c=(g<<16>>16|0)==0?7:8;break;case 7:l=4096;c=9;break;case 8:l=-4096;c=9;break;case 9:a[(d+(j<<16>>16<<1)|0)>>1]=l;g=a[((b+(f<<16>>16<<1)|0)+10|0)>>1]<<16>>16&7;g=a[(i+(g<<16>>16<<1)|0)>>1];g=((g<<16>>16)*5|0)&65535;n=((g<<16>>16)+(f<<16>>16)|0)&65535;c=(n<<16>>16|0)<(j<<16>>16| 0)?10:11;break;case 10:a:{c=void 0;for(c=0;;)switch(c){case 0:var q;q=l;c=(q<<16>>16|0)==-32768?1:2;break;case 1:var m=32767;c=3;break;case 2:m=-(q<<16>>16)|0;c=3;break;case 3:l=m&65535;break a;default:x(0,"bad label: "+c)}l=void 0}c=11;break;case 11:c=d+(n<<16>>16<<1)|0;a[c>>1]=((a[c>>1]<<16>>16)+(l<<16>>16)|0)&65535;c=12;break;case 12:f=f+1&65535;c=5;break;case 13:return;default:x(0,"bad label: "+c)}}function ig(h,k,e,c,b,d){var i=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>16&64;p=p<<16>>16>>3&65535;m=g<<16>>16&7;f=jg(f,1,q);f=((f<<16>>16)+(p<<16>>16)|0)&65535;m=(m<<16>>16)*5|0;q=f;f=q+1&65535;a[(o|0)>>1]=(m+(a[(n+(q<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;g=g<<16>>16>>3&65535;m=g<<16>>16&7;a[(o+2|0)>>1]=(((m<<16>>16)*5|0)+(a[(n+(f<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;m=39;g=1;break;case 1:g=(m<<16>>16|0)>=0?2:4;break;case 2:a[(l+(m<<16>>16<<1)|0)>>1]=0;g=3;break;case 3:m=m-1&65535; g=1;break;case 4:p=0;g=5;break;case 5:g=(p<<16>>16|0)<2?6:8;break;case 6:m=j<<16>>16&1;a[(l+(a[(o+(p<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]=(((m<<16>>16)*16383|0)-8192|0)&65535;j=j<<16>>16>>1&65535;g=7;break;case 7:p=p+1&65535;g=5;break;case 8:B=i;return;default:x(0,"bad label: "+g)}}function jg(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e= 7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function mc(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>>2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0,"bad label: "+c)}}function kg(h,k,e){var c=B;B+=8;x(B%4==0,"Stack is unaligned"); x(B>16&7;a[(j|0)>>1]=((g<<16>>16)*5|0)&65535;b=b<<16>>16>>3&65535;f=b<<16>>16&1;b=b<<16>>16>>1&65535;g=b<<16>>16&7;a[(j+2|0)>>1]=((((g<<16>>16)*5|0)+(f<<16>>16<<1|0)|0)+1|0)&65535;b=b<<16>>16>>3&65535;f=b<<16>>16&1;b=b<<16>>16>>1&65535;g=b<<16>>16&7;a[(j+4|0)>>1]=((((g<<16>>16)*5|0)+(f<<16>>16<<1|0)|0)+2|0)&65535;g=0;b=1;break;case 1:b=(g<<16>>16|0)<40?2:4;break;case 2:a[(i+(g<<16>>16<<1)|0)>>1]=0;b=3;break; case 3:g=g+1&65535;b=1;break;case 4:f=0;b=5;break;case 5:b=(f<<16>>16|0)<3?6:8;break;case 6:g=d<<16>>16&1;a[(i+(a[(j+(f<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]=(((g<<16>>16)*16383|0)-8192|0)&65535;d=d<<16>>16>>1&65535;b=7;break;case 7:f=f+1&65535;b=5;break;case 8:B=c;return;default:x(0,"bad label: "+b)}}function lg(h,k,e,c){var b=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>16&7;j=a[(g+(j<<16>>16<<1)|0)>> 1];a[(l|0)>>1]=((j<<16>>16)*5|0)&65535;d=d<<16>>16>>3&65535;j=d<<16>>16&7;j=a[(g+(j<<16>>16<<1)|0)>>1];a[(l+2|0)>>1]=(((j<<16>>16)*5|0)+1|0)&65535;d=d<<16>>16>>3&65535;j=d<<16>>16&7;j=a[(g+(j<<16>>16<<1)|0)>>1];a[(l+4|0)>>1]=(((j<<16>>16)*5|0)+2|0)&65535;d=d<<16>>16>>3&65535;n=d<<16>>16&1;d=d<<16>>16>>1&65535;j=d<<16>>16&7;j=a[(g+(j<<16>>16<<1)|0)>>1];a[(l+6|0)>>1]=((((j<<16>>16)*5|0)+3|0)+(n<<16>>16)|0)&65535;j=0;d=1;break;case 1:d=(j<<16>>16|0)<40?2:4;break;case 2:a[(f+(j<<16>>16<<1)|0)>>1]=0;d= 3;break;case 3:j=j+1&65535;d=1;break;case 4:n=0;d=5;break;case 5:d=(n<<16>>16|0)<4?6:8;break;case 6:j=i<<16>>16&1;a[(f+(a[(l+(n<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]=(((j<<16>>16)*16383|0)-8192|0)&65535;i=i<<16>>16>>1&65535;d=7;break;case 7:n=n+1&65535;d=5;break;case 8:B=b;return;default:x(0,"bad label: "+d)}}function mg(h,k,e){var c=B;B+=24;x(B%4==0,"Stack is unaligned");x(B>16|0)<40?2:4;break;case 2:a[(i+(f<<16>>16<<1)|0)>>1]=0;b=3;break;case 3:f=f+1&65535;b=1;break;case 4:ng(d,m|0,p|0,g);j=0;b=5;break;case 5:b=(j<<16>>16|0)<4?6:17;break;case 6:n=((a[(p+(j<<16>>16<<1)|0)>>1]<<16>>16<<2)+(j<<16>>16)|0)&65535;b=(a[(m+(j<<16>>16<<1)|0)>>1]<<16>>16|0)==0?7:8;break;case 7:q=8191;b=9;break;case 8:q=-8191;b=9;break;case 9:b=(n<<16>>16|0)<40?10:11;break;case 10:a[(i+(n<<16>>16<<1)|0)>>1]=q;b=11;break;case 11:l=((a[(p+(((j<<16>>16)+4|0)<<1)|0)>>1]<<16>>16<<2)+(j<<16>>16)| 0)&65535;b=(l<<16>>16|0)<(n<<16>>16|0)?12:13;break;case 12:a:{b=void 0;for(b=0;;)switch(b){case 0:var o;o=q;b=(o<<16>>16|0)==-32768?1:2;break;case 1:var r=32767;b=3;break;case 2:r=-(o<<16>>16)|0;b=3;break;case 3:q=r&65535;break a;default:x(0,"bad label: "+b)}q=void 0}b=13;break;case 13:b=(l<<16>>16|0)<40?14:15;break;case 14:b=i+(l<<16>>16<<1)|0;a[b>>1]=((a[b>>1]<<16>>16)+(q<<16>>16)|0)&65535;b=15;break;case 15:b=16;break;case 16:j=j+1&65535;b=5;break;case 17:B=c;return;default:x(0,"bad label: "+b)}} function ng(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q;d=h;i=k;g=e;f=c;j=0;b=1;break;case 1:b=(j<<16>>16|0)<4?2:4;break;case 2:a[(i+(j<<16>>16<<1)|0)>>1]=a[(d+(j<<16>>16<<1)|0)>>1];b=3;break;case 3:j=j+1&65535;b=1;break;case 4:l=a[(d+8|0)>>1]<<16>>16>>3&65535;q=a[(d+8|0)>>1]<<16>>16&7;qd(l,q,0,4,1,g,f);l=a[(d+10|0)>>1]<<16>>16>>3&65535;q=a[(d+10|0)>>1]<<16>>16&7;qd(l,q,2,6,5,g,f);l=a[(d+12|0)>>1]<<16>>16>>2&65535;q=a[(d+12|0)>>1]<<16>>16&3;n=mc(l,25,f);a:{l=n;b=void 0;for(b=0;;)switch(b){case 0:var m, p,o;m=l;p=1;o=0;b=(p<<16>>16|0)>0?1:4;break;case 1:b=(p<<16>>16|0)<31?2:3;break;case 2:o=m>>(p<<16>>16|0);b=3;break;case 3:b=7;break;case 4:p=(-(p<<16>>16)|0)&65535;o=m<<(p<<16>>16);b=(o>>(p<<16>>16|0)|0)!=(m|0)?5:6;break;case 5:o=m>>31^2147483647;b=6;break;case 6:b=7;break;case 7:l=o;break a;default:x(0,"bad label: "+b)}l=void 0}b=l&65535;b=((b<<16>>16)+12|0)&65535;l=b<<16>>16>>5&65535;b=gb(l,6554,f);b=b<<16>>16&1;n=gb(l,6554,f);n=mc(n,5,f);n=((l<<16>>16)-((n>>1&65535)<<16>>16)|0)&65535;b=(b<<16>> 16|0)==1?5:6;break;case 5:n=(4-(n<<16>>16)|0)&65535;b=6;break;case 6:n=rb(n,1,f);b=q<<16>>16&1;h=$(n,b,f);a[(g+6|0)>>1]=h;b=gb(l,6554,f);b=rb(b,1,f);a[(g+14|0)>>1]=((b<<16>>16)+(q<<16>>16>>1)|0)&65535;return;default:x(0,"bad label: "+b)}}function qd(h,k,e,c,b,d,i){var g;for(g=0;;)switch(g){case 0:var f,j,n,l,q,m,p;f=h;j=k;n=e;l=c;q=b;m=d;p=i;g=(f<<16>>16|0)>124?1:2;break;case 1:f=124;g=2;break;case 2:h=gb(f,1311,p);k=mc(h,25,p);h=((f<<16>>16)-(k>>1)|0)&65535;k=gb(h,6554,p);k=mc(k,5,p);k=((h<<16>> 16)-((k>>1&65535)<<16>>16)|0)&65535;k=rb(k,1,p);e=((j<<16>>16)-(j<<16>>16>>2<<2)|0)&65535;a[(m+(n<<16>>16<<1)|0)>>1]=((k<<16>>16)+(e<<16>>16&1)|0)&65535;k=gb(h,6554,p);k=rb(k,1,p);a[(m+(l<<16>>16<<1)|0)>>1]=((k<<16>>16)+(e<<16>>16>>1)|0)&65535;k=j<<16>>16>>2&65535;e=gb(f,1311,p);e=rb(e,1,p);f=$(k,e,p);a[(m+(q<<16>>16<<1)|0)>>1]=f;return;default:x(0,"bad label: "+g)}}function gb(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>> 2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function rb(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+ e)}}function og(R){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=R;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:jd(c+1168|0);a[(c+460|0)>>1]=40;a[(c+462|0)>>1]=0;a[(c+464|0)>>1]=0;b=h[(c+1164|0)>>2]=0;k=3;break;case 3:k=(b<<16>>16|0)<9?4:6;break;case 4:a[((c+466|0)+(b<<16>>16<<1)|0)>>1]=0;k=5;break;case 5:b=b+1&65535;k=3;break;case 6:pg(c+646|0,h[((c+1168|0)+48|0)>>2]);qg(c+686|0);rg(c+700|0);Ef(c+608|0);sg(c+626|0,h[((c+1168|0)+48|0)>>2]);We(c+484|0);tg(c+730|0);rd(c+748|0);sb(c+714|0);nc(c, 0);e=0;k=7;break;case 7:return e;default:x(0,"bad label: "+k)}}function nc(R,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i;b=R;d=k;e=(b|0)==0?1:2;break;case 1:c=-1;e=23;break;case 2:h[(b+388|0)>>2]=((b|0)+286|0)+22|0;ta(b|0,0,308,1);e=(d|0)!=8?3:4;break;case 3:ta(b+412|0,0,20,1);e=4;break;case 4:a[(b+432|0)>>1]=0;a[(b+434|0)>>1]=40;h[(b+1164|0)>>2]=0;e=(d|0)!=8?5:6;break;case 5:a[(b+392|0)>>1]=3E4;a[((b+392|0)+2|0)>>1]=26E3;a[((b+392|0)+4|0)>>1]=21E3;a[((b+392|0)+6|0)>>1]=15E3;a[((b+392|0)+8|0)>> 1]=8E3;a[((b+392|0)+10|0)>>1]=0;a[((b+392|0)+12|0)>>1]=-8E3;a[((b+392|0)+14|0)>>1]=-15E3;a[((b+392|0)+16|0)>>1]=-21E3;a[((b+392|0)+18|0)>>1]=-26E3;e=6;break;case 6:a[(b+436|0)>>1]=0;a[(b+438|0)>>1]=0;a[(b+440|0)>>1]=0;a[(b+460|0)>>1]=40;a[(b+462|0)>>1]=0;a[(b+464|0)>>1]=0;e=(d|0)!=8?7:12;break;case 7:i=0;e=8;break;case 8:e=(i<<16>>16|0)<9?9:11;break;case 9:a[((b+442|0)+(i<<16>>16<<1)|0)>>1]=0;e=10;break;case 10:i=i+1&65535;e=8;break;case 11:e=12;break;case 12:i=0;e=13;break;case 13:e=(i<<16>>16|0)< 9?14:16;break;case 14:a[((b+466|0)+(i<<16>>16<<1)|0)>>1]=0;e=15;break;case 15:i=i+1&65535;e=13;break;case 16:Ef(b+608|0);e=(d|0)!=8?17:18;break;case 17:sg(b+626|0,h[((b+1168|0)+48|0)>>2]);e=18;break;case 18:pg(b+646|0,h[((b+1168|0)+48|0)>>2]);qg(b+686|0);rg(b+700|0);e=(d|0)!=8?19:20;break;case 19:sb(b+714|0);e=20;break;case 20:We(b+484|0);a[(b+606|0)>>1]=21845;tg(b+730|0);e=(d|0)!=8?21:22;break;case 21:rd(b+748|0);e=22;break;case 22:c=0;e=23;break;case 23:return c;default:x(0,"bad label: "+e)}}function ug(R, k,e,c,b,d){var i=B;B+=340;x(B%4==0,"Stack is unaligned");x(B>2]+(j<<1)|0)>>1],h[(h[((f+1168|0)+92|0)>>2]+(j<<2)|0)>>2],n,h[((f+1168|0)+108|0)>>2],aa);g=8;break;case 8:g=12;break;case 9:g=(l|0)==1?10:11;break;case 10:ca=1;g=11;break;case 11:g=12;break;case 12:g=(M<<16>>16|0)!=0?13:14;break;case 13:g=f+440|0;a[g>>1]=((a[g>>1]<<16>>16)+1|0)&65535;g=18;break;case 14:g= (a[(f+440|0)>>1]<<16>>16|0)==6?15:16;break;case 15:a[(f+440|0)>>1]=5;g=17;break;case 16:a[(f+440|0)>>1]=0;g=17;break;case 17:g=18;break;case 18:g=(a[(f+440|0)>>1]<<16>>16|0)>6?19:20;break;case 19:a[(f+440|0)>>1]=6;g=20;break;case 20:g=(h[((f+748|0)+408|0)>>2]|0)==1?21:22;break;case 21:a[(f+440|0)>>1]=5;a[(f+436|0)>>1]=0;g=25;break;case 22:g=(h[((f+748|0)+408|0)>>2]|0)==2?23:24;break;case 23:a[(f+440|0)>>1]=5;a[(f+436|0)>>1]=1;g=24;break;case 24:g=25;break;case 25:ua(s|0,(f+646|0)+20|0,20,1,0);g=(j| 0)!=7?26:27;break;case 26:td(f+646|0,j,M,n,f+1168|0,o|0,aa);n=n+6|0;ud(f+392|0,o|0,m,aa);g=28;break;case 27:xg(f+646|0,M,n,f+1168|0,r|0,o|0,aa);n=n+10|0;vd(f+392|0,r|0,o|0,m,aa);g=28;break;case 28:y=0;g=29;break;case 29:g=(y<<16>>16|0)<10?30:32;break;case 30:a[((f+392|0)+(y<<16>>16<<1)|0)>>1]=a[(o+(y<<16>>16<<1)|0)>>1];g=31;break;case 31:y=y+1&65535;g=29;break;case 32:p=m;P=0;S=-1;A=0;g=33;break;case 33:g=(A<<16>>16|0)<160?34:260;break;case 34:S=((S<<16>>16)+1|0)&65535;P=(1-(P<<16>>16)|0)&65535;G= A;g=(A<<16>>16|0)==80?35:39;break;case 35:g=(j|0)!=0?36:38;break;case 36:g=(j|0)!=1?37:38;break;case 37:G=0;g=38;break;case 38:g=39;break;case 39:D=n;n=D+2|0;D=a[D>>1];g=(j|0)!=7?40:62;break;case 40:T=0;g=(j|0)==0?44:41;break;case 41:g=(j|0)==1?44:42;break;case 42:g=(j|0)==2?44:43;break;case 43:g=(j|0)==3?44:45;break;case 44:T=1;g=45;break;case 45:H=5;N=9;g=(j|0)==5?46:47;break;case 46:H=10;N=19;g=47;break;case 47:fa=((a[(f+434|0)>>1]<<16>>16)-(H<<16>>16)|0)&65535;g=(fa<<16>>16|0)<20?48:49;break; case 48:fa=20;g=49;break;case 49:ja=((fa<<16>>16)+(N<<16>>16)|0)&65535;g=(ja<<16>>16|0)>143?50:51;break;case 50:ja=143;fa=((ja<<16>>16)-(N<<16>>16)|0)&65535;g=51;break;case 51:yg(D,fa,ja,G,a[(f+434|0)>>1],C,z,T,aa);a[(f+460|0)>>1]=a[C>>1];g=(M<<16>>16|0)!=0?52:61;break;case 52:g=(a[(f+434|0)>>1]<<16>>16|0)<143?53:54;break;case 53:g=f+434|0;a[g>>1]=((a[g>>1]<<16>>16)+1|0)&65535;g=54;break;case 54:a[C>>1]=a[(f+434|0)>>1];a[z>>1]=0;g=(a[(f+462|0)>>1]<<16>>16|0)!=0?55:60;break;case 55:g=(a[(f+464|0)>> 1]<<16>>16|0)>4?56:60;break;case 56:g=(j|0)==0?59:57;break;case 57:g=(j|0)==1?59:58;break;case 58:g=(j|0)==2?59:60;break;case 59:a[C>>1]=a[(f+460|0)>>1];g=60;break;case 60:g=61;break;case 61:qb(h[(f+388|0)>>2],a[C>>1],a[z>>1],40,1,aa);g=67;break;case 62:zg(D,18,143,G,C,z,aa);g=(M<<16>>16|0)==0?63:65;break;case 63:g=(G<<16>>16|0)==0?66:64;break;case 64:g=(D<<16>>16|0)<61?66:65;break;case 65:a[(f+460|0)>>1]=a[C>>1];a[C>>1]=a[(f+434|0)>>1];a[z>>1]=0;g=66;break;case 66:qb(h[(f+388|0)>>2],a[C>>1],a[z>> 1],40,0,aa);g=67;break;case 67:g=(j|0)==0?69:68;break;case 68:g=(j|0)==1?69:73;break;case 69:y=n;n=y+2|0;D=a[y>>1];y=n;n=y+2|0;y=a[y>>1];ig(S,y,D,h[((f+1168|0)+76|0)>>2],t|0,aa);Q=a[(f+432|0)>>1]<<16>>16<<1;g=(Q|0)!=((Q&65535)<<16>>16|0)?70:71;break;case 70:J=((a[(f+432|0)>>1]<<16>>16|0)>0?32767:-32768)&65535;g=72;break;case 71:J=Q&65535;g=72;break;case 72:g=104;break;case 73:g=(j|0)==2?74:78;break;case 74:y=n;n=y+2|0;D=a[y>>1];y=n;n=y+2|0;y=a[y>>1];gg(y,D,t|0);Q=a[(f+432|0)>>1]<<16>>16<<1;g=(Q|0)!= ((Q&65535)<<16>>16|0)?75:76;break;case 75:J=((a[(f+432|0)>>1]<<16>>16|0)>0?32767:-32768)&65535;g=77;break;case 76:J=Q&65535;g=77;break;case 77:g=103;break;case 78:g=(j|0)==3?79:83;break;case 79:y=n;n=y+2|0;D=a[y>>1];y=n;n=y+2|0;y=a[y>>1];kg(y,D,t|0);Q=a[(f+432|0)>>1]<<16>>16<<1;g=(Q|0)!=((Q&65535)<<16>>16|0)?80:81;break;case 80:J=((a[(f+432|0)>>1]<<16>>16|0)>0?32767:-32768)&65535;g=82;break;case 81:J=Q&65535;g=82;break;case 82:g=102;break;case 83:g=j>>>0<=5?84:88;break;case 84:y=n;n=y+2|0;D=a[y>> 1];y=n;n=y+2|0;y=a[y>>1];lg(y,D,h[(f+1168|0)>>2],t|0);Q=a[(f+432|0)>>1]<<16>>16<<1;g=(Q|0)!=((Q&65535)<<16>>16|0)?85:86;break;case 85:J=((a[(f+432|0)>>1]<<16>>16|0)>0?32767:-32768)&65535;g=87;break;case 86:J=Q&65535;g=87;break;case 87:g=101;break;case 88:g=(j|0)==6?89:93;break;case 89:mg(n,t|0,aa);n=n+14|0;Q=a[(f+432|0)>>1]<<16>>16<<1;g=(Q|0)!=((Q&65535)<<16>>16|0)?90:91;break;case 90:J=((a[(f+432|0)>>1]<<16>>16|0)>0?32767:-32768)&65535;g=92;break;case 91:J=Q&65535;g=92;break;case 92:g=100;break; case 93:D=n;n=D+2|0;D=a[D>>1];g=(M<<16>>16|0)!=0?94:95;break;case 94:oc(f+686|0,a[(f+440|0)>>1],F,aa);g=96;break;case 95:g=Ag(j,D,h[((f+1168|0)+72|0)>>2]);a[F>>1]=g;g=96;break;case 96:Pb(f+686|0,M,a[(f+436|0)>>1],F,aa);hg(n,t|0,h[(f+1168|0)>>2]);n=n+20|0;Q=a[F>>1]<<16>>16<<1;g=(Q|0)!=((Q&65535)<<16>>16|0)?97:98;break;case 97:J=((a[F>>1]<<16>>16|0)>0?32767:-32768)&65535;g=99;break;case 98:J=Q&65535;g=99;break;case 99:g=100;break;case 100:g=101;break;case 101:g=102;break;case 102:g=103;break;case 103:g= 104;break;case 104:y=a[C>>1];g=105;break;case 105:g=(y<<16>>16|0)<40?106:108;break;case 106:g=Bg(a[(((t|0)+(y<<16>>16<<1)|0)+((-(a[C>>1]<<16>>16)|0)<<1)|0)>>1],J,aa);a[ka>>1]=g;g=$(a[((t|0)+(y<<16>>16<<1)|0)>>1],a[ka>>1],aa);a[((t|0)+(y<<16>>16<<1)|0)>>1]=g;g=107;break;case 107:y=y+1&65535;g=105;break;case 108:g=(j|0)==0?109:117;break;case 109:g=(P<<16>>16|0)!=0?110:111;break;case 110:E=n;n=E+2|0;E=a[E>>1];g=111;break;case 111:g=(M<<16>>16|0)==0?112:113;break;case 112:wd(f+714|0,j,E,t|0,P,F,I,f+1168| 0,aa);g=114;break;case 113:oc(f+686|0,a[(f+440|0)>>1],F,aa);Qb(f+700|0,f+714|0,a[(f+440|0)>>1],I,aa);g=114;break;case 114:Pb(f+686|0,M,a[(f+436|0)>>1],F,aa);Rb(f+700|0,M,a[(f+436|0)>>1],I,aa);J=a[F>>1];g=(J<<16>>16|0)>13017?115:116;break;case 115:J=13017;g=116;break;case 116:g=148;break;case 117:g=j>>>0<=4?119:118;break;case 118:g=(j|0)==6?119:132;break;case 119:D=n;n=D+2|0;D=a[D>>1];g=(M<<16>>16|0)==0?120:121;break;case 120:wd(f+714|0,j,D,t|0,P,F,I,f+1168|0,aa);g=122;break;case 121:oc(f+686|0,a[(f+ 440|0)>>1],F,aa);Qb(f+700|0,f+714|0,a[(f+440|0)>>1],I,aa);g=122;break;case 122:Pb(f+686|0,M,a[(f+436|0)>>1],F,aa);Rb(f+700|0,M,a[(f+436|0)>>1],I,aa);J=a[F>>1];g=(J<<16>>16|0)>13017?123:124;break;case 123:J=13017;g=124;break;case 124:g=(j|0)==6?125:131;break;case 125:g=(a[(f+434|0)>>1]<<16>>16|0)>45?126:130;break;case 126:g=(J<<16>>16|0)<0?127:128;break;case 127:J=((J<<16>>16^-1)>>2^-1)&65535;g=129;break;case 128:J=J<<16>>16>>2&65535;g=129;break;case 129:g=130;break;case 130:g=131;break;case 131:g= 147;break;case 132:D=n;n=D+2|0;D=a[D>>1];g=(j|0)==5?133:142;break;case 133:g=(M<<16>>16|0)!=0?134:135;break;case 134:oc(f+686|0,a[(f+440|0)>>1],F,aa);g=136;break;case 135:g=Ag(j,D,h[((f+1168|0)+72|0)>>2]);a[F>>1]=g;g=136;break;case 136:Pb(f+686|0,M,a[(f+436|0)>>1],F,aa);D=n;n=D+2|0;D=a[D>>1];g=(M<<16>>16|0)==0?137:138;break;case 137:xd(f+714|0,j,D,t|0,h[((f+1168|0)+68|0)>>2],I,aa);g=139;break;case 138:Qb(f+700|0,f+714|0,a[(f+440|0)>>1],I,aa);g=139;break;case 139:Rb(f+700|0,M,a[(f+436|0)>>1],I,aa); J=a[F>>1];g=(J<<16>>16|0)>13017?140:141;break;case 140:J=13017;g=141;break;case 141:g=146;break;case 142:g=(M<<16>>16|0)==0?143:144;break;case 143:xd(f+714|0,j,D,t|0,h[((f+1168|0)+68|0)>>2],I,aa);g=145;break;case 144:Qb(f+700|0,f+714|0,a[(f+440|0)>>1],I,aa);g=145;break;case 145:Rb(f+700|0,M,a[(f+436|0)>>1],I,aa);J=a[F>>1];g=146;break;case 146:g=147;break;case 147:g=148;break;case 148:g=(j|0)!=0?150:149;break;case 149:g=(P<<16>>16|0)==0?150:153;break;case 150:a[(f+432|0)>>1]=a[F>>1];g=(a[(f+432|0)>> 1]<<16>>16|0)>13017?151:152;break;case 151:a[(f+432|0)>>1]=13017;g=152;break;case 152:g=153;break;case 153:J=Cg(J,1,aa);g=(J<<16>>16|0)>16384?154:164;break;case 154:y=0;g=155;break;case 155:g=(y<<16>>16|0)<40?156:163;break;case 156:Q=Bg(a[(h[(f+388|0)>>2]+(y<<16>>16<<1)|0)>>1],J,aa);a[ka>>1]=Q;Q=Dg(a[ka>>1],a[F>>1],aa);g=(j|0)==7?157:161;break;case 157:g=(Q|0)<0?158:159;break;case 158:Q=(Q^-1)>>1^-1;g=160;break;case 159:Q>>=1;g=160;break;case 160:g=161;break;case 161:g=la(Q,aa);a[((u|0)+(y<<16>>16<< 1)|0)>>1]=g;g=162;break;case 162:y=y+1&65535;g=155;break;case 163:g=164;break;case 164:g=(M<<16>>16|0)==0?165:170;break;case 165:y=0;g=166;break;case 166:g=(y<<16>>16|0)<8?167:169;break;case 167:a[((f+466|0)+(y<<16>>16<<1)|0)>>1]=a[((f+466|0)+(((y<<16>>16)+1|0)<<1)|0)>>1];g=168;break;case 168:y=y+1&65535;g=166;break;case 169:a[((f+466|0)+16|0)>>1]=a[F>>1];g=170;break;case 170:g=(a[(f+436|0)>>1]<<16>>16|0)!=0?172:171;break;case 171:g=(M<<16>>16|0)!=0?172:181;break;case 172:g=(a[(f+462|0)>>1]<<16>> 16|0)!=0?173:181;break;case 173:g=(j|0)==0?176:174;break;case 174:g=(j|0)==1?176:175;break;case 175:g=(j|0)==2?176:181;break;case 176:g=(a[F>>1]<<16>>16|0)>12288?177:178;break;case 177:a[F>>1]=((((a[F>>1]<<16>>16)-12288|0)>>1)+12288|0)&65535;g=178;break;case 178:g=(a[F>>1]<<16>>16|0)>14745?179:180;break;case 179:a[F>>1]=14745;g=180;break;case 180:g=181;break;case 181:Eg(s|0,(f+646|0)+20|0,A,v|0,aa);K=Ff(f+608|0,j,a[I>>1],v|0,f+626|0,M,a[(f+436|0)>>1],ca,a[(f+438|0)>>1],a[(f+462|0)>>1],a[(f+464|0)>> 1],aa);g=j>>>0>3?182:184;break;case 182:g=(j|0)!=6?183:184;break;case 183:K=a[I>>1];g=184;break;case 184:g=j>>>0<=6?185:186;break;case 185:U=a[F>>1];Z=1;g=190;break;case 186:g=(a[F>>1]<<16>>16|0)<0?187:188;break;case 187:U=((a[F>>1]<<16>>16^-1)>>1^-1)&65535;g=189;break;case 188:U=a[F>>1]<<16>>16>>1&65535;g=189;break;case 189:Z=2;g=190;break;case 190:y=0;g=191;break;case 191:g=(y<<16>>16|0)<40?192:194;break;case 192:a[(w+(y<<16>>16<<1)|0)>>1]=a[(h[(f+388|0)>>2]+(y<<16>>16<<1)|0)>>1];Q=Dg(a[(h[(f+388| 0)>>2]+(y<<16>>16<<1)|0)>>1],U,aa);Q=yd(Q,a[(t+(y<<16>>16<<1)|0)>>1],a[I>>1],aa);a:{g=Z;for(var da=void 0,da=0;;)switch(da){case 0:var Y,V,ia;Y=Q;V=g;ia=0;da=(V<<16>>16|0)>0?1:4;break;case 1:ia=Y<<(V<<16>>16);da=(ia>>(V<<16>>16|0)|0)!=(Y|0)?2:3;break;case 2:ia=Y>>31^2147483647;da=3;break;case 3:da=7;break;case 4:V=(-(V<<16>>16)|0)&65535;da=(V<<16>>16|0)<31?5:6;break;case 5:ia=Y>>(V<<16>>16|0);da=6;break;case 6:da=7;break;case 7:Q=ia;break a;default:x(0,"bad label: "+da)}Q=void 0}g=la(Q,aa);a[(h[(f+ 388|0)>>2]+(y<<16>>16<<1)|0)>>1]=g;g=193;break;case 193:y=y+1&65535;g=191;break;case 194:a[((f+730|0)+14|0)>>1]=0;g=(j|0)==0?197:195;break;case 195:g=(j|0)==1?197:196;break;case 196:g=(j|0)==2?197:201;break;case 197:g=(a[(f+464|0)>>1]<<16>>16|0)>3?198:201;break;case 198:g=(a[(f+462|0)>>1]<<16>>16|0)!=0?199:201;break;case 199:g=(M<<16>>16|0)!=0?200:201;break;case 200:a[((f+730|0)+14|0)>>1]=1;g=201;break;case 201:Fg(f+730|0,j,w|0,K,a[F>>1],t|0,U,Z,f+1168|0,aa);y=Q=0;g=202;break;case 202:g=(y<<16>>16| 0)<40?203:205;break;case 203:Q=yd(Q,a[((w|0)+(y<<16>>16<<1)|0)>>1],a[((w|0)+(y<<16>>16<<1)|0)>>1],aa);g=204;break;case 204:y=y+1&65535;g=202;break;case 205:g=(Q|0)<0?206:207;break;case 206:Q=(Q^-1)>>1^-1;g=208;break;case 207:Q>>=1;g=208;break;case 208:Q=pc(Q,ka,aa);a:{g=((a[ka>>1]<<16>>16>>1)+15|0)&65535;da=void 0;for(da=0;;)switch(da){case 0:var ha,ba,W;ha=Q;ba=g;W=0;da=(ba<<16>>16|0)>0?1:4;break;case 1:da=(ba<<16>>16|0)<31?2:3;break;case 2:W=ha>>(ba<<16>>16|0);da=3;break;case 3:da=7;break;case 4:ba= (-(ba<<16>>16)|0)&65535;W=ha<<(ba<<16>>16);da=(W>>(ba<<16>>16|0)|0)!=(ha|0)?5:6;break;case 5:W=ha>>31^2147483647;da=6;break;case 6:da=7;break;case 7:Q=W;break a;default:x(0,"bad label: "+da)}Q=void 0}g=(Q|0)<0?209:210;break;case 209:L=((Q^-1)>>2^-1)&65535;g=211;break;case 210:L=Q>>2&65535;g=211;break;case 211:g=(j|0)==0?214:212;break;case 212:g=(j|0)==1?214:213;break;case 213:g=(j|0)==2?214:225;break;case 214:g=(a[(f+464|0)>>1]<<16>>16|0)>5?215:225;break;case 215:g=(a[(f+462|0)>>1]<<16>>16|0)!=0? 216:225;break;case 216:g=(a[(f+440|0)>>1]<<16>>16|0)<4?217:225;break;case 217:g=(ca<<16>>16|0)!=0?218:219;break;case 218:g=(a[(f+438|0)>>1]<<16>>16|0)!=0?221:219;break;case 219:g=(M<<16>>16|0)!=0?221:220;break;case 220:g=(a[(f+436|0)>>1]<<16>>16|0)!=0?221:225;break;case 221:X=0;g=(ca<<16>>16|0)!=0?222:224;break;case 222:g=(M<<16>>16|0)==0?223:224;break;case 223:X=1;g=224;break;case 224:Gg(w|0,L,f+442|0,a[(f+464|0)>>1],a[(f+436|0)>>1],X,aa);g=225;break;case 225:g=(a[(f+462|0)>>1]<<16>>16|0)!=0?226: 229;break;case 226:g=(M<<16>>16|0)!=0?228:227;break;case 227:g=(a[(f+436|0)>>1]<<16>>16|0)!=0?228:229;break;case 228:g=(a[(f+440|0)>>1]<<16>>16|0)<4?234:229;break;case 229:y=0;g=230;break;case 230:g=(y<<16>>16|0)<8?231:233;break;case 231:a[((f+442|0)+(y<<16>>16<<1)|0)>>1]=a[((f+442|0)+(((y<<16>>16)+1|0)<<1)|0)>>1];g=232;break;case 232:y=y+1&65535;g=230;break;case 233:a[((f+442|0)+16|0)>>1]=L;g=234;break;case 234:g=(J<<16>>16|0)>16384?235:240;break;case 235:y=0;g=236;break;case 236:g=(y<<16>>16|0)< 40?237:239;break;case 237:g=$(a[((u|0)+(y<<16>>16<<1)|0)>>1],a[((w|0)+(y<<16>>16<<1)|0)>>1],aa);a[((u|0)+(y<<16>>16<<1)|0)>>1]=g;g=238;break;case 238:y=y+1&65535;g=236;break;case 239:De(w|0,u|0,40,aa);h[aa>>2]=0;Ca(p,u|0,q+(A<<16>>16<<1)|0,40,f+412|0,0);g=241;break;case 240:h[aa>>2]=0;Ca(p,w|0,q+(A<<16>>16<<1)|0,40,f+412|0,0);g=241;break;case 241:g=(h[aa>>2]|0)!=0?242:257;break;case 242:y=193;g=243;break;case 243:g=(y<<16>>16|0)>=0?244:249;break;case 244:g=(a[((f|0)+(y<<16>>16<<1)|0)>>1]<<16>>16| 0)<0?245:246;break;case 245:a[((f|0)+(y<<16>>16<<1)|0)>>1]=((a[((f|0)+(y<<16>>16<<1)|0)>>1]<<16>>16^-1)>>2^-1)&65535;g=247;break;case 246:a[((f|0)+(y<<16>>16<<1)|0)>>1]=a[((f|0)+(y<<16>>16<<1)|0)>>1]<<16>>16>>2&65535;g=247;break;case 247:g=248;break;case 248:y=y-1&65535;g=243;break;case 249:y=39;g=250;break;case 250:g=(y<<16>>16|0)>=0?251:256;break;case 251:g=(a[((w|0)+(y<<16>>16<<1)|0)>>1]<<16>>16|0)<0?252:253;break;case 252:a[((w|0)+(y<<16>>16<<1)|0)>>1]=((a[((w|0)+(y<<16>>16<<1)|0)>>1]<<16>>16^ -1)>>2^-1)&65535;g=254;break;case 253:a[((w|0)+(y<<16>>16<<1)|0)>>1]=a[((w|0)+(y<<16>>16<<1)|0)>>1]<<16>>16>>2&65535;g=254;break;case 254:g=255;break;case 255:y=y-1&65535;g=250;break;case 256:Ca(p,w|0,q+(A<<16>>16<<1)|0,40,f+412|0,1);g=258;break;case 257:ua(f+412|0,q+((((A<<16>>16)+40|0)-10|0)<<1)|0,20,1,0);g=258;break;case 258:ua(f|0,(f|0)+80|0,308,1,0);p=p+22|0;a[(f+434|0)>>1]=a[C>>1];g=259;break;case 259:A=((A<<16>>16)+40|0)&65535;g=33;break;case 260:g=Xe(f+484|0,f+466|0,q|0,f+464|0,aa);a[(f+462| 0)>>1]=g;Hg(f+748|0,(f+646|0)+20|0,q,aa);a[(f+436|0)>>1]=M;a[(f+438|0)>>1]=ca;sd(f+626|0,(f+646|0)+20|0,aa);g=261;break;case 261:h[((f+748|0)+408|0)>>2]=O;B=i;return;default:x(0,"bad label: "+g)}}function Bg(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function Cg(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)< 0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Dg(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>> 2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0,"bad label: "+c)}}function yd(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function zd(a,k){var e;for(e= 0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Ig(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j;d=a;i=k;g=e;f=c;d=(d<<16>>16)* (g<<16>>16)|0;b=(d|0)!=1073741824?1:2;break;case 1:d<<=1;b=3;break;case 2:h[f>>2]=1;d=2147483647;b=3;break;case 3:b=((i<<16>>16)*(g<<16>>16)|0)>>15;j=d+(b<<1)|0;b=(d^b|0)>0?4:7;break;case 4:b=((j^d)>>31|0)!=0?5:6;break;case 5:j=(d>>31|0)!=0?-2147483648:2147483647;h[f>>2]=1;b=6;break;case 6:b=7;break;case 7:return j;default:x(0,"bad label: "+b)}}function wd(R,k,e,c,b,d,i,g,f){var j=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>2]+(m<<16>>16<<1)|0;u=A+2|0;a[r>>1]=a[A>>1];A=u;u=A+2|0;C=a[A>>1];A=u;u=A+2|0;A=a[A>>1];u=a[u>>1];n=10;break;case 4:n=(q|0)==0?5:8;break;case 5:m=((m<<16>>16)+((1^o<<16>>16)<<1)|0)&65535;n=(m<<16>>16|0)>1022?6:7;break;case 6:m=1022;n=7;break;case 7:A=u=Jg+(m<<16>>16<<1)|0;u=A+2|0;a[r>>1]=a[A>>1];n=C=a[u>>1];Za(n<<16>>16,y,w,t);a[y>> 1]=((a[y>>1]<<16>>16)-12|0)&65535;n=Sb(a[w>>1],5,t);A=zd(a[y>>1],10,t);A=$(n,A,t);z=Ig(a[y>>1],a[w>>1],24660,t);a:{u=z;n=void 0;for(n=0;;)switch(n){case 0:var D,E,F;D=u;E=13;F=0;n=(E<<16>>16|0)>0?1:4;break;case 1:F=D<<(E<<16>>16);n=(F>>(E<<16>>16|0)|0)!=(D|0)?2:3;break;case 2:F=D>>31^2147483647;n=3;break;case 3:n=7;break;case 4:E=(-(E<<16>>16)|0)&65535;n=(E<<16>>16|0)<31?5:6;break;case 5:F=D>>(E<<16>>16|0);n=6;break;case 6:n=7;break;case 7:z=F;break a;default:x(0,"bad label: "+n)}z=void 0}u=la(z, t);n=9;break;case 8:A=u=h[(v+80|0)>>2]+(m<<16>>16<<1)|0;u=A+2|0;a[r>>1]=a[A>>1];A=u;u=A+2|0;C=a[A>>1];A=u;u=A+2|0;A=a[A>>1];u=a[u>>1];n=9;break;case 9:n=10;break;case 10:hb(l,q,p,y,w,0,0,t);k=Ga(14,a[w>>1],t)&65535;a:{R=C;e=void 0;for(e=0;;)switch(e){case 0:var I,K;I=R;e=k;K=t;I=(I<<16>>16)*(e<<16>>16)|0;e=(I|0)!=1073741824?1:2;break;case 1:I<<=1;e=3;break;case 2:h[K>>2]=1;I=2147483647;e=3;break;case 3:z=I;break a;default:x(0,"bad label: "+e)}z=void 0}n=(10-(a[y>>1]<<16>>16)|0)&65535;a:{y=z;K=n;I= void 0;for(I=0;;)switch(I){case 0:var J,G,U;J=y;G=K;U=0;I=(G<<16>>16|0)>0?1:4;break;case 1:I=(G<<16>>16|0)<31?2:3;break;case 2:U=J>>(G<<16>>16|0);I=3;break;case 3:I=7;break;case 4:G=(-(G<<16>>16)|0)&65535;U=J<<(G<<16>>16);I=(U>>(G<<16>>16|0)|0)!=(J|0)?5:6;break;case 5:U=J>>31^2147483647;I=6;break;case 6:I=7;break;case 7:z=U;break a;default:x(0,"bad label: "+I)}z=void 0}a[s>>1]=z>>16&65535;ib(l,A,u);B=j;return;default:x(0,"bad label: "+n)}}function zg(h,k,e,c,b,d){var i;for(i=0;;)switch(i){case 0:var g, f,j,n,l,q,m;g=h;f=k;j=e;i=c;n=b;l=d;i=(i<<16>>16|0)==0?1:5;break;case 1:i=(g<<16>>16|0)<463?2:3;break;case 2:i=((g<<16>>16)+5|0)&65535;i=((i<<16>>16)*5462|0)>>15&65535;i=((i<<16>>16)+17|0)&65535;a[n>>1]=i;i=i<<16>>16<<1&65535;i=((i<<16>>16)+(a[n>>1]<<16>>16)|0)&65535;i=i<<16>>16<<1&65535;i=((g<<16>>16)-(i<<16>>16)|0)&65535;a[l>>1]=((i<<16>>16)+105|0)&65535;i=4;break;case 3:a[n>>1]=((g<<16>>16)-368|0)&65535;a[l>>1]=0;i=4;break;case 4:i=10;break;case 5:q=((a[n>>1]<<16>>16)-5|0)&65535;i=(q<<16>>16|0)< (f<<16>>16|0)?6:7;break;case 6:q=f;i=7;break;case 7:i=((q<<16>>16)+9|0)&65535;i=(i<<16>>16|0)>(j<<16>>16|0)?8:9;break;case 8:i=j;q=((i<<16>>16)-9|0)&65535;i=9;break;case 9:i=((g<<16>>16)+5|0)&65535;i=((i<<16>>16)*5462|0)>>15&65535;i=((i<<16>>16)-1|0)&65535;a[n>>1]=((i<<16>>16)+(q<<16>>16)|0)&65535;i=((i<<16>>16)+(i<<16>>16<<1)|0)&65535;i=i<<16>>16<<1&65535;m=((g<<16>>16)-3|0)&65535;a[l>>1]=((m<<16>>16)-(i<<16>>16)|0)&65535;i=10;break;case 10:return;default:x(0,"bad label: "+i)}}function Ad(a,k){var e; for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Ag(h,k,e){var c;for(c=0;;)switch(c){case 0:var b;c=h;b=a[(e+(k<<16>>16<<1)|0)>>1];c= (c|0)==7?1:2;break;case 1:b=b<<16>>16&65532;c=2;break;case 2:return b;default:x(0,"bad label: "+c)}}function yg(R,k,e,c,b,d,i,g,f){var j;for(j=0;;)switch(j){case 0:var n,l,q,m,p,o,r,s,v;n=R;l=k;q=e;j=c;m=b;p=d;o=i;r=g;s=f;j=(j<<16>>16|0)==0?1:5;break;case 1:j=(n<<16>>16|0)<197?2:3;break;case 2:v=((n<<16>>16)+2|0)&65535;a:{j=s;for(var t=void 0,t=0;;)switch(t){case 0:var u,w;u=v;w=j;u=((u<<16>>16)*10923|0)>>15;t=(u|0)>32767?1:2;break;case 1:h[w>>2]=1;u=32767;t=2;break;case 2:v=u&65535;break a;default:x(0, "bad label: "+t)}v=void 0}j=((v<<16>>16)+19|0)&65535;a[p>>1]=j;j=j<<16>>16<<1&65535;j=((j<<16>>16)+(a[p>>1]<<16>>16)|0)&65535;v=((n<<16>>16)-(j<<16>>16)|0)&65535;a[o>>1]=((v<<16>>16)+58|0)&65535;j=4;break;case 3:a[p>>1]=((n<<16>>16)-112|0)&65535;a[o>>1]=0;j=4;break;case 4:j=19;break;case 5:j=(r<<16>>16|0)==0?6:7;break;case 6:j=((n<<16>>16)+2|0)&65535;j=((j<<16>>16)*10923|0)>>15&65535;j=((j<<16>>16)-1|0)&65535;a[p>>1]=((j<<16>>16)+(l<<16>>16)|0)&65535;j=((j<<16>>16)+(j<<16>>16<<1)|0)&65535;v=((n<< 16>>16)-2|0)&65535;a[o>>1]=((v<<16>>16)-(j<<16>>16)|0)&65535;j=18;break;case 7:v=m;j=ha(v,l,s);j=(j<<16>>16|0)>5?8:9;break;case 8:v=((l<<16>>16)+5|0)&65535;j=9;break;case 9:j=((q<<16>>16)-(v<<16>>16)|0)&65535;j=(j<<16>>16|0)>4?10:11;break;case 10:v=((q<<16>>16)-4|0)&65535;j=11;break;case 11:j=(n<<16>>16|0)<4?12:13;break;case 12:j=((v<<16>>16)-5|0)&65535;a[p>>1]=((j<<16>>16)+(n<<16>>16)|0)&65535;a[o>>1]=0;j=17;break;case 13:j=(n<<16>>16|0)<12?14:15;break;case 14:j=((n<<16>>16)-5|0)&65535;j=((j<<16>> 16)*10923|0)>>15&65535;j=j-1&65535;a[p>>1]=((j<<16>>16)+(v<<16>>16)|0)&65535;j=((j<<16>>16)+(j<<16>>16<<1)|0)&65535;v=((n<<16>>16)-9|0)&65535;a[o>>1]=((v<<16>>16)-(j<<16>>16)|0)&65535;j=16;break;case 15:j=((n<<16>>16)-12|0)&65535;j=((j<<16>>16)+(v<<16>>16)|0)&65535;a[p>>1]=((j<<16>>16)+1|0)&65535;a[o>>1]=0;j=16;break;case 16:j=17;break;case 17:j=18;break;case 18:j=19;break;case 19:return;default:x(0,"bad label: "+j)}}function xd(R,k,e,c,b,d,i){var g=B;B+=16;x(B%4==0,"Stack is unaligned");x(B>16&31;n=q+((((n<<16>>16)+(n<<16>>16<<1)|0)&65535)<<16>>16<<1)|0;f=(ha(f&65535,7,p)<<16>>16|0)==0?1:2;break;case 1:l=Ga(a[o>>1],a[r>>1],p)&65535;f=l=Ad(l,4,p);l=n;n=l+2|0;a:{l=a[l>>1];q=p;s=void 0;for(s=0;;)switch(s){case 0:var t,u;t=f;s=l;u=q;t=((t<<16>>16)*(s<<16>>16)|0)>>15;s=(t|0)>32767?1:2;break;case 1:h[u>>2]=1;t=32767;s=2;break;case 2:f=t&65535;break a;default:x(0, "bad label: "+s)}f=void 0}f=Ad(f,1,p);a[m>>1]=f;f=3;break;case 2:l=Ga(14,a[r>>1],p)&65535;f=n;n=f+2|0;a:{f=a[f>>1];q=p;s=void 0;for(s=0;;)switch(s){case 0:var w,y;w=f;s=l;y=q;w=(w<<16>>16)*(s<<16>>16)|0;s=(w|0)!=1073741824?1:2;break;case 1:w<<=1;s=3;break;case 2:h[y>>2]=1;w=2147483647;s=3;break;case 3:f=w;break a;default:x(0,"bad label: "+s)}f=void 0}l=ha(9,a[o>>1],p);a:{q=void 0;for(q=0;;)switch(q){case 0:var A,C,z;A=f;C=l;z=0;q=(C<<16>>16|0)>0?1:4;break;case 1:q=(C<<16>>16|0)<31?2:3;break;case 2:z= A>>(C<<16>>16|0);q=3;break;case 3:q=7;break;case 4:C=(-(C<<16>>16)|0)&65535;z=A<<(C<<16>>16);q=(z>>(C<<16>>16|0)|0)!=(A|0)?5:6;break;case 5:z=A>>31^2147483647;q=6;break;case 6:q=7;break;case 7:f=z;break a;default:x(0,"bad label: "+q)}f=void 0}a[m>>1]=f>>16&65535;f=3;break;case 3:R=n;n=R+2|0;R=a[R>>1];k=a[n>>1];ib(j,R,k);B=g;return;default:x(0,"bad label: "+f)}}function Bd(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j;d=a;i=k;g=e;f=c;d=(d<<16>>16)*(g<<16>>16)|0;b=(d|0)!=1073741824?1:2;break; case 1:d<<=1;b=3;break;case 2:h[f>>2]=1;d=2147483647;b=3;break;case 3:b=((i<<16>>16)*(g<<16>>16)|0)>>15;j=d+(b<<1)|0;b=(d^b|0)>0?4:7;break;case 4:b=((j^d)>>31|0)!=0?5:6;break;case 5:j=(d>>31|0)!=0?-2147483648:2147483647;h[f>>2]=1;b=6;break;case 6:b=7;break;case 7:return j;default:x(0,"bad label: "+b)}}function Kg(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,h;d=a;i=k;g=e;f=c;j=(d<<16>>16)*(g<<16>>16)|0;b=(j|0)!=1073741824?1:2;break;case 1:j<<=1;b=3;break;case 2:j=2147483647;b=3;break;case 3:b= ((d<<16>>16)*(f<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?4:7;break;case 4:b=((h^j)>>31|0)!=0?5:6;break;case 5:h=(j>>31|0)!=0?-2147483648:2147483647;b=6;break;case 6:b=7;break;case 7:j=h;b=((i<<16>>16)*(g<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?8:11;break;case 8:b=((h^j)>>31|0)!=0?9:10;break;case 9:h=(j>>31|0)!=0?-2147483648:2147483647;b=10;break;case 10:b=11;break;case 11:return h;default:x(0,"bad label: "+b)}}function xa(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g,f,j,h,l;b=a;d=k;i=0;e= (b<<16>>16|0)>(d<<16>>16|0)?2:1;break;case 1:e=(b<<16>>16|0)<0?2:3;break;case 2:c=0;e=19;break;case 3:e=b<<16>>16!=0?4:18;break;case 4:e=(b<<16>>16|0)!=(d<<16>>16|0)?5:16;break;case 5:f=b<<16>>16;j=d<<16>>16;h=j<<1;l=j<<2;g=5;e=6;break;case 6:e=(g<<16>>16|0)>0?7:15;break;case 7:i=i<<16>>16<<3&65535;f<<=3;e=(f|0)>=(l|0)?8:9;break;case 8:f=f-l|0;i=(i<<16>>16|4)&65535;e=9;break;case 9:e=(f|0)>=(h|0)?10:11;break;case 10:f=f-h|0;i=(i<<16>>16|2)&65535;e=11;break;case 11:e=(f|0)>=(j|0)?12:13;break;case 12:f= f-j|0;i=(i<<16>>16|1)&65535;e=13;break;case 13:e=14;break;case 14:g=g-1&65535;e=6;break;case 15:e=17;break;case 16:i=32767;e=17;break;case 17:e=18;break;case 18:c=i;e=19;break;case 19:return c;default:x(0,"bad label: "+e)}}function Cd(a,k,e,c){var b,d;b=xa(16383,k);e=Bd(k,e,b,c);e=2147483647-e|0;k=e>>16&65535;e=Bd(k,((e>>1)-(k<<16>>16<<15)|0)&65535,b,c);k=e>>16&65535;b=a>>16&65535;e=Kg(b,((a>>1)-(b<<16>>16<<15)|0)&65535,k,((e>>1)-(k<<16>>16<<15)|0)&65535,c);a:{a=e;for(c=0;;)switch(c){case 0:var i, g;d=a;i=2;g=0;c=(i<<16>>16|0)>0?1:4;break;case 1:g=d<<(i<<16>>16);c=(g>>(i<<16>>16|0)|0)!=(d|0)?2:3;break;case 2:g=d>>31^2147483647;c=3;break;case 3:c=7;break;case 4:i=(-(i<<16>>16)|0)&65535;c=(i<<16>>16|0)<31?5:6;break;case 5:g=d>>(i<<16>>16|0);c=6;break;case 6:c=7;break;case 7:e=g;break a;default:x(0,"bad label: "+c)}e=void 0}return e}function qc(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break; case 2:return b&65535;default:x(0,"bad label: "+c)}}function td(R,k,e,c,b,d,i){var g=B;B+=40;x(B%4==0,"Stack is unaligned");x(B>2];w=h[(q+64|0)>>2];y=h[(q+4|0)>>2];A=h[(q+12|0)>>2];C=h[(q+20|0)>>2];z=h[(q+52|0)>>2];q=h[(q+56|0)>>2];f=(f<<16>>16|0)!=0?1:17;break;case 1:o=0;f=2;break;case 2:f=(o<<16>>16|0)<10?3:5;break;case 3:r=qc(a[((j+20|0)+(o<< 16>>16<<1)|0)>>1],29491,p);s=qc(a[(u+(o<<16>>16<<1)|0)>>1],3277,p);f=$(s,r,p);a[(t+(o<<16>>16<<1)|0)>>1]=f;f=4;break;case 4:o=o+1&65535;f=2;break;case 5:f=(n|0)!=8?6:11;break;case 6:o=0;f=7;break;case 7:f=(o<<16>>16|0)<10?8:10;break;case 8:r=qc(a[((j|0)+(o<<16>>16<<1)|0)>>1],a[(w+(o<<16>>16<<1)|0)>>1],p);r=$(a[(u+(o<<16>>16<<1)|0)>>1],r,p);f=ha(a[(t+(o<<16>>16<<1)|0)>>1],r,p);a[((j|0)+(o<<16>>16<<1)|0)>>1]=f;f=9;break;case 9:o=o+1&65535;f=7;break;case 10:f=16;break;case 11:o=0;f=12;break;case 12:f= (o<<16>>16|0)<10?13:15;break;case 13:r=$(a[(u+(o<<16>>16<<1)|0)>>1],a[((j|0)+(o<<16>>16<<1)|0)>>1],p);f=ha(a[(t+(o<<16>>16<<1)|0)>>1],r,p);a[((j|0)+(o<<16>>16<<1)|0)>>1]=f;f=14;break;case 14:o=o+1&65535;f=12;break;case 15:f=16;break;case 16:f=45;break;case 17:D=0;E=1533;F=0;K=A;f=(n|0)==0?19:18;break;case 18:f=(n|0)==1?19:20;break;case 19:I=y;J=z;D=765;F=508;f=24;break;case 20:f=(n|0)==5?21:22;break;case 21:I=q;J=C;D=1533;F=2044;f=23;break;case 22:I=y;J=C;D=765;F=2044;f=23;break;case 23:f=24;break; case 24:r=l;l=r+2|0;s=a[r>>1];r=((s<<16>>16)+(s<<16>>16<<1)|0)&65535;f=(r<<16>>16|0)>(D<<16>>16|0)?25:26;break;case 25:r=D;f=26;break;case 26:s=f=I+(r<<16>>16<<1)|0;f=s+2|0;a[(v|0)>>1]=a[s>>1];s=f;f=s+2|0;a[(v+2|0)>>1]=a[s>>1];a[(v+4|0)>>1]=a[f>>1];s=l;l=s+2|0;s=a[s>>1];f=(n|0)==0?28:27;break;case 27:f=(n|0)==1?28:29;break;case 28:s=s<<16>>16<<1&65535;f=29;break;case 29:r=((s<<16>>16)+(s<<16>>16<<1)|0)&65535;f=(r<<16>>16|0)>(E<<16>>16|0)?30:31;break;case 30:r=E;f=31;break;case 31:r=f=K+(r<<16>>16<< 1)|0;f=r+2|0;a[(v+6|0)>>1]=a[r>>1];r=f;f=r+2|0;a[(v+8|0)>>1]=a[r>>1];a[(v+10|0)>>1]=a[f>>1];r=l;l=r+2|0;s=a[r>>1];r=s<<16>>16<<2&65535;f=(r<<16>>16|0)>(F<<16>>16|0)?32:33;break;case 32:r=F;f=33;break;case 33:var G=f=J+(r<<16>>16<<1)|0;f=G+2|0;a[(v+12|0)>>1]=a[G>>1];G=f;f=G+2|0;a[(v+14|0)>>1]=a[G>>1];G=f;f=G+2|0;a[(v+16|0)>>1]=a[G>>1];a[(v+18|0)>>1]=a[f>>1];f=(n|0)!=8?34:39;break;case 34:o=0;f=35;break;case 35:f=(o<<16>>16|0)<10?36:38;break;case 36:r=qc(a[((j|0)+(o<<16>>16<<1)|0)>>1],a[(w+(o<<16>> 16<<1)|0)>>1],p);r=$(a[(u+(o<<16>>16<<1)|0)>>1],r,p);f=$(a[(v+(o<<16>>16<<1)|0)>>1],r,p);a[(t+(o<<16>>16<<1)|0)>>1]=f;a[((j|0)+(o<<16>>16<<1)|0)>>1]=a[(v+(o<<16>>16<<1)|0)>>1];f=37;break;case 37:o=o+1&65535;f=35;break;case 38:f=44;break;case 39:o=0;f=40;break;case 40:f=(o<<16>>16|0)<10?41:43;break;case 41:r=$(a[(u+(o<<16>>16<<1)|0)>>1],a[((j|0)+(o<<16>>16<<1)|0)>>1],p);f=$(a[(v+(o<<16>>16<<1)|0)>>1],r,p);a[(t+(o<<16>>16<<1)|0)>>1]=f;a[((j|0)+(o<<16>>16<<1)|0)>>1]=a[(v+(o<<16>>16<<1)|0)>>1];f=42;break; case 42:o=o+1&65535;f=40;break;case 43:f=44;break;case 44:f=45;break;case 45:Ma(t|0,205,10,p);ua(j+20|0,t|0,20,1,0);Fa(t|0,m,10,p);B=g;return;default:x(0,"bad label: "+f)}}function tb(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d= (c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function rc(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e<<16>>16|0)==-32768?1:2;break;case 1:var c=32767;k=3;break;case 2:c=-(e<<16>>16)|0;k=3;break;case 3:return c&65535;default:x(0,"bad label: "+k)}}function xg(R,k,e,c,b,d,i){var g=B;B+=80;x(B%4==0,"Stack is unaligned");x(B>2];A=h[(l+8|0)>>2];C=h[(l+16|0)>>2];z=h[(l+24|0)>>2];D=h[(l+28|0)>>2];l=h[(l+32|0)>>2];f=(f<<16>>16|0)!=0?1:6;break;case 1:o=0;f=2;break;case 2:f=(o<<16>>16|0)<10?3:5;break;case 3:f=((a[((j+20|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)*31128|0)>>15&65535;r=((a[(y+(o<<16>>16<<1)|0)>>1]<<16>>16)*1639|0)>>15&65535;f=$(r,f,p);a[((u|0)+(o<<16>>16<<1)|0)>>1]=f;a[((w|0)+(o<<16>>16<<1)|0)>>1]=a[((u|0)+(o<<16>>16<<1)|0)>>1];f=((a[((j|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)*21299|0)>> 15&65535;f=$(a[(y+(o<<16>>16<<1)|0)>>1],f,p);f=ha(a[((w|0)+(o<<16>>16<<1)|0)>>1],f,p);a[((j|0)+(o<<16>>16<<1)|0)>>1]=f;f=4;break;case 4:o=o+1&65535;f=2;break;case 5:f=17;break;case 6:f=tb(a[n>>1],2,p);r=s=A+(f<<16>>16<<1)|0;s=r+2|0;a[(v|0)>>1]=a[r>>1];r=s;s=r+2|0;a[((v|0)+2|0)>>1]=a[r>>1];r=s;s=r+2|0;a[(t|0)>>1]=a[r>>1];a[((t|0)+2|0)>>1]=a[s>>1];f=tb(a[(n+2|0)>>1],2,p);r=s=C+(f<<16>>16<<1)|0;s=r+2|0;a[((v|0)+4|0)>>1]=a[r>>1];r=s;s=r+2|0;a[((v|0)+6|0)>>1]=a[r>>1];r=s;s=r+2|0;a[((t|0)+4|0)>>1]=a[r>> 1];r=s;s=r+2|0;a[((t|0)+6|0)>>1]=a[r>>1];r=a[(n+4|0)>>1]<<16>>16&1;f=(a[(n+4|0)>>1]<<16>>16|0)<0?7:8;break;case 7:o=((a[(n+4|0)>>1]<<16>>16^-1)>>1^-1)&65535;f=9;break;case 8:o=a[(n+4|0)>>1]<<16>>16>>1&65535;f=9;break;case 9:f=tb(o,2,p);s=z+(f<<16>>16<<1)|0;f=(r<<16>>16|0)==0?10:11;break;case 10:f=s;s=f+2|0;a[((v|0)+8|0)>>1]=a[f>>1];f=s;s=f+2|0;a[((v|0)+10|0)>>1]=a[f>>1];f=s;s=f+2|0;a[((t|0)+8|0)>>1]=a[f>>1];f=s;s=f+2|0;a[((t|0)+10|0)>>1]=a[f>>1];f=12;break;case 11:f=s;s=f+2|0;f=rc(a[f>>1]);a[((v| 0)+8|0)>>1]=f;f=s;s=f+2|0;f=rc(a[f>>1]);a[((v|0)+10|0)>>1]=f;f=s;s=f+2|0;f=rc(a[f>>1]);a[((t|0)+8|0)>>1]=f;f=s;s=f+2|0;f=rc(a[f>>1]);a[((t|0)+10|0)>>1]=f;f=12;break;case 12:f=tb(a[(n+6|0)>>1],2,p);o=s=D+(f<<16>>16<<1)|0;s=o+2|0;a[((v|0)+12|0)>>1]=a[o>>1];o=s;s=o+2|0;a[((v|0)+14|0)>>1]=a[o>>1];o=s;s=o+2|0;a[((t|0)+12|0)>>1]=a[o>>1];a[((t|0)+14|0)>>1]=a[s>>1];f=tb(a[(n+8|0)>>1],2,p);o=s=l+(f<<16>>16<<1)|0;s=o+2|0;a[((v|0)+16|0)>>1]=a[o>>1];o=s;s=o+2|0;a[((v|0)+18|0)>>1]=a[o>>1];o=s;s=o+2|0;a[((t|0)+ 16|0)>>1]=a[o>>1];o=s;s=o+2|0;a[((t|0)+18|0)>>1]=a[o>>1];o=0;f=13;break;case 13:f=(o<<16>>16|0)<10?14:16;break;case 14:a:{f=a[((j|0)+(o<<16>>16<<1)|0)>>1];for(var E=p,F=void 0,F=0;;)switch(F){case 0:var I,K;I=f;K=E;I=((I<<16>>16)*21299|0)>>15;F=(I|0)>32767?1:2;break;case 1:h[K>>2]=1;I=32767;F=2;break;case 2:f=I&65535;break a;default:x(0,"bad label: "+F)}f=void 0}f=$(a[(y+(o<<16>>16<<1)|0)>>1],f,p);E=$(a[((v|0)+(o<<16>>16<<1)|0)>>1],f,p);a[((u|0)+(o<<16>>16<<1)|0)>>1]=E;f=$(a[((t|0)+(o<<16>>16<<1)| 0)>>1],f,p);a[((w|0)+(o<<16>>16<<1)|0)>>1]=f;a[((j|0)+(o<<16>>16<<1)|0)>>1]=a[((t|0)+(o<<16>>16<<1)|0)>>1];f=15;break;case 15:o=o+1&65535;f=13;break;case 16:f=17;break;case 17:Ma(u|0,205,10,p);Ma(w|0,205,10,p);ua(j+20|0,w|0,20,1,0);Fa(u|0,q,10,p);Fa(w|0,m,10,p);B=g;return;default:x(0,"bad label: "+f)}}function pg(h,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i;b=h;d=k;e=(b|0)==0?1:2;break;case 1:c=-1;e=7;break;case 2:i=0;e=3;break;case 3:e=(i<<16>>16|0)<10?4:6;break;case 4:a[((b|0)+(i<<16>>16<< 1)|0)>>1]=0;e=5;break;case 5:i=i+1&65535;e=3;break;case 6:ua(b+20|0,d,20,1,0);c=0;e=7;break;case 7:return c;default:x(0,"bad label: "+e)}}function rd(R){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=R;k=(c|0)==0?1:2;break;case 1:e=-1;k=11;break;case 2:a[(c|0)>>1]=0;a[(c+2|0)>>1]=8192;a[(c+4|0)>>1]=3500;a[(c+6|0)>>1]=3500;h[(c+8|0)>>2]=1887529304;a[(c+12|0)>>1]=3E4;a[((c+12|0)+2|0)>>1]=26E3;a[((c+12|0)+4|0)>>1]=21E3;a[((c+12|0)+6|0)>>1]=15E3;a[((c+12|0)+8|0)>>1]=8E3;a[((c+12|0)+10|0)>>1]=0;a[((c+12| 0)+12|0)>>1]=-8E3;a[((c+12|0)+14|0)>>1]=-15E3;a[((c+12|0)+16|0)>>1]=-21E3;a[((c+12|0)+18|0)>>1]=-26E3;a[(c+32|0)>>1]=3E4;a[((c+32|0)+2|0)>>1]=26E3;a[((c+32|0)+4|0)>>1]=21E3;a[((c+32|0)+6|0)>>1]=15E3;a[((c+32|0)+8|0)>>1]=8E3;a[((c+32|0)+10|0)>>1]=0;a[((c+32|0)+12|0)>>1]=-8E3;a[((c+32|0)+14|0)>>1]=-15E3;a[((c+32|0)+16|0)>>1]=-21E3;a[((c+32|0)+18|0)>>1]=-26E3;a[(c+212|0)>>1]=0;a[(c+374|0)>>1]=0;a[(c+392|0)>>1]=0;a[(c+52|0)>>1]=1384;a[((c+52|0)+2|0)>>1]=2077;a[((c+52|0)+4|0)>>1]=3420;a[((c+52|0)+6|0)>> 1]=5108;a[((c+52|0)+8|0)>>1]=6742;a[((c+52|0)+10|0)>>1]=8122;a[((c+52|0)+12|0)>>1]=9863;a[((c+52|0)+14|0)>>1]=11092;a[((c+52|0)+16|0)>>1]=12714;a[((c+52|0)+18|0)>>1]=13701;b=1;k=3;break;case 3:k=(b<<16>>16|0)<8?4:6;break;case 4:ua((c+52|0)+(((b<<16>>16)*10|0)<<1)|0,c+52|0,20,1,0);k=5;break;case 5:b=b+1&65535;k=3;break;case 6:ta(c+214|0,0,160,1);b=0;k=7;break;case 7:k=(b<<16>>16|0)<8?8:10;break;case 8:a[((c+376|0)+(b<<16>>16<<1)|0)>>1]=a[(c+4|0)>>1];k=9;break;case 9:b=b+1&65535;k=7;break;case 10:a[(c+ 394|0)>>1]=0;a[(c+396|0)>>1]=7;a[(c+398|0)>>1]=32767;a[(c+400|0)>>1]=0;a[(c+402|0)>>1]=0;a[(c+404|0)>>1]=0;h[(c+408|0)>>2]=1;e=a[(c+412|0)>>1]=0;k=11;break;case 11:return e;default:x(0,"bad label: "+k)}}function wg(R,k,e,c,b,d,i,g,f,j,n,l){var q=B;B+=296;x(B%4==0,"Stack is unaligned");x(B>1]<<16>>16|0)!=0?1:53;break;case 1:m=(a[(p+400|0)>>1]<<16>>16|0)!=0?2:53;break;case 2:a[(p+394|0)>>1]=a[(Tb+(u<<1)|0)>>1];Y=((a[(p+212|0)>>1]<<16>>16)+10|0)&65535;m=(Y<<16>>16|0)==80?3:4;break;case 3:Y=0;m=4;break;case 4:ua((p+52|0)+(Y<<16>>16<<1)|0,(p+52|0)+(a[(p+212|0)>>1]<<16>>16<<1)|0,20,1,0);Y=((a[(p+392|0)>>1]<<16>>16)+1|0)&65535;m=(Y<<16>>16|0)==8?5:6;break;case 5:Y=0;m=6;break;case 6:a[((p+376|0)+(Y<<16>>16<<1)|0)>>1]=a[((p+ 376|0)+(a[(p+392|0)>>1]<<16>>16<<1)|0)>>1];a[(p+4|0)>>1]=0;E=9;m=7;break;case 7:m=(E<<16>>16|0)>=0?8:10;break;case 8:h[(da+(E<<16>>16<<2)|0)>>2]=0;m=9;break;case 9:E=E-1&65535;m=7;break;case 10:E=7;m=11;break;case 11:m=(E<<16>>16|0)>=0?12:21;break;case 12:m=(a[((p+376|0)+(E<<16>>16<<1)|0)>>1]<<16>>16|0)<0?13:14;break;case 13:W=((a[((p+376|0)+(E<<16>>16<<1)|0)>>1]<<16>>16^-1)>>3^-1)&65535;m=15;break;case 14:W=a[((p+376|0)+(E<<16>>16<<1)|0)>>1]<<16>>16>>3&65535;m=15;break;case 15:F=$(a[(p+4|0)>>1], W,z);a[(p+4|0)>>1]=F;F=9;m=16;break;case 16:m=(F<<16>>16|0)>=0?17:19;break;case 17:m=Ub(h[(da+(F<<16>>16<<2)|0)>>2],a[((p+52|0)+((((E<<16>>16)*10|0)+(F<<16>>16)|0)<<1)|0)>>1]<<16>>16,z);h[(da+(F<<16>>16<<2)|0)>>2]=m;m=18;break;case 18:F=F-1&65535;m=16;break;case 19:m=20;break;case 20:E=E-1&65535;m=11;break;case 21:F=9;m=22;break;case 22:m=(F<<16>>16|0)>=0?23:28;break;case 23:m=(h[(da+(F<<16>>16<<2)|0)>>2]|0)<0?24:25;break;case 24:a[(aa+(F<<16>>16<<1)|0)>>1]=((h[(da+(F<<16>>16<<2)|0)>>2]^-1)>>3^-1)& 65535;m=26;break;case 25:a[(aa+(F<<16>>16<<1)|0)>>1]=h[(da+(F<<16>>16<<2)|0)>>2]>>3&65535;m=26;break;case 26:m=27;break;case 27:F=F-1&65535;m=22;break;case 28:Fa(aa|0,p+12|0,10,z);E=ha(a[(p+4|0)>>1],a[(p+394|0)>>1],z);a[(p+4|0)>>1]=E;ua(p+214|0,p+52|0,160,1,0);E=9;m=29;break;case 29:m=(E<<16>>16|0)>=0?30:52;break;case 30:X=0;F=7;m=31;break;case 31:m=(F<<16>>16|0)>=0?32:34;break;case 32:X=Ub(X,a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]<<16>>16,z);m=33;break;case 33:F=F-1&65535;m=31; break;case 34:m=(X|0)<0?35:36;break;case 35:T=((X^-1)>>3^-1)&65535;m=37;break;case 36:T=X>>3&65535;m=37;break;case 37:F=7;m=38;break;case 38:m=(F<<16>>16|0)>=0?39:50;break;case 39:m=ha(a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1],T,z);a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]=m;m=Na(a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1],a[(Lg+(E<<16>>16<<1)|0)>>1],z);a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]=m;m=(a[((p+214|0)+(((E<<16>>16)+((F<< 16>>16)*10|0)|0)<<1)|0)>>1]<<16>>16|0)<0?40:41;break;case 40:Q=1;m=42;break;case 41:Q=0;m=42;break;case 42:m=a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1];var ga=void 0,ga=((m<<16>>16)-((m<<16>>16|0)<0&1)|0)&65535,ga=(ga<<16>>16^ga<<16>>16>>15)&65535;a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]=ga;m=(a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]<<16>>16|0)>655?43:44;break;case 43:a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]=((((a[((p+214|0)+ (((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]<<16>>16)-655|0)>>2)+655|0)&65535;m=44;break;case 44:m=(a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]<<16>>16|0)>1310?45:46;break;case 45:a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]=1310;m=46;break;case 46:m=(Q|0)!=0?47:48;break;case 47:a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]=(-(a[((p+214|0)+(((E<<16>>16)+((F<<16>>16)*10|0)|0)<<1)|0)>>1]<<16>>16)|0)&65535;m=48;break;case 48:m=49;break;case 49:F=F-1&65535; m=38;break;case 50:m=51;break;case 51:E=E-1&65535;m=29;break;case 52:m=53;break;case 53:m=(a[(p+400|0)>>1]<<16>>16|0)!=0?54:81;break;case 54:ua(p+32|0,p+12|0,20,1,0);a[(p+6|0)>>1]=a[(p+4|0)>>1];m=(a[(p+402|0)>>1]<<16>>16|0)!=0?55:72;break;case 55:ba=a[(p|0)>>1];a[(p|0)>>1]=0;m=(ba<<16>>16|0)>=32?56:57;break;case 56:ba=32;m=57;break;case 57:ia=ba<<16>>16<<10;m=(ia|0)!=((ia&65535)<<16>>16|0)?58:59;break;case 58:h[z>>2]=1;ia=(ba<<16>>16|0)>0?32767:-32768;m=59;break;case 59:W=ia&65535;m=(ba<<16>>16|0)>= 2?60:61;break;case 60:m=xa(1024,W);a[(p+2|0)>>1]=m;m=62;break;case 61:a[(p+2|0)>>1]=16384;m=62;break;case 62:ua(r|0,h[(y+60|0)>>2]+(((a[(w|0)>>1]<<16>>16)*10|0)<<1)|0,20,1,0);td(r,8,0,w+2|0,y,p+12|0,z);ta(r|0,0,20,1);D=a[(w+8|0)>>1];m=(D<<16>>16|0)>63?64:63;break;case 63:m=(D<<16>>16|0)<-64?64:65;break;case 64:a[(p+4|0)>>1]=((D<<16>>16|0)>0?32767:-32768)&65535;m=66;break;case 65:a[(p+4|0)>>1]=D<<16>>16<<9&65535;m=66;break;case 66:m=p+4|0;a[m>>1]=((a[m>>1]<<16>>16)-5120|0)&65535;m=(D<<16>>16|0)==0? 67:68;break;case 67:a[(p+4|0)>>1]=-32768;m=68;break;case 68:m=(a[(p+412|0)>>1]<<16>>16|0)==0?70:69;break;case 69:m=(h[(p+408|0)>>2]|0)==0?70:71;break;case 70:ua(p+32|0,p+12|0,20,1,0);a[(p+6|0)>>1]=a[(p+4|0)>>1];m=71;break;case 71:m=72;break;case 72:m=(a[(p+4|0)>>1]<<16>>16|0)<0?73:74;break;case 73:W=((a[(p+4|0)>>1]<<16>>16^-1)>>1^-1)&65535;m=75;break;case 74:W=a[(p+4|0)>>1]<<16>>16>>1&65535;m=75;break;case 75:N=((W<<16>>16)-9E3|0)&65535;m=(N<<16>>16|0)>0?76:77;break;case 76:N=0;m=80;break;case 77:m= (N<<16>>16|0)<-14436?78:79;break;case 78:N=-14436;m=79;break;case 79:m=80;break;case 80:a[(s|0)>>1]=N;a[((s|0)+2|0)>>1]=N;a[((s|0)+4|0)>>1]=N;a[((s|0)+6|0)>>1]=N;N=((N<<16>>16)*5443|0)>>15&65535;a[(s+8|0)>>1]=N;a[((s+8|0)+2|0)>>1]=N;a[((s+8|0)+4|0)>>1]=N;a[((s+8|0)+6|0)>>1]=N;m=81;break;case 81:m=(a[(Tb+(u<<1)|0)>>1]<<16>>16|0)>1023?82:83;break;case 82:W=32767;m=87;break;case 83:m=(a[(Tb+(u<<1)|0)>>1]<<16>>16|0)<-1024?84:85;break;case 84:W=-32768;m=86;break;case 85:W=((a[(Tb+(u<<1)|0)>>1]<<16>>16<< 5)*3277|0)>>15&65535;m=86;break;case 86:m=87;break;case 87:m=(W<<16>>16|0)<0?88:89;break;case 88:W=((W<<16>>16^-1)>>5^-1)&65535;m=90;break;case 89:W=W<<16>>16>>5&65535;m=90;break;case 90:I=$(((a[(p+394|0)>>1]<<16>>16)*29491|0)>>15&65535,W,z);a[(p+394|0)>>1]=I;I=Dd(((a[(p|0)>>1]<<16>>16)+1|0)&65535,10,z);I=Na(I,a[(p+2|0)>>1],z);m=(I<<16>>16|0)>1024?91:92;break;case 91:I=16384;m=96;break;case 92:m=(I<<16>>16|0)<-2048?93:94;break;case 93:I=-32768;m=95;break;case 94:I=I<<16>>16<<4&65535;m=95;break;case 95:m= 96;break;case 96:a:{K=I;E=a[(p+4|0)>>1];m=z;ga=void 0;for(ga=0;;)switch(ga){case 0:var la,ma;la=K;ga=E;ma=m;la=(la<<16>>16)*(ga<<16>>16)|0;ga=(la|0)!=1073741824?1:2;break;case 1:la<<=1;ga=3;break;case 2:h[ma>>2]=1;la=2147483647;ga=3;break;case 3:K=la;break a;default:x(0,"bad label: "+ga)}K=void 0}E=9;m=97;break;case 97:m=(E<<16>>16|0)>=0?98:100;break;case 98:m=Na(I,a[((p+12|0)+(E<<16>>16<<1)|0)>>1],z);a[(J+(E<<16>>16<<1)|0)>>1]=m;m=99;break;case 99:E=E-1&65535;m=97;break;case 100:I=(16384-(I<<16>> 16)|0)&65535;K=Mg(K,I,a[(p+6|0)>>1],z);E=9;m=101;break;case 101:m=(E<<16>>16|0)>=0?102:106;break;case 102:ia=a[(J+(E<<16>>16<<1)|0)>>1];m=Na(I,a[((p+32|0)+(E<<16>>16<<1)|0)>>1],z);ia=$(ia,m,z);a[(J+(E<<16>>16<<1)|0)>>1]=ia;ia=a[(J+(E<<16>>16<<1)|0)>>1]<<16>>16<<1;m=(ia|0)!=((ia&65535)<<16>>16|0)?103:104;break;case 103:h[z>>2]=1;ia=(a[(J+(E<<16>>16<<1)|0)>>1]<<16>>16|0)>0?32767:-32768;m=104;break;case 104:a[(J+(E<<16>>16<<1)|0)>>1]=ia&65535;m=105;break;case 105:E=E-1&65535;m=101;break;case 106:S=((a[(p+ 374|0)>>1]<<16>>16)-2457|0)&65535;S=(4096-(Na(S,9830,z)<<16>>16)|0)&65535;m=(S<<16>>16|0)>4095?107:108;break;case 107:S=32767;m=112;break;case 108:m=(S<<16>>16|0)<0?109:110;break;case 109:S=0;m=111;break;case 110:S=S<<16>>16<<3&65535;m=111;break;case 111:m=112;break;case 112:M=gc(p+8|0,3);ub(J|0,P|0,10,z);ua(O|0,P|0,20,1,0);E=9;m=113;break;case 113:m=(E<<16>>16|0)>=0?114:116;break;case 114:m=a[(O+(E<<16>>16<<1)|0)>>1];ga=Na(S,a[((p+214|0)+(((E<<16>>16)+((M<<16>>16)*10|0)|0)<<1)|0)>>1],z);m=$(m,ga, z);a[(O+(E<<16>>16<<1)|0)>>1]=m;m=115;break;case 115:E=E-1&65535;m=113;break;case 116:Ma(P|0,205,10,z);Ma(O|0,205,10,z);ua(r+20|0,P|0,20,1,0);Fa(P|0,J|0,10,z);Fa(O|0,ca|0,10,z);ya(J|0,U|0,z);ya(ca|0,V|0,z);ua(C|0,U|0,22,1,0);ua(C+22|0,U|0,22,1,0);ua(C+44|0,U|0,22,1,0);ua(C+66|0,U|0,22,1,0);Re(U+2|0,fa|0,z);ja=32767;E=0;m=117;break;case 117:m=(E<<16>>16|0)<10?118:123;break;case 118:ia=((a[(fa+(E<<16>>16<<1)|0)>>1]<<16>>16)*(a[(fa+(E<<16>>16<<1)|0)>>1]<<16>>16)|0)>>15;m=(ia|0)<=32767?119:120;break; case 119:W=(32767-((ia&65535)<<16>>16)|0)&65535;m=121;break;case 120:h[z>>2]=1;W=0;m=121;break;case 121:ja=Na(ja,W,z);m=122;break;case 122:E=E+1&65535;m=117;break;case 123:Za(ja<<16>>16,Z,L,z);G=Dd(((a[Z>>1]<<16>>16)-15|0)&65535,12,z);E=ra(a[L>>1],3,z);G=$(G,E,z);G=ha(0,G,z);G=ra(G,1,z);E=Na(29491,a[(p+374|0)>>1],z);m=Na(3277,G,z);E=$(E,m,z);a[(p+374|0)>>1]=E;K=Ng(K,10,z);K=Ub(K,262144,z);G=Og(G<<16>>16,4,z);K=Pg(K,G,z);G=Og(a[(p+394|0)>>1]<<16>>16,5,z);K=Ub(K,G,z);G=K>>16&65535;E=Pg(K,G<<16>>16<< 16,z);E=Ng(E,1,z)&65535;G=Ga(G,E,z)&65535;E=0;m=124;break;case 124:m=(E<<16>>16|0)<4?125:131;break;case 125:Ue(p+8|0,H|0,z);F=39;m=126;break;case 126:m=(F<<16>>16|0)>=0?127:129;break;case 127:m=Na(G,a[(H+(F<<16>>16<<1)|0)>>1],z);a[(H+(F<<16>>16<<1)|0)>>1]=m;m=128;break;case 128:F=F-1&65535;m=126;break;case 129:Ca(V|0,H|0,A+(((E<<16>>16)*40|0)<<1)|0,40,o,1);m=130;break;case 130:E=E+1&65535;m=124;break;case 131:a[(v+14|0)>>1]=20;a[(v+16|0)>>1]=0;m=(t|0)==2?132:140;break;case 132:ba=a[(p|0)>>1];m=(ba<< 16>>16|0)>32?133:134;break;case 133:ba=32;m=137;break;case 134:m=(ba<<16>>16|0)<=0?135:136;break;case 135:ba=8;m=136;break;case 136:m=137;break;case 137:ia=ba<<16>>16<<10;m=(ia|0)!=((ia&65535)<<16>>16|0)?138:139;break;case 138:h[z>>2]=1;ia=(ba<<16>>16|0)>0?32767:-32768;m=139;break;case 139:W=ia&65535;m=xa(1024,W);a[(p+2|0)>>1]=m;a[(p|0)>>1]=0;ua(p+32|0,p+12|0,20,1,0);a[(p+6|0)>>1]=a[(p+4|0)>>1];a[(p+4|0)>>1]=((a[(p+4|0)>>1]<<16>>16)-256|0)&65535;m=140;break;case 140:m=(a[(p+400|0)>>1]<<16>>16|0)!= 0?141:145;break;case 141:m=(a[(p+402|0)>>1]<<16>>16|0)!=0?144:142;break;case 142:m=(a[(p+402|0)>>1]<<16>>16|0)==0?143:145;break;case 143:m=(a[(p+404|0)>>1]<<16>>16|0)!=0?144:145;break;case 144:a[(p|0)>>1]=0;a[(p+412|0)>>1]=1;m=145;break;case 145:B=q;return;default:x(0,"bad label: "+m)}}function Ub(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b+c|0;c=(b^c|0)>=0?1:4;break;case 1:c=((i^b)>>31|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c= 4;break;case 4:return i;default:x(0,"bad label: "+c)}}function Na(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function Dd(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d= c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Mg(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b= 7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function Ng(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:e=(b<<16>>16|0)<31?2:3;break;case 2:d=c>>(b<<16>>16|0);e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?5:6;break;case 5:d=c>>31^2147483647;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Pg(a,k,e){var c;for(c= 0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b-c|0;c=((b^c)>>31|0)!=0?1:4;break;case 1:c=((i^b)&-2147483648|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function Og(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3;break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535; e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Hg(R,k,e,c){var b=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>1]=0;d=i+212|0;a[d>>1]=((a[d>>1]<<16>>16)+10|0)&65535;d=(a[(i+212|0)>>1]<<16>>16|0)==80?1:2;break;case 1:a[(i+212|0)>>1]=0;d=2;break;case 2:ua((i+52|0)+(a[(i+212|0)>>1]<<16>>16<<1)|0,g,20,1,0);l= 0;n=159;d=3;break;case 3:d=(n<<16>>16|0)>=0?4:9;break;case 4:q=(a[(f+(n<<16>>16<<1)|0)>>1]<<16>>16)*(a[(f+(n<<16>>16<<1)|0)>>1]<<16>>16)|0;d=(q|0)!=1073741824?5:6;break;case 5:q<<=1;d=7;break;case 6:q=2147483647;d=7;break;case 7:l=Ub(l,q,j);d=8;break;case 8:n=n-1&65535;d=3;break;case 9:Za(l,m,p,j);q=a[m>>1]<<16>>16<<10;d=(q|0)!=((q&65535)<<16>>16|0)?10:11;break;case 10:h[j>>2]=1;q=(a[m>>1]<<16>>16|0)>0?32767:-32768;d=11;break;case 11:a[m>>1]=q&65535;d=(a[p>>1]<<16>>16|0)<0?12:13;break;case 12:a[p>> 1]=((a[p>>1]<<16>>16^-1)>>5^-1)&65535;d=14;break;case 13:a[p>>1]=a[p>>1]<<16>>16>>5&65535;d=14;break;case 14:o=((a[m>>1]<<16>>16)+(a[p>>1]<<16>>16)|0)&65535;o=((o<<16>>16)-8521|0)&65535;d=i+392|0;a[d>>1]=((a[d>>1]<<16>>16)+1|0)&65535;d=(a[(i+392|0)>>1]<<16>>16|0)==8?15:16;break;case 15:a[(i+392|0)>>1]=0;d=16;break;case 16:a[((i+376|0)+(a[(i+392|0)>>1]<<16>>16<<1)|0)>>1]=o;B=b;return;default:x(0,"bad label: "+d)}}function vg(R,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f;b=R;d=k;i=e;c=(d|0)== 4?8:1;break;case 1:c=(d|0)==5?8:2;break;case 2:c=(d|0)==6?8:3;break;case 3:c=(h[(b+408|0)>>2]|0)==1?5:4;break;case 4:c=(h[(b+408|0)>>2]|0)==2?5:18;break;case 5:c=(d|0)==7?8:6;break;case 6:c=(d|0)==3?8:7;break;case 7:c=(d|0)==2?8:18;break;case 8:g=1;c=(h[(b+408|0)>>2]|0)==2?9:14;break;case 9:c=(d|0)==6?13:10;break;case 10:c=(d|0)==4?13:11;break;case 11:c=(d|0)==2?13:12;break;case 12:c=(d|0)==7?13:14;break;case 13:g=2;c=14;break;case 14:c=b|0;a[c>>1]=((a[c>>1]<<16>>16)+1|0)&65535;c=(d|0)!=5?15:17;break; case 15:c=(a[(b|0)>>1]<<16>>16|0)>50?16:17;break;case 16:g=2;c=17;break;case 17:c=19;break;case 18:g=0;a[(b|0)>>1]=0;c=19;break;case 19:c=(a[(b+412|0)>>1]<<16>>16|0)==0?20:22;break;case 20:c=(d|0)==5?21:22;break;case 21:a[(b+398|0)>>1]=0;c=22;break;case 22:c=$(a[(b+398|0)>>1],1,i);a[(b+398|0)>>1]=c;a[(b+404|0)>>1]=0;c=(d|0)==4?27:23;break;case 23:c=(d|0)==5?27:24;break;case 24:c=(d|0)==6?27:25;break;case 25:c=(d|0)==2?27:26;break;case 26:c=(d|0)==7?27:31;break;case 27:f=1;c=(d|0)==7?28:30;break;case 28:c= (g|0)==0?29:30;break;case 29:f=0;c=30;break;case 30:c=32;break;case 31:f=0;c=32;break;case 32:c=(f|0)==0?33:34;break;case 33:a[(b+396|0)>>1]=7;c=41;break;case 34:c=(a[(b+398|0)>>1]<<16>>16|0)>30?35:36;break;case 35:a[(b+404|0)>>1]=1;a[(b+398|0)>>1]=0;a[(b+396|0)>>1]=0;c=40;break;case 36:c=(a[(b+396|0)>>1]<<16>>16|0)==0?37:38;break;case 37:a[(b+398|0)>>1]=0;c=39;break;case 38:c=b+396|0;a[c>>1]=((a[c>>1]<<16>>16)-1|0)&65535;c=39;break;case 39:c=40;break;case 40:c=41;break;case 41:c=(g|0)!=0?42:51;break; case 42:a[(b+400|0)>>1]=0;a[(b+402|0)>>1]=0;c=(d|0)==4?43:44;break;case 43:a[(b+400|0)>>1]=1;c=50;break;case 44:c=(d|0)==5?45:46;break;case 45:a[(b+400|0)>>1]=1;a[(b+402|0)>>1]=1;c=49;break;case 46:c=(d|0)==6?47:48;break;case 47:a[(b+400|0)>>1]=1;a[(b+404|0)>>1]=0;c=48;break;case 48:c=49;break;case 49:c=50;break;case 50:c=51;break;case 51:return g;default:x(0,"bad label: "+c)}}function md(h,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i;b=h;d=k;e=(b|0)==0?1:2;break;case 1:c=-1;e=7;break;case 2:a[(b+ 176|0)>>1]=0;a[(b+178|0)>>1]=0;a[(b+180|0)>>1]=0;a[(b+182|0)>>1]=0;a[((b+182|0)+2|0)>>1]=0;i=a[((b+182|0)+4|0)>>1]=0;e=3;break;case 3:e=(i<<16>>16|0)<8?4:6;break;case 4:e=(b|0)+(((i<<16>>16)*10|0)<<1)|0;var g=d;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(e,g,20,1);e=5;break;case 5:i=i+1&65535;e=3;break;case 6:ta(b+160|0,0,20,1);a[(b+188|0)>>1]=7;a[(b+190|0)>>1]=32767;c=1;e=7;break;case 7:return c;default:x(0,"bad label: "+e)}}function ag(R,k,e,c,b,d){var i= B;B+=100;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:1;break;case 1:g=(a[(f+178|0)>>1]<<16>>16|0)==0?2:41;break;case 2:r=0;m=9;g=3;break;case 3:g=(m<<16>>16|0)>=0?4:6;break;case 4:h[(u+(m<<16>>16<<2)|0)>>2]=0;g=5;break;case 5:m=m-1&65535;g=3;break;case 6:g=m=7;break;case 7:g=(m<<16>>16|0)>=0?8:17;break;case 8:g=(a[((f+160|0)+(m<<16>>16<<1)|0)>>1]<<16>>16|0)<0? 9:10;break;case 9:o=((a[((f+160|0)+(m<<16>>16<<1)|0)>>1]<<16>>16^-1)>>2^-1)&65535;g=11;break;case 10:o=a[((f+160|0)+(m<<16>>16<<1)|0)>>1]<<16>>16>>2&65535;g=11;break;case 11:r=$(r,o,q);p=9;g=12;break;case 12:g=(p<<16>>16|0)>=0?13:15;break;case 13:a:{g=h[(u+(p<<16>>16<<2)|0)>>2];for(var w=a[((f|0)+((((m<<16>>16)*10|0)+(p<<16>>16)|0)<<1)|0)>>1]<<16>>16,y=q,A=void 0,A=0;;)switch(A){case 0:var C,z,D;C=g;A=w;z=y;D=C+A|0;A=(C^A|0)>=0?1:4;break;case 1:A=((D^C)>>31|0)!=0?2:3;break;case 2:D=(C>>31|0)!=0?-2147483648: 2147483647;h[z>>2]=1;A=3;break;case 3:A=4;break;case 4:g=D;break a;default:x(0,"bad label: "+A)}g=void 0}h[(u+(p<<16>>16<<2)|0)>>2]=g;g=14;break;case 14:p=p-1&65535;g=12;break;case 15:g=16;break;case 16:m=m-1&65535;g=7;break;case 17:g=(r<<16>>16|0)<0?18:19;break;case 18:r=((r<<16>>16^-1)>>1^-1)&65535;g=20;break;case 19:r=r<<16>>16>>1&65535;g=20;break;case 20:p=9;g=21;break;case 21:g=(p<<16>>16|0)>=0?22:27;break;case 22:g=(h[(u+(p<<16>>16<<2)|0)>>2]|0)<0?23:24;break;case 23:a[(v+(p<<16>>16<<1)|0)>> 1]=((h[(u+(p<<16>>16<<2)|0)>>2]^-1)>>3^-1)&65535;g=25;break;case 24:a[(v+(p<<16>>16<<1)|0)>>1]=h[(u+(p<<16>>16<<2)|0)>>2]>>3&65535;g=25;break;case 25:g=26;break;case 26:p=p-1&65535;g=21;break;case 27:a[(f+178|0)>>1]=((r<<16>>16)+2560|0)&65535;g=f+178|0;a[g>>1]=((a[g>>1]<<16>>16)+128|0)&65535;g=(a[(f+178|0)>>1]<<16>>16|0)<0?28:29;break;case 28:a[(f+178|0)>>1]=((a[(f+178|0)>>1]<<16>>16^-1)>>8^-1)&65535;g=30;break;case 29:a[(f+178|0)>>1]=a[(f+178|0)>>1]<<16>>16>>8&65535;g=30;break;case 30:g=(a[(f+178| 0)>>1]<<16>>16|0)>63?31:32;break;case 31:a[(f+178|0)>>1]=63;g=35;break;case 32:g=(a[(f+178|0)>>1]<<16>>16|0)<0?33:34;break;case 33:a[(f+178|0)>>1]=0;g=34;break;case 34:g=35;break;case 35:r=a[(f+178|0)>>1]<<16>>16<<8&65535;r=ha(r,11560,q);g=(r<<16>>16|0)>0?36:37;break;case 36:r=0;g=40;break;case 37:g=(r<<16>>16|0)<-14436?38:39;break;case 38:r=-14436;g=39;break;case 39:g=40;break;case 40:a[(n|0)>>1]=r;a[((n|0)+2|0)>>1]=r;a[((n|0)+4|0)>>1]=r;a[((n|0)+6|0)>>1]=r;r=((r<<16>>16)*5443|0)>>15&65535;a[(n+ 8|0)>>1]=r;a[((n+8|0)+2|0)>>1]=r;a[((n+8|0)+4|0)>>1]=r;a[((n+8|0)+6|0)>>1]=r;ub(v|0,s|0,10,q);Ma(s|0,205,10,q);Fa(s|0,v|0,10,q);Ed(j,8,v|0,t|0,f+182|0,f+180|0,q);g=41;break;case 41:R=a[(f+180|0)>>1];k=l;e=h[k>>2];h[k>>2]=e+2|0;a[e>>1]=R;R=a[(f+182|0)>>1];k=l;e=h[k>>2];h[k>>2]=e+2|0;a[e>>1]=R;R=a[((f+182|0)+2|0)>>1];k=l;e=h[k>>2];h[k>>2]=e+2|0;a[e>>1]=R;R=a[((f+182|0)+4|0)>>1];k=l;e=h[k>>2];h[k>>2]=e+2|0;a[e>>1]=R;f=a[(f+178|0)>>1];R=h[l>>2];h[l>>2]=R+2|0;a[R>>1]=f;B=i;return;default:x(0,"bad label: "+ g)}}function Qg(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function rg(h){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:b=0;k=3;break;case 3:k=(b<<16>>16|0)<5?4:6;break;case 4:a[((c|0)+(b<<16>>16<<1)|0)>>1]=1;k=5;break;case 5:b=b+1&65535;k=3;break;case 6:a[(c+10|0)>>1]=0;a[(c+12|0)>>1]=1; e=0;k=7;break;case 7:return e;default:x(0,"bad label: "+k)}}function qg(h){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:b=0;k=3;break;case 3:k=(b<<16>>16|0)<5?4:6;break;case 4:a[((c|0)+(b<<16>>16<<1)|0)>>1]=1640;k=5;break;case 5:b=b+1&65535;k=3;break;case 6:a[(c+10|0)>>1]=0;a[(c+12|0)>>1]=16384;e=0;k=7;break;case 7:return e;default:x(0,"bad label: "+k)}}function $f(R,k,e,c){var b=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>1]=((a[d>>1]<<16>>16)+1|0)&65535;d=(a[(i+176|0)>>1]<<16>>16|0)==8?1:2;break;case 1:a[(i+176|0)>>1]=0;d=2;break;case 2:n=(i|0)+(((a[(i+176|0)>>1]<<16>>16)*10|0)<<1)|0;l=g;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(n,l,20,1);l=0;n=160;d=3;break;case 3:d=(n<<16>>16|0)!=0?4:8;break;case 4:l=l+(((a[f>>1]<<16>>16)*(a[f>>1]<<16>>16)|0)<<1)|0;f=f+2|0;d=(l|0)<0?5:6;break; case 5:l=2147483647;d=8;break;case 6:d=7;break;case 7:n=n-1&65535;d=3;break;case 8:Za(l,m,p,j);q=a[m>>1]<<16>>16<<10;d=(q|0)!=((q&65535)<<16>>16|0)?9:10;break;case 9:h[j>>2]=1;o=((a[m>>1]<<16>>16|0)>0?32767:-32768)&65535;d=11;break;case 10:o=q&65535;d=11;break;case 11:o=((o<<16>>16)+(a[p>>1]<<16>>16>>5)|0)&65535;o=((o<<16>>16)-8521|0)&65535;a[((i+160|0)+(a[(i+176|0)>>1]<<16>>16<<1)|0)>>1]=o<<16>>16>>1&65535;B=b;return;default:x(0,"bad label: "+d)}}function Xf(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d, i,g,f;d=R;b=k;i=e;g=c;f=$(a[(d+190|0)>>1],1,g);a[(d+190|0)>>1]=f;f=0;b=(b<<16>>16|0)!=0?1:2;break;case 1:a[(d+188|0)>>1]=7;b=8;break;case 2:b=(a[(d+188|0)>>1]<<16>>16|0)==0?3:4;break;case 3:a[(d+190|0)>>1]=0;h[i>>2]=8;f=1;b=7;break;case 4:b=d+188|0;a[b>>1]=((a[b>>1]<<16>>16)-1|0)&65535;b=$(a[(d+190|0)>>1],a[(d+188|0)>>1],g);b=(b<<16>>16|0)<30?5:6;break;case 5:h[i>>2]=8;b=6;break;case 6:b=7;break;case 7:b=8;break;case 8:return f;default:x(0,"bad label: "+b)}}function Qb(h,k,e,c,b){var d=B;B+=8;x(B% 4==0,"Stack is unaligned");x(B>1],l)<<16>>16|0)>0?1:2;break;case 1:q=a[(g+10|0)>>1];i=2;break;case 2:q=Qg(q,a[(Rg+(j<<16>>16<<1)|0)>>1],l);a[n>>1]=q;Sg(f,m,p,l);ib(f,a[m>>1],a[p>>1]);B=d;return;default:x(0,"bad label: "+i)}}function Rb(h,k,e,c,b){var d;for(d=0;;)switch(d){case 0:var i,g,f,j,n;i=h;d=k;g=e;f=c;j=b;d=(d<<16>>16|0)==0?1:6;break;case 1:d=(g<<16>>16|0)!= 0?2:5;break;case 2:d=(ha(a[f>>1],a[(i+12|0)>>1],j)<<16>>16|0)>0?3:4;break;case 3:a[f>>1]=a[(i+12|0)>>1];d=4;break;case 4:d=5;break;case 5:a[(i+12|0)>>1]=a[f>>1];d=6;break;case 6:a[(i+10|0)>>1]=a[f>>1];n=1;d=7;break;case 7:d=(n<<16>>16|0)<5?8:10;break;case 8:a[((i|0)+(((n<<16>>16)-1|0)<<1)|0)>>1]=a[((i|0)+(n<<16>>16<<1)|0)>>1];d=9;break;case 9:n=n+1&65535;d=7;break;case 10:a[((i|0)+8|0)>>1]=a[f>>1];return;default:x(0,"bad label: "+d)}}function oc(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g, f,j;d=h;i=k;g=e;f=c;j=Ya(d|0,5);b=(ha(j,a[(d+10|0)>>1],f)<<16>>16|0)>0?1:2;break;case 1:j=a[(d+10|0)>>1];b=2;break;case 2:h=Qg(j,a[(Tg+(i<<16>>16<<1)|0)>>1],f);a[g>>1]=h;return;default:x(0,"bad label: "+b)}}function Pb(h,k,e,c,b){var d;for(d=0;;)switch(d){case 0:var i,g,f,j,n;i=h;d=k;g=e;f=c;j=b;d=(d<<16>>16|0)==0?1:6;break;case 1:d=(g<<16>>16|0)!=0?2:5;break;case 2:d=(ha(a[f>>1],a[(i+12|0)>>1],j)<<16>>16|0)>0?3:4;break;case 3:a[f>>1]=a[(i+12|0)>>1];d=4;break;case 4:d=5;break;case 5:a[(i+12|0)>>1]= a[f>>1];d=6;break;case 6:a[(i+10|0)>>1]=a[f>>1];d=(ha(a[(i+10|0)>>1],16384,j)<<16>>16|0)>0?7:8;break;case 7:a[(i+10|0)>>1]=16384;d=8;break;case 8:n=1;d=9;break;case 9:d=(n<<16>>16|0)<5?10:12;break;case 10:a[((i|0)+(((n<<16>>16)-1|0)<<1)|0)>>1]=a[((i|0)+(n<<16>>16<<1)|0)>>1];d=11;break;case 11:n=n+1&65535;d=9;break;case 12:a[((i|0)+8|0)>>1]=a[(i+10|0)>>1];return;default:x(0,"bad label: "+d)}}function Ug(a,k,e,c,b,d,i){var g;for(g=0;;)switch(g){case 0:var f,j,h,l,q,m,p,o,r,s;f=a;j=k;h=e;l=c;q=b;g=d; m=i;g=(g<<16>>16|0)==0?1:5;break;case 1:g=((f<<16>>16)-85|0)&65535;g=(g<<16>>16|0)<=0?2:3;break;case 2:p=((((f<<16>>16<<1)+(f<<16>>16)|0)-58|0)+(j<<16>>16)|0)&65535;g=4;break;case 3:p=((f<<16>>16)+112|0)&65535;g=4;break;case 4:g=19;break;case 5:g=(m<<16>>16|0)==0?6:7;break;case 6:g=((f<<16>>16)-(l<<16>>16)|0)&65535;p=((((g<<16>>16)+(g<<16>>16<<1)|0)+2|0)+(j<<16>>16)|0)&65535;g=18;break;case 7:s=h;g=((s<<16>>16)-(l<<16>>16)|0)&65535;g=((g<<16>>16)-5|0)&65535;g=(g<<16>>16|0)>0?8:9;break;case 8:s=((l<< 16>>16)+5|0)&65535;g=9;break;case 9:g=((q<<16>>16)-(s<<16>>16)|0)&65535;g=((g<<16>>16)-4|0)&65535;g=(g<<16>>16|0)>0?10:11;break;case 10:s=((q<<16>>16)-4|0)&65535;g=11;break;case 11:r=((f<<16>>16)+(f<<16>>16<<1)|0)&65535;r=((r<<16>>16)+(j<<16>>16)|0)&65535;g=((s<<16>>16)-2|0)&65535;o=((g<<16>>16)+(g<<16>>16<<1)|0)&65535;g=((o<<16>>16)-(r<<16>>16)|0)&65535;g=(g<<16>>16|0)>=0?12:13;break;case 12:p=(((f<<16>>16)-(s<<16>>16)|0)+5|0)&65535;g=17;break;case 13:g=((s<<16>>16)+1|0)&65535;g=((g<<16>>16)+(g<< 16>>16<<1)|0)&65535;g=(g<<16>>16|0)>(r<<16>>16|0)?14:15;break;case 14:p=(((r<<16>>16)-(o<<16>>16)|0)+3|0)&65535;g=16;break;case 15:p=(((f<<16>>16)-(s<<16>>16)|0)+11|0)&65535;g=16;break;case 16:g=17;break;case 17:g=18;break;case 18:g=19;break;case 19:return p;default:x(0,"bad label: "+g)}}function Vg(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;i=k;g=e;b=(c<<16>>16|0)==0?1:5;break;case 1:b=(d<<16>>16|0)<=94?2:3;break;case 2:b=(((d<<16>>16<<3)-(d<<16>>16<<1)|0)-105|0)&65535;f=((b<<16>> 16)+(i<<16>>16)|0)&65535;b=4;break;case 3:f=((d<<16>>16)+368|0)&65535;b=4;break;case 4:b=6;break;case 5:b=((d<<16>>16)-(g<<16>>16)|0)&65535;b=((b<<16>>16<<3)-(b<<16>>16<<1)|0)&65535;b=((b<<16>>16)+3|0)&65535;f=((b<<16>>16)+(i<<16>>16)|0)&65535;b=6;break;case 6:return f;default:x(0,"bad label: "+b)}}function Ne(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p;d=R;i=k;g=e;f=c;l=0;p=h[(f+100|0)>>2];f=h[(f+96|0)>>2];b=d>>>0<8?1:11;break;case 1:j=(d&255|a[(i+(a[(h[(p+(d<<2)|0)>>2]|0)>> 1]<<16>>16<<1)|0)>>1]<<16>>16<<4|a[(i+(a[(h[(p+(d<<2)|0)>>2]+2|0)>>1]<<16>>16<<1)|0)>>1]<<16>>16<<5|a[(i+(a[(h[(p+(d<<2)|0)>>2]+4|0)>>1]<<16>>16<<1)|0)>>1]<<16>>16<<6|a[(i+(a[(h[(p+(d<<2)|0)>>2]+6|0)>>1]<<16>>16<<1)|0)>>1]<<16>>16<<7)&255;b=l;l=b+1&65535;N[g+(b<<16>>16)|0]=j;j=4;b=2;break;case 2:b=(j<<16>>16|0)<((a[(f+(d<<1)|0)>>1]<<16>>16)-7|0)?3:4;break;case 3:b=j;j=b+1&65535;N[g+(l<<16>>16)|0]=a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255;b=j;j=b+1&65535;var o=g+(l<< 16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<1)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<2)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<3)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<4)&255; b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<5)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<6)&255;b=j;j=b+1&65535;b=(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<7;o=l;l=o+1&65535;o=g+(o<<16>>16)|0;N[o]=(M[o]&255|b)&255;b=2;break;case 4:m=(((a[(f+(d<<1)|0)>>1]<<16>>16)+4|0)-(((a[(f+(d<<1)|0)>>1]<<16>>16)+ 4|0)&65528)|0)&65535;b=(m<<16>>16|0)!=0?5:10;break;case 5:n=N[g+(l<<16>>16)|0]=0;b=6;break;case 6:b=(n<<16>>16|0)<(m<<16>>16|0)?7:9;break;case 7:b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<(n<<16>>16))&255;b=8;break;case 8:n=n+1&65535;b=6;break;case 9:b=10;break;case 10:b=25;break;case 11:b=(d|0)!=15?12:23;break;case 12:q=(d&255|a[(i|0)>>1]<<16>>16<<4|a[(i+2|0)>>1]<<16>>16<<5|a[(i+4|0)>>1]<<16>>16<<6|a[(i+6|0)>>1]<<16>> 16<<7)&255;m=l;l=m+1&65535;N[g+(m<<16>>16)|0]=q;q=i+8|0;m=((a[(f+(d<<1)|0)>>1]<<16>>16)+4|0)&65528;j=((m<<16>>16)-7|0)>>3&65535;b=13;break;case 13:b=(j<<16>>16|0)>0?14:16;break;case 14:b=q;q=b+2|0;b=a[b>>1]&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<1)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<2)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<3)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<4)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<5)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<6)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<< 7)&255;o=l;l=o+1&65535;N[g+(o<<16>>16)|0]=b;b=15;break;case 15:j=j-1&65535;b=13;break;case 16:m=(((a[(f+(d<<1)|0)>>1]<<16>>16)+4|0)-(m<<16>>16)|0)&65535;b=(m<<16>>16|0)!=0?17:22;break;case 17:j=N[g+(l<<16>>16)|0]=0;b=18;break;case 18:b=(j<<16>>16|0)<(m<<16>>16|0)?19:21;break;case 19:b=g+(l<<16>>16)|0;N[b]=(M[b]&255|a[(q+(j<<16>>16<<1)|0)>>1]<<16>>16<<(j<<16>>16))&255;b=20;break;case 20:j=j+1&65535;b=18;break;case 21:b=22;break;case 22:b=24;break;case 23:b=d&255;o=l;l=o+1&65535;N[g+(o<<16>>16)|0]= b;b=24;break;case 24:b=25;break;case 25:return;default:x(0,"bad label: "+b)}}function Me(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p;d=R;i=k;g=e;f=c;l=n=0;p=h[(f+100|0)>>2];f=h[(f+96|0)>>2];b=d&15;var o=l;l=o+1&65535;N[g+(o<<16>>16)|0]=b;b=d>>>0<8?1:9;break;case 1:j=0;b=2;break;case 2:b=(j<<16>>16|0)<((a[(f+(d<<1)|0)>>1]<<16>>16)-7|0)?3:4;break;case 3:b=j;j=b+1&65535;N[g+(l<<16>>16)|0]=(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<7&255;b=j;j=b+ 1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<6)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<5)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<4)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>> 1]&255)<<3)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<2)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<1)&255;b=j;j=b+1&65535;b=a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255;o=l;l=o+1&65535;o=g+(o<<16>>16)|0;N[o]=(M[o]&255|b)&255;b=2;break;case 4:m=((a[(f+(d<<1)|0)>>1]<<16>>16)-(a[(f+(d<<1)|0)>>1]<<16>> 16&65528)|0)&65535;n=N[g+(l<<16>>16)|0]=0;b=5;break;case 5:b=(n<<16>>16|0)<(m<<16>>16|0)?6:8;break;case 6:b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<(7-(n<<16>>16)|0))&255;b=7;break;case 7:n=n+1&65535;b=5;break;case 8:b=18;break;case 9:q=i|0;j=((a[(f+(d<<1)|0)>>1]<<16>>16)-7|0)&65535;b=10;break;case 10:b=(j<<16>>16|0)>0?11:13;break;case 11:b=q;q=b+2|0;b=(a[b>>1]&255)<<7&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<6)&255; o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<5)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<4)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<3)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<2)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<1)&255;o=q;q=o+2|0;b=(b&255|a[o>>1]&255)&255;o=l;l=o+1&65535;N[g+(o<<16>>16)|0]=b;b=12;break;case 12:j=((j<<16>>16)-8|0)&65535;b=10;break;case 13:m=((a[(f+(d<<1)|0)>>1]<<16>>16)-(a[(f+(d<<1)|0)>>1]<<16>>16&65528)|0)&65535;j=N[g+(l<<16>>16)|0]=0;b=14;break;case 14:b=(j<<16>>16|0)<(m<<16>>16|0)? 15:17;break;case 15:b=q;q=b+2|0;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|a[b>>1]<<16>>16<<(7-(j<<16>>16)|0))&255;b=16;break;case 16:j=j+1&65535;b=14;break;case 17:b=18;break;case 18:return;default:x(0,"bad label: "+b)}}function Fd(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16| 0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Wg(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>>2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0,"bad label: "+c)}}function Xg(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:e=(b<<16>>16|0)< 31?2:3;break;case 2:d=c>>(b<<16>>16|0);e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?5:6;break;case 5:d=c>>31^2147483647;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Le(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p;d=R;i=k;g=e;f=c;l=n=0;p=h[(f+100|0)>>2];f=h[(f+96|0)>>2];b=d<<3&255;var o=l;l=o+1&65535;N[g+(o<<16>>16)|0]=b;b=d>>>0<8?1:9;break;case 1:j=0;b=2;break;case 2:b=(j<<16>>16| 0)<((a[(f+(d<<1)|0)>>1]<<16>>16)-7|0)?3:4;break;case 3:b=j;j=b+1&65535;N[g+(l<<16>>16)|0]=(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<7&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<6)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<5)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<< 2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<4)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<3)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<2)&255;b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<1)&255;b=j;j=b+1&65535;b=a[(i+(a[(h[(p+(d<<2)|0)>> 2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255;o=l;l=o+1&65535;o=g+(o<<16>>16)|0;N[o]=(M[o]&255|b)&255;b=2;break;case 4:m=((a[(f+(d<<1)|0)>>1]<<16>>16)-(a[(f+(d<<1)|0)>>1]<<16>>16&65528)|0)&65535;n=N[g+(l<<16>>16)|0]=0;b=5;break;case 5:b=(n<<16>>16|0)<(m<<16>>16|0)?6:8;break;case 6:b=j;j=b+1&65535;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|(a[(i+(a[(h[(p+(d<<2)|0)>>2]+(b<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]&255)<<(7-(n<<16>>16)|0))&255;b=7;break;case 7:n=n+1&65535;b=5;break;case 8:b=18;break;case 9:q=i|0; j=((a[(f+(d<<1)|0)>>1]<<16>>16)-7|0)&65535;b=10;break;case 10:b=(j<<16>>16|0)>0?11:13;break;case 11:b=q;q=b+2|0;b=(a[b>>1]&255)<<7&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<6)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<5)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<4)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<3)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<2)&255;o=q;q=o+2|0;b=(b&255|(a[o>>1]&255)<<1)&255;o=q;q=o+2|0;b=(b&255|a[o>>1]&255)&255;o=l;l=o+1&65535;N[g+(o<<16>>16)|0]=b;b=12;break;case 12:j=((j<<16>>16)- 8|0)&65535;b=10;break;case 13:m=((a[(f+(d<<1)|0)>>1]<<16>>16)-(a[(f+(d<<1)|0)>>1]<<16>>16&65528)|0)&65535;j=N[g+(l<<16>>16)|0]=0;b=14;break;case 14:b=(j<<16>>16|0)<(m<<16>>16|0)?15:17;break;case 15:b=q;q=b+2|0;o=g+(l<<16>>16)|0;N[o]=(M[o]&255|a[b>>1]<<16>>16<<(7-(j<<16>>16)|0))&255;b=16;break;case 16:j=j+1&65535;b=14;break;case 17:b=18;break;case 18:return;default:x(0,"bad label: "+b)}}function Gg(h,k,e,c,b,d,i){var g;for(g=0;;)switch(g){case 0:var f,j,n,l,q,m,p,o,r,s,v,t,u;f=h;j=k;n=e;l=c;q=b;m= d;p=i;v=Ya(n,9);t=((a[(n+14|0)>>1]<<16>>16)+(a[(n+16|0)>>1]<<16>>16)|0)>>1&65535;g=(a[(n+16|0)>>1]<<16>>16|0)<(t<<16>>16|0)?1:2;break;case 1:t=a[(n+16|0)>>1];g=2;break;case 2:g=(j<<16>>16|0)<(v<<16>>16|0)?3:19;break;case 3:g=(j<<16>>16|0)>5?4:19;break;case 4:r=Fd(t,2,p);g=(l<<16>>16|0)<7?6:5;break;case 5:g=(q<<16>>16|0)!=0?6:7;break;case 6:r=ha(r,t,p);g=7;break;case 7:g=(v<<16>>16|0)>(r<<16>>16|0)?8:9;break;case 8:v=r;g=9;break;case 9:g=db(j);j=Fd(j,g,p);j=xa(16383,j);u=Wg(v,j,p);g=ha(20,g,p);u=Xg(u, g,p);g=(u|0)>32767?10:11;break;case 10:u=32767;g=11;break;case 11:s=u&65535;g=(m<<16>>16|0)!=0?12:14;break;case 12:g=(s<<16>>16|0)>3072?13:14;break;case 13:s=3072;g=14;break;case 14:o=0;g=15;break;case 15:g=(o<<16>>16|0)<40?16:18;break;case 16:u=Wg(s,a[(f+(o<<16>>16<<1)|0)>>1],p);u=Xg(u,11,p);a[(f+(o<<16>>16<<1)|0)>>1]=u&65535;g=17;break;case 17:o=o+1&65535;g=15;break;case 18:g=19;break;case 19:return 0;default:x(0,"bad label: "+g)}}function Yg(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a; b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Zg(h){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:a[(c|0)>>1]=0;a[(c+2| 0)>>1]=0;b=a[(c+4|0)>>1]=0;k=3;break;case 3:k=(b<<16>>16|0)<5?4:6;break;case 4:a[((c+6|0)+(b<<16>>16<<1)|0)>>1]=0;k=5;break;case 5:b=b+1&65535;k=3;break;case 6:e=0;k=7;break;case 7:return e;default:x(0,"bad label: "+k)}}function $g(R,k,e,c,b){var d;for(d=0;;)switch(d){case 0:var i,g,f,j,n,l,q,m,p;i=R;g=k;f=e;j=c;n=b;d=(g<<16>>16|0)<=2721?1:2;break;case 1:l=0;d=6;break;case 2:d=(g<<16>>16|0)<=5443?3:4;break;case 3:l=1;d=5;break;case 4:l=2;d=5;break;case 5:d=6;break;case 6:d=Sb(f,1,n);d=(d<<16>>16| 0)>(a[(i+4|0)>>1]<<16>>16|0)?7:9;break;case 7:d=(f<<16>>16|0)>200?8:9;break;case 8:a[(i|0)>>1]=8;d=12;break;case 9:d=(a[(i|0)>>1]<<16>>16|0)!=0?10:11;break;case 10:d=i|0;a[d>>1]=a[d>>1]-1&65535;d=11;break;case 11:d=12;break;case 12:d=(a[(i|0)>>1]<<16>>16|0)!=0?13:15;break;case 13:d=(l<<16>>16|0)<2?14:15;break;case 14:l=((l<<16>>16)+1|0)&65535;d=15;break;case 15:a[(i+6|0)>>1]=g;m=Ya(i+6|0,5);d=(l<<16>>16|0)==0?16:23;break;case 16:d=(m<<16>>16|0)>5443?17:18;break;case 17:q=0;d=22;break;case 18:d=(m<< 16>>16|0)<0?19:20;break;case 19:q=16384;d=21;break;case 20:m=Yg(m,2,n);a:{q=m;d=n;for(var o=void 0,o=0;;)switch(o){case 0:var r,s;r=q;s=d;r=(24660*(r<<16>>16)|0)>>15;o=(r|0)>32767?1:2;break;case 1:h[s>>2]=1;r=32767;o=2;break;case 2:q=r&65535;break a;default:x(0,"bad label: "+o)}q=void 0}q=(16384-(q<<16>>16)|0)&65535;d=21;break;case 21:d=22;break;case 22:d=24;break;case 23:q=0;d=24;break;case 24:d=(a[(i+2|0)>>1]<<16>>16|0)==0?25:26;break;case 25:q=ra(q,1,n);d=26;break;case 26:a[j>>1]=q;a[(i+2|0)>> 1]=q;a[(i+4|0)>>1]=f;p=4;d=27;break;case 27:d=(p<<16>>16|0)>0?28:30;break;case 28:a[((i+6|0)+(p<<16>>16<<1)|0)>>1]=a[((i+6|0)+(((p<<16>>16)-1|0)<<1)|0)>>1];d=29;break;case 29:p=p-1&65535;d=27;break;case 30:return;default:x(0,"bad label: "+d)}}function Nf(a){var k=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=0;e=va(68);h[d>>2]=e;e=(e|0)==0?3:4;break;case 3:c=-1;e=9;break;case 4:h[(h[d>> 2]+28|0)>>2]=0;h[(h[d>>2]+64|0)>>2]=0;e=(sb(h[d>>2]+32|0)<<16>>16|0)!=0?7:5;break;case 5:e=(sb(h[d>>2]+48|0)<<16>>16|0)!=0?7:6;break;case 6:a:{e=h[d>>2]+64|0;for(var i=void 0,i=0;;)switch(i){case 0:var g,f,j;f=e;i=(f|0)==0?1:2;break;case 1:g=-1;i=5;break;case 2:h[f>>2]=0;j=i=va(16);i=(i|0)==0?3:4;break;case 3:g=-1;i=5;break;case 4:Zg(j);h[f>>2]=j;g=0;i=5;break;case 5:e=g;break a;default:x(0,"bad label: "+i)}e=void 0}e=(e<<16>>16|0)!=0?7:8;break;case 7:Tf(d);c=-1;e=9;break;case 8:Uf(h[d>>2]);h[b>> 2]=h[d>>2];c=0;e=9;break;case 9:return a=c,B=k,a;default:x(0,"bad label: "+e)}}function Tf(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e|0)==0?2:1;break;case 1:k=(h[e>>2]|0)==0?2:3;break;case 2:k=4;break;case 3:a:{k=h[e>>2]+64|0;for(var c=void 0,c=0;;)switch(c){case 0:var b;b=k;c=(b|0)==0?2:1;break;case 1:c=(h[b>>2]|0)==0?2:3;break;case 2:c=4;break;case 3:wa(h[b>>2]);h[b>>2]=0;c=4;break;case 4:break a;default:x(0,"bad label: "+c)}}wa(h[e>>2]);h[e>>2]=0;k=4;break;case 4:return;default:x(0,"bad label: "+ k)}}function Uf(R){var k;for(k=0;;)switch(k){case 0:var e,c;c=R;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:a[(c|0)>>1]=0;a[(c+2|0)>>1]=0;a[(c+4|0)>>1]=0;a[(c+6|0)>>1]=0;k=c+8|0;for(e=k+10;k>2]=0;sb(c+32|0);sb(c+48|0);Zg(h[(c+64|0)>>2]);e=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function eg(R,k,e,c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v){var t=B;B+=56;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:3;break;case 2:u=M;var da=h[u>>2];h[u>>2]=da+2|0;h[(w+28|0)>>2]=da;u=w+48|0;da=w+32|0;x(true,"memcpy given 8 bytes to copy. Problem with quantum=1 corrections perhaps?");N[u]=N[da];N[u+1]=N[da+1];N[u+2]=N[da+2];N[u+3]=N[da+3];N[u+4]=N[da+4];N[u+5]=N[da+5];N[u+6]=N[da+6]; N[u+7]=N[da+7];u=(w+48|0)+8|0;da=(w+32|0)+8|0;x(true,"memcpy given 8 bytes to copy. Problem with quantum=1 corrections perhaps?");N[u]=N[da];N[u+1]=N[da+1];N[u+2]=N[da+2];N[u+3]=N[da+3];N[u+4]=N[da+4];N[u+5]=N[da+5];N[u+6]=N[da+6];N[u+7]=N[da+7];hb(w+48|0,y,z,w|0,w+2|0,$,ca,ka);ic(y,D,E,F,I,K,w+18|0,w+8|0,aa,Y,ka);u=((a[Y>>1]<<16>>16)+1|0)&65535;u=ah(a[aa>>1],u,ka);a[L>>1]=u;gd(D,w+4|0,w+6|0,ka);bh(w+48|0,a[(w|0)>>1],a[(w+2|0)>>1],a[Y>>1],a[aa>>1],ka);u=4;break;case 3:hb(w+48|0,y,z,Q,T,$,ca,ka);ic(y, D,E,F,I,K,P|0,O|0,aa,Y,ka);gd(D,$,ca,ka);u=ch(w+32|0,a[(w|0)>>1],a[(w+2|0)>>1],w+8|0,w+18|0,a[(w+4|0)>>1],a[(w+6|0)>>1],z,a[Q>>1],a[T>>1],O|0,P|0,a[$>>1],a[ca>>1],G,U,fa,H,L,ka);a[h[(w+28|0)>>2]>>1]=u;u=4;break;case 4:u=12;break;case 5:hb(w+32|0,y,z,Q,T,$,ca,ka);u=(y|0)==7?6:7;break;case 6:u=dh(E,I,ka);a[L>>1]=u;u=eh(y,a[Q>>1],a[T>>1],L,X,S,h[(Z+68|0)>>2],ka);var da=M,V=h[da>>2];h[da>>2]=V+2|0;a[V>>1]=u;u=11;break;case 7:ic(y,D,E,F,I,K,P|0,O|0,aa,Y,ka);u=(y|0)==5?8:9;break;case 8:fh(h[(w+64|0)>>2], A,C,z,P|0,O|0,a[$>>1],a[ca>>1],a[Q>>1],a[T>>1],40,a[aa>>1],a[Y>>1],G,H,L,X,S,M,Z,ka);u=10;break;case 9:u=gh(y,a[Q>>1],a[T>>1],P|0,O|0,G,H,L,X,S,Z,ka);da=M;V=h[da>>2];h[da>>2]=V+2|0;a[V>>1]=u;u=10;break;case 10:u=11;break;case 11:ib(w+32|0,a[X>>1],a[S>>1]);u=12;break;case 12:B=t;return;default:x(0,"bad label: "+u)}}function ah(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<< 16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function sb(h){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:b=0;k=3;break;case 3:k=(b<<16>>16|0)<4?4:6;break;case 4:a[((c|0)+(b<<16>>16<<1)|0)>>1]=-14336;a[((c+8|0)+(b<<16>>16<<1)|0)>>1]=-2381;k=5;break; case 5:b=b+1&65535;k=3;break;case 6:e=0;k=7;break;case 7:return e;default:x(0,"bad label: "+k)}}function dh(h,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g,f,j,n,l,q,m;b=h;d=k;q=b;m=d;l=0;b=10;e=1;break;case 1:e=(b<<16>>16|0)!=0?2:4;break;case 2:e=m;m=e+2|0;e=a[e>>1]<<16>>16>>1;var p=q;q=p+2|0;l=l+((a[p>>1]<<16>>16)*e|0)|0;e=m;m=e+2|0;e=a[e>>1]<<16>>16>>1;p=q;q=p+2|0;l=l+((a[p>>1]<<16>>16)*e|0)|0;e=m;m=e+2|0;e=a[e>>1]<<16>>16>>1;p=q;q=p+2|0;l=l+((a[p>>1]<<16>>16)*e|0)|0;e=m;m=e+2|0;e=a[e>>1]<< 16>>16>>1;p=q;q=p+2|0;l=l+((a[p>>1]<<16>>16)*e|0)|0;e=3;break;case 3:b=b-1&65535;e=1;break;case 4:l<<=1;f=oa(l+1|0);e=(f<<16>>16|0)<17?5:6;break;case 5:i=l>>(17-(f<<16>>16)|0)&65535;e=7;break;case 6:i=l<<((f<<16>>16)-17|0)&65535;e=7;break;case 7:e=(i<<16>>16|0)<=0?8:9;break;case 8:c=0;e=20;break;case 9:l=0;m=d;b=20;e=10;break;case 10:e=(b<<16>>16|0)!=0?11:13;break;case 11:e=m;m=e+2|0;e=a[e>>1]<<16>>16>>1&65535;l=l+(((e<<16>>16)*(e<<16>>16)|0)>>2)|0;e=m;m=e+2|0;e=a[e>>1]<<16>>16>>1&65535;l=l+(((e<< 16>>16)*(e<<16>>16)|0)>>2)|0;e=12;break;case 12:b=b-1&65535;e=10;break;case 13:l<<=3;j=oa(l);e=(j<<16>>16|0)<16?14:15;break;case 14:g=l>>(16-(j<<16>>16)|0)&65535;e=16;break;case 15:g=l<<((j<<16>>16)-16|0)&65535;e=16;break;case 16:n=xa(i,g);b=((f<<16>>16)+5|0)&65535;b=((b<<16>>16)-(j<<16>>16)|0)&65535;e=(b<<16>>16|0)>1?17:18;break;case 17:n=n<<16>>16>>((b<<16>>16)-1|0)&65535;e=19;break;case 18:n=n<<16>>16<<(1-(b<<16>>16)|0)&65535;e=19;break;case 19:c=n;e=20;break;case 20:return c;default:x(0,"bad label: "+ e)}}function hb(R,k,e,c,b,d,i,g){var f=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:4;break;case 2:j=E;E=j+2|0;j=a[j>>1];w=w+(((j<<16>>16)*(j<<16>>16)|0)>>3)|0;j=E;E=j+2|0;j=a[j>>1];w=w+(((j<<16>>16)*(j<<16>>16)|0)>>3)|0;j=E;E=j+2|0;j=a[j>>1];w=w+(((j<<16>>16)*(j<<16>>16)|0)>>3)|0;j=E;E=j+2|0;j=a[j>>1];w=w+(((j<<16>> 16)*(j<<16>>16)|0)>>3)|0;j=3;break;case 3:q=q-1&65535;j=1;break;case 4:w<<=4;j=(w>>31|0)!=0?5:6;break;case 5:w=2147483647;j=6;break;case 6:j=(l|0)==7?7:12;break;case 7:w=((la(w,s)<<16>>16)*26214|0)<<1;Za(w,A,C,s);v=((a[A>>1]<<16>>16)-30|0)<<16;w=v+(a[C>>1]<<16>>16<<1)|0;y=783741;q=0;j=8;break;case 8:j=(q<<16>>16|0)<4?9:11;break;case 9:v=((a[((n+8|0)+(q<<16>>16<<1)|0)>>1]<<16>>16)*(a[(hh+(q<<16>>16<<1)|0)>>1]<<16>>16)|0)<<1;y=$a(y,v,s);j=10;break;case 10:q=q+1&65535;j=8;break;case 11:v=ih(y,w,s);a[m>> 1]=v>>17&65535;t=a[m>>1]<<16>>16<<15;v>>=2;a[p>>1]=(v-t|0)&65535;j=46;break;case 12:z=oa(w);a:{t=w;u=z;w=void 0;for(w=0;;)switch(w){case 0:var F,I,K;F=t;I=u;K=0;w=(I<<16>>16|0)>0?1:4;break;case 1:K=F<<(I<<16>>16);w=(K>>(I<<16>>16|0)|0)!=(F|0)?2:3;break;case 2:K=F>>31^2147483647;w=3;break;case 3:w=7;break;case 4:I=(-(I<<16>>16)|0)&65535;w=(I<<16>>16|0)<31?5:6;break;case 5:K=F>>(I<<16>>16|0);w=6;break;case 6:w=7;break;case 7:w=K;break a;default:x(0,"bad label: "+w)}w=void 0}Gd(w,z,A,C);t=((a[A>>1]<< 16>>16)*-24660|0)<<1;u=((a[C>>1]<<16>>16)*-24660|0)>>15;j=(u&65536|0)!=0?13:14;break;case 13:u|=-65536;j=14;break;case 14:u<<=1;u=$a(u,t,s);j=(l|0)==6?15:16;break;case 15:t=2134784;u=$a(u,t,s);j=26;break;case 16:j=(l|0)==5?17:18;break;case 17:a[r>>1]=w>>16&65535;a[o>>1]=(-11-(z<<16>>16)|0)&65535;t=2183936;u=$a(u,t,s);j=25;break;case 18:j=(l|0)==4?19:20;break;case 19:t=2085632;u=$a(u,t,s);j=24;break;case 20:j=(l|0)==3?21:22;break;case 21:t=2065152;u=$a(u,t,s);j=23;break;case 22:t=2134784;u=$a(u,t, s);j=23;break;case 23:j=24;break;case 24:j=25;break;case 25:j=26;break;case 26:j=(u|0)>2097151?27:28;break;case 27:h[s>>2]=1;u=2147483647;j=32;break;case 28:j=(u|0)<-2097152?29:30;break;case 29:h[s>>2]=1;u=-2147483648;j=31;break;case 30:u<<=10;j=31;break;case 31:j=32;break;case 32:q=0;j=33;break;case 33:j=(q<<16>>16|0)<4?34:36;break;case 34:t=((a[(jh+(q<<16>>16<<1)|0)>>1]<<16>>16)*(a[((n|0)+(q<<16>>16<<1)|0)>>1]<<16>>16)|0)<<1;u=$a(u,t,s);j=35;break;case 35:q=q+1&65535;j=33;break;case 36:D=u>>16& 65535;j=(l|0)==4?37:38;break;case 37:u=((D<<16>>16)*5439|0)<<1;j=39;break;case 38:u=((D<<16>>16)*5443|0)<<1;j=39;break;case 39:j=(u|0)<0?40:41;break;case 40:u=(u^-1)>>8^-1;j=42;break;case 41:u>>=8;j=42;break;case 42:a[m>>1]=u>>16&65535;j=(u|0)<0?43:44;break;case 43:v=(u^-1)>>1^-1;j=45;break;case 44:v=u>>1;j=45;break;case 45:t=a[m>>1]<<16>>16<<15;j=ih(v,t,s)&65535;a[p>>1]=j;j=46;break;case 46:B=f;return;default:x(0,"bad label: "+j)}}function $a(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a; c=k;d=e;i=b+c|0;c=(b^c|0)>=0?1:4;break;case 1:c=((i^b)>>31|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function ih(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b-c|0;c=((b^c)>>31|0)!=0?1:4;break;case 1:c=((i^b)&-2147483648|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function ib(h,k, e){a[((h|0)+6|0)>>1]=a[((h|0)+4|0)>>1];a[((h+8|0)+6|0)>>1]=a[((h+8|0)+4|0)>>1];a[((h|0)+4|0)>>1]=a[((h|0)+2|0)>>1];a[((h+8|0)+4|0)>>1]=a[((h+8|0)+2|0)>>1];a[((h|0)+2|0)>>1]=a[(h|0)>>1];a[((h+8|0)+2|0)>>1]=a[(h+8|0)>>1];a[(h+8|0)>>1]=k;a[(h|0)>>1]=e}function jd(a){h[(a|0)>>2]=kh|0;h[(a+4|0)>>2]=sc|0;h[(a+8|0)>>2]=Hd|0;h[(a+12|0)>>2]=Vb|0;h[(a+16|0)>>2]=Id|0;h[(a+20|0)>>2]=tc|0;h[(a+24|0)>>2]=Jd|0;h[(a+28|0)>>2]=Kd|0;h[(a+32|0)>>2]=Ld|0;h[(a+36|0)>>2]=lh|0;h[(a+40|0)>>2]=Md|0;h[(a+44|0)>>2]=uc|0;h[(a+ 48|0)>>2]=Nd|0;h[(a+52|0)>>2]=Od|0;h[(a+56|0)>>2]=Pd|0;h[(a+60|0)>>2]=vc|0;h[(a+64|0)>>2]=Qd|0;h[(a+68|0)>>2]=mh|0;h[(a+72|0)>>2]=nh|0;h[(a+76|0)>>2]=oh|0;h[(a+80|0)>>2]=ph|0;h[(a+84|0)>>2]=qh|0;h[(a+88|0)>>2]=rh|0;h[(a+92|0)>>2]=Ka|0;h[(a+96|0)>>2]=sh|0;h[(a+100|0)>>2]=Oa|0;h[(a+104|0)>>2]=th|0;h[(a+108|0)>>2]=uh|0;h[(a+112|0)>>2]=vh|0;h[(a+116|0)>>2]=wh|0;h[(a+120|0)>>2]=xh|0;h[(a+124|0)>>2]=yh|0;h[(a+128|0)>>2]=zh|0;h[(a+132|0)>>2]=Ah|0}function Sg(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d, i,g,f,j,n;d=h;i=k;g=e;f=c;n=j=0;b=1;break;case 1:b=(n<<16>>16|0)<4?2:4;break;case 2:j=$(j,a[((d+8|0)+(n<<16>>16<<1)|0)>>1],f);b=3;break;case 3:n=n+1&65535;b=1;break;case 4:b=(j<<16>>16|0)<0?5:6;break;case 5:j=(j<<16>>16>>2|49152)&65535;b=7;break;case 6:j=j<<16>>16>>2&65535;b=7;break;case 7:b=(j<<16>>16|0)<-2381?8:9;break;case 8:j=-2381;b=9;break;case 9:a[i>>1]=j;n=j=0;b=10;break;case 10:b=(n<<16>>16|0)<4?11:13;break;case 11:j=$(j,a[((d|0)+(n<<16>>16<<1)|0)>>1],f);b=12;break;case 12:n=n+1&65535;b= 10;break;case 13:b=(j<<16>>16|0)<0?14:15;break;case 14:j=(j<<16>>16>>2|49152)&65535;b=16;break;case 15:j=j<<16>>16>>2&65535;b=16;break;case 16:b=(j<<16>>16|0)<-14336?17:18;break;case 17:j=-14336;b=18;break;case 18:a[g>>1]=j;return;default:x(0,"bad label: "+b)}}function Ya(h,k){var e=B;B+=40;x(B%4==0,"Stack is unaligned");x(B>16<<1|0,1,0);i=0;c=1;break;case 1:c=(i<<16>>16|0)<(d<<16>>16|0)? 2:10;break;case 2:j=-32767;g=0;c=3;break;case 3:c=(g<<16>>16|0)<(d<<16>>16|0)?4:8;break;case 4:c=(a[((l|0)+(g<<16>>16<<1)|0)>>1]<<16>>16|0)>=(j<<16>>16|0)?5:6;break;case 5:j=a[((l|0)+(g<<16>>16<<1)|0)>>1];f=g;c=6;break;case 6:c=7;break;case 7:g=g+1&65535;c=3;break;case 8:a[((l|0)+(f<<16>>16<<1)|0)>>1]=-32768;a[((n|0)+(i<<16>>16<<1)|0)>>1]=f;c=9;break;case 9:i=i+1&65535;c=1;break;case 10:return c=a[((n|0)+(d<<16>>16>>1<<1)|0)>>1],b=a[(b+(c<<16>>16<<1)|0)>>1],B=e,b;default:x(0,"bad label: "+c)}}function Wb(a, k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3;break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Rd(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b-c|0;c=((b^c)>>31|0)!=0?1:4;break;case 1:c=((i^b)&-2147483648| 0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function Kf(R,k,e,c,b,d){var i;for(i=0;;)switch(i){case 0:var g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A;f=R;j=k;n=e;l=c;q=b;m=d;y=j|0;A=n|0;u=h[m>>2]=0;p=q<<16>>16>>2&65535;i=1;break;case 1:i=(p<<16>>16|0)!=0?2:4;break;case 2:u=u+((a[A>>1]<<16>>16)*(a[A>>1]<<16>>16)|0)|0;A=A+2|0;u=u+((a[A>>1]<<16>>16)*(a[A>>1]<<16>>16)|0)|0;A=A+2|0;u=u+((a[A>>1]<<16>>16)*(a[A>>1]<< 16>>16)|0)|0;A=A+2|0;u=u+((a[A>>1]<<16>>16)*(a[A>>1]<<16>>16)|0)|0;A=A+2|0;i=3;break;case 3:p=p-1&65535;i=1;break;case 4:i=((u|0)>=0&1&(u|0)<1073741824&1|0)!=0?5:6;break;case 5:u<<=1;u=u+1|0;v=oa(u);i=u<<(v<<16>>16);r=la(i,m);i=11;break;case 6:u=0;A=n|0;p=q<<16>>16>>1&65535;i=7;break;case 7:i=(p<<16>>16|0)!=0?8:10;break;case 8:i=A;A=i+2|0;i=a[i>>1]<<16>>16>>2&65535;u=u+((i<<16>>16)*(i<<16>>16)|0)|0;i=A;A=i+2|0;i=a[i>>1]<<16>>16>>2&65535;u=u+((i<<16>>16)*(i<<16>>16)|0)|0;i=9;break;case 9:p=p-1&65535; i=7;break;case 10:u<<=1;u=u+1|0;v=oa(u);i=u<<(v<<16>>16);r=la(i,m);v=((v<<16>>16)-4|0)&65535;i=11;break;case 11:u=0;A=n|0;h[m>>2]=0;p=q;i=12;break;case 12:i=(p<<16>>16|0)!=0?13:19;break;case 13:w=y;y=w+2|0;w=a[w>>1]<<16>>16;i=A;A=i+2|0;i=w*(a[i>>1]<<16>>16)|0;w=u;u=w+i|0;i=(w^i|0)>0?14:17;break;case 14:i=(w^u|0)<0?15:16;break;case 15:h[m>>2]=1;i=19;break;case 16:i=17;break;case 17:i=18;break;case 18:p=p-1&65535;i=12;break;case 19:i=(h[m>>2]|0)!=0?21:20;break;case 20:u<<=1;u=u+1|0;s=oa(u);i=u<<(s<< 16>>16);o=la(i,m);i=26;break;case 21:u=0;A=n|0;y=j|0;p=q<<16>>16>>2&65535;i=22;break;case 22:i=(p<<16>>16|0)!=0?23:25;break;case 23:i=A;A=i+2|0;i=a[i>>1]<<16>>16>>2;var C=y;y=C+2|0;u=u+((a[C>>1]<<16>>16)*i|0)|0;i=A;A=i+2|0;i=a[i>>1]<<16>>16>>2;C=y;y=C+2|0;u=u+((a[C>>1]<<16>>16)*i|0)|0;i=A;A=i+2|0;i=a[i>>1]<<16>>16>>2;C=y;y=C+2|0;u=u+((a[C>>1]<<16>>16)*i|0)|0;i=A;A=i+2|0;i=a[i>>1]<<16>>16>>2;C=y;y=C+2|0;u=u+((a[C>>1]<<16>>16)*i|0)|0;i=24;break;case 24:p=p-1&65535;i=22;break;case 25:u<<=1;u=u+1|0;s= oa(u);i=u<<(s<<16>>16);o=la(i,m);s=((s<<16>>16)-4|0)&65535;i=26;break;case 26:a[(l|0)>>1]=r;a[(l+2|0)>>1]=(15-(v<<16>>16)|0)&65535;a[(l+4|0)>>1]=o;a[(l+6|0)>>1]=(15-(s<<16>>16)|0)&65535;i=(o<<16>>16|0)<4?27:28;break;case 27:g=0;i=33;break;case 28:o=o<<16>>16>>1&65535;t=xa(o,r);p=((s<<16>>16)-(v<<16>>16)|0)&65535;t=ra(t,p,m);i=(t<<16>>16|0)>19661?29:30;break;case 29:t=19661;i=30;break;case 30:i=(f|0)==7?31:32;break;case 31:t=t<<16>>16&65532;i=32;break;case 32:g=t;i=33;break;case 33:return g;default:x(0, "bad label: "+i)}}function Sd(R,k,e,c,b,d,i){var g;for(g=0;;)switch(g){case 0:var f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A,C,z;f=R;j=k;n=e;l=c;q=b;m=d;p=i;s=-2147483648;v=0;l=((l<<16>>16)-1|0)&65535;g=1;break;case 1:g=(l<<16>>16|0)>(q<<16>>16|0)?2:6;break;case 2:v=Wb(h[(f+((-(l<<16>>16)|0)<<2)|0)>>2],1,p);g=Rd(v,h[(f+(((-(l<<16>>16)|0)-1|0)<<2)|0)>>2],p);v=Rd(g,h[(f+(((-(l<<16>>16)|0)+1|0)<<2)|0)>>2],p);v=fb(v);g=(v|0)>=(s|0)?3:4;break;case 3:s=v;g=4;break;case 4:g=5;break;case 5:l=l-1&65535;g=1;break;case 6:o= j;r=j|0;l=v=0;g=7;break;case 7:g=(l<<16>>16|0)<(n<<16>>16|0)?8:10;break;case 8:v=Td(v,a[o>>1],a[r>>1],p);g=9;break;case 9:l=l+1&65535;o=o+2|0;r=r+2|0;g=7;break;case 10:o=j;r=j-2|0;l=t=0;g=11;break;case 11:g=(l<<16>>16|0)<(n<<16>>16|0)?12:14;break;case 12:t=Td(t,a[o>>1],a[r>>1],p);g=13;break;case 13:l=l+1&65535;o=o+2|0;r=r+2|0;g=11;break;case 14:g=Wb(v,1,p);t=Wb(t,1,p);v=Rd(g,t,p);v=fb(v);w=oa(s);C=((w<<16>>16)-1|0)&65535;g=Wb(s,C,p);u=g>>16&65535;z=oa(v);g=Wb(v,z,p);w=g>>16&65535;g=(w<<16>>16|0)!= 0?15:16;break;case 15:y=xa(u,w);g=17;break;case 16:y=0;g=17;break;case 17:A=((C<<16>>16)-(z<<16>>16)|0)&65535;g=(A<<16>>16|0)>=0?18:19;break;case 18:g=ra(y,A,p);a[m>>1]=g;g=20;break;case 19:g=y;var D;a:{D=A;for(var E=void 0,E=0;;)switch(E){case 0:var B;B=D;E=(B<<16>>16|0)==-32768?1:2;break;case 1:var I=32767,E=3;break;case 2:I=-(B<<16>>16)|0;E=3;break;case 3:D=I&65535;break a;default:x(0,"bad label: "+E)}D=void 0}g=Bh(g,D,p);a[m>>1]=g;g=20;break;case 20:return 0;default:x(0,"bad label: "+g)}}function Td(a, k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function Bh(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<< 16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function He(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m;d=R;i=k;g=e;f=c;l=0;q=h[(f+104|0)>>2];m=h[(f+96|0)>>2];f=h[(f+100|0)>>2];b=d>>>0<8?1:16;break;case 1:n=4;b=2; break;case 2:b=(n<<16>>16|0)<8?3:5;break;case 3:b=(M[i|0]&255)>>(n<<16>>16|0)&1;var p=l;l=p+1&65535;a[(g+(a[(h[(f+(d<<2)|0)>>2]+(p<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]=b;b=4;break;case 4:n=n+1&65535;b=2;break;case 5:j=1;b=6;break;case 6:b=(j<<16>>16|0)<(a[(q+(d<<1)|0)>>1]<<16>>16|0)?7:15;break;case 7:n=0;b=8;break;case 8:b=(n<<16>>16|0)<8?9:13;break;case 9:b=(l<<16>>16|0)>=(a[(m+(d<<1)|0)>>1]<<16>>16|0)?10:11;break;case 10:b=13;break;case 11:b=(M[i+(j<<16>>16)|0]&255)>>(n<<16>>16|0)&1;p=l;l=p+1& 65535;a[(g+(a[(h[(f+(d<<2)|0)>>2]+(p<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]=b;b=12;break;case 12:n=n+1&65535;b=8;break;case 13:b=14;break;case 14:j=j+1&65535;b=6;break;case 15:b=29;break;case 16:n=4;b=17;break;case 17:b=(n<<16>>16|0)<8?18:20;break;case 18:b=(M[i|0]&255)>>(n<<16>>16|0)&1;p=l;l=p+1&65535;a[(g+(p<<16>>16<<1)|0)>>1]=b;b=19;break;case 19:n=n+1&65535;b=17;break;case 20:j=1;b=21;break;case 21:b=(j<<16>>16|0)<(a[(q+(d<<1)|0)>>1]<<16>>16|0)?22:28;break;case 22:n=0;b=23;break;case 23:b=(n<< 16>>16|0)<8?24:26;break;case 24:b=(M[i+(j<<16>>16)|0]&255)>>(n<<16>>16|0)&1;p=l;l=p+1&65535;a[(g+(p<<16>>16<<1)|0)>>1]=b;b=25;break;case 25:n=n+1&65535;b=23;break;case 26:b=27;break;case 27:j=j+1&65535;b=21;break;case 28:b=29;break;case 29:return;default:x(0,"bad label: "+b)}}function Ud(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f,j,n,l,q;b=h;d=k;c=(e<<16>>16|0)!=0?1:2;break;case 1:d=d<<16>>16<<1&65535;c=2;break;case 2:c=(d<<16>>16|0)<0?3:4;break;case 3:d=((d<<16>>16)+6|0)&65535;b=b-2|0; c=4;break;case 4:f=b|0;j=b+2|0;n=Vd+(d<<16>>16<<1)|0;i=(6-(d<<16>>16)|0)&65535;l=Vd+(i<<16>>16<<1)|0;q=16384;g=0;i=2;c=5;break;case 5:c=(i<<16>>16|0)!=0?6:8;break;case 6:c=f;f=c-2|0;q=q+((a[c>>1]<<16>>16)*(a[(n+(g<<16>>16<<1)|0)>>1]<<16>>16)|0)|0;c=j;j=c+2|0;q=q+((a[c>>1]<<16>>16)*(a[(l+(g<<16>>16<<1)|0)>>1]<<16>>16)|0)|0;g=((g<<16>>16)+6|0)&65535;c=f;f=c-2|0;q=q+((a[c>>1]<<16>>16)*(a[(n+(g<<16>>16<<1)|0)>>1]<<16>>16)|0)|0;c=j;j=c+2|0;q=q+((a[c>>1]<<16>>16)*(a[(l+(g<<16>>16<<1)|0)>>1]<<16>>16)|0)| 0;g=g<<16>>16<<1&65535;c=7;break;case 7:i=i-1&65535;c=5;break;case 8:return q>>15&65535;default:x(0,"bad label: "+c)}}function vd(h,k,e,c,b){var d=B;B+=20;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:4;break;case 2:i=m;m=i+2|0;i=a[i>>1]<<16>>16>>1;var s=p;p=s+2|0;i=(i+(a[s>>1]<<16>>16>>1)|0)&65535;s=r;r=s+2|0;a[s>>1]=i;i=m;m=i+2|0;i=a[i>>1]<< 16>>16>>1;s=p;p=s+2|0;i=(i+(a[s>>1]<<16>>16>>1)|0)&65535;s=r;r=s+2|0;a[s>>1]=i;i=3;break;case 3:g=g-1&65535;i=1;break;case 4:ya(q|0,n,l);n=n+22|0;ya(f,n,l);n=n+22|0;p=f|0;r=q|0;i=g=5;break;case 5:i=(g<<16>>16|0)!=0?6:8;break;case 6:i=p;p=i+2|0;i=a[i>>1]<<16>>16>>1;s=o;o=s+2|0;i=(i+(a[s>>1]<<16>>16>>1)|0)&65535;s=r;r=s+2|0;a[s>>1]=i;i=p;p=i+2|0;i=a[i>>1]<<16>>16>>1;s=o;o=s+2|0;i=(i+(a[s>>1]<<16>>16>>1)|0)&65535;s=r;r=s+2|0;a[s>>1]=i;i=7;break;case 7:g=g-1&65535;i=5;break;case 8:ya(q|0,n,l);n=n+22| 0;ya(j,n,l);B=d;return;default:x(0,"bad label: "+i)}}function Ch(h,k,e,c,b){var d=B;B+=20;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:4;break;case 2:i=g;g=i+2|0;i=a[i>>1]<<16>>16>>1;var r=m;m=r+2|0;i=(i+(a[r>>1]<<16>>16>>1)|0)&65535;r=o;o=r+2|0;a[r>>1]=i;i=g;g=i+2|0;i=a[i>>1]<<16>>16>>1;r=m;m=r+2|0;i=(i+(a[r>>1]<<16>>16>>1)|0)&65535;r=o;o=r+2| 0;a[r>>1]=i;i=3;break;case 3:j=j-1&65535;i=1;break;case 4:ya(q|0,n,l);n=n+44|0;m=f|0;o=q|0;i=j=5;break;case 5:i=(j<<16>>16|0)!=0?6:8;break;case 6:i=m;m=i+2|0;i=a[i>>1]<<16>>16>>1;r=p;p=r+2|0;i=(i+(a[r>>1]<<16>>16>>1)|0)&65535;r=o;o=r+2|0;a[r>>1]=i;i=m;m=i+2|0;i=a[i>>1]<<16>>16>>1;r=p;p=r+2|0;i=(i+(a[r>>1]<<16>>16>>1)|0)&65535;r=o;o=r+2|0;a[r>>1]=i;i=7;break;case 7:j=j-1&65535;i=5;break;case 8:ya(q|0,n,l);B=d;return;default:x(0,"bad label: "+i)}}function fb(a){a=a-((a|0)<0&1)|0;a^=a>>31;return a}function ud(h, k,e,c){var b=B;B+=20;x(B%4==0,"Stack is unaligned");x(B>16|0)<10?2:4;break;case 2:d=((a[(i+(n<<16>>16<<1)|0)>>1]<<16>>16)-(a[(i+(n<<16>>16<<1)|0)>>1]<<16>>16>>2)|0)&65535;a[(l+(n<<16>>16<<1)|0)>>1]=((d<<16>>16)+(a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16>>2)|0)&65535;d=3;break;case 3:n=n+1&65535;d=1;break;case 4:ya(l|0,f,j);f=f+22|0;n=0;d=5;break;case 5:d=(n<<16>>16|0)<10?6:8;break;case 6:a[(l+ (n<<16>>16<<1)|0)>>1]=((a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16>>1)+(a[(i+(n<<16>>16<<1)|0)>>1]<<16>>16>>1)|0)&65535;d=7;break;case 7:n=n+1&65535;d=5;break;case 8:ya(l|0,f,j);f=f+22|0;n=0;d=9;break;case 9:d=(n<<16>>16|0)<10?10:12;break;case 10:d=((a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16)-(a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16>>2)|0)&65535;a[(l+(n<<16>>16<<1)|0)>>1]=((d<<16>>16)+(a[(i+(n<<16>>16<<1)|0)>>1]<<16>>16>>2)|0)&65535;d=11;break;case 11:n=n+1&65535;d=9;break;case 12:ya(l|0,f,j);f=f+22|0;ya(g,f,j);B=b; return;default:x(0,"bad label: "+d)}}function Dh(h,k,e,c){var b=B;B+=20;x(B%4==0,"Stack is unaligned");x(B>16|0)<10?2:4;break;case 2:d=((a[(i+(n<<16>>16<<1)|0)>>1]<<16>>16)-(a[(i+(n<<16>>16<<1)|0)>>1]<<16>>16>>2)|0)&65535;a[(l+(n<<16>>16<<1)|0)>>1]=((d<<16>>16)+(a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16>>2)|0)&65535;d=3;break;case 3:n=n+1&65535;d=1;break;case 4:ya(l|0,f,j);f=f+22|0;n= 0;d=5;break;case 5:d=(n<<16>>16|0)<10?6:8;break;case 6:a[(l+(n<<16>>16<<1)|0)>>1]=((a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16>>1)+(a[(i+(n<<16>>16<<1)|0)>>1]<<16>>16>>1)|0)&65535;d=7;break;case 7:n=n+1&65535;d=5;break;case 8:ya(l|0,f,j);f=f+22|0;n=0;d=9;break;case 9:d=(n<<16>>16|0)<10?10:12;break;case 10:d=((a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16)-(a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16>>2)|0)&65535;a[(l+(n<<16>>16<<1)|0)>>1]=((d<<16>>16)+(a[(i+(n<<16>>16<<1)|0)>>1]<<16>>16>>2)|0)&65535;d=11;break;case 11:n=n+1& 65535;d=9;break;case 12:ya(l|0,f,j);B=b;return;default:x(0,"bad label: "+d)}}function Eg(h,k,e,c,b){var d;for(d=0;;)switch(d){case 0:var i,g,f,j,n,l,q,m;i=h;g=k;f=e;j=c;n=b;d=(f<<16>>16|0)==0?1:12;break;case 1:l=9;d=2;break;case 2:d=(l<<16>>16|0)>=0?3:11;break;case 3:d=(a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16|0)<0?4:5;break;case 4:q=((a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16^-1)>>2^-1)&65535;d=6;break;case 5:q=a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16>>2&65535;d=6;break;case 6:d=(a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16| 0)<0?7:8;break;case 7:m=((a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16^-1)>>2^-1)&65535;d=9;break;case 8:m=a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16>>2&65535;d=9;break;case 9:d=$(((a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16)-(q<<16>>16)|0)&65535,m,n);a[(j+(l<<16>>16<<1)|0)>>1]=d;d=10;break;case 10:l=l-1&65535;d=2;break;case 11:d=45;break;case 12:d=(f<<16>>16|0)==40?13:24;break;case 13:l=9;d=14;break;case 14:d=(l<<16>>16|0)>=0?15:23;break;case 15:d=(a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16|0)<0?16:17;break;case 16:q=((a[(i+(l<< 16>>16<<1)|0)>>1]<<16>>16^-1)>>1^-1)&65535;d=18;break;case 17:q=a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16>>1&65535;d=18;break;case 18:d=(a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16|0)<0?19:20;break;case 19:m=((a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16^-1)>>1^-1)&65535;d=21;break;case 20:m=a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16>>1&65535;d=21;break;case 21:a[(j+(l<<16>>16<<1)|0)>>1]=((q<<16>>16)+(m<<16>>16)|0)&65535;d=22;break;case 22:l=l-1&65535;d=14;break;case 23:d=44;break;case 24:d=(f<<16>>16|0)==80?25:36;break;case 25:l= 9;d=26;break;case 26:d=(l<<16>>16|0)>=0?27:35;break;case 27:d=(a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16|0)<0?28:29;break;case 28:q=((a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16^-1)>>2^-1)&65535;d=30;break;case 29:q=a[(i+(l<<16>>16<<1)|0)>>1]<<16>>16>>2&65535;d=30;break;case 30:d=(a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16|0)<0?31:32;break;case 31:m=((a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16^-1)>>2^-1)&65535;d=33;break;case 32:m=a[(g+(l<<16>>16<<1)|0)>>1]<<16>>16>>2&65535;d=33;break;case 33:d=$(q,((a[(g+(l<<16>>16<<1)|0)>>1]<< 16>>16)-(m<<16>>16)|0)&65535,n);a[(j+(l<<16>>16<<1)|0)>>1]=d;d=34;break;case 34:l=l-1&65535;d=26;break;case 35:d=43;break;case 36:d=(f<<16>>16|0)==120?37:42;break;case 37:l=9;d=38;break;case 38:d=(l<<16>>16|0)>=0?39:41;break;case 39:a[(j+(l<<16>>16<<1)|0)>>1]=a[(g+(l<<16>>16<<1)|0)>>1];d=40;break;case 40:l=l-1&65535;d=38;break;case 41:d=42;break;case 42:d=43;break;case 43:d=44;break;case 44:d=45;break;case 45:return;default:x(0,"bad label: "+d)}}function Xa(a){var g;var f;var k;for(k=0;;)switch(k){case 0:var e, c,b,d;c=a;k=(c|0)<=0?1:2;break;case 1:e=1073741823;k=5;break;case 2:b=oa(c);c<<=b<<16>>16;b=(30-(b<<16>>16)|0)&65535;k=(b<<16>>16&1|0)==0?3:4;break;case 3:c>>=1;k=4;break;case 4:b=b<<16>>16>>1&65535;b=((b<<16>>16)+1|0)&65535;c>>=9;d=c>>16&65535;k=c>>1&65535;k=k<<16>>16&32767;d=((d<<16>>16)-16|0)&65535;e=wc+(d<<16>>16<<1)|0;f=(ga=M[e]|M[e+1]<<8,ga<<16>>16)<<16>>16<<16,e=f;var i=wc+(d<<16>>16<<1)|0,i=(ga=M[i]|M[i+1]<<8,ga<<16>>16)<<16>>16;d=wc+(((d<<16>>16)+1|0)<<1)|0;g=(ga=M[d]|M[d+1]<<8,ga<<16>>16)<< 16>>16,d=g;d=(i-d|0)&65535;e=e-(((d<<16>>16)*(k<<16>>16)|0)<<1)|0;e>>=b<<16>>16|0;k=5;break;case 5:return e;default:x(0,"bad label: "+k)}}function Eh(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,h;d=a;i=k;g=e;f=c;j=(d<<16>>16)*(g<<16>>16)|0;b=(j|0)!=1073741824?1:2;break;case 1:j<<=1;b=3;break;case 2:j=2147483647;b=3;break;case 3:b=((d<<16>>16)*(f<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?4:7;break;case 4:b=((h^j)>>31|0)!=0?5:6;break;case 5:h=(j>>31|0)!=0?-2147483648:2147483647;b=6;break; case 6:b=7;break;case 7:j=h;b=((i<<16>>16)*(g<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?8:11;break;case 8:b=((h^j)>>31|0)!=0?9:10;break;case 9:h=(j>>31|0)!=0?-2147483648:2147483647;b=10;break;case 10:b=11;break;case 11:return h;default:x(0,"bad label: "+b)}}function Bf(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648: 2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function Qf(h){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:a[(c|0)>>1]=4096;b=1;k=3;break;case 3:k=(b<<16>>16|0)<11?4:6;break;case 4:a[((c|0)+(b<<16>>16<<1)|0)>>1]=0;k=5;break;case 5:b=b+1&65535;k=3;break;case 6:e=0;k=7;break;case 7:return e;default:x(0,"bad label: "+k)}}function xc(h,k,e,c){var b; for(b=0;;)switch(b){case 0:var d,i,g,f,j,n;d=h;i=k;g=e;f=c;j=Fh|0;n=Gh|0;i=i+2|0;g=g+2|0;b=1;break;case 1:b=(d<<16>>16|0)!=0?2:4;break;case 2:b=a[i>>1];var l=a[g>>1],q=j;j=q+2|0;var q=a[q>>1],m=n;n=m+2|0;b=Eh(b,l,q,a[m>>1],f);a[i>>1]=b>>16&65535;b>>=1;l=i;i=l+2|0;b=(b-(a[l>>1]<<16>>16<<15)|0)&65535;l=g;g=l+2|0;a[l>>1]=b;b=3;break;case 3:d=d-1&65535;b=1;break;case 4:return;default:x(0,"bad label: "+b)}}function yc(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,h;d=a;i=k;g=e;f=c;j=(d<<16>> 16)*(g<<16>>16)|0;b=(j|0)!=1073741824?1:2;break;case 1:j<<=1;b=3;break;case 2:j=2147483647;b=3;break;case 3:b=((d<<16>>16)*(f<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?4:7;break;case 4:b=((h^j)>>31|0)!=0?5:6;break;case 5:h=(j>>31|0)!=0?-2147483648:2147483647;b=6;break;case 6:b=7;break;case 7:j=h;b=((i<<16>>16)*(g<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?8:11;break;case 8:b=((h^j)>>31|0)!=0?9:10;break;case 9:h=(j>>31|0)!=0?-2147483648:2147483647;b=10;break;case 10:b=11;break;case 11:return h;default:x(0, "bad label: "+b)}}function Pa(h,k,e){var c;c=h>>16;a[k>>1]=c&65535;a[e>>1]=((h>>1)-(c<<15)|0)&65535}function zc(h,k,e,c,b,d){var i=B;B+=96;x(B%4==0,"Stack is unaligned");x(B>1]<<16>>16<<16;g=g+(a[(l+2|0)>>1]<<16>>16<<1)|0;E=fb(g);s=Cd(E,a[n>>1],a[l>>1],p);g=(g|0)>0?1:2;break;case 1:s=Hh(s);g=2;break;case 2:v=s>>16&65535;t=((s>>1)- (v<<16>>16<<15)|0)&65535;u=la(s,p);a[m>>1]=u;s>>=4;a[((A|0)+2|0)>>1]=s>>16&65535;a[((C|0)+2|0)>>1]=((s>>1)-(a[((A|0)+2|0)>>1]<<16>>16<<15)|0)&65535;s=yc(v,t,v,t,p);s=fb(s);s=2147483647-s|0;g=s>>16&65535;s=((s>>1)-(g<<16>>16<<15)|0)&65535;s=yc(a[n>>1],a[l>>1],g,s,p);y=oa(s);s<<=y<<16>>16;u=s>>16&65535;w=((s>>1)-(u<<16>>16<<15)|0)&65535;o=2;g=3;break;case 3:g=(o<<16>>16|0)<=10?4:20;break;case 4:s=0;F=n+2|0;I=l+2|0;K=A+(((o<<16>>16)-1|0)<<1)|0;J=C+(((o<<16>>16)-1|0)<<1)|0;r=1;g=5;break;case 5:g=(r<< 16>>16|0)<(o<<16>>16|0)?6:8;break;case 6:g=a[F>>1]<<16>>16;var H=J;J=H-2|0;s=s+((g*(a[H>>1]<<16>>16)|0)>>15)|0;g=I;I=g+2|0;s=s+(((a[g>>1]<<16>>16)*(a[K>>1]<<16>>16)|0)>>15)|0;g=F;F=g+2|0;g=a[g>>1]<<16>>16;H=K;K=H-2|0;s=s+(g*(a[H>>1]<<16>>16)|0)|0;g=7;break;case 7:r=r+1&65535;g=5;break;case 8:s<<=5;g=(a[(n+(o<<16>>16<<1)|0)>>1]<<16>>16<<16)+(a[(l+(o<<16>>16<<1)|0)>>1]<<16>>16<<1)|0;s=s+g|0;g=fb(s);E=Cd(g,u,w,p);g=(s|0)>0?9:10;break;case 9:E=Hh(E);g=10;break;case 10:a:{v=E;t=y;E=void 0;for(E=0;;)switch(E){case 0:var L, M,Z;L=v;M=t;Z=0;E=(M<<16>>16|0)>0?1:4;break;case 1:Z=L<<(M<<16>>16);E=(Z>>(M<<16>>16|0)|0)!=(L|0)?2:3;break;case 2:Z=L>>31^2147483647;E=3;break;case 3:E=7;break;case 4:M=(-(M<<16>>16)|0)&65535;E=(M<<16>>16|0)<31?5:6;break;case 5:Z=L>>(M<<16>>16|0);E=6;break;case 6:E=7;break;case 7:E=Z;break a;default:x(0,"bad label: "+E)}E=void 0}v=E>>16&65535;t=((E>>1)-(v<<16>>16<<15)|0)&65535;g=(o<<16>>16|0)<5?11:12;break;case 11:a[((m+(o<<16>>16<<1)|0)-2|0)>>1]=(E+32768|0)>>16&65535;g=12;break;case 12:g=void 0; g=((v<<16>>16)-((v<<16>>16|0)<0&1)|0)&65535;g=(g<<16>>16^g<<16>>16>>15)&65535;g=(g<<16>>16|0)>32750?13:14;break;case 13:f=q;g=j|0;x(true,"memcpy given 22 bytes to copy. Problem with quantum=1 corrections perhaps?");na(f,g,22,1);f=m;N[f]=0;N[f+1]=0;N[f+2]=0;N[f+3]=0;N[f+4]=0;N[f+5]=0;N[f+6]=0;f=N[f+7]=0;g=25;break;case 14:K=A+(((o<<16>>16)-1|0)<<1)|0;J=C+(((o<<16>>16)-1|0)<<1)|0;G=z+2|0;U=D+2|0;r=1;g=15;break;case 15:g=(r<<16>>16|0)<(o<<16>>16|0)?16:18;break;case 16:s=v<<16>>16;g=J;J=g-2|0;s=(s*(a[g>> 1]<<16>>16)|0)>>15;s=s+(((t<<16>>16)*(a[K>>1]<<16>>16)|0)>>15)|0;g=v<<16>>16;H=K;K=H-2|0;s=s+(g*(a[H>>1]<<16>>16)|0)|0;s=s+((a[(A+(r<<16>>16<<1)|0)>>1]<<16>>16<<15)+(a[(C+(r<<16>>16<<1)|0)>>1]<<16>>16)|0)|0;a[G>>1]=s>>15&65535;g=s;H=G;G=H+2|0;g=(g-(a[H>>1]<<16>>16<<15)|0)&65535;H=U;U=H+2|0;a[H>>1]=g;g=17;break;case 17:r=r+1&65535;g=15;break;case 18:a[G>>1]=E>>20&65535;a[U>>1]=((E>>5)-(a[((z|0)+(o<<16>>16<<1)|0)>>1]<<16>>16<<15)|0)&65535;s=yc(v,t,v,t,p);s=fb(s);s=2147483647-s|0;g=s>>16&65535;s=((s>> 1)-(g<<16>>16<<15)|0)&65535;s=((u<<16>>16)*(s<<16>>16)|0)>>15;s=s+(((w<<16>>16)*(g<<16>>16)|0)>>15)|0;s=s+((u<<16>>16)*(g<<16>>16)|0)|0;s<<=1;r=oa(s);s<<=r<<16>>16;u=s>>16&65535;w=((s>>1)-(u<<16>>16<<15)|0)&65535;y=((y<<16>>16)+(r<<16>>16)|0)&65535;g=A+2|0;var H=z+2|0,ka=o<<16>>16<<1|0;x(ka%1===0,"memcpy given "+ka+" bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,H,ka,1);g=C+2|0;H=D+2|0;ka=o<<16>>16<<1|0;x(ka%1===0,"memcpy given "+ka+" bytes to copy. Problem with quantum=1 corrections perhaps?"); na(g,H,ka,1);g=19;break;case 19:o=o+1&65535;g=3;break;case 20:K=fa=q|0;fa=K+2|0;a[K>>1]=4096;K=A+2|0;J=C+2|0;o=1;g=21;break;case 21:g=(o<<16>>16|0)<=10?22:24;break;case 22:s=K;K=s+2|0;s=a[s>>1]<<16>>16<<15;g=J;J=g+2|0;s=s+(a[g>>1]<<16>>16)|0;g=(s+8192|0)>>14&65535;H=fa;fa=H+2|0;a[H>>1]=g;a[((j|0)+(o<<16>>16<<1)|0)>>1]=g;g=23;break;case 23:o=o+1&65535;g=21;break;case 24:f=0;g=25;break;case 25:return h=f,B=i,h;default:x(0,"bad label: "+g)}}function Hh(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k= (e|0)==-2147483648?1:2;break;case 1:var c=2147483647;k=3;break;case 2:c=-e|0;k=3;break;case 3:return e=c;default:x(0,"bad label: "+k)}}function Gd(h,k,e,c){var o;var m;var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n;d=h;i=k;g=e;f=c;b=(d|0)<=0?1:2;break;case 1:a[g>>1]=0;a[f>>1]=0;b=3;break;case 2:a[g>>1]=(30-(i<<16>>16)|0)&65535;d>>=10;j=d>>15&65535;b=d&32767;j=((j<<16>>16)-32|0)&65535;n=Ac+(j<<16>>16<<1)|0;m=(ga=M[n]|M[n+1]<<8,ga<<16>>16)<<16>>16<<16,n=m;var l=Ac+(j<<16>>16<<1)|0,l=(ga=M[l]|M[l+ 1]<<8,ga<<16>>16)<<16>>16;j=Ac+(((j<<16>>16)+1|0)<<1)|0;o=(ga=M[j]|M[j+1]<<8,ga<<16>>16)<<16>>16,j=o;j=(l-j|0)&65535;n=n-(((j<<16>>16)*(b<<16>>16)|0)<<1)|0;a[f>>1]=n>>16&65535;b=3;break;case 3:return;default:x(0,"bad label: "+b)}}function Bc(h,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g,f,j;c=h;f=b=k;j=c|0;g=c=c+2|0;c=g+2|0;g=a[g>>1];e=f;f=e+2|0;a[e>>1]=g;g=4;e=1;break;case 1:e=(g<<16>>16|0)!=0?2:4;break;case 2:e=c;c=e+2|0;e=a[e>>1]<<16>>16;var n=j;j=n+2|0;e=(e-(a[n>>1]<<16>>16)|0)&65535;n= f;f=n+2|0;a[n>>1]=e;e=c;c=e+2|0;e=a[e>>1]<<16>>16;n=j;j=n+2|0;e=(e-(a[n>>1]<<16>>16)|0)&65535;n=f;f=n+2|0;a[n>>1]=e;e=3;break;case 3:g=g-1&65535;e=1;break;case 4:a[f>>1]=(16384-(a[j>>1]<<16>>16)|0)&65535;f=b;g=10;e=5;break;case 5:e=(g<<16>>16|0)!=0?6:11;break;case 6:i=a[f>>1];d=((i<<16>>16)-1843|0)&65535;e=(d<<16>>16|0)>0?7:8;break;case 7:d=((d<<16>>16)*6242|0)>>15&65535;i=(1843-(d<<16>>16)|0)&65535;e=9;break;case 8:d=((i<<16>>16)*28160|0)>>15&65535;i=(3427-(d<<16>>16)|0)&65535;e=9;break;case 9:e= i<<16>>16<<3&65535;n=f;f=n+2|0;a[n>>1]=e;e=10;break;case 10:g=g-1&65535;e=5;break;case 11:return;default:x(0,"bad label: "+e)}}function Za(a,k,e){var c;c=oa(a);Gd(a<<(c<<16>>16),c,k,e)}function Rf(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e|0)==0?2:1;break;case 1:k=(h[e>>2]|0)==0?2:3;break;case 2:k=4;break;case 3:a:{k=h[e>>2]|0;for(var c=void 0,c=0;;)switch(c){case 0:var b;b=k;c=(b|0)==0?2:1;break;case 1:c=(h[b>>2]|0)==0?2:3;break;case 2:c=4;break;case 3:wa(h[b>>2]);h[b>>2]=0;c=4;break;case 4:break a; default:x(0,"bad label: "+c)}}wa(h[e>>2]);h[e>>2]=0;k=4;break;case 4:return;default:x(0,"bad label: "+k)}}function Sf(a){var k;for(k=0;;)switch(k){case 0:var e,c;c=a;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:Qf(h[(c|0)>>2]);e=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function Yf(a,k,e,c,b,d,i){var g=B;B+=56;x(B%4==0,"Stack is unaligned");x(B> 2];t=h[(m+116|0)>>2];m=h[(m+108|0)>>2];f=(f|0)==7?1:2;break;case 1:ec(l,10,s|0,r|0,v,p);xc(10,s|0,r|0,p);zc(h[(j|0)>>2],s|0,r|0,q+22|0,o|0,p);ec(l,10,s|0,r|0,t,p);xc(10,s|0,r|0,p);zc(h[(j|0)>>2],s|0,r|0,q+66|0,o|0,p);f=3;break;case 2:ec(n,10,s|0,r|0,m,p);xc(10,s|0,r|0,p);zc(h[(j|0)>>2],s|0,r|0,q+66|0,o|0,p);f=3;break;case 3:B=g;return;default:x(0,"bad label: "+f)}}function Se(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;e=(b<<16>>16|0)>31?1:2;break;case 1:d=0;e=7;break;case 2:a:{e=c;d= b;for(var i=void 0,i=0;;)switch(i){case 0:var g,f,j;g=e;f=d;j=0;i=(f<<16>>16|0)>0?1:4;break;case 1:i=(f<<16>>16|0)<31?2:3;break;case 2:j=g>>(f<<16>>16|0);i=3;break;case 3:i=7;break;case 4:f=(-(f<<16>>16)|0)&65535;j=g<<(f<<16>>16);i=(j>>(f<<16>>16|0)|0)!=(g|0)?5:6;break;case 5:j=g>>31^2147483647;i=6;break;case 6:i=7;break;case 7:d=j;break a;default:x(0,"bad label: "+i)}d=void 0}e=(b<<16>>16|0)>0?3:6;break;case 3:e=(c&1<<((b<<16>>16)-1|0)|0)!=0?4:5;break;case 4:d=d+1|0;e=5;break;case 5:e=6;break;case 6:e= 7;break;case 7:return d;default:x(0,"bad label: "+e)}}function sg(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;b=a;d=k;e=(b|0)==0?1:2;break;case 1:c=-1;e=3;break;case 2:ua(b|0,d,20,1,0);c=0;e=3;break;case 3:return c;default:x(0,"bad label: "+e)}}function sd(R,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g;b=R;d=k;i=e;g=0;c=1;break;case 1:c=(g<<16>>16|0)<10?2:4;break;case 2:var f=c=a[((b|0)+(g<<16>>16<<1)|0)>>1]<<16>>16<<16;c=i;var j=void 0;a:{for(var j=a[((b|0)+(g<<16>>16<<1)|0)>>1],n=c,l=void 0, l=0;;)switch(l){case 0:var q,m;q=j;m=n;q=5243*(q<<16>>16)|0;l=(q|0)!=1073741824?1:2;break;case 1:q<<=1;l=3;break;case 2:h[m>>2]=1;q=2147483647;l=3;break;case 3:j=q;break a;default:x(0,"bad label: "+l)}j=void 0}a:{n=void 0;for(n=0;;)switch(n){case 0:var p,o,r;p=f;n=j;o=c;r=p-n|0;n=((p^n)>>31|0)!=0?1:4;break;case 1:n=((r^p)&-2147483648|0)!=0?2:3;break;case 2:r=(p>>31|0)!=0?-2147483648:2147483647;h[o>>2]=1;n=3;break;case 3:n=4;break;case 4:j=r;break a;default:x(0,"bad label: "+n)}j=void 0}c=j;c=Ih(c, 5243,a[(d+(g<<16>>16<<1)|0)>>1],i);c=la(c,i);a[((b|0)+(g<<16>>16<<1)|0)>>1]=c;c=3;break;case 3:g=g+1&65535;c=1;break;case 4:return;default:x(0,"bad label: "+c)}}function Ih(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647; b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function Wd(R,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g;c=R;d=b=k;b=d+4|0;h[d>>2]=16777216;d=c;c=d+2|0;d=(-(a[d>>1]<<16>>16)|0)<<10;e=b;b=e+4|0;h[e>>2]=d;c=c+2|0;d=2;e=1;break;case 1:e=(d<<16>>16|0)<=5?2:8;break;case 2:h[b>>2]=h[(b-8|0)>>2];i=1;e=3;break;case 3:e=(i<<16>>16|0)<(d<<16>>16|0)?4:6;break;case 4:g=h[(b-4|0)>>2]>>16&65535;e=((h[(b-4|0)>>2]>>1)-(g<<16>>16<<15)|0)&65535;g=(g<<16>>16)*(a[c>>1]<<16>>16)|0;g=g+(((e<<16>>16)*(a[c>> 1]<<16>>16)|0)>>15)|0;e=b;h[e>>2]=h[e>>2]+h[(b-8|0)>>2]|0;e=g<<2;g=b;b=g-4|0;h[g>>2]=h[g>>2]-e|0;e=5;break;case 5:i=i+1&65535;e=3;break;case 6:e=c;c=e+2|0;g=b;h[g>>2]=h[g>>2]-(a[e>>1]<<16>>16<<10)|0;b=b+(d<<16>>16<<2)|0;c=c+2|0;e=7;break;case 7:d=d+1&65535;e=1;break;case 8:return;default:x(0,"bad label: "+e)}}function Fa(h,k,e){var l;var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f;b=h;d=k;i=e;g=0;c=1;break;case 1:c=(g<<16>>16|0)<(i<<16>>16|0)?2:4;break;case 2:c=a[(b+(g<<16>>16<<1)|0)>>1]<<16>>16>> 8&65535;f=a[(b+(g<<16>>16<<1)|0)>>1]<<16>>16&255;var j=vb+(((c<<16>>16)+1|0)<<1)|0,j=(ga=M[j]|M[j+1]<<8,ga<<16>>16)<<16>>16,n=vb+(c<<16>>16<<1)|0,n=(ga=M[n]|M[n+1]<<8,ga<<16>>16)<<16>>16;f=((j-n|0)*(f<<16>>16)|0)>>8;c=vb+(c<<16>>16<<1)|0;l=(ga=M[c]|M[c+1]<<8,ga<<16>>16)<<16>>16,c=l;a[(d+(g<<16>>16<<1)|0)>>1]=(c+((f&65535)<<16>>16)|0)&65535;c=3;break;case 3:g=g+1&65535;c=1;break;case 4:return;default:x(0,"bad label: "+c)}}function ub(h,k,e){var m;var l;var c;for(c=0;;)switch(c){case 0:var b,d,i,g, f;b=h;d=k;i=e;b=b+(((i<<16>>16)-1|0)<<1)|0;f=d+(((i<<16>>16)-1|0)<<1)|0;d=63;i=((i<<16>>16)-1|0)&65535;c=1;break;case 1:c=(i<<16>>16|0)>=0?2:7;break;case 2:g=b;b=g-2|0;g=a[g>>1];c=3;break;case 3:c=vb+(d<<16>>16<<1)|0;l=((ga=M[c]|M[c+1]<<8,ga<<16>>16)<<16>>16|0)<(g<<16>>16|0)?4:5,c=l;break;case 4:d=d-1&65535;c=3;break;case 5:c=g<<16>>16;var j=vb+(d<<16>>16<<1)|0,j=(ga=M[j]|M[j+1]<<8,ga<<16>>16)<<16>>16;c=c-j|0;j=Jh+(d<<16>>16<<1)|0;m=(ga=M[j]|M[j+1]<<8,ga<<16>>16)<<16>>16,j=m;c=c*j|0;c=(c+2048|0)>> 12;c=(((c&65535)<<16>>16)+(d<<16>>16<<8)|0)&65535;j=f;f=j-2|0;a[j>>1]=c;c=6;break;case 6:i=i-1&65535;c=1;break;case 7:return;default:x(0,"bad label: "+c)}}function ya(R,k,e){var c=B;B+=48;x(B%4==0,"Stack is unaligned");x(B>16|0)>0?2:4;break;case 2:b=h[(j+(((d<<16>>16)-1|0)<<2)|0)>>2];l=g;g=l-4|0;h[l>>2]=h[l>>2]+b|0;b= h[(n+(((d<<16>>16)-1|0)<<2)|0)>>2];l=m;m=l-4|0;h[l>>2]=h[l>>2]-b|0;b=3;break;case 3:d=d-1&65535;b=1;break;case 4:f=q;q=f+2|0;a[f>>1]=4096;g=j+4|0;m=n+4|0;d=1;f=10;b=5;break;case 5:b=(d<<16>>16|0)<=5?6:8;break;case 6:b=h[g>>2]+h[m>>2]|0;l=g;g=l+4|0;l=h[l>>2];var p=m;m=p+4|0;l=l-h[p>>2]|0;b=b+4096|0;l=l+4096|0;b=b>>13&65535;p=q;q=p+2|0;a[p>>1]=b;a[(i+(f<<16>>16<<1)|0)>>1]=l>>13&65535;b=7;break;case 7:d=d+1&65535;f=f-1&65535;b=5;break;case 8:B=c;return;default:x(0,"bad label: "+b)}}function kd(a){var k; for(k=0;;)switch(k){case 0:var e,c;c=a;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:k=c|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(k,Md,20,1);k=c+20|0;e=c|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(k,e,20,1);Mf(h[(c+40|0)>>2]);e=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function Zf(a,k,e,c,b,d,i,g){var f=B;B+=64;x(B%4==0,"Stack is unaligned");x(B>2],t|0,o,u|0,v|0,h[r>>2],s);vd(n+20|0,u|0,v|0,p,s);j=r;h[j>>2]=h[j>>2]+10|0;j=3;break;case 3:j=7;break;case 4:fc(m+66|0,o,n|0,s);Dh(n|0,o,m,s);j=(q|0)!=8?5:6;break;case 5:Ed(h[(n+40|0)>>2],l,o,v|0,h[r>>2],w,s);ud(n+20|0,v|0,p,s);j=r;h[j>>2]=h[j>>2]+6|0;j=6;break;case 6:j=7;break;case 7:j=n|0;var y=o; x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(j,y,20,1);j=(q|0)!=8?8:9;break;case 8:j=n+20|0;y=v|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(j,y,20,1);j=9;break;case 9:B=f;return;default:x(0,"bad label: "+j)}}function Xd(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;b=b+16384|0;b>>=15;b|=-(b&65536)|0;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=5;break;case 2:c=(b| 0)<-32768?3:4;break;case 3:h[d>>2]=1;b=-32768;c=4;break;case 4:c=5;break;case 5:return b&65535;default:x(0,"bad label: "+c)}}function oa(a){var k;for(k=0;;)switch(k){case 0:var e,c;e=a;c=0;k=(e|0)!=0?1:11;break;case 1:k=e-((e|0)<0&1)|0;e=k^k>>31;k=2;break;case 2:k=(1073741824&e|0)!=0^1?3:10;break;case 3:c=c+1&65535;k=(536870912&e|0)!=0?4:5;break;case 4:k=10;break;case 5:c=c+1&65535;k=(268435456&e|0)!=0?6:7;break;case 6:k=10;break;case 7:c=c+1&65535;k=(134217728&e|0)!=0?8:9;break;case 8:k=10;break; case 9:c=c+1&65535;e<<=4;k=2;break;case 10:k=11;break;case 11:return c;default:x(0,"bad label: "+k)}}function db(a){var k;for(k=0;;)switch(k){case 0:var e,c;e=a;c=0;k=e<<16>>16!=0?1:11;break;case 1:k=((e<<16>>16)-((e<<16>>16|0)<0&1)|0)&65535;e=(k<<16>>16^k<<16>>16>>15)&65535;k=2;break;case 2:k=(16384&e<<16>>16|0)!=0^1?3:10;break;case 3:c=c+1&65535;k=(8192&e<<16>>16|0)!=0?4:5;break;case 4:k=10;break;case 5:c=c+1&65535;k=(4096&e<<16>>16|0)!=0?6:7;break;case 6:k=10;break;case 7:c=c+1&65535;k=(2048&e<< 16>>16|0)!=0?8:9;break;case 8:k=10;break;case 9:c=c+1&65535;e=e<<16>>16<<4&65535;k=2;break;case 10:k=11;break;case 11:return c;default:x(0,"bad label: "+k)}}function tg(h){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:b=0;k=3;break;case 3:k=(b<<16>>16|0)<5?4:6;break;case 4:a[((c|0)+(b<<16>>16<<1)|0)>>1]=0;k=5;break;case 5:b=b+1&65535;k=3;break;case 6:a[(c+10|0)>>1]=0;a[(c+12|0)>>1]=0;a[(c+14|0)>>1]=0;e=a[(c+16|0)>>1]=0;k=7;break;case 7:return e;default:x(0, "bad label: "+k)}}function pd(h,k,e,c,b,d,i,g,f,j){var n;for(n=0;;)switch(n){case 0:var l,q,m,p,o,r,s,v,t,u;l=h;q=k;m=e;p=c;o=b;r=d;s=i;v=g;t=f;u=j;n=(m|0)!=6?1:2;break;case 1:a[(s|0)>>1]=0;a[(s+2|0)>>1]=0;n=2;break;case 2:n=(m|0)==0?4:3;break;case 3:n=(m|0)==1?4:5;break;case 4:n=Cc(q,m,p,20,143,160,v,t,u);a[o>>1]=n;n=12;break;case 5:n=m>>>0<=5?6:7;break;case 6:n=Cc(q,m,p,20,143,80,v,t,u);a[o>>1]=n;n=11;break;case 7:n=(m|0)==6?8:9;break;case 8:n=Lh(l,q,p,20,143,80,r,s,v,t,u);a[o>>1]=n;n=10;break; case 9:n=Cc(q,m,p,18,143,80,v,t,u);a[o>>1]=n;n=10;break;case 10:n=11;break;case 11:n=12;break;case 12:return;default:x(0,"bad label: "+n)}}function Hf(h){var k;for(k=0;;)switch(k){case 0:var e,c;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:e=a[(c|0)>>1]=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function Fg(R,k,e,c,b,d,i,g,f,j){var n=B;B+=160;x(B%4==0,"Stack is unaligned");x(B>2];Z=h[(u+124|0)>>2];ka=h[(u+128|0)>>2];u=h[(u+132|0)>>2];a[((q|0)+8|0)>>1]=a[((q|0)+6|0)>>1];a[((q|0)+6|0)>>1]=a[((q|0)+4|0)>>1];a[((q|0)+4|0)>>1]=a[((q|0)+2|0)>>1];a[((q|0)+2|0)>>1]=a[(q|0)>>1];a[(q|0)>>1]=r;l=(r<<16>>16|0)<14746?1:5;break;case 1:l=(r<<16>>16|0)>9830?2:3;break;case 2:z=1;l=4;break;case 3:z=0;l=4;break;case 4:l=6;break;case 5:z=2;l=6;break;case 6:C=(a[(q+12|0)>>1]<<16>>16<<14|0)<<1;l=(C|0)>536870911? 7:8;break;case 7:h[w>>2]=1;C=2147483647;l=12;break;case 8:l=(C|0)<-536870912?9:10;break;case 9:h[w>>2]=1;C=-2147483648;l=11;break;case 10:C<<=2;l=11;break;case 11:l=12;break;case 12:l=la(C,w);l=(o<<16>>16|0)>(l<<16>>16|0)?13:14;break;case 13:a[(q+16|0)>>1]=2;l=17;break;case 14:l=(a[(q+16|0)>>1]<<16>>16|0)>0?15:16;break;case 15:l=q+16|0;a[l>>1]=((a[l>>1]<<16>>16)-1|0)&65535;l=16;break;case 16:l=17;break;case 17:l=(a[(q+16|0)>>1]<<16>>16|0)==0?18:27;break;case 18:y=A=0;l=19;break;case 19:l=(y<<16>> 16|0)<5?20:24;break;case 20:l=(a[((q|0)+(y<<16>>16<<1)|0)>>1]<<16>>16|0)<9830?21:22;break;case 21:A=((A<<16>>16)+1|0)&65535;l=22;break;case 22:l=23;break;case 23:y=y+1&65535;l=19;break;case 24:l=(A<<16>>16|0)>2?25:26;break;case 25:z=0;l=26;break;case 26:l=27;break;case 27:l=(z<<16>>16|0)>((a[(q+10|0)>>1]<<16>>16)+1|0)?28:30;break;case 28:l=(a[(q+16|0)>>1]<<16>>16|0)==0?29:30;break;case 29:z=((z<<16>>16)-1|0)&65535;l=30;break;case 30:l=(z<<16>>16|0)<2?31:33;break;case 31:l=(a[(q+16|0)>>1]<<16>>16| 0)>0?32:33;break;case 32:z=((z<<16>>16)+1|0)&65535;l=33;break;case 33:l=(o<<16>>16|0)<10?34:35;break;case 34:z=2;l=35;break;case 35:l=(a[(q+14|0)>>1]<<16>>16|0)==1?36:37;break;case 36:z=0;l=37;break;case 37:a[(q+10|0)>>1]=z;a[(q+12|0)>>1]=o;l=(m|0)!=7?38:69;break;case 38:l=(m|0)!=6?39:69;break;case 39:l=(m|0)!=4?40:69;break;case 40:l=(z<<16>>16|0)<2?41:69;break;case 41:F=0;G=s|0;U=D|0;y=0;l=42;break;case 42:l=(y<<16>>16|0)<40?43:47;break;case 43:l=(a[G>>1]<<16>>16|0)!=0?44:45;break;case 44:a[(E+(F<< 16>>16<<1)|0)>>1]=y;F=((F<<16>>16)+1|0)&65535;l=45;break;case 45:l=a[G>>1];var Q=U;U=Q+2|0;a[Q>>1]=l;l=G;G=l+2|0;a[l>>1]=0;l=46;break;case 46:y=y+1&65535;l=42;break;case 47:l=(m|0)==5?48:52;break;case 48:l=(z<<16>>16|0)==0?49:50;break;case 49:J=M;l=51;break;case 50:J=Z;l=51;break;case 51:l=56;break;case 52:l=(z<<16>>16|0)==0?53:54;break;case 53:J=ka;l=55;break;case 54:J=u;l=55;break;case 55:l=56;break;case 56:I=0;l=57;break;case 57:l=(I<<16>>16|0)<(F<<16>>16|0)?58:68;break;case 58:K=a[(E+(I<<16>> 16<<1)|0)>>1];L=a[(D+(K<<16>>16<<1)|0)>>1];G=s+(K<<16>>16<<1)|0;N=J;y=K;l=59;break;case 59:l=(y<<16>>16|0)<40?60:62;break;case 60:C=L<<16>>16;l=N;N=l+2|0;C=(C*(a[l>>1]<<16>>16)|0)>>15;l=C&65535;l=$(a[G>>1],l,w);a[G>>1]=l;G=G+2|0;l=61;break;case 61:y=y+1&65535;l=59;break;case 62:G=s|0;y=0;l=63;break;case 63:l=(y<<16>>16|0)<(K<<16>>16|0)?64:66;break;case 64:C=L<<16>>16;l=N;N=l+2|0;C=(C*(a[l>>1]<<16>>16)|0)>>15;l=C&65535;l=$(a[G>>1],l,w);a[G>>1]=l;G=G+2|0;l=65;break;case 65:y=y+1&65535;l=63;break;case 66:l= 67;break;case 67:I=I+1&65535;l=57;break;case 68:l=69;break;case 69:G=s|0;H=p|0;y=0;l=70;break;case 70:l=(y<<16>>16|0)<40?71:73;break;case 71:a:{C=a[(p+(y<<16>>16<<1)|0)>>1];l=v;for(var Q=w,T=void 0,T=0;;)switch(T){case 0:var X,S;X=C;T=l;S=Q;X=(X<<16>>16)*(T<<16>>16)|0;T=(X|0)!=1073741824?1:2;break;case 1:X<<=1;T=3;break;case 2:h[S>>2]=1;X=2147483647;T=3;break;case 3:C=X;break a;default:x(0,"bad label: "+T)}C=void 0}l=G;G=l+2|0;l=((a[l>>1]<<16>>16)*(o<<16>>16)|0)<<1;a:{Q=w;T=void 0;for(T=0;;)switch(T){case 0:var P, O,Y;P=C;T=l;O=Q;Y=P+T|0;T=(P^T|0)>=0?1:4;break;case 1:T=((Y^P)>>31|0)!=0?2:3;break;case 2:Y=(P>>31|0)!=0?-2147483648:2147483647;h[O>>2]=1;T=3;break;case 3:T=4;break;case 4:C=Y;break a;default:x(0,"bad label: "+T)}C=void 0}a:{l=t;Q=void 0;for(Q=0;;)switch(Q){case 0:var ca,V,aa;ca=C;V=l;aa=0;Q=(V<<16>>16|0)>0?1:4;break;case 1:aa=ca<<(V<<16>>16);Q=(aa>>(V<<16>>16|0)|0)!=(ca|0)?2:3;break;case 2:aa=ca>>31^2147483647;Q=3;break;case 3:Q=7;break;case 4:V=(-(V<<16>>16)|0)&65535;Q=(V<<16>>16|0)<31?5:6;break; case 5:aa=ca>>(V<<16>>16|0);Q=6;break;case 6:Q=7;break;case 7:C=aa;break a;default:x(0,"bad label: "+Q)}C=void 0}l=la(C,w);Q=H;H=Q+2|0;a[Q>>1]=l;l=72;break;case 72:y=y+1&65535;l=70;break;case 73:B=n;return;default:x(0,"bad label: "+l)}}function Dc(h,k,e,c,b,d,i){var g;for(g=0;;)switch(g){case 0:var f,j,n,l,q,m;g=h;f=k;j=e;n=c;l=b;q=d;m=i;f=((g<<16>>16)-(f<<16>>16)|0)&65535;g=(f<<16>>16|0)<(n<<16>>16|0)?1:2;break;case 1:f=n;g=2;break;case 2:a[q>>1]=f;f=((f<<16>>16)+(j<<16>>16)|0)&65535;g=(f<<16>>16| 0)>(l<<16>>16|0)?3:4;break;case 3:f=l;a[q>>1]=((l<<16>>16)-(j<<16>>16)|0)&65535;g=4;break;case 4:a[m>>1]=f;return;default:x(0,"bad label: "+g)}}function Jf(h,k,e,c,b,d,i,g,f,j,n,l){var q=B;B+=96;x(B%4==0,"Stack is unaligned");x(B>1]=0;N=a[(Qa+o*18|0)>>1];L=a[((Qa+o*18|0)+2|0)>>1];a[J>>1]=a[((Qa+o*18|0)+ 4|0)>>1];Z=a[((Qa+o*18|0)+6|0)>>1];ka=a[((Qa+o*18|0)+8|0)>>1];Q=a[((Qa+o*18|0)+10|0)>>1];T=a[((Qa+o*18|0)+12|0)>>1];X=a[((Qa+o*18|0)+14|0)>>1];S=a[((Qa+o*18|0)+16|0)>>1];O=1;m=(w<<16>>16|0)==0?2:1;break;case 1:m=(w<<16>>16|0)==80?2:10;break;case 2:m=(o|0)!=0?3:4;break;case 3:m=(o|0)!=1?5:4;break;case 4:m=(w<<16>>16|0)!=80?5:8;break;case 5:O=0;P=1;m=(w<<16>>16|0)==0?6:7;break;case 6:P=0;m=7;break;case 7:Dc(a[(r+(P<<16>>16<<1)|0)>>1],ka,Q,S,143,F,I,z);m=9;break;case 8:Dc(a[(p|0)>>1],T,X,S,143,F,I,z); m=9;break;case 9:m=11;break;case 10:Dc(a[(p|0)>>1],T,X,S,143,F,I,z);m=11;break;case 11:D=((a[F>>1]<<16>>16)-4|0)&65535;E=((a[I>>1]<<16>>16)+4|0)&65535;U=H+((-(D<<16>>16)|0)<<1)|0;Mh(s,v,t,u,D,E,U,z);E=a[(U+(a[F>>1]<<16>>16<<1)|0)>>1];a[K>>1]=a[F>>1];D=((a[F>>1]<<16>>16)+1|0)&65535;m=12;break;case 12:m=(D<<16>>16|0)<=(a[I>>1]<<16>>16|0)?13:17;break;case 13:m=(a[(U+(D<<16>>16<<1)|0)>>1]<<16>>16|0)>=(E<<16>>16|0)?14:15;break;case 14:E=a[(U+(D<<16>>16<<1)|0)>>1];a[K>>1]=D;m=15;break;case 15:m=16;break; case 16:D=D+1&65535;m=12;break;case 17:m=(O<<16>>16|0)==0?18:20;break;case 18:m=(a[K>>1]<<16>>16|0)>(N<<16>>16|0)?19:20;break;case 19:a[J>>1]=0;m=42;break;case 20:m=(O<<16>>16|0)!=0?21:40;break;case 21:m=(o|0)==0?25:22;break;case 22:m=(o|0)==1?25:23;break;case 23:m=(o|0)==2?25:24;break;case 24:m=(o|0)==3?25:40;break;case 25:G=a[(p|0)>>1];m=((G<<16>>16)-(a[F>>1]<<16>>16)|0)>5?26:27;break;case 26:G=((a[F>>1]<<16>>16)+5|0)&65535;m=27;break;case 27:m=((a[I>>1]<<16>>16)-(G<<16>>16)|0)>4?28:29;break;case 28:G= ((a[I>>1]<<16>>16)-4|0)&65535;m=29;break;case 29:m=(a[K>>1]<<16>>16|0)==(G<<16>>16|0)?31:30;break;case 30:m=(a[K>>1]<<16>>16|0)==((G<<16>>16)-1|0)?31:32;break;case 31:Xb(K,J,Z,U,L,z);m=39;break;case 32:m=(a[K>>1]<<16>>16|0)==((G<<16>>16)-2|0)?33:34;break;case 33:a[J>>1]=0;Xb(K,J,Z,U,L,z);m=38;break;case 34:m=(a[K>>1]<<16>>16|0)==((G<<16>>16)+1|0)?35:36;break;case 35:Z=0;Xb(K,J,Z,U,L,z);m=37;break;case 36:a[J>>1]=0;m=37;break;case 37:m=38;break;case 38:m=39;break;case 39:m=41;break;case 40:Xb(K,J, Z,U,L,z);m=41;break;case 41:m=42;break;case 42:m=(L<<16>>16|0)!=0?43:49;break;case 43:M=0;m=(o|0)==0?47:44;break;case 44:m=(o|0)==1?47:45;break;case 45:m=(o|0)==2?47:46;break;case 46:m=(o|0)==3?47:48;break;case 47:M=1;m=48;break;case 48:m=Ug(a[K>>1],a[J>>1],a[(p|0)>>1],a[F>>1],a[I>>1],O,M,z);a[C>>1]=m;m=50;break;case 49:m=Vg(a[K>>1],a[J>>1],a[F>>1],O,z);a[C>>1]=m;m=50;break;case 50:return a[(p|0)>>1]=a[K>>1],a[A>>1]=L,a[y>>1]=a[J>>1],h=a[K>>1],B=q,h;default:x(0,"bad label: "+m)}}function Nh(a,k,e, c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,h;d=a;i=k;g=e;f=c;j=(d<<16>>16)*(g<<16>>16)|0;b=(j|0)!=1073741824?1:2;break;case 1:j<<=1;b=3;break;case 2:j=2147483647;b=3;break;case 3:b=((d<<16>>16)*(f<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?4:7;break;case 4:b=((h^j)>>31|0)!=0?5:6;break;case 5:h=(j>>31|0)!=0?-2147483648:2147483647;b=6;break;case 6:b=7;break;case 7:j=h;b=((i<<16>>16)*(g<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?8:11;break;case 8:b=((h^j)>>31|0)!=0?9:10;break;case 9:h=(j>>31|0)!= 0?-2147483648:2147483647;b=10;break;case 10:b=11;break;case 11:return h;default:x(0,"bad label: "+b)}}function Mh(h,k,e,c,b,d,i,g){var f=B;B+=160;x(B%4==0,"Stack is unaligned");x(B>16)|0)&65535;Kb(n+(u<<16>>16<<1)|0,q,z|0,m);w=0;K=I|0;J=z|0;t=m<<16>>16>>1&65535;j=1;break;case 1:j=(t<<16>>16|0)!=0?2:4;break;case 2:G=J;J=G+2|0;G=a[G>>1];j=G<< 16>>16>>2&65535;y=K;K=y+2|0;a[y>>1]=j;w=w+((G<<16>>16)*(G<<16>>16)|0)|0;G=J;J=G+2|0;G=a[G>>1];j=G<<16>>16>>2&65535;y=K;K=y+2|0;a[y>>1]=j;w=w+((G<<16>>16)*(G<<16>>16)|0)|0;j=3;break;case 3:t=t-1&65535;j=1;break;case 4:j=(w|0)<=33554432?5:6;break;case 5:F=z|0;E=12;D=0;j=7;break;case 6:F=I|0;E=14;D=2;j=7;break;case 7:v=p;j=8;break;case 8:j=(v<<16>>16|0)<=(o<<16>>16|0)?9:20;break;case 9:w=C=0;U=l;K=F;t=m<<16>>16>>1&65535;j=10;break;case 10:j=t;t=j-1&65535;j=j<<16>>16!=0?11:12;break;case 11:j=U;U=j+2| 0;w=w+((a[j>>1]<<16>>16)*(a[K>>1]<<16>>16)|0)|0;C=C+((a[K>>1]<<16>>16)*(a[K>>1]<<16>>16)|0)|0;K=K+2|0;j=U;U=j+2|0;w=w+((a[j>>1]<<16>>16)*(a[K>>1]<<16>>16)|0)|0;C=C+((a[K>>1]<<16>>16)*(a[K>>1]<<16>>16)|0)|0;K=K+2|0;j=10;break;case 12:C<<=1;C=Xa(C,s);y=C>>16&65535;A=((C>>1)-(y<<16>>16<<15)|0)&65535;j=w>>15&65535;w=(w-(j<<16>>16<<15)|0)&65535;w=Nh(j,w,y,A,s);a[(r+(v<<16>>16<<1)|0)>>1]=w&65535;j=(v<<16>>16|0)!=(o<<16>>16|0)?13:18;break;case 13:u=u-1&65535;G=a[(n+(u<<16>>16<<1)|0)>>1];K=F+(((m<<16>>16)- 1|0)<<1)|0;H=q+(((m<<16>>16)-1|0)<<1)|0;J=F+(((m<<16>>16)-2|0)<<1)|0;t=((m<<16>>16)-1|0)>>1&65535;j=14;break;case 14:j=(t<<16>>16|0)!=0?15:17;break;case 15:w=G<<16>>16;j=H;H=j-2|0;w=(w*(a[j>>1]<<16>>16)|0)>>(E<<16>>16|0);w=(w&65535)<<16>>16;j=J;J=j-2|0;w=(w+(a[j>>1]<<16>>16)|0)&65535;j=K;K=j-2|0;a[j>>1]=w;w=G<<16>>16;j=H;H=j-2|0;w=(w*(a[j>>1]<<16>>16)|0)>>(E<<16>>16|0);j=(w&65535)<<16>>16;y=J;J=y-2|0;j=(j+(a[y>>1]<<16>>16)|0)&65535;y=K;K=y-2|0;a[y>>1]=j;j=16;break;case 16:t=t-1&65535;j=14;break;case 17:w= ((G<<16>>16)*(a[H>>1]<<16>>16)|0)>>(E<<16>>16|0);j=(((w&65535)<<16>>16)+(a[J>>1]<<16>>16)|0)&65535;y=K;K=y-2|0;a[y>>1]=j;a[K>>1]=G<<16>>16>>(D<<16>>16|0)&65535;j=18;break;case 18:j=19;break;case 19:v=v+1&65535;j=8;break;case 20:B=f;return;default:x(0,"bad label: "+j)}}function Xb(h,k,e,c,b,d){var i;for(i=0;;)switch(i){case 0:var g,f,j,n,l,q,m,p,o;g=h;f=k;j=e;n=c;l=b;q=d;p=Ud(n+(a[g>>1]<<16>>16<<1)|0,a[f>>1],l,q);m=((a[f>>1]<<16>>16)+1|0)&65535;i=1;break;case 1:i=(m<<16>>16|0)<=(j<<16>>16|0)?2:6;break; case 2:o=Ud(n+(a[g>>1]<<16>>16<<1)|0,m,l,q);i=(o<<16>>16|0)>(p<<16>>16|0)?3:4;break;case 3:p=o;a[f>>1]=m;i=4;break;case 4:i=5;break;case 5:m=m+1&65535;i=1;break;case 6:i=(l<<16>>16|0)==0?7:10;break;case 7:i=(a[f>>1]<<16>>16|0)==-3?8:9;break;case 8:a[f>>1]=3;i=g;a[i>>1]=a[i>>1]-1&65535;i=9;break;case 9:i=15;break;case 10:i=(a[f>>1]<<16>>16|0)==-2?11:12;break;case 11:a[f>>1]=1;i=g;a[i>>1]=a[i>>1]-1&65535;i=12;break;case 12:i=(a[f>>1]<<16>>16|0)==2?13:14;break;case 13:a[f>>1]=-1;i=g;a[i>>1]=a[i>>1]+ 1&65535;i=14;break;case 14:i=15;break;case 15:return;default:x(0,"bad label: "+i)}}function Oh(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,h;d=a;i=k;g=e;f=c;j=(d<<16>>16)*(g<<16>>16)|0;b=(j|0)!=1073741824?1:2;break;case 1:j<<=1;b=3;break;case 2:j=2147483647;b=3;break;case 3:b=((d<<16>>16)*(f<<16>>16)|0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?4:7;break;case 4:b=((h^j)>>31|0)!=0?5:6;break;case 5:h=(j>>31|0)!=0?-2147483648:2147483647;b=6;break;case 6:b=7;break;case 7:j=h;b=((i<<16>>16)*(g<<16>>16)| 0)>>15;h=j+(b<<1)|0;b=(j^b|0)>0?8:11;break;case 8:b=((h^j)>>31|0)!=0?9:10;break;case 9:h=(j>>31|0)!=0?-2147483648:2147483647;b=10;break;case 10:b=11;break;case 11:return h;default:x(0,"bad label: "+b)}}function Ec(R,k,e,c,b,d,i,g,f,j,n){var l;for(l=0;;)switch(l){case 0:var q,m,p,o,r,s,v,t,u,w,y,A,C,z,D,B,F,I,K;q=R;m=k;p=e;o=c;r=b;s=d;v=i;t=g;u=f;w=j;y=n;m=m+((-(v<<16>>16)|0)<<2)|0;C=-2147483648;F=v;l=1;break;case 1:l=(v<<16>>16|0)>=(t<<16>>16|0)?2:6;break;case 2:l=m;m=l+4|0;l=(h[l>>2]|0)>=(C|0)?3: 4;break;case 3:C=m=m-4|0;m=C+4|0;C=h[C>>2];F=v;l=4;break;case 4:l=5;break;case 5:v=v-1&65535;l=1;break;case 6:z=0;A=p+((-(F<<16>>16)|0)<<1)|0;v=s<<16>>16>>2&65535;l=7;break;case 7:l=(v<<16>>16|0)!=0?8:10;break;case 8:z=z+((a[A>>1]<<16>>16)*(a[A>>1]<<16>>16)|0)|0;A=A+2|0;z=z+((a[A>>1]<<16>>16)*(a[A>>1]<<16>>16)|0)|0;A=A+2|0;z=z+((a[A>>1]<<16>>16)*(a[A>>1]<<16>>16)|0)|0;A=A+2|0;z=z+((a[A>>1]<<16>>16)*(a[A>>1]<<16>>16)|0)|0;A=A+2|0;l=9;break;case 9:v=v-1&65535;l=7;break;case 10:z<<=1;l=(w|0)!=0?11:12; break;case 11:Ph(q,C,z,y);l=12;break;case 12:z=Xa(z,y);l=r<<16>>16!=0?13:17;break;case 13:l=(z|0)>1073741823?14:15;break;case 14:z=2147483647;l=16;break;case 15:z<<=1;l=16;break;case 16:l=17;break;case 17:l=C>>16&65535;I=C>>1;K=l<<16>>16<<15;I=I-K|0;D=I&65535;B=z>>16&65535;I=z>>1;K=B<<16>>16<<15;I=I-K|0;z=I&65535;z=Oh(l,D,B,z,y);l=r<<16>>16!=0?18:25;break;case 18:a:{l=o;D=void 0;for(D=0;;)switch(D){case 0:var J,G,U;J=z;G=l;U=0;D=(G<<16>>16|0)>0?1:4;break;case 1:D=(G<<16>>16|0)<31?2:3;break;case 2:U= J>>(G<<16>>16|0);D=3;break;case 3:D=7;break;case 4:G=(-(G<<16>>16)|0)&65535;U=J<<(G<<16>>16);D=(U>>(G<<16>>16|0)|0)!=(J|0)?5:6;break;case 5:U=J>>31^2147483647;D=6;break;case 6:D=7;break;case 7:z=U;break a;default:x(0,"bad label: "+D)}z=void 0}l=(z|0)>65535?19:20;break;case 19:a[u>>1]=32767;l=24;break;case 20:l=(z|0)<-65536?21:22;break;case 21:a[u>>1]=-32768;l=23;break;case 22:a[u>>1]=z>>1&65535;l=23;break;case 23:l=24;break;case 24:l=26;break;case 25:a[u>>1]=z&65535;l=26;break;case 26:return F;default:x(0, "bad label: "+l)}}function Cc(R,k,e,c,b,d,i,g,f){var j=B;B+=1200;x(B%4==0,"Stack is unaligned");x(B>16)|0)<<1)|0;u=(-(o<<16>>16)|0)&65535;n=7;break; case 7:n=(u<<16>>16|0)<(r<<16>>16|0)?8:12;break;case 8:I=I+(((a[N>>1]<<16>>16)*(a[N>>1]<<16>>16)|0)<<1)|0;N=N+2|0;n=(I|0)<0?9:10;break;case 9:I=2147483647;n=12;break;case 10:n=11;break;case 11:u=u+1&65535;n=7;break;case 12:H=U|0;N=m+((-(o<<16>>16)|0)<<1)|0;n=(I|0)==2147483647?13:20;break;case 13:u=((o<<16>>16)+(r<<16>>16)|0)>>1&65535;n=14;break;case 14:n=(u<<16>>16|0)!=0?15:17;break;case 15:n=N;N=n+2|0;n=a[n>>1]<<16>>16>>3&65535;var Z=H;H=Z+2|0;a[Z>>1]=n;n=N;N=n+2|0;n=a[n>>1]<<16>>16>>3&65535;Z=H; H=Z+2|0;a[Z>>1]=n;n=16;break;case 16:u=u-1&65535;n=14;break;case 17:n=(((o<<16>>16)+(r<<16>>16)|0)&1|0)!=0?18:19;break;case 18:a[H>>1]=a[N>>1]<<16>>16>>3&65535;n=19;break;case 19:L=3;n=30;break;case 20:n=(I|0)<1048576?21:28;break;case 21:u=((o<<16>>16)+(r<<16>>16)|0)>>1&65535;n=22;break;case 22:n=(u<<16>>16|0)!=0?23:25;break;case 23:n=N;N=n+2|0;n=a[n>>1]<<16>>16<<3&65535;Z=H;H=Z+2|0;a[Z>>1]=n;n=N;N=n+2|0;n=a[n>>1]<<16>>16<<3&65535;Z=H;H=Z+2|0;a[Z>>1]=n;n=24;break;case 24:u=u-1&65535;n=22;break;case 25:n= (((o<<16>>16)+(r<<16>>16)|0)&1|0)!=0?26:27;break;case 26:a[H>>1]=a[N>>1]<<16>>16<<3&65535;n=27;break;case 27:L=-3;n=29;break;case 28:L=H;n=N;Z=((r<<16>>16)+(o<<16>>16)|0)<<1|0;x(Z%1===0,"memcpy given "+Z+" bytes to copy. Problem with quantum=1 corrections perhaps?");na(L,n,Z,1);L=0;n=29;break;case 29:n=30;break;case 30:G=J+(o<<16>>16<<2)|0;H=U+(o<<16>>16<<1)|0;dd(H,r,o,p,G);n=(q|0)==7?31:32;break;case 31:F=1;n=33;break;case 32:F=0;n=33;break;case 33:M=p<<16>>16<<2;n=(M|0)!=((M&65535)<<16>>16|0)?34: 35;break;case 34:h[t>>2]=1;w=((p<<16>>16|0)>0?32767:-32768)&65535;n=36;break;case 35:w=M&65535;n=36;break;case 36:z=Ec(l,G,H,L,F,r,o,w,y,v,t);u=((w<<16>>16)-1|0)&65535;w=p<<16>>16<<1&65535;D=Ec(l,G,H,L,F,r,u,w,A,v,t);u=((w<<16>>16)-1|0)&65535;E=Ec(l,G,H,L,F,r,u,p,C,v,t);n=(v|0)!=0?37:40;break;case 37:n=(s<<16>>16|0)==1?38:39;break;case 38:Sd(G,H,r,o,p,K,t);a[(l+118|0)>>1]=a[K>>1];n=39;break;case 39:n=40;break;case 40:u=((a[y>>1]<<16>>16)*27853|0)>>15&65535;n=(u<<16>>16|0)<(a[A>>1]<<16>>16|0)?41:42; break;case 41:a[y>>1]=a[A>>1];z=D;n=42;break;case 42:u=((a[y>>1]<<16>>16)*27853|0)>>15&65535;n=(u<<16>>16|0)<(a[C>>1]<<16>>16|0)?43:44;break;case 43:z=E;n=44;break;case 44:return R=z,B=j,R;default:x(0,"bad label: "+n)}}function Fc(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break; case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function Zd(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b-c|0;c=((b^c)>>31|0)!=0?1:4;break;case 1:c=((i^b)&-2147483648|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function Qh(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break; case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Of(h){var k;for(k=0;;)switch(k){case 0:var e,c;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:a[(c|0)>>1]=40;a[(c+2|0)>>1]=0;e=a[(c+4|0)>>1]=0;k=3;break; case 3:return e;default:x(0,"bad label: "+k)}}function Lh(h,k,e,c,b,d,i,g,f,j,n){var l=B;B+=1192;x(B%4==0,"Stack is unaligned");x(B>16<<1)|0;E=0;C=(-(s<<16>>16)|0)&65535;q=1;break;case 1:q=(C<<16>>16|0)<(v<<16>>16|0)?2:4;break;case 2:E=Fc(E,a[(o+(C<<16>>16<<1)|0)>>1],a[(o+(C<<16>>16<<1)|0)>>1],A);q=3;break;case 3:C=C+1&65535; q=1;break;case 4:q=(Zd(E,2147483647,A)|0)==0?5:10;break;case 5:C=(-(s<<16>>16)|0)&65535;q=6;break;case 6:q=(C<<16>>16|0)<(v<<16>>16|0)?7:9;break;case 7:q=ra(a[(o+(C<<16>>16<<1)|0)>>1],3,A);a[(J+(C<<16>>16<<1)|0)>>1]=q;q=8;break;case 8:C=C+1&65535;q=6;break;case 9:q=22;break;case 10:q=(Zd(E,1048576,A)|0)<0?11:16;break;case 11:C=(-(s<<16>>16)|0)&65535;q=12;break;case 12:q=(C<<16>>16|0)<(v<<16>>16|0)?13:15;break;case 13:q=Qh(a[(o+(C<<16>>16<<1)|0)>>1],3,A);a[(J+(C<<16>>16<<1)|0)>>1]=q;q=14;break;case 14:C= C+1&65535;q=12;break;case 15:q=21;break;case 16:C=(-(s<<16>>16)|0)&65535;q=17;break;case 17:q=(C<<16>>16|0)<(v<<16>>16|0)?18:20;break;case 18:a[(J+(C<<16>>16<<1)|0)>>1]=a[(o+(C<<16>>16<<1)|0)>>1];q=19;break;case 19:C=C+1&65535;q=17;break;case 20:q=21;break;case 21:q=22;break;case 22:K=I+(s<<16>>16<<2)|0;dd(J,v,s,r,K);D=Rh(p,K,J,v,s,r,a[(m|0)>>1],z,a[(m+4|0)>>1],u+(w<<16>>16<<1)|0,y,A);q=(a[(u+(w<<16>>16<<1)|0)>>1]<<16>>16|0)>0?23:28;break;case 23:C=4;q=24;break;case 24:q=(C<<16>>16|0)>0?25:27;break; case 25:a[(t+(C<<16>>16<<1)|0)>>1]=a[(t+(((C<<16>>16)-1|0)<<1)|0)>>1];q=26;break;case 26:C=C-1&65535;q=24;break;case 27:a[(t|0)>>1]=D;q=Ya(t,5);a[(m|0)>>1]=q;a[(m+2|0)>>1]=32767;q=29;break;case 28:a[(m|0)>>1]=D;a[(m+2|0)>>1]=((a[(m+2|0)>>1]<<16>>16)*29491|0)>>15&65535;q=29;break;case 29:q=(ha(a[(m+2|0)>>1],9830,A)<<16>>16|0)<0?30:31;break;case 30:a[(m+4|0)>>1]=0;q=32;break;case 31:a[(m+4|0)>>1]=1;q=32;break;case 32:q=(y|0)!=0?33:36;break;case 33:q=(ha(w,1,A)<<16>>16|0)==0?34:35;break;case 34:Sd(K, J,v,s,r,F,A);a[(p+118|0)>>1]=a[F>>1];q=35;break;case 35:q=36;break;case 36:return h=D,B=l,h;default:x(0,"bad label: "+q)}}function $d(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j;d=a;i=k;g=e;f=c;d=(d<<16>>16)*(g<<16>>16)|0;b=(d|0)!=1073741824?1:2;break;case 1:d<<=1;b=3;break;case 2:h[f>>2]=1;d=2147483647;b=3;break;case 3:b=((i<<16>>16)*(g<<16>>16)|0)>>15;j=d+(b<<1)|0;b=(d^b|0)>0?4:7;break;case 4:b=((j^d)>>31|0)!=0?5:6;break;case 5:j=(d>>31|0)!=0?-2147483648:2147483647;h[f>>2]=1;b=6;break; case 6:b=7;break;case 7:return j;default:x(0,"bad label: "+b)}}function Sh(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3;break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Th(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c= a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)|0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>>2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0,"bad label: "+c)}}function Uh(h){var k;for(k=0;;)switch(k){case 0:var e,c;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:a[(c|0)>>1]=0;a[(c+2|0)>>1]=0;a[(c+4|0)>>1]=0;a[(c+6|0)>>1]=0;a[(c+8|0)>>1]=0;e=a[(c+10|0)>>1]=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function Rh(R,k,e,c,b,d,i,g,f,j,n,l){var q=B;B+=8;x(B%4==0,"Stack is unaligned"); x(B>16)+123|0)-(t<<16>>16)|0)<<1)|0;I=-2147483648;z=t=m;m=1;break;case 1:m=(z<<16>>16|0)>=(v<<16>>16|0)?2:8;break;case 2:Pa(h[(o+((-(z<<16>>16)|0)<<2)|0)>>2],J,G,C);K=$d(a[J>>1],a[G>>1],a[H>>1],C);H=H-2|0;m=(w<<16>>16|0)>0?3:4;break;case 3:Pa(K,J,G,C);K=$d(a[J>>1],a[G>>1],a[N>>1],C);N=N-2|0;m=4;break;case 4:m=(K|0)>= (I|0)?5:6;break;case 5:I=K;t=z;m=6;break;case 6:m=7;break;case 7:z=z-1&65535;m=1;break;case 8:E=r|0;F=r+((-(t<<16>>16)|0)<<1)|0;D=L=K=0;m=9;break;case 9:m=(D<<16>>16|0)<(s<<16>>16|0)?10:12;break;case 10:K=Fc(K,a[E>>1],a[F>>1],C);L=Fc(L,a[F>>1],a[F>>1],C);m=11;break;case 11:D=D+1&65535;E=E+2|0;F=F+2|0;m=9;break;case 12:m=(A|0)!=0?13:14;break;case 13:Yd(p,0,C);Ph(p,K,L,C);m=14;break;case 14:k=la(L,C);R=C;e=void 0;a:{e=R;c=void 0;for(c=0;;)switch(c){case 0:var M,S;M=k;S=e;M=(M<<16>>16)*13107|0;c=(M| 0)!=1073741824?1:2;break;case 1:M<<=1;c=3;break;case 2:h[S>>2]=1;M=2147483647;c=3;break;case 3:e=M;break a;default:x(0,"bad label: "+c)}e=void 0}L=e=Zd(K,e,R);C=la(L,C);a[y>>1]=C;a[u>>1]=0;u=t;B=q;return u;default:x(0,"bad label: "+m)}}function Vh(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p,o;d=h;i=k;g=e;f=c;l=a[(be+2|0)>>1];q=a[(be+4|0)>>1];m=a[(Gc|0)>>1];p=a[(Gc+2|0)>>1];o=a[(Gc+4|0)>>1];n=i|0;i=0;b=1;break;case 1:b=(i<<16>>16|0)<(g<<16>>16|0)?2:4;break;case 2:j=a[(d+10|0)>> 1];a[(d+10|0)>>1]=a[(d+8|0)>>1];a[(d+8|0)>>1]=a[n>>1];b=(a[(d+4|0)>>1]<<16>>16)*(l<<16>>16)|0;b=b+(((a[(d+6|0)>>1]<<16>>16)*(l<<16>>16)|0)>>15)|0;b=b+((a[(d|0)>>1]<<16>>16)*(q<<16>>16)|0)|0;b=b+(((a[(d+2|0)>>1]<<16>>16)*(q<<16>>16)|0)>>15)|0;b=b+((a[(d+8|0)>>1]<<16>>16)*(m<<16>>16)|0)|0;b=b+((a[(d+10|0)>>1]<<16>>16)*(p<<16>>16)|0)|0;b=b+((j<<16>>16)*(o<<16>>16)|0)|0;b=Sh(b,3,f);j=Sh(b,1,f);j=la(j,f);var r=n;n=r+2|0;a[r>>1]=j;a[(d|0)>>1]=a[(d+4|0)>>1];a[(d+2|0)>>1]=a[(d+6|0)>>1];a[(d+4|0)>>1]=b>>16& 65535;a[(d+6|0)>>1]=((b>>1)-(a[(d+4|0)>>1]<<16>>16<<15)|0)&65535;b=3;break;case 3:i=i+1&65535;b=1;break;case 4:return;default:x(0,"bad label: "+b)}}function Ga(a,k,e){var l;var j;var c,b;b=Th(k,32,e);c=(b>>16&65535)<<16>>16&31;k=b>>1&32767;b=Hc+(c<<16>>16<<1)|0;j=(ga=M[b]|M[b+1]<<8,ga<<16>>16)<<16>>16<<16,b=j;var d=Hc+(c<<16>>16<<1)|0,d=(ga=M[d]|M[d+1]<<8,ga<<16>>16)<<16>>16;c=Hc+(((c<<16>>16)+1|0)<<1)|0;l=(ga=M[c]|M[c+1]<<8,ga<<16>>16)<<16>>16,c=l;k=Th((d-c|0)&65535,k,e);a:{for(d=0;;)switch(d){case 0:var i, g,f;i=b;d=k;g=e;f=i-d|0;d=((i^d)>>31|0)!=0?1:4;break;case 1:d=((f^i)&-2147483648|0)!=0?2:3;break;case 2:f=(i>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;d=3;break;case 3:d=4;break;case 4:k=f;break a;default:x(0,"bad label: "+d)}k=void 0}return b=Se(k,(30-(a<<16>>16)|0)&65535,e)}function Wh(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function qb(h, k,e,c,b){var d=B;B+=40;x(B%4==0,"Stack is unaligned");x(B>16)|0)<<1)|0;j=(-(j<<16>>16)|0)&65535;i=(i<<16>>16|0)!=0?1:2;break;case 1:j=j<<16>>16<<1&65535;i=2;break;case 2:i=(j<<16>>16|0)<0?3:4;break;case 3:j=((j<<16>>16)+6|0)&65535;f=f-2|0;i=4;break;case 4:v=ce+(j<<16>>16<<1)|0;t=ce+((6-(j<<16>>16)|0)<<1)|0;s=u|0;m=0;i=l=5;break;case 5:i=(l<<16>>16|0)>0?6:8;break;case 6:i= a[(v+(m<<16>>16<<1)|0)>>1];var A=s;s=A+2|0;a[A>>1]=i;i=a[(t+(m<<16>>16<<1)|0)>>1];A=s;s=A+2|0;a[A>>1]=i;m=((m<<16>>16)+6|0)&65535;i=a[(v+(m<<16>>16<<1)|0)>>1];A=s;s=A+2|0;a[A>>1]=i;i=a[(t+(m<<16>>16<<1)|0)>>1];A=s;s=A+2|0;a[A>>1]=i;m=((m<<16>>16)+6|0)&65535;i=7;break;case 7:l=l-1&65535;i=5;break;case 8:r=g;q=n<<16>>16>>1&65535;i=9;break;case 9:i=(q<<16>>16|0)!=0?10:16;break;case 10:l=p=f=f+2|0;f=l+2|0;o=l;s=u|0;y=w=16384;l=5;i=11;break;case 11:i=(l<<16>>16|0)>0?12:14;break;case 12:i=o;o=i-2|0;y=y+ ((a[i>>1]<<16>>16)*(a[s>>1]<<16>>16)|0)|0;i=a[o>>1]<<16>>16;A=s;s=A+2|0;w=w+(i*(a[A>>1]<<16>>16)|0)|0;i=p;p=i+2|0;w=w+((a[i>>1]<<16>>16)*(a[s>>1]<<16>>16)|0)|0;i=a[p>>1]<<16>>16;A=s;s=A+2|0;y=y+(i*(a[A>>1]<<16>>16)|0)|0;i=o;o=i-2|0;y=y+((a[i>>1]<<16>>16)*(a[s>>1]<<16>>16)|0)|0;i=a[o>>1]<<16>>16;A=s;s=A+2|0;w=w+(i*(a[A>>1]<<16>>16)|0)|0;i=p;p=i+2|0;w=w+((a[i>>1]<<16>>16)*(a[s>>1]<<16>>16)|0)|0;i=a[p>>1]<<16>>16;A=s;s=A+2|0;y=y+(i*(a[A>>1]<<16>>16)|0)|0;i=13;break;case 13:l=l-1&65535;i=11;break;case 14:i= w>>15&65535;A=r;r=A+2|0;a[A>>1]=i;i=y>>15&65535;A=r;r=A+2|0;a[A>>1]=i;i=15;break;case 15:q=q-1&65535;i=9;break;case 16:B=d;return;default:x(0,"bad label: "+i)}}function Xh(h){var k;for(k=0;;)switch(k){case 0:var e,c;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:a[(c|0)>>1]=0;a[(c+2|0)>>1]=0;a[(c+4|0)>>1]=0;a[(c+6|0)>>1]=0;a[(c+8|0)>>1]=0;e=a[(c+10|0)>>1]=0;k=3;break;case 3:return e;default:x(0,"bad label: "+k)}}function Yh(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f;b=h;d=k;i=e; f=d;d=a[(b+10|0)>>1];g=a[(b+8|0)>>1];c=1;break;case 1:c=(i<<16>>16|0)!=0?2:4;break;case 2:c=(a[(b+4|0)>>1]<<16>>16)*7807|0;c=c+(((a[(b+6|0)>>1]<<16>>16)*7807|0)>>15)|0;c=c+((a[(b|0)>>1]<<16>>16)*-3733|0)|0;a[(b|0)>>1]=a[(b+4|0)>>1];c=c+(((a[(b+2|0)>>1]<<16>>16)*-3733|0)>>15)|0;a[(b+2|0)>>1]=a[(b+6|0)>>1];c=c+((d<<16>>16)*1899|0)|0;d=g;c=c+((g<<16>>16)*-3798|0)|0;g=a[f>>1];c=c+((g<<16>>16)*1899|0)|0;var j=(c+2048|0)>>12&65535,n=f;f=n+2|0;a[n>>1]=j;a[(b+4|0)>>1]=c>>12&65535;a[(b+6|0)>>1]=((c<<3)-(a[(b+ 4|0)>>1]<<16>>16<<15)|0)&65535;c=3;break;case 3:i=i-1&65535;c=1;break;case 4:a[(b+10|0)>>1]=d;a[(b+8|0)>>1]=g;return;default:x(0,"bad label: "+c)}}function cg(a,k,e,c,b,d,i,g,f){var j=B;B+=48;x(B%4==0,"Stack is unaligned");x(B>>0<=5?1:2;break;case 1:w=l;h=3;break;case 2:w=q;h=3;break;case 3:h=(o<<16>>16|0)>0?4:5;break;case 4:y=22;h=6;break;case 5:y=0;h=6;break;case 6:A= 0;h=7;break;case 7:h=(A<<16>>16|0)<2?8:10;break;case 8:ab(p+(y<<16>>16<<1)|0,w,t|0);ab(p+(y<<16>>16<<1)|0,m,u|0);Yb(t|0,r+(o<<16>>16<<1)|0,v+(o<<16>>16<<1)|0,40);Ca(u|0,v+(o<<16>>16<<1)|0,v+(o<<16>>16<<1)|0,40,s,1);y=((y<<16>>16)+11|0)&65535;o=((o<<16>>16)+40|0)&65535;h=9;break;case 9:A=A+1&65535;h=7;break;case 10:B=j;return;default:x(0,"bad label: "+h)}}function Zh(h,k,e,c,b){var d;for(d=0;;)switch(d){case 0:var i,g,f,j,n,l,q,m;i=h;g=k;f=e;j=c;n=b;g=(g+(j<<16>>16<<1)|0)-2|0;l=g-2|0;q=a[g>>1];m=0; d=1;break;case 1:d=(m<<16>>16|0)<=((j<<16>>16)-2|0)?2:4;break;case 2:d=f;var p=l;l=p-2|0;d=Wh(d,a[p>>1],n);d=ha(a[g>>1],d,n);a[g>>1]=d;g=g-2|0;d=3;break;case 3:m=m+1&65535;d=1;break;case 4:d=Wh(f,a[(i|0)>>1],n);h=ha(a[g>>1],d,n);a[g>>1]=h;a[(i|0)>>1]=q;return;default:x(0,"bad label: "+d)}}function $h(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=R;i=k;g=e;f=c;b=h[(f+88|0)>>2];f=h[(h[(f+92|0)>>2]+(d<<2)|0)>>2]|0;i|=0;d=a[(b+(d<<1)|0)>>1];b=1;break;case 1:b=(d<<16>>16|0)!=0?2:4;break;case 2:b= i;i=b+2|0;a:{b=a[b>>1];for(var j=a[f>>1],n=g,l=void 0,l=0;;)switch(l){case 0:var q,m,p;q=b;m=j;p=n+(((m<<16>>16)-1|0)<<1)|0;l=1;break;case 1:l=(m<<16>>16|0)!=0?2:4;break;case 2:var l=q<<16>>16&1,o=p;p=o-2|0;a[o>>1]=l;q=q<<16>>16>>1&65535;l=3;break;case 3:m=m-1&65535;l=1;break;case 4:break a;default:x(0,"bad label: "+l)}}b=f;f=b+2|0;g=g+(a[b>>1]<<16>>16<<1)|0;b=3;break;case 3:d=d-1&65535;b=1;break;case 4:return;default:x(0,"bad label: "+b)}}function ai(a,k,e){var c;for(c=0;;)switch(c){case 0:var b, d,i;b=a;c=k;d=e;i=b+c|0;c=(b^c|0)>=0?1:4;break;case 1:c=((i^b)>>31|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function Da(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j;d=a;i=k;g=e;f=c;d=(d<<16>>16)*(g<<16>>16)|0;b=(d|0)!=1073741824?1:2;break;case 1:d<<=1;b=3;break;case 2:h[f>>2]=1;d=2147483647;b=3;break;case 3:b=((i<<16>>16)*(g<<16>>16)|0)>>15;j=d+(b<<1)|0;b=(d^b|0)>0?4:7;break;case 4:b= ((j^d)>>31|0)!=0?5:6;break;case 5:j=(d>>31|0)!=0?-2147483648:2147483647;h[f>>2]=1;b=6;break;case 6:b=7;break;case 7:return j;default:x(0,"bad label: "+b)}}function bi(R,k,e,c,b){var d=B;B+=92;x(B%4==0,"Stack is unaligned");x(B>16|0)<160?2:27;break;case 2:i=(f|0)==7?4:3;break;case 3:i=(f|0)==6?4:5;break;case 4:ab(m, ci|0,l|0);ab(m,di|0,q|0);i=6;break;case 5:ab(m,ei|0,l|0);ab(m,fi|0,q|0);i=6;break;case 6:Yb(l|0,w+(p<<16>>16<<1)|0,g|0,40);ua(o|0,l|0,22,1,0);ta(o+22|0,0,22,1);Ca(q|0,o|0,o|0,22,o+22|0,0);t=0;r=21;i=7;break;case 7:i=(r<<16>>16|0)>=0?8:13;break;case 8:u=(a[(o+(r<<16>>16<<1)|0)>>1]<<16>>16)*(a[(o+(r<<16>>16<<1)|0)>>1]<<16>>16)|0;i=(u|0)!=1073741824?9:10;break;case 9:u<<=1;i=11;break;case 10:h[n>>2]=1;u=2147483647;i=13;break;case 11:t=ai(t,u,n);i=12;break;case 12:r=r-1&65535;i=7;break;case 13:s=t>>16& 65535;t=0;r=20;i=14;break;case 14:i=(r<<16>>16|0)>=0?15:20;break;case 15:u=(a[(o+(r<<16>>16<<1)|0)>>1]<<16>>16)*(a[(o+(((r<<16>>16)+1|0)<<1)|0)>>1]<<16>>16)|0;i=(u|0)!=1073741824?16:17;break;case 16:u<<=1;i=18;break;case 17:h[n>>2]=1;u=2147483647;i=20;break;case 18:t=ai(t,u,n);i=19;break;case 19:r=r-1&65535;i=14;break;case 20:v=t>>16&65535;i=(v<<16>>16|0)<=0?21:22;break;case 21:v=0;i=25;break;case 22:t=((v<<16>>16)*26214|0)>>15;i=(t&65536|0)!=0?23:24;break;case 23:t|=-65536;i=24;break;case 24:v=t& 65535;v=xa(v,s);i=25;break;case 25:Zh(g+100|0,g|0,v,40,n);Ca(q|0,g|0,j+(p<<16>>16<<1)|0,40,g+80|0,1);Ce(g+102|0,w+(p<<16>>16<<1)|0,j+(p<<16>>16<<1)|0,29491,40,n);m=m+22|0;i=26;break;case 26:p=((p<<16>>16)+40|0)&65535;i=1;break;case 27:ua(w-20|0,w+300|0,20,1,0);B=d;return;default:x(0,"bad label: "+i)}}function bh(h,k,e,c,b,d){var i=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>16|0)<= 0?1:2;break;case 1:r=-5443;s=-32768;g=8;break;case 2:n=Ga(14,n,m)&65535;g=(q<<16>>16|0)>=(n<<16>>16|0)?3:4;break;case 3:q=q<<16>>16>>1&65535;l=((l<<16>>16)+1|0)&65535;g=4;break;case 4:s=xa(q,n);a[o>>1]=s;g=((l<<16>>16)-(j<<16>>16)|0)&65535;g=((g<<16>>16)-1|0)&65535;Za(a[o>>1]<<16>>16,p,o,m);a[p>>1]=((a[p>>1]<<16>>16)+(g<<16>>16)|0)&65535;s=Sb(a[o>>1],5,m);g=a[p>>1]<<16>>16<<10&65535;s=((s<<16>>16)+(g<<16>>16)|0)&65535;g=(s<<16>>16|0)>18284?5:6;break;case 5:r=3037;s=18284;g=7;break;case 6:r=Da(a[p>> 1],a[o>>1],24660,m);a:{g=void 0;for(g=0;;)switch(g){case 0:var v,t,u;v=r;t=13;u=0;g=(t<<16>>16|0)>0?1:4;break;case 1:u=v<<(t<<16>>16);g=(u>>(t<<16>>16|0)|0)!=(v|0)?2:3;break;case 2:u=v>>31^2147483647;g=3;break;case 3:g=7;break;case 4:t=(-(t<<16>>16)|0)&65535;g=(t<<16>>16|0)<31?5:6;break;case 5:u=v>>(t<<16>>16|0);g=6;break;case 6:g=7;break;case 7:r=u;break a;default:x(0,"bad label: "+g)}r=void 0}r=la(r,m);g=7;break;case 7:g=8;break;case 8:ib(f,s,r);B=i;return;default:x(0,"bad label: "+g)}}function de(a, k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:e=(b<<16>>16|0)<31?2:3;break;case 2:d=c>>(b<<16>>16|0);e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?5:6;break;case 5:d=c>>31^2147483647;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function ch(h,k,e,c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t){var u=B;B+=76;x(B%4==0,"Stack is unaligned");x(B>1]=k;C=e;w=c;z=b;D=d;E=i;F=g;a[I>>1]=f;a[K>>1]=j;J=n;G=l;H=q;N=m;L=p;M=o;S=r;Z=s;ka=v;Q=t;P=0;C=Ga(14,C,Q)&65535;a[O>>1]=C;Y=Ga(14,a[K>>1],Q)&65535;C=((a[A>>1]<<16>>16)-11|0)&65535;a[(da|0)>>1]=((a[(w|0)>>1]<<16>>16)-13|0)&65535;a[(da+2|0)>>1]=((a[(w+2|0)>>1]<<16>>16)-14|0)&65535;a[(da+4|0)>>1]=((a[(w+4|0)>>1]<<16>>16)+((C<<16>>16<<1)+15|0)|0)&65535;a[(da+6|0)>>1]=((a[(w+6|0)>>1]<<16>>16)+(C<<16>> 16)|0)&65535;a[(da+8|0)>>1]=((a[(w+8|0)>>1]<<16>>16)+((C<<16>>16)+1|0)|0)&65535;C=((a[I>>1]<<16>>16)-11|0)&65535;a[(da+10|0)>>1]=((a[(J|0)>>1]<<16>>16)-13|0)&65535;a[(da+12|0)>>1]=((a[(J+2|0)>>1]<<16>>16)-14|0)&65535;a[(da+14|0)>>1]=((a[(J+4|0)>>1]<<16>>16)+((C<<16>>16<<1)+15|0)|0)&65535;a[(da+16|0)>>1]=((a[(J+6|0)>>1]<<16>>16)+(C<<16>>16)|0)&65535;a[(da+18|0)>>1]=((a[(J+8|0)>>1]<<16>>16)+((C<<16>>16)+1|0)|0)&65535;C=((D<<16>>16)-(H<<16>>16)|0)&65535;w=(C<<16>>16|0)>0?1:2;break;case 1:N=N<<16>>16>> (C<<16>>16|0)&65535;w=3;break;case 2:E=E<<16>>16>>(-(C<<16>>16)|0)&65535;w=3;break;case 3:C=0;w=Sb(N,1,Q);w=(w<<16>>16|0)>(E<<16>>16|0)?4:5;break;case 4:C=1;w=8;break;case 5:w=((E<<16>>16)+3|0)>>2&65535;w=(w<<16>>16|0)>(N<<16>>16|0)?6:7;break;case 6:C=-1;w=7;break;case 7:w=8;break;case 8:X=0;w=9;break;case 9:w=(X<<16>>16|0)<5?10:12;break;case 10:w=da+(X<<16>>16<<1)|0;a[w>>1]=((a[w>>1]<<16>>16)+(C<<16>>16)|0)&65535;w=11;break;case 11:X=X+1&65535;w=9;break;case 12:C=a[(da|0)>>1];X=9;w=13;break;case 13:w= (X<<16>>16|0)>0?14:18;break;case 14:w=(a[(da+(X<<16>>16<<1)|0)>>1]<<16>>16|0)>(C<<16>>16|0)?15:16;break;case 15:C=a[(da+(X<<16>>16<<1)|0)>>1];w=16;break;case 16:w=17;break;case 17:X=X-1&65535;w=13;break;case 18:C=C+1&65535;T=z|0;X=0;w=19;break;case 19:w=(X<<16>>16|0)<5?20:22;break;case 20:w=((C<<16>>16)-(a[(da+(X<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;W=T;T=W+2|0;W=a[W>>1]<<16>>16<<16;W=de(W,w,Q);a[(V+(X<<16>>16<<1)|0)>>1]=W>>16&65535;a[(aa+(X<<16>>16<<1)|0)>>1]=((W>>1)-(W>>16<<15)|0)&65535;w=21;break; case 21:X=X+1&65535;w=19;break;case 22:T=G|0;w=23;break;case 23:w=(X<<16>>16|0)<10?24:26;break;case 24:w=((C<<16>>16)-(a[(da+(X<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;W=T;T=W+2|0;W=a[W>>1]<<16>>16<<16;W=de(W,w,Q);a[(V+(X<<16>>16<<1)|0)>>1]=W>>16&65535;a[(aa+(X<<16>>16<<1)|0)>>1]=((W>>1)-(W>>16<<15)|0)&65535;w=25;break;case 25:X=X+1&65535;w=23;break;case 26:ba=2147483647;T=Ic|0;X=0;w=27;break;case 27:w=(X<<16>>16|0)<256?28:35;break;case 28:$=T;T=$+2|0;$=a[$>>1];ca=T;T=ca+2|0;ca=a[ca>>1];ca=((ca<<16>> 16)*(a[O>>1]<<16>>16)|0)>>15&65535;J=(($<<16>>16)*($<<16>>16)|0)>>15&65535;D=((ca<<16>>16)*(ca<<16>>16)|0)>>15&65535;w=((ca<<16>>16)*($<<16>>16)|0)>>15&65535;W=Da(a[(V|0)>>1],a[(aa|0)>>1],J,Q);J=Da(a[(V+2|0)>>1],a[(aa+2|0)>>1],$,Q);W=W+J|0;D=Da(a[(V+4|0)>>1],a[(aa+4|0)>>1],D,Q);W=W+D|0;ca=Da(a[(V+6|0)>>1],a[(aa+6|0)>>1],ca,Q);ca=W+ca|0;W=Da(a[(V+8|0)>>1],a[(aa+8|0)>>1],w,Q);W=ca+W|0;w=(($<<16>>16)-(L<<16>>16)|0)&65535;$=T;T=$+2|0;$=a[$>>1];ca=T;T=ca+2|0;ca=a[ca>>1];w=(w<<16>>16|0)<=0?29:33;break; case 29:w=($<<16>>16|0)<=(L<<16>>16|0)?30:33;break;case 30:ca=((ca<<16>>16)*(Y<<16>>16)|0)>>15&65535;J=(($<<16>>16)*($<<16>>16)|0)>>15&65535;D=((ca<<16>>16)*(ca<<16>>16)|0)>>15&65535;w=((ca<<16>>16)*($<<16>>16)|0)>>15&65535;J=Da(a[(V+10|0)>>1],a[(aa+10|0)>>1],J,Q);H=Da(a[(V+12|0)>>1],a[(aa+12|0)>>1],$,Q);J=J+H|0;D=Da(a[(V+14|0)>>1],a[(aa+14|0)>>1],D,Q);D=J+D|0;J=Da(a[(V+16|0)>>1],a[(aa+16|0)>>1],ca,Q);D=D+J|0;w=Da(a[(V+18|0)>>1],a[(aa+18|0)>>1],w,Q);W=W+(D+w|0)|0;w=(W|0)<(ba|0)?31:32;break;case 31:ba= W;P=X;w=32;break;case 32:w=33;break;case 33:w=34;break;case 34:X=X+1&65535;w=27;break;case 35:return w=P<<16>>16<<2&65535,ee(y,Ic+(w<<16>>16<<1)|0,a[O>>1],a[A>>1],M,S,Q),hb(y,0,F,I,K,A,O,Q),Y=Ga(14,a[K>>1],Q)&65535,w=((w<<16>>16)+2|0)&65535,ee(y,Ic+(w<<16>>16<<1)|0,Y,a[I>>1],Z,ka,Q),h=P,B=u,h;default:x(0,"bad label: "+w)}}function ee(h,k,e,c,b,d,i){var g=B;B+=8;x(B%4==0,"Stack is unaligned");x(B>1]=a[k>>1];b=a[(k+2|0)>>1];e=de(((b<<16>>16)*(e<<16>>16)|0)<<1,(10- (c<<16>>16)|0)&65535,i);a[d>>1]=e>>16&65535;Za(b<<16>>16,g,f,i);a[g>>1]=((a[g>>1]<<16>>16)-12|0)&65535;e=Sb(a[f>>1],5,i);d=a[g>>1]<<16>>16<<10&65535;d=((e<<16>>16)+(d<<16>>16)|0)&65535;e=Da(a[g>>1],a[f>>1],24660,i);e<<=13;ib(h,d,(e+32768|0)>>16&65535);B=g}function Zb(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<< (b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function fh(R,k,e,c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u){var w=B;B+=48;x(B%4==0,"Stack is unaligned");x(B>2],X);a[aa>>1]=L;J=Ga(14,J,X)&65535;gi(K,J,ca|0,Y|0,D,E,M,aa,S,da,Z,P,h[(T+68|0)>>2],X);Af(A,C,z,a[M>>1],G,O|0,$|0,W,X);$g(y,a[W>>1],a[S>>1],V,X);y=(a[(O|0)>>1]<<16>>16|0)!=0?1:3;break;case 1:y=(a[V>>1]<<16>>16|0)>0?2:3;break;case 2:a[(O+6|0)>>1]=I;a[($+6|0)>>1]=F;y=((ha(N,K,X)<<16>>16)+10|0)&65535;y=Zb(H,y,X);y=hi(a[M>>1],K,J,O|0,$|0,a[V>>1],y,S,Z,P,h[(T+68|0)>>2],X);a[da>>1]=y;y=3;break;case 3:R=a[aa>>1];k=Q;e=h[k>>2];h[k>>2]=e+2|0;a[e>> 1]=R;da=a[da>>1];R=h[Q>>2];h[Q>>2]=R+2|0;a[R>>1]=da;B=w;return;default:x(0,"bad label: "+y)}}function gi(h,k,e,c,b,d,i,g,f,j,n,l,q,m){var p=B;B+=52;x(B%4==0,"Stack is unaligned");x(B>16)-10|0)&65535;a[(X|0)>>1]=((a[(w|0)>>1]<<16>>16)-13|0)&65535;a[(X+2|0)>>1]=((a[(w+2|0)>>1]<<16>>16)- 14|0)&65535;o=a[(w+4|0)>>1]<<16>>16;var Y=Zb(J,1,I)<<16>>16;a[(X+4|0)>>1]=((o+Y|0)+15|0)&65535;a[(X+6|0)>>1]=((a[(w+6|0)>>1]<<16>>16)+(J<<16>>16)|0)&65535;a[(X+8|0)>>1]=((a[(w+8|0)>>1]<<16>>16)+((J<<16>>16)+1|0)|0)&65535;w=a[(X|0)>>1];o=J=1;break;case 1:o=(J<<16>>16|0)<5?2:6;break;case 2:o=(a[(X+(J<<16>>16<<1)|0)>>1]<<16>>16|0)>(w<<16>>16|0)?3:4;break;case 3:w=a[(X+(J<<16>>16<<1)|0)>>1];o=4;break;case 4:o=5;break;case 5:J=J+1&65535;o=1;break;case 6:w=$(w,1,I);J=0;o=7;break;case 7:o=(J<<16>>16|0)< 5?8:10;break;case 8:G=((w<<16>>16)-(a[(X+(J<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;O=a[(u+(J<<16>>16<<1)|0)>>1]<<16>>16<<16;O=jb(O,G,I);Pa(O,Q+(J<<16>>16<<1)|0,T+(J<<16>>16<<1)|0,I);o=9;break;case 9:J=J+1&65535;o=7;break;case 10:V=2147483647;G=N=H=0;o=11;break;case 11:o=(G<<16>>16|0)<3?12:20;break;case 12:L=a[(v+(G<<16>>16<<1)|0)>>1];K=Ta(L,L,I);W=fe(a[(Q|0)>>1],a[(T|0)>>1],K,I);W=ge(W,a[(Q+2|0)>>1],a[(T+2|0)>>1],L,I);K=F|0;J=0;o=13;break;case 13:o=(J<<16>>16|0)<32?14:18;break;case 14:O=K;K=O+2|0;o= a[O>>1];K=K+2|0;K=K+2|0;o=Ta(o,s,I);O=Ha(o,o,I);Pa(O,M,S,I);O=Ha(o,L,I);Pa(O,Z,P,I);O=Jc(W,a[(Q+4|0)>>1],a[(T+4|0)>>1],a[M>>1],a[S>>1],I);O=ge(O,a[(Q+6|0)>>1],a[(T+6|0)>>1],o,I);O=Jc(O,a[(Q+8|0)>>1],a[(T+8|0)>>1],a[Z>>1],a[P>>1],I);o=(O|0)<(V|0)?15:16;break;case 15:V=O;H=J;N=G;o=16;break;case 16:o=17;break;case 17:J=J+1&65535;o=13;break;case 18:o=19;break;case 19:G=G+1&65535;o=11;break;case 20:h=K=F+(((H<<16>>16<<2)-(H<<16>>16)|0)<<1)|0;K=h+2|0;o=a[h>>1];h=K;K=h+2|0;a[D>>1]=a[h>>1];a[E>>1]=a[K>>1]; O=Ha(o,s,I);O=jb(O,(9-(r<<16>>16)|0)&65535,I);a[C>>1]=O>>16&65535;a[z>>1]=H;a[y>>1]=a[(v+(N<<16>>16<<1)|0)>>1];a[A>>1]=a[(t+(N<<16>>16<<1)|0)>>1];B=p;return;default:x(0,"bad label: "+o)}}function Ta(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function Ha(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=(c<<16>>16)*(b<<16>>16)| 0;c=(b|0)!=1073741824?1:2;break;case 1:b<<=1;c=3;break;case 2:h[d>>2]=1;b=2147483647;c=3;break;case 3:return b;default:x(0,"bad label: "+c)}}function he(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3;break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+ e)}}function jb(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:e=(b<<16>>16|0)<31?2:3;break;case 2:d=c>>(b<<16>>16|0);e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?5:6;break;case 5:d=c>>31^2147483647;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function fe(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j;d=a;i=k;g=e;f=c;d=(d<<16>>16)*(g<<16>>16)|0;b=(d|0)!= 1073741824?1:2;break;case 1:d<<=1;b=3;break;case 2:h[f>>2]=1;d=2147483647;b=3;break;case 3:b=((i<<16>>16)*(g<<16>>16)|0)>>15;j=d+(b<<1)|0;b=(d^b|0)>0?4:7;break;case 4:b=((j^d)>>31|0)!=0?5:6;break;case 5:j=(d>>31|0)!=0?-2147483648:2147483647;h[f>>2]=1;b=6;break;case 6:b=7;break;case 7:return j;default:x(0,"bad label: "+b)}}function hi(R,k,e,c,b,d,i,g,f,j,n,l){var q=B;B+=56;x(B%4==0,"Stack is unaligned");x(B>1],(10-(o<<16>>16)|0)&65535,z);K=Ta(p,p,z);F=$((32767-(t<<16>>16)|0)&65535,1,z);P=Ha(t,a[(s+2|0)>>1],z);P=he(P,1,z);m=P>>16&65535;P=Ha(m,K,z);a[(Z+2|0)>>1]=((a[(v+2|0)>>1]<<16>>16)-15|0)&65535;m=Ha(t,a[(s+4|0)>>1],z);m=he(m,1,z)>>16&65535;m=Ta(m,p,z);a[(M+4|0)>>1]=m;a[I>>1]=((o<<16>>16)-10|0)&65535;m=$(a[(v+4|0)>>1],a[I>>1],z);a[(Z+4|0)>>1]=m;m=Ha(t,a[(s+6|0)>>1],z);m=he(m,1,z)>>16& 65535;a[(M+6|0)>>1]=m;m=((Zb(o,1,z)<<16>>16)-7|0)&65535;a[I>>1]=m;m=$(a[(v+6|0)>>1],a[I>>1],z);a[(Z+6|0)>>1]=m;F=Ta(F,a[(s+6|0)>>1],z);a[(M+8|0)>>1]=F;F=$(a[(Z+6|0)>>1],1,z);a[(Z+8|0)>>1]=F;F=Ha(t,a[(s|0)>>1],z);t=pc(F,I,z);a[I>>1]=((a[I>>1]<<16>>16)+47|0)&65535;a[(Z|0)>>1]=((a[(v|0)>>1]<<16>>16)-(a[I>>1]<<16>>16)|0)&65535;s=((a[(Z|0)>>1]<<16>>16)+31|0)&65535;m=v=1;break;case 1:m=(v<<16>>16|0)<=4?2:6;break;case 2:m=(a[(Z+(v<<16>>16<<1)|0)>>1]<<16>>16|0)>(s<<16>>16|0)?3:4;break;case 3:s=a[(Z+(v<<16>> 16<<1)|0)>>1];m=4;break;case 4:m=5;break;case 5:v=v+1&65535;m=1;break;case 6:m=((s<<16>>16)-(a[(Z+2|0)>>1]<<16>>16)|0)&65535;P=jb(P,m,z);v=2;m=7;break;case 7:m=(v<<16>>16|0)<=4?8:10;break;case 8:m=((s<<16>>16)-(a[(Z+(v<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;F=a[(M+(v<<16>>16<<1)|0)>>1]<<16>>16<<16;F=jb(F,m,z);Pa(F,M+(v<<16>>16<<1)|0,S+(v<<16>>16<<1)|0,z);m=9;break;case 9:v=v+1&65535;m=7;break;case 10:a[I>>1]=((s<<16>>16)-31|0)&65535;m=((a[I>>1]<<16>>16)-(a[(Z|0)>>1]<<16>>16)|0)&65535;p=ra(m,1,z);t= jb(t,p,z);m=(m<<16>>16&1|0)!=0?11:12;break;case 11:Pa(t,M|0,S|0,z);t=fe(a[(M|0)>>1],a[(S|0)>>1],23170,z);m=12;break;case 12:Q=2147483647;E=0;D=C|0;v=0;m=13;break;case 13:m=(v<<16>>16|0)<32?14:20;break;case 14:J=D;D=J+2|0;J=a[J>>1];D=D+2|0;D=D+2|0;J=Ta(J,r,z);m=(J<<16>>16|0)>=(T<<16>>16|0)?15:16;break;case 15:m=20;break;case 16:F=Ha(J,J,z);Pa(F,G,H,z);m=ha(J,u,z);F=Ha(m,m,z);Pa(F,N,L,z);F=ge(P,a[(M+4|0)>>1],a[(S+4|0)>>1],J,z);F=Jc(F,a[(M+6|0)>>1],a[(S+6|0)>>1],a[G>>1],a[H>>1],z);F=pc(F,I,z);m=ra(a[I>> 1],1,z);F=jb(F,m,z);a:{m=t;p=z;K=void 0;for(K=0;;)switch(K){case 0:var X,O,W;X=F;K=m;O=p;W=X-K|0;K=((X^K)>>31|0)!=0?1:4;break;case 1:K=((W^X)&-2147483648|0)!=0?2:3;break;case 2:W=(X>>31|0)!=0?-2147483648:2147483647;h[O>>2]=1;K=3;break;case 3:K=4;break;case 4:F=W;break a;default:x(0,"bad label: "+K)}F=void 0}m=la(F,z);F=Ha(m,m,z);F=Jc(F,a[(M+8|0)>>1],a[(S+8|0)>>1],a[N>>1],a[L>>1],z);m=(F|0)<(Q|0)?17:18;break;case 17:Q=F;E=v;m=18;break;case 18:m=19;break;case 19:v=v+1&65535;m=13;break;case 20:return R= D=C+(((E<<16>>16<<2)-(E<<16>>16)|0)<<1)|0,D=R+2|0,J=a[R>>1],R=D,D=R+2|0,a[y>>1]=a[R>>1],a[A>>1]=a[D>>1],F=Ha(J,r,z),F=jb(F,(9-(o<<16>>16)|0)&65535,z),a[w>>1]=F>>16&65535,o=E,B=q,o;default:x(0,"bad label: "+m)}}function ge(a,k,e,c,b){a=wb(a,k,c,b);e=Ta(e,c,b);return a=wb(a,e,1,b)}function Jc(a,k,e,c,b,d){a=wb(a,k,c,d);k=Ta(k,b,d);a=wb(a,k,1,d);k=Ta(e,c,d);return a=wb(a,k,1,d)}function wb(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824? 1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function ie(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break; case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function ii(a){a=((a<<16>>16)-((a<<16>>16|0)<0&1)|0)&65535;return(a<<16>>16^a<<16>>16>>15)&65535}function Kc(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u;d=h;i=k;g=e;f=c;n=0;l=2147483647;j=i;m=a[(d|0)>>1];p=a[(d+2|0)>>1];o=a[(d+4|0)>>1];r=a[(d+6|0)>>1];s=a[(g|0)>> 1];v=a[(g+2|0)>>1];t=a[(g+4|0)>>1];u=a[(g+6|0)>>1];g=0;b=1;break;case 1:b=(g<<16>>16|0)<(f<<16>>16|0)?2:6;break;case 2:q=m<<16>>16;b=j;j=b+2|0;b=(q-(a[b>>1]<<16>>16)|0)&65535;b=((s<<16>>16)*(b<<16>>16)|0)>>15&65535;q=(b<<16>>16)*(b<<16>>16)|0;b=p<<16>>16;var w=j;j=w+2|0;b=(b-(a[w>>1]<<16>>16)|0)&65535;b=((v<<16>>16)*(b<<16>>16)|0)>>15&65535;q=q+((b<<16>>16)*(b<<16>>16)|0)|0;b=o<<16>>16;w=j;j=w+2|0;b=(b-(a[w>>1]<<16>>16)|0)&65535;b=((t<<16>>16)*(b<<16>>16)|0)>>15&65535;q=q+((b<<16>>16)*(b<<16>>16)| 0)|0;b=r<<16>>16;w=j;j=w+2|0;b=(b-(a[w>>1]<<16>>16)|0)&65535;b=((u<<16>>16)*(b<<16>>16)|0)>>15&65535;q=q+((b<<16>>16)*(b<<16>>16)|0)|0;b=(q|0)<(l|0)?3:4;break;case 3:l=q;n=g;b=4;break;case 4:b=5;break;case 5:g=g+1&65535;b=1;break;case 6:return h=j=i+(n<<16>>16<<2<<1)|0,j=h+2|0,h=a[h>>1],k=d,d=k+2|0,a[k>>1]=h,h=j,j=h+2|0,h=a[h>>1],k=d,d=k+2|0,a[k>>1]=h,h=j,j=h+2|0,h=a[h>>1],k=d,d=k+2|0,a[k>>1]=h,a[d>>1]=a[j>>1],n;default:x(0,"bad label: "+b)}}function eh(h,k,e,c,b,d,i,g){var f;for(f=0;;)switch(f){case 0:var j, n,l,q,m,p,o,r,s,v,t,u,w,y,A,C;j=h;n=k;l=e;q=c;m=b;p=d;o=i;r=g;f=(j|0)==7?1:2;break;case 1:A=a[q>>1]<<16>>16>>1&65535;f=3;break;case 2:A=a[q>>1];f=3;break;case 3:u=Ga(n,l,r)&65535;f=(j|0)==7?4:5;break;case 4:u=ie(u,4,r);f=6;break;case 5:u=ie(u,5,r);f=6;break;case 6:s=o|0;y=u<<16>>16;f=s;s=f+2|0;y=(y*(a[f>>1]<<16>>16)|0)>>15&65535;y=((A<<16>>16)-(y<<16>>16)|0)&65535;f=(y<<16>>16|0)<0?7:8;break;case 7:y=(-(y<<16>>16)|0)&65535;f=8;break;case 8:s=s+4|0;t=0;v=1;f=9;break;case 9:f=(v<<16>>16|0)<32?10:16; break;case 10:w=u<<16>>16;f=s;s=f+2|0;w=(w*(a[f>>1]<<16>>16)|0)>>15&65535;w=((A<<16>>16)-(w<<16>>16)|0)&65535;f=(w<<16>>16|0)<0?11:12;break;case 11:w=(-(w<<16>>16)|0)&65535;f=12;break;case 12:s=s+4|0;f=(w<<16>>16|0)<(y<<16>>16|0)?13:14;break;case 13:y=w;t=v;f=14;break;case 14:f=15;break;case 15:v=v+1&65535;f=9;break;case 16:C=((t<<16>>16)+(t<<16>>16<<1)|0)&65535;s=o+(C<<16>>16<<1)|0;C=u<<16>>16;f=s;s=f+2|0;C=(C*(a[f>>1]<<16>>16)|0)>>15&65535;f=(j|0)==7?17:18;break;case 17:a[q>>1]=C<<16>>16<<1&65535; f=19;break;case 18:a[q>>1]=C;f=19;break;case 19:return h=s,s=h+2|0,a[m>>1]=a[h>>1],a[p>>1]=a[s>>1],t;default:x(0,"bad label: "+f)}}function id(h,k,e,c,b,d,i){var g;for(g=0;;)switch(g){case 0:var f,j,n,l,q,m,p,o,r,s,v,t;f=h;j=k;n=e;l=c;q=b;m=d;p=i;v=ha(a[n>>1],a[(m|0)>>1],p);v=ii(v);r=0;g=o=1;break;case 1:g=(o<<16>>16|0)<16?2:8;break;case 2:g=(a[(m+(o<<16>>16<<1)|0)>>1]<<16>>16|0)<=(j<<16>>16|0)?3:6;break;case 3:s=ha(a[n>>1],a[(m+(o<<16>>16<<1)|0)>>1],p);s=ii(s);g=(s<<16>>16|0)<(v<<16>>16|0)?4:5;break; case 4:v=s;r=o;g=5;break;case 5:g=6;break;case 6:g=7;break;case 7:o=o+1&65535;g=1;break;case 8:g=(f|0)==5?9:21;break;case 9:g=(r<<16>>16|0)==0?10:11;break;case 10:t=r;g=16;break;case 11:g=(r<<16>>16|0)==15?13:12;break;case 12:g=(a[(m+(((r<<16>>16)+1|0)<<1)|0)>>1]<<16>>16|0)>(j<<16>>16|0)?13:14;break;case 13:t=((r<<16>>16)-2|0)&65535;g=15;break;case 14:t=((r<<16>>16)-1|0)&65535;g=15;break;case 15:g=16;break;case 16:o=0;g=17;break;case 17:g=(o<<16>>16|0)<3?18:20;break;case 18:a[(q+(o<<16>>16<<1)|0)>> 1]=t;a[(l+(o<<16>>16<<1)|0)>>1]=a[(m+(t<<16>>16<<1)|0)>>1];t=((t<<16>>16)+1|0)&65535;g=19;break;case 19:o=o+1&65535;g=17;break;case 20:a[n>>1]=a[(m+(r<<16>>16<<1)|0)>>1];g=25;break;case 21:g=(f|0)==7?22:23;break;case 22:a[n>>1]=a[(m+(r<<16>>16<<1)|0)>>1]<<16>>16&65532;g=24;break;case 23:a[n>>1]=a[(m+(r<<16>>16<<1)|0)>>1];g=24;break;case 24:g=25;break;case 25:return r;default:x(0,"bad label: "+g)}}function kb(h,k,e,c,b){var d;for(d=0;;)switch(d){case 0:var i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w;i=h;g=k;f= e;j=c;n=b;p=m=0;o=2147483647;q=g;s=a[(i|0)>>1];v=a[(i+2|0)>>1];t=a[(i+4|0)>>1];u=a[(f|0)>>1];w=a[(f+2|0)>>1];f=a[(f+4|0)>>1];d=(n|0)!=0?1:2;break;case 1:m=3;d=2;break;case 2:l=0;d=3;break;case 3:d=(l<<16>>16|0)<(j<<16>>16|0)?4:8;break;case 4:r=s<<16>>16;d=q;q=d+2|0;d=(r-(a[d>>1]<<16>>16)|0)&65535;d=((u<<16>>16)*(d<<16>>16)|0)>>15&65535;r=(d<<16>>16)*(d<<16>>16)|0;d=v<<16>>16;var y=q;q=y+2|0;d=(d-(a[y>>1]<<16>>16)|0)&65535;d=((w<<16>>16)*(d<<16>>16)|0)>>15&65535;r=r+((d<<16>>16)*(d<<16>>16)|0)|0;d= t<<16>>16;y=q;q=y+2|0;d=(d-(a[y>>1]<<16>>16)|0)&65535;d=((f<<16>>16)*(d<<16>>16)|0)>>15&65535;r=r+((d<<16>>16)*(d<<16>>16)|0)|0;d=(r|0)<(o|0)?5:6;break;case 5:o=r;p=l;d=6;break;case 6:q=q+(m<<16>>16<<1)|0;d=7;break;case 7:l=l+1&65535;d=3;break;case 8:q=g+(((p<<16>>16)*3|0)<<1)|0;d=(n|0)!=0?9:10;break;case 9:q=q+(((p<<16>>16)*3|0)<<1)|0;d=10;break;case 10:return h=q,q=h+2|0,h=a[h>>1],k=i,i=k+2|0,a[k>>1]=h,h=q,q=h+2|0,h=a[h>>1],k=i,i=k+2|0,a[k>>1]=h,a[i>>1]=a[q>>1],p;default:x(0,"bad label: "+d)}}function Ed(h, k,e,c,b,d,i){var g=B;B+=140;x(B%4==0,"Stack is unaligned");x(B>16|0)<10?3:5;break;case 3:f=((a[((j|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)*(a[((Qd|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)|0)>>15&65535;a[((t|0)+(o<<16>>16<<1)|0)>>1]=((a[((uc|0)+(o<<16>>16<<1)|0)>>1]<<16>> 16)+(f<<16>>16)|0)&65535;a[((u|0)+(o<<16>>16<<1)|0)>>1]=((a[((s|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)-(a[((t|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;f=4;break;case 4:o=o+1&65535;f=2;break;case 5:f=17;break;case 6:a[m>>1]=0;A=2147483647;r=0;f=7;break;case 7:f=(r<<16>>16|0)<8?8:16;break;case 8:o=y=0;f=9;break;case 9:f=(o<<16>>16|0)<10?10:12;break;case 10:a[((z|0)+(o<<16>>16<<1)|0)>>1]=((a[((uc|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)+(a[(((vc|0)+(((r<<16>>16)*10|0)<<1)|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)|0)& 65535;a[((C|0)+(o<<16>>16<<1)|0)>>1]=((a[((s|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)-(a[((z|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;f=(a[((C|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)*(a[((C|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)|0;y=y+(f<<1)|0;f=11;break;case 11:o=o+1&65535;f=9;break;case 12:f=(y|0)<(A|0)?13:14;break;case 13:A=y;f=u|0;var D=C|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(f,D,20,1);f=t|0;D=z|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?"); na(f,D,20,1);f=j|0;D=vc+(((r<<16>>16)*10|0)<<1)|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(f,D,20,1);a[m>>1]=r;f=14;break;case 14:f=15;break;case 15:r=r+1&65535;f=7;break;case 16:f=17;break;case 17:f=(n|0)==0?19:18;break;case 18:f=(n|0)==1?19:20;break;case 19:f=kb(u|0,sc|0,v|0,256,0,p);a[q>>1]=f;f=kb((u|0)+6|0,Vb|0,(v|0)+6|0,256,1,p);a[(q+2|0)>>1]=f;f=Kc((u|0)+12|0,Od|0,(v|0)+12|0,128,p);a[(q+4|0)>>1]=f;f=24;break;case 20:f=(n|0)==5?21:22;break;case 21:f= kb(u|0,Pd|0,v|0,512,0,p);a[q>>1]=f;f=kb((u|0)+6|0,Vb|0,(v|0)+6|0,512,0,p);a[(q+2|0)>>1]=f;f=Kc((u|0)+12|0,tc|0,(v|0)+12|0,512,p);a[(q+4|0)>>1]=f;f=23;break;case 22:f=kb(u|0,sc|0,v|0,256,0,p);a[q>>1]=f;f=kb((u|0)+6|0,Vb|0,(v|0)+6|0,512,0,p);a[(q+2|0)>>1]=f;f=Kc((u|0)+12|0,tc|0,(v|0)+12|0,512,p);a[(q+4|0)>>1]=f;f=23;break;case 23:f=24;break;case 24:o=0;f=25;break;case 25:f=(o<<16>>16|0)<10?26:28;break;case 26:a[((w|0)+(o<<16>>16<<1)|0)>>1]=((a[((u|0)+(o<<16>>16<<1)|0)>>1]<<16>>16)+(a[((t|0)+(o<<16>> 16<<1)|0)>>1]<<16>>16)|0)&65535;a[((j|0)+(o<<16>>16<<1)|0)>>1]=a[((u|0)+(o<<16>>16<<1)|0)>>1];f=27;break;case 27:o=o+1&65535;f=25;break;case 28:Ma(w|0,205,10,p);Fa(w|0,l,10,p);B=g;return;default:x(0,"bad label: "+f)}}function Kh(h,k,e,c,b,d,i){var F;var g=B;B+=180;x(B%4==0,"Stack is unaligned");x(B>16|0)<10?2:4;break;case 2:f=Nd+(r<<16>>16<<1)|0;F=(ga=M[f]|M[f+1]<<8,ga<<16>>16)<<16>>16,f=F;a[n>>1]=(f+(((a[((j|0)+(r<<16>>16<<1)|0)>>1]<<16>>16)*21299|0)>>15)|0)&65535;f=s;s=f+2|0;f=((a[f>>1]<<16>>16)-(a[n>>1]<<16>>16)|0)&65535;var E=z;z=E+2|0;a[E>>1]=f;f=l;l=f+2|0;f=a[f>>1]<<16>>16;E=n;n=E+2|0;f=(f-(a[E>>1]<<16>>16)|0)&65535;E=D;D=E+2|0;a[E>>1]=f;f=3;break;case 3:r=r+1&65535;f=1;break;case 4:n=$b(w|0,y|0, Hd|0,v|0,t|0,128,o);a[(p|0)>>1]=n;n=$b(w+4|0,y+4|0,Id|0,v+4|0,t+4|0,256,o);a[(p+2|0)>>1]=n;n=ji(w+8|0,y+8|0,Jd|0,v+8|0,t+8|0,256,o);a[(p+4|0)>>1]=n;n=$b(w+12|0,y+12|0,Kd|0,v+12|0,t+12|0,256,o);a[(p+6|0)>>1]=n;n=$b(w+16|0,y+16|0,Ld|0,v+16|0,t+16|0,64,o);a[(p+8|0)>>1]=n;z=w|0;D=y|0;n=u|0;s=A|0;l=C|0;r=0;f=5;break;case 5:f=(r<<16>>16|0)<10?6:8;break;case 6:f=z;z=f+2|0;f=((a[f>>1]<<16>>16)+(a[n>>1]<<16>>16)|0)&65535;E=s;s=E+2|0;a[E>>1]=f;f=a[D>>1]<<16>>16;E=n;n=E+2|0;f=(f+(a[E>>1]<<16>>16)|0)&65535;E= l;l=E+2|0;a[E>>1]=f;f=D;D=f+2|0;a[((j|0)+(r<<16>>16<<1)|0)>>1]=a[f>>1];f=7;break;case 7:r=r+1&65535;f=5;break;case 8:Ma(A|0,205,10,o);Ma(C|0,205,10,o);Fa(A|0,q,10,o);Fa(C|0,m,10,o);B=g;return;default:x(0,"bad label: "+f)}}function $b(h,k,e,c,b,d){var i;for(i=0;;)switch(i){case 0:var g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A;g=h;f=k;j=e;n=c;l=b;q=d;m=0;o=2147483647;p=j;s=a[(n|0)>>1];n=a[(n+2|0)>>1];v=a[(l|0)>>1];t=a[(l+2|0)>>1];u=(a[(g|0)>>1]<<16>>16)*(s<<16>>16)|0;w=(a[(g+2|0)>>1]<<16>>16)*(n<<16>>16)|0; y=(a[(f|0)>>1]<<16>>16)*(v<<16>>16)|0;A=(a[(f+2|0)>>1]<<16>>16)*(t<<16>>16)|0;l=0;i=1;break;case 1:i=(l<<16>>16|0)<(q<<16>>16|0)?2:12;break;case 2:r=u;i=s<<16>>16;var C=p;p=C+2|0;i=(r-(i*(a[C>>1]<<16>>16)|0)|0)>>15&65535;r=(i<<16>>16)*(i<<16>>16)|0;i=(r|0)>=(o|0)?3:4;break;case 3:p=p+6|0;i=11;break;case 4:i=w;var C=n<<16>>16,z=p;p=z+2|0;i=(i-(C*(a[z>>1]<<16>>16)|0)|0)>>15&65535;r=r+((i<<16>>16)*(i<<16>>16)|0)|0;i=(r|0)>=(o|0)?5:6;break;case 5:p=p+4|0;i=11;break;case 6:i=y;C=v<<16>>16;z=p;p=z+2|0; i=(i-(C*(a[z>>1]<<16>>16)|0)|0)>>15&65535;r=r+((i<<16>>16)*(i<<16>>16)|0)|0;i=(r|0)>=(o|0)?7:8;break;case 7:p=p+2|0;i=11;break;case 8:i=A;C=t<<16>>16;z=p;p=z+2|0;i=(i-(C*(a[z>>1]<<16>>16)|0)|0)>>15&65535;r=r+((i<<16>>16)*(i<<16>>16)|0)|0;i=(r|0)<(o|0)?9:10;break;case 9:o=r;m=l;i=10;break;case 10:i=11;break;case 11:l=l+1&65535;i=1;break;case 12:return h=p=j+(m<<16>>16<<2<<1)|0,p=h+2|0,a[(g|0)>>1]=a[h>>1],h=p,p=h+2|0,a[(g+2|0)>>1]=a[h>>1],g=p,p=g+2|0,a[(f|0)>>1]=a[g>>1],a[(f+2|0)>>1]=a[p>>1],m;default:x(0, "bad label: "+i)}}function ji(h,k,e,c,b,d){var i;for(i=0;;)switch(i){case 0:var g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A,C,z,D;g=h;f=k;j=e;n=c;l=b;q=d;p=m=0;s=2147483647;r=j;u=a[(g|0)>>1];w=a[(g+2|0)>>1];y=a[(f|0)>>1];A=a[(f+2|0)>>1];C=a[(n|0)>>1];n=a[(n+2|0)>>1];z=a[(l|0)>>1];D=a[(l+2|0)>>1];l=0;i=1;break;case 1:i=(l<<16>>16|0)<(q<<16>>16|0)?2:11;break;case 2:v=r;r=v+2|0;o=a[v>>1];i=((u<<16>>16)-(o<<16>>16)|0)&65535;o=((u<<16>>16)+(o<<16>>16)|0)&65535;i=((C<<16>>16)*(i<<16>>16)|0)>>15&65535;o=((C<<16>> 16)*(o<<16>>16)|0)>>15&65535;v=(i<<16>>16)*(i<<16>>16)|0;t=(o<<16>>16)*(o<<16>>16)|0;i=r;r=i+2|0;o=a[i>>1];i=((w<<16>>16)-(o<<16>>16)|0)&65535;o=((w<<16>>16)+(o<<16>>16)|0)&65535;i=((n<<16>>16)*(i<<16>>16)|0)>>15&65535;o=((n<<16>>16)*(o<<16>>16)|0)>>15&65535;v=v+((i<<16>>16)*(i<<16>>16)|0)|0;t=t+((o<<16>>16)*(o<<16>>16)|0)|0;i=(v|0)>=(s|0)?3:5;break;case 3:i=(t|0)>=(s|0)?4:5;break;case 4:r=r+4|0;i=10;break;case 5:i=r;r=i+2|0;o=a[i>>1];i=((y<<16>>16)-(o<<16>>16)|0)&65535;o=((y<<16>>16)+(o<<16>>16)| 0)&65535;i=((z<<16>>16)*(i<<16>>16)|0)>>15&65535;o=((z<<16>>16)*(o<<16>>16)|0)>>15&65535;v=v+((i<<16>>16)*(i<<16>>16)|0)|0;t=t+((o<<16>>16)*(o<<16>>16)|0)|0;i=r;r=i+2|0;o=a[i>>1];i=((A<<16>>16)-(o<<16>>16)|0)&65535;o=((A<<16>>16)+(o<<16>>16)|0)&65535;i=((D<<16>>16)*(i<<16>>16)|0)>>15&65535;o=((D<<16>>16)*(o<<16>>16)|0)>>15&65535;v=v+((i<<16>>16)*(i<<16>>16)|0)|0;t=t+((o<<16>>16)*(o<<16>>16)|0)|0;i=(v|0)<(s|0)?6:7;break;case 6:s=v;m=l;p=0;i=7;break;case 7:i=(t|0)<(s|0)?8:9;break;case 8:s=t;m=l;p=1; i=9;break;case 9:i=10;break;case 10:l=l+1&65535;i=1;break;case 11:r=j+(m<<16>>16<<2<<1)|0;m=m<<16>>16<<1&65535;i=p<<16>>16!=0?12:13;break;case 12:i=r;r=i+2|0;a[(g|0)>>1]=(-(a[i>>1]<<16>>16)|0)&65535;i=r;r=i+2|0;a[(g+2|0)>>1]=(-(a[i>>1]<<16>>16)|0)&65535;i=r;r=i+2|0;a[(f|0)>>1]=(-(a[i>>1]<<16>>16)|0)&65535;a[(f+2|0)>>1]=(-(a[r>>1]<<16>>16)|0)&65535;m=((m<<16>>16)+1|0)&65535;i=14;break;case 13:i=r;r=i+2|0;a[(g|0)>>1]=a[i>>1];i=r;r=i+2|0;a[(g+2|0)>>1]=a[i>>1];i=r;r=i+2|0;a[(f|0)>>1]=a[i>>1];a[(f+2|0)>> 1]=a[r>>1];i=14;break;case 14:return m;default:x(0,"bad label: "+i)}}function Mf(h){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=7;break;case 2:b=0;k=3;break;case 3:k=(b<<16>>16|0)<10?4:6;break;case 4:a[((c|0)+(b<<16>>16<<1)|0)>>1]=0;k=5;break;case 5:b=b+1&65535;k=3;break;case 6:e=0;k=7;break;case 7:return e;default:x(0,"bad label: "+k)}}function je(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)& 65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function ki(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:e=(b<<16>>16|0)<31?2:3;break;case 2:d=c>>(b<<16>>16|0);e=3;break;case 3:e=7;break;case 4:b= (-(b<<16>>16)|0)&65535;d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?5:6;break;case 5:d=c>>31^2147483647;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function Lc(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+c)}}function xb(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j;d=a;i=k;g=e;f=c;d=(d<<16>>16)*(g<<16>> 16)|0;b=(d|0)!=1073741824?1:2;break;case 1:d<<=1;b=3;break;case 2:h[f>>2]=1;d=2147483647;b=3;break;case 3:b=((i<<16>>16)*(g<<16>>16)|0)>>15;j=d+(b<<1)|0;b=(d^b|0)>0?4:7;break;case 4:b=((j^d)>>31|0)!=0?5:6;break;case 5:j=(d>>31|0)!=0?-2147483648:2147483647;h[f>>2]=1;b=6;break;case 6:b=7;break;case 7:return j;default:x(0,"bad label: "+b)}}function Mc(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b+c|0;c=(b^c|0)>=0?1:4;break;case 1:c=((i^b)>>31|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0? -2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function Ma(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f;b=h;d=k;i=e;f=b|0;g=d;b=0;c=1;break;case 1:c=(b<<16>>16|0)<(i<<16>>16|0)?2:7;break;case 2:c=(a[f>>1]<<16>>16|0)<(g<<16>>16|0)?3:4;break;case 3:c=g;var j=f;f=j+2|0;a[j>>1]=c;g=((g<<16>>16)+(d<<16>>16)|0)&65535;c=5;break;case 4:g=f;f=g+2|0;g=((a[g>>1]<<16>>16)+(d<<16>>16)|0)&65535;c=5;break;case 5:c=6;break;case 6:b=b+1&65535;c=1; break;case 7:return;default:x(0,"bad label: "+c)}}function gh(R,k,e,c,b,d,i,g,f,j,n,l){var q=B;B+=36;x(B%4==0,"Stack is unaligned");x(B>2];m=5;break;case 4:T=64;Q=h[(C+80|0)>>2];m=5;break;case 5:I=Ga(14,r,z)&65535;E=((o<< 16>>16)-11|0)&65535;a[(S|0)>>1]=((a[(v|0)>>1]<<16>>16)-13|0)&65535;a[(S+2|0)>>1]=((a[(v+2|0)>>1]<<16>>16)-14|0)&65535;K=je(E,1,z);K=((K<<16>>16)+15|0)&65535;K=$(a[(v+4|0)>>1],K,z);a[(S+4|0)>>1]=K;K=$(a[(v+6|0)>>1],E,z);a[(S+6|0)>>1]=K;K=((E<<16>>16)+1|0)&65535;E=$(a[(v+8|0)>>1],K,z);a[(S+8|0)>>1]=E;K=a[(S|0)>>1];E=1;m=6;break;case 6:m=(E<<16>>16|0)<5?7:11;break;case 7:m=(a[(S+(E<<16>>16<<1)|0)>>1]<<16>>16|0)>(K<<16>>16|0)?8:9;break;case 8:K=a[(S+(E<<16>>16<<1)|0)>>1];m=9;break;case 9:m=10;break;case 10:E= E+1&65535;m=6;break;case 11:K=K+1&65535;E=0;m=12;break;case 12:m=(E<<16>>16|0)<5?13:15;break;case 13:m=((K<<16>>16)-(a[(S+(E<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;G=a[(s+(E<<16>>16<<1)|0)>>1]<<16>>16<<16;G=ki(G,m,z);Pa(G,L+(E<<16>>16<<1)|0,M+(E<<16>>16<<1)|0,z);m=14;break;case 14:E=E+1&65535;m=12;break;case 15:P=2147483647;D=Q|0;E=0;m=16;break;case 16:m=(E<<16>>16|0)<(T<<16>>16|0)?17:23;break;case 17:J=D;D=J+2|0;J=a[J>>1];H=D;D=H+2|0;H=a[H>>1];D=D+2|0;D=D+2|0;m=(J<<16>>16|0)<=(t<<16>>16|0)?18:21;break; case 18:H=Lc(H,I,z);G=Lc(J,J,z);m=Lc(H,H,z);N=Lc(H,J,z);G=xb(a[(L|0)>>1],a[(M|0)>>1],G,z);Z=xb(a[(L+2|0)>>1],a[(M+2|0)>>1],J,z);G=Mc(G,Z,z);Z=xb(a[(L+4|0)>>1],a[(M+4|0)>>1],m,z);G=Mc(G,Z,z);Z=xb(a[(L+6|0)>>1],a[(M+6|0)>>1],H,z);G=Mc(G,Z,z);Z=xb(a[(L+8|0)>>1],a[(M+8|0)>>1],N,z);G=Mc(G,Z,z);m=(G|0)<(P|0)?19:20;break;case 19:P=G;F=E;m=20;break;case 20:m=21;break;case 21:m=22;break;case 22:E=E+1&65535;m=16;break;case 23:D=je(F,2,z)<<16>>16;Q=D=Q+(D<<1)|0;D=Q+2|0;a[u>>1]=a[Q>>1];u=D;D=u+2|0;H=a[u>>1]; u=D;D=u+2|0;a[y>>1]=a[u>>1];a[A>>1]=a[D>>1];a:{y=H;A=z;D=void 0;for(D=0;;)switch(D){case 0:var O,W;O=y;D=I;W=A;O=(O<<16>>16)*(D<<16>>16)|0;D=(O|0)!=1073741824?1:2;break;case 1:O<<=1;D=3;break;case 2:h[W>>2]=1;O=2147483647;D=3;break;case 3:G=O;break a;default:x(0,"bad label: "+D)}G=void 0}K=(10-(o<<16>>16)|0)&65535;G=ki(G,K,z);a[w>>1]=G>>16&65535;o=F;B=q;return o;default:x(0,"bad label: "+m)}}function Yb(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p,o,r,s,v;d=h;i=k;g=e;f=c;g=g+ (((f<<16>>16)-1|0)<<1)|0;i=i+((((f<<16>>16)-1|0)-10|0)<<1)|0;f=f<<16>>16>>2&65535;b=1;break;case 1:b=(f<<16>>16|0)!=0?2:8;break;case 2:m=q=l=n=2048;v=d+20|0;p=i;o=i=p-2|0;r=i=o-2|0;j=i=r-2|0;i=j-2|0;s=j;j=5;b=3;break;case 3:b=(j<<16>>16|0)!=0?4:6;break;case 4:b=a[v>>1]<<16>>16;var t=p;p=t+2|0;n=n+(b*(a[t>>1]<<16>>16)|0)|0;b=a[v>>1]<<16>>16;t=o;o=t+2|0;l=l+(b*(a[t>>1]<<16>>16)|0)|0;b=a[v>>1]<<16>>16;t=r;r=t+2|0;q=q+(b*(a[t>>1]<<16>>16)|0)|0;b=v;v=b-2|0;b=a[b>>1]<<16>>16;t=s;s=t+2|0;m=m+(b*(a[t>>1]<< 16>>16)|0)|0;b=a[v>>1]<<16>>16;t=p;p=t+2|0;n=n+(b*(a[t>>1]<<16>>16)|0)|0;b=a[v>>1]<<16>>16;t=o;o=t+2|0;l=l+(b*(a[t>>1]<<16>>16)|0)|0;b=a[v>>1]<<16>>16;t=r;r=t+2|0;q=q+(b*(a[t>>1]<<16>>16)|0)|0;b=v;v=b-2|0;b=a[b>>1]<<16>>16;t=s;s=t+2|0;m=m+(b*(a[t>>1]<<16>>16)|0)|0;b=5;break;case 5:j=j-1&65535;b=3;break;case 6:n=n+((a[v>>1]<<16>>16)*(a[p>>1]<<16>>16)|0)|0;l=l+((a[v>>1]<<16>>16)*(a[o>>1]<<16>>16)|0)|0;q=q+((a[v>>1]<<16>>16)*(a[r>>1]<<16>>16)|0)|0;m=m+((a[v>>1]<<16>>16)*(a[s>>1]<<16>>16)|0)|0;b=n>>12& 65535;t=g;g=t-2|0;a[t>>1]=b;b=l>>12&65535;t=g;g=t-2|0;a[t>>1]=b;b=q>>12&65535;t=g;g=t-2|0;a[t>>1]=b;b=m>>12&65535;t=g;g=t-2|0;a[t>>1]=b;b=7;break;case 7:f=f-1&65535;b=1;break;case 8:return;default:x(0,"bad label: "+b)}}function la(a,k){var e;a:{e=a;var c;for(c=0;;)switch(c){case 0:var b,d,i;b=e;d=k;i=b+32768|0;c=(b^32768|0)>=0?1:4;break;case 1:c=((i^b)>>31|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:e=i;break a;default:x(0,"bad label: "+ c)}e=void 0}return e>>16&65535}function ad(h,k,e,c,b,d,i,g){var f=B;B+=180;x(B%4==0,"Stack is unaligned");x(B>16|0)==10?1:2;break;case 1:W=1;j=3;break;case 2:W=0;j=3;break;case 3:v=a[(r+(a[(o|0)>>1]<<16>>16<<1)|0)>>1];a[(ha|0)>>1]=v;H=-1;S=1;E=0;j=4;break;case 4:j=(E<<16>>16|0)<(n<<16>>16|0)?5:7; break;case 5:j=E;var ia=$;$=ia+2|0;a[ia>>1]=j;j=6;break;case 6:E=E+1&65535;j=4;break;case 7:E=1;j=8;break;case 8:j=(E<<16>>16|0)<(q<<16>>16|0)?9:78;break;case 9:t=a[(r+(a[(o+2|0)>>1]<<16>>16<<1)|0)>>1];a[(ha+2|0)>>1]=t;ga=((a[(m+(v<<16>>16<<1)|0)>>1]<<16>>16)+(a[(m+(t<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;Q=a[((p+(v<<16>>16)*80|0)+(v<<16>>16<<1)|0)>>1]<<16>>16<<12;Q=Q+(a[((p+(t<<16>>16)*80|0)+(t<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;Q=Q+(a[((p+(v<<16>>16)*80|0)+(t<<16>>16<<1)|0)>>1]<<16>>16<<13)|0;Q=Q+ 32768|0;ca=Y|0;w=a[(o+6|0)>>1];j=10;break;case 10:j=(w<<16>>16|0)<40?11:13;break;case 11:V=p+(w<<16>>16)*80|0;O=a[(V+(w<<16>>16<<1)|0)>>1]<<16>>16>>1;O=O+(a[(V+(v<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[(V+(t<<16>>16<<1)|0)>>1]<<16>>16)|0;j=((ga<<16>>16)+(a[(m+(w<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;ia=ca;ca=ia+2|0;a[ia>>1]=j;j=(O+2|0)>>2&65535;ia=ca;ca=ia+2|0;a[ia>>1]=j;j=12;break;case 12:w=((w<<16>>16)+(l<<16>>16)|0)&65535;j=10;break;case 13:L=-1;P=1;da=0;J=a[(o+4|0)>>1];G=a[(o+6|0)>>1];O=Q>>12;F= a[(o+4|0)>>1];j=14;break;case 14:j=(F<<16>>16|0)<40?15:23;break;case 15:V=p+(F<<16>>16)*80|0;T=(O+(a[(V+(F<<16>>16<<1)|0)>>1]<<16>>16)|0)>>1;T=T+(a[(V+(v<<16>>16<<1)|0)>>1]<<16>>16)|0;T=T+(a[(V+(t<<16>>16<<1)|0)>>1]<<16>>16)|0;ca=Y|0;aa=a[(m+(F<<16>>16<<1)|0)>>1];w=a[(o+6|0)>>1];j=16;break;case 16:j=(w<<16>>16|0)<40?17:21;break;case 17:ba=aa<<16>>16;X=ca;ca=X+2|0;ba=(ba+(a[X>>1]<<16>>16)|0)&65535;M=((ba<<16>>16)*(ba<<16>>16)|0)>>15&65535;X=(T+(a[(V+(w<<16>>16<<1)|0)>>1]<<16>>16)|0)>>2;j=ca;ca=j+2| 0;X=(X+(a[j>>1]<<16>>16)|0)>>1;j=((M<<16>>16)*(P<<16>>16)|0)>((L<<16>>16)*X|0)?18:19;break;case 18:L=M;da=ba;P=X&65535;J=F;G=w;j=19;break;case 19:j=20;break;case 20:w=((w<<16>>16)+(l<<16>>16)|0)&65535;j=16;break;case 21:j=22;break;case 22:F=((F<<16>>16)+(l<<16>>16)|0)&65535;j=14;break;case 23:u=J;w=G;a[(ha+4|0)>>1]=J;a[(ha+6|0)>>1]=G;Q=(P<<16>>16<<15)+32768|0;ca=Y|0;A=a[(o+10|0)>>1];j=24;break;case 24:j=(A<<16>>16|0)<40?25:27;break;case 25:V=p+(A<<16>>16)*80|0;O=a[(V+(A<<16>>16<<1)|0)>>1]<<16>>16>> 1;O=O+(a[(V+(v<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[(V+(t<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[(V+(u<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[(V+(w<<16>>16<<1)|0)>>1]<<16>>16)|0;j=((da<<16>>16)+(a[(m+(A<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;ia=ca;ca=ia+2|0;a[ia>>1]=j;j=(O+2|0)>>2&65535;ia=ca;ca=ia+2|0;a[ia>>1]=j;j=26;break;case 26:A=((A<<16>>16)+(l<<16>>16)|0)&65535;j=24;break;case 27:L=-1;P=1;da=0;J=a[(o+8|0)>>1];G=a[(o+10|0)>>1];F=a[(o+8|0)>>1];j=28;break;case 28:j=(F<<16>>16|0)<40?29:37;break;case 29:V= p+(F<<16>>16)*80|0;T=Q+(a[(V+(F<<16>>16<<1)|0)>>1]<<16>>16<<11)|0;T=T+(a[(V+(v<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;T=T+(a[(V+(t<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;T=T+(a[(V+(u<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;T=T+(a[(V+(w<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;ca=Y|0;aa=a[(m+(F<<16>>16<<1)|0)>>1];A=a[(o+10|0)>>1];j=30;break;case 30:j=(A<<16>>16|0)<40?31:35;break;case 31:ba=aa<<16>>16;X=ca;ca=X+2|0;ba=(ba+(a[X>>1]<<16>>16)|0)&65535;M=X=T+(a[(V+(A<<16>>16<<1)|0)>>1]<<16>>16<<12)|0;Z=ca;ca=Z+2|0;Z=(M+(a[Z>> 1]<<16>>16<<14)|0)>>16&65535;M=((ba<<16>>16)*(ba<<16>>16)|0)>>15&65535;j=((M<<16>>16)*(P<<16>>16)|0)>((L<<16>>16)*(Z<<16>>16)|0)?32:33;break;case 32:L=M;da=ba;P=Z;J=F;G=A;j=33;break;case 33:j=34;break;case 34:A=((A<<16>>16)+(l<<16>>16)|0)&65535;j=30;break;case 35:j=36;break;case 36:F=((F<<16>>16)+(l<<16>>16)|0)&65535;j=28;break;case 37:y=J;A=G;a[(ha+8|0)>>1]=J;a[(ha+10|0)>>1]=G;Q=(P<<16>>16<<15)+32768|0;ca=Y|0;z=a[(o+14|0)>>1];j=38;break;case 38:j=(z<<16>>16|0)<40?39:41;break;case 39:O=a[((p+(z<< 16>>16)*80|0)+(z<<16>>16<<1)|0)>>1]<<16>>16>>1;O=O+(a[((p+(v<<16>>16)*80|0)+(z<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(t<<16>>16)*80|0)+(z<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(u<<16>>16)*80|0)+(z<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(w<<16>>16)*80|0)+(z<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(y<<16>>16)*80|0)+(z<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(A<<16>>16)*80|0)+(z<<16>>16<<1)|0)>>1]<<16>>16)|0;j=((da<<16>>16)+(a[(m+(z<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;ia=ca;ca=ia+2|0;a[ia>> 1]=j;j=(O+4|0)>>3&65535;ia=ca;ca=ia+2|0;a[ia>>1]=j;j=40;break;case 40:z=((z<<16>>16)+(l<<16>>16)|0)&65535;j=38;break;case 41:L=-1;P=1;da=0;J=a[(o+12|0)>>1];G=a[(o+14|0)>>1];F=a[(o+12|0)>>1];j=42;break;case 42:j=(F<<16>>16|0)<40?43:51;break;case 43:V=p+(F<<16>>16)*80|0;T=Q+(a[(V+(F<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;T=T+(a[(V+(v<<16>>16<<1)|0)>>1]<<16>>16<<11)|0;T=T+(a[(V+(t<<16>>16<<1)|0)>>1]<<16>>16<<11)|0;T=T+(a[(V+(u<<16>>16<<1)|0)>>1]<<16>>16<<11)|0;T=T+(a[(V+(w<<16>>16<<1)|0)>>1]<<16>>16<<11)| 0;T=T+(a[(V+(y<<16>>16<<1)|0)>>1]<<16>>16<<11)|0;T=T+(a[(V+(A<<16>>16<<1)|0)>>1]<<16>>16<<11)|0;ca=Y|0;aa=a[(m+(F<<16>>16<<1)|0)>>1];z=a[(o+14|0)>>1];j=44;break;case 44:j=(z<<16>>16|0)<40?45:49;break;case 45:ba=aa<<16>>16;X=ca;ca=X+2|0;ba=(ba+(a[X>>1]<<16>>16)|0)&65535;M=X=T+(a[(V+(z<<16>>16<<1)|0)>>1]<<16>>16<<11)|0;Z=ca;ca=Z+2|0;Z=(M+(a[Z>>1]<<16>>16<<14)|0)>>16&65535;M=((ba<<16>>16)*(ba<<16>>16)|0)>>15&65535;j=((M<<16>>16)*(P<<16>>16)|0)>((L<<16>>16)*(Z<<16>>16)|0)?46:47;break;case 46:L=M;da=ba; P=Z;J=F;G=z;j=47;break;case 47:j=48;break;case 48:z=((z<<16>>16)+(l<<16>>16)|0)&65535;j=44;break;case 49:j=50;break;case 50:F=((F<<16>>16)+(l<<16>>16)|0)&65535;j=42;break;case 51:C=J;z=G;a[(ha+12|0)>>1]=J;a[(ha+14|0)>>1]=G;j=(W<<16>>16|0)!=0?52:67;break;case 52:Q=(P<<16>>16<<15)+32768|0;ca=Y|0;D=a[(o+18|0)>>1];j=53;break;case 53:j=(D<<16>>16|0)<40?54:56;break;case 54:O=a[((p+(D<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16>>1;O=O+(a[((p+(v<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+ (t<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(u<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(w<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(y<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(A<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(C<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16)|0;O=O+(a[((p+(z<<16>>16)*80|0)+(D<<16>>16<<1)|0)>>1]<<16>>16)|0;j=((da<<16>>16)+(a[(m+(D<<16>>16<<1)|0)>>1]<<16>>16)|0)&65535;ia=ca;ca=ia+2|0; a[ia>>1]=j;j=(O+4|0)>>3&65535;ia=ca;ca=ia+2|0;a[ia>>1]=j;j=55;break;case 55:D=((D<<16>>16)+(l<<16>>16)|0)&65535;j=53;break;case 56:L=-1;P=1;da=0;J=a[(o+16|0)>>1];G=a[(o+18|0)>>1];F=a[(o+16|0)>>1];j=57;break;case 57:j=(F<<16>>16|0)<40?58:66;break;case 58:V=p+(F<<16>>16)*80|0;T=Q+(a[(V+(F<<16>>16<<1)|0)>>1]<<16>>16<<9)|0;T=T+(a[((p+(v<<16>>16)*80|0)+(F<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;T=T+(a[((p+(t<<16>>16)*80|0)+(F<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;T=T+(a[((p+(u<<16>>16)*80|0)+(F<<16>>16<<1)|0)>> 1]<<16>>16<<10)|0;T=T+(a[((p+(w<<16>>16)*80|0)+(F<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;T=T+(a[((p+(y<<16>>16)*80|0)+(F<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;T=T+(a[((p+(A<<16>>16)*80|0)+(F<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;T=T+(a[((p+(C<<16>>16)*80|0)+(F<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;T=T+(a[((p+(z<<16>>16)*80|0)+(F<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;ca=Y|0;aa=a[(m+(F<<16>>16<<1)|0)>>1];D=a[(o+18|0)>>1];j=59;break;case 59:j=(D<<16>>16|0)<40?60:64;break;case 60:ba=aa<<16>>16;X=ca;ca=X+2|0;ba=(ba+(a[X>> 1]<<16>>16)|0)&65535;M=((ba<<16>>16)*(ba<<16>>16)|0)>>15&65535;Z=X=T+(a[(V+(D<<16>>16<<1)|0)>>1]<<16>>16<<10)|0;j=ca;ca=j+2|0;Z=(Z+(a[j>>1]<<16>>16<<13)|0)>>16&65535;j=((M<<16>>16)*(P<<16>>16)|0)>((L<<16>>16)*(Z<<16>>16)|0)?61:62;break;case 61:L=M;da=ba;P=Z;J=F;G=D;j=62;break;case 62:j=63;break;case 63:D=((D<<16>>16)+(l<<16>>16)|0)&65535;j=59;break;case 64:j=65;break;case 65:F=((F<<16>>16)+(l<<16>>16)|0)&65535;j=57;break;case 66:a[(ha+16|0)>>1]=J;a[(ha+18|0)>>1]=G;j=67;break;case 67:j=((S<<16>>16)* (L<<16>>16)|0)>((H<<16>>16)*(P<<16>>16)|0)?68:72;break;case 68:H=L;S=P;j=(W<<16>>16|0)!=0?69:70;break;case 69:j=s;ia=ha|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(j,ia,20,1);j=71;break;case 70:ia=s;j=ha|0;x(true,"memcpy given 16 bytes to copy. Problem with quantum=1 corrections perhaps?");for(var la=j+16;j>1];F=1;I=2;j=73;break;case 73:j=(I<<16>>16|0)<(n<<16>>16|0)?74:76;break; case 74:a[(o+(F<<16>>16<<1)|0)>>1]=a[(o+(I<<16>>16<<1)|0)>>1];j=75;break;case 75:F=F+1&65535;I=I+1&65535;j=73;break;case 76:a[(o+(((n<<16>>16)-1|0)<<1)|0)>>1]=K;j=77;break;case 77:E=E+1&65535;j=8;break;case 78:B=f;return;default:x(0,"bad label: "+j)}}function ke(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e<<16>>16|0)==-32768?1:2;break;case 1:var c=32767;k=3;break;case 2:c=-(e<<16>>16)|0;k=3;break;case 3:return c&65535;default:x(0,"bad label: "+k)}}function le(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d, i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break;case 7:return f;default:x(0,"bad label: "+b)}}function li(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=k;d=0;e=(b<<16>>16|0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3; break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function ra(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g;b=a;d=k;i=e;c=(d<<16>>16|0)!=0?1:11;break;case 1:c=(d<<16>>16|0)>0?2:5;break;case 2:c=(d<<16>>16|0)>15?3:4;break;case 3:d=15;c=4;break;case 4:g=b<<16>>16>>(d<<16>>16|0)&65535;c=10;break;case 5:d=(-(d<<16>>16)|0)&65535; c=(d<<16>>16|0)>15?6:7;break;case 6:d=15;c=7;break;case 7:g=b<<16>>16<<(d<<16>>16)&65535;c=(g<<16>>16>>(d<<16>>16|0)|0)!=(b<<16>>16|0)?8:9;break;case 8:h[i>>2]=1;g=((b<<16>>16|0)>0?32767:-32768)&65535;c=9;break;case 9:c=10;break;case 10:c=12;break;case 11:g=b;c=12;break;case 12:return g;default:x(0,"bad label: "+c)}}function Gb(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p;d=h;i=k;g=e;f=c;p=0;j=39;b=1;break;case 1:b=(j<<16>>16|0)>=0?2:7;break;case 2:q=a[(d+(j<<16>>16<<1)|0)>>1]; b=(q<<16>>16|0)>=0?3:4;break;case 3:a[(i+(j<<16>>16<<1)|0)>>1]=32767;b=5;break;case 4:a[(i+(j<<16>>16<<1)|0)>>1]=-32767;q=ke(q);a[(d+(j<<16>>16<<1)|0)>>1]=q;b=5;break;case 5:a[(g+(j<<16>>16<<1)|0)>>1]=q;b=6;break;case 6:j=j-1&65535;b=1;break;case 7:j=0;b=8;break;case 8:b=(j<<16>>16|0)<5?9:23;break;case 9:l=0;b=10;break;case 10:b=(l<<16>>16|0)<(8-(f<<16>>16)|0)?11:21;break;case 11:m=32767;n=j;b=12;break;case 12:b=(n<<16>>16|0)<40?13:19;break;case 13:b=(a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16|0)>=0?14:17; break;case 14:b=(a[(g+(n<<16>>16<<1)|0)>>1]<<16>>16|0)<(m<<16>>16|0)?15:16;break;case 15:m=a[(g+(n<<16>>16<<1)|0)>>1];p=n;b=16;break;case 16:b=17;break;case 17:b=18;break;case 18:n=((n<<16>>16)+5|0)&65535;b=12;break;case 19:a[(g+(p<<16>>16<<1)|0)>>1]=-1;b=20;break;case 20:l=l+1&65535;b=10;break;case 21:b=22;break;case 22:j=j+1&65535;b=8;break;case 23:return;default:x(0,"bad label: "+b)}}function $c(h,k,e,c,b,d,i,g){var f=B;B+=80;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:4;break;case 2:u=K;K=u+2|0;u=a[u>>1];F=le(F,u,u,s);u=J;J=u+2|0;u=a[u>>1];I=I+(((u<<16>>16)*(u<<16>>16)|0)<<1)|0;j=3;break;case 3:v=v-1&65535;j=1;break;case 4:F=Xa(F,s);y=li(F,5,s)>>16&65535;I=Xa(I,s);A=I>>11&65535;K=l+78|0;G=q+78|0;H=E+78|0;v=39;j=5;break;case 5:j=(v<<16>>16|0)>=0?6:11;break;case 6:F=y<<16>>16;w=K;K=w-2|0;w=(F*(a[w>> 1]<<16>>16)|0)<<1;u=a[(n+(v<<16>>16<<1)|0)>>1];F=le(w,A,u,s);w=li(F,10,s);w=la(w,s);j=(w<<16>>16|0)>=0?7:8;break;case 7:j=G;G=j-2|0;a[j>>1]=32767;j=9;break;case 8:j=G;G=j-2|0;a[j>>1]=-32767;w=ke(w);j=ke(u);a[(n+(v<<16>>16<<1)|0)>>1]=j;j=9;break;case 9:j=w;var L=H;H=L-2|0;a[L>>1]=j;j=10;break;case 10:v=v-1&65535;j=5;break;case 11:z=-1;v=0;j=12;break;case 12:j=(v<<16>>16|0)<(p<<16>>16|0)?13:23;break;case 13:C=-1;t=v;j=14;break;case 14:j=(t<<16>>16|0)<40?15:19;break;case 15:w=a[(E+(t<<16>>16<<1)|0)>> 1];j=(w<<16>>16|0)>(C<<16>>16|0)?16:17;break;case 16:C=w;D=t;j=17;break;case 17:j=18;break;case 18:t=((t<<16>>16)+(r<<16>>16)|0)&65535;j=14;break;case 19:a[(m+(v<<16>>16<<1)|0)>>1]=D;j=(C<<16>>16|0)>(z<<16>>16|0)?20:21;break;case 20:z=C;a[(o|0)>>1]=v;j=21;break;case 21:j=22;break;case 22:v=v+1&65535;j=12;break;case 23:D=a[(o|0)>>1];a[(o+(p<<16>>16<<1)|0)>>1]=D;v=1;j=24;break;case 24:j=(v<<16>>16|0)<(p<<16>>16|0)?25:29;break;case 25:D=D+1&65535;j=(D<<16>>16|0)>=(p<<16>>16|0)?26:27;break;case 26:D= 0;j=27;break;case 27:a[(o+(v<<16>>16<<1)|0)>>1]=D;a[(o+(((v<<16>>16)+(p<<16>>16)|0)<<1)|0)>>1]=D;j=28;break;case 28:v=v+1&65535;j=24;break;case 29:B=f;return;default:x(0,"bad label: "+j)}}function Sb(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g;b=a;d=k;i=e;c=(d<<16>>16|0)>15?1:2;break;case 1:g=0;c=7;break;case 2:g=ra(b,d,i);c=(d<<16>>16|0)>0?3:6;break;case 3:c=(b<<16>>16&1<<((d<<16>>16)-1|0)|0)!=0?4:5;break;case 4:g=g+1&65535;c=5;break;case 5:c=6;break;case 6:c=7;break;case 7:return g;default:x(0, "bad label: "+c)}}function Wc(R,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;b=R;c=k;d=e;c=(c|0)==8?1:12;break;case 1:c=b+2|0;a[c>>1]=a[c>>1]-1&65535;c=(h[(b+8|0)>>2]|0)==0?2:3;break;case 2:h[d>>2]=1;a[(b+2|0)>>1]=3;c=11;break;case 3:c=(a[(b+4|0)>>1]<<16>>16|0)>0?4:6;break;case 4:c=(a[(b+2|0)>>1]<<16>>16|0)>2?5:6;break;case 5:h[d>>2]=2;c=b+4|0;a[c>>1]=a[c>>1]-1&65535;c=10;break;case 6:c=(a[(b+2|0)>>1]<<16>>16|0)==0?7:8;break;case 7:h[d>>2]=2;a[(b+2|0)>>1]=a[(b|0)>>1];c=9;break;case 8:h[d>>2]=3;c= 9;break;case 9:c=10;break;case 10:c=11;break;case 11:c=13;break;case 12:a[(b+2|0)>>1]=a[(b|0)>>1];h[d>>2]=0;c=13;break;case 13:h[(b+8|0)>>2]=h[d>>2];return;default:x(0,"bad label: "+c)}}function me(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n;d=R;i=k;g=e;f=c;j=h[(f+88|0)>>2];n=h[(f+92|0)>>2];f=0;b=1;break;case 1:b=(f<<16>>16|0)<(a[(j+(d<<1)|0)>>1]<<16>>16|0)?2:4;break;case 2:a:{b=a[(h[(n+(d<<2)|0)>>2]+(f<<16>>16<<1)|0)>>1];for(var l=i,q=void 0,q=0;;)switch(q){case 0:var m,p,o,r;m=b;p= l;r=o=0;q=1;break;case 1:q=(r<<16>>16|0)<(m<<16>>16|0)?2:4;break;case 2:o=o<<16>>16<<1&65535;q=p;p=q+2|0;q=a[q>>1];o=(o<<16>>16|q<<16>>16)&65535;q=3;break;case 3:r=r+1&65535;q=1;break;case 4:b=o;break a;default:x(0,"bad label: "+q)}b=void 0}a[(g+(f<<16>>16<<1)|0)>>1]=b;i=i+(a[(h[(n+(d<<2)|0)>>2]+(f<<16>>16<<1)|0)>>1]<<16>>16<<1)|0;b=3;break;case 3:f=f+1&65535;b=1;break;case 4:return;default:x(0,"bad label: "+b)}}function mi(R){var k;for(k=0;;)switch(k){case 0:var e,c,b;c=R;k=(c|0)==0?1:2;break;case 1:e= -1;k=8;break;case 2:h[c>>2]=0;b=k=va(1764);k=(k|0)==0?3:4;break;case 3:e=-1;k=8;break;case 4:k=(og(b|0)<<16>>16|0)!=0?6:5;break;case 5:k=(Uh(b+1748|0)<<16>>16|0)!=0?6:7;break;case 6:e=b;ni(e);e=-1;k=8;break;case 7:a:{e=b;k=void 0;for(k=0;;)switch(k){case 0:var d;d=k=e;k=(k|0)==0?1:2;break;case 1:k=3;break;case 2:nc(d|0,0);b:{k=d+1304|0;for(var i=void 0,i=0;;)switch(i){case 0:var g;g=k;i=(g|0)==0?1:2;break;case 1:i=3;break;case 2:ta(g+80|0,0,20,1);ta(g|0,0,80,1);ta(g+104|0,0,340,1);c:for(var i=g+102| 0,f=void 0,f=0;;)switch(f){case 0:var j;j=i;f=(j|0)==0?1:2;break;case 1:f=3;break;case 2:a[(j|0)>>1]=4096;f=3;break;case 3:break c;default:x(0,"bad label: "+f)}c:{i=g+100|0;f=void 0;for(f=0;;)switch(f){case 0:var n;n=i;f=(n|0)==0?1:2;break;case 1:f=3;break;case 2:a[(n|0)>>1]=0;f=3;break;case 3:break c;default:x(0,"bad label: "+f)}}i=3;break;case 3:break b;default:x(0,"bad label: "+i)}}Uh(d+1748|0);h[(d+1760|0)>>2]=0;k=3;break;case 3:break a;default:x(0,"bad label: "+k)}}h[c>>2]=b;e=0;k=8;break;case 8:return e; default:x(0,"bad label: "+k)}}function ni(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e|0)==0?2:1;break;case 1:k=(h[e>>2]|0)==0?2:3;break;case 2:k=4;break;case 3:wa(h[e>>2]);h[e>>2]=0;k=4;break;case 4:return;default:x(0,"bad label: "+k)}}function Je(h,k,e,c,b){var d=B;B+=204;x(B%4==0,"Stack is unaligned");x(B>16|0)<160?6:8;break;case 6:a[(l+(o<<16>>16<<1)|0)>>1]=a[(l+(o<<16>>16<<1)|0)>>1]<<16>>16&65528;i=7;break;case 7:o=o+1&65535;i=5;break;case 8:B=d;return;default:x(0,"bad label: "+i)}}function oi(a,k){var e=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=0;c=va(12);h[g>>2]=c;c=(c|0)==0?3:4;break;case 3:b=-1;c=8;break;case 4:h[(h[g>>2]|0)>>2]=0;h[(h[g>>2]+4|0)>>2]=0;h[(h[g>>2]+8|0)>>2]=i;a:{c=h[g>>2]|0;for(var f=void 0,f=0;;)switch(f){case 0:var j,n,l;n=c;f=(n|0)==0?1:2;break;case 1:j=-1;f=5;break;case 2:h[n>>2]=0;l=f=va(12);f=(f|0)==0?3:4;break;case 3:j=-1;f=5;break;case 4:Xh(l);h[n>>2]=l;j=0;f=5;break;case 5:c=j;break a;default:x(0,"bad label: "+f)}c=void 0}c=(c<<16>>16|0)!=0?6:5;break;case 5:c= (Lf(h[g>>2]+4|0,h[(h[g>>2]+8|0)>>2])<<16>>16|0)!=0?6:7;break;case 6:b=g;pi(b);b=-1;c=8;break;case 7:a:{b=h[g>>2];c=void 0;for(c=0;;)switch(c){case 0:var q;q=c=b;c=(c|0)==0?1:2;break;case 1:c=3;break;case 2:Xh(h[(q|0)>>2]);od(h[(q+4|0)>>2]);c=3;break;case 3:break a;default:x(0,"bad label: "+c)}}h[d>>2]=h[g>>2];b=0;c=8;break;case 8:return d=b,B=e,d;default:x(0,"bad label: "+c)}}function pi(a){var k;for(k=0;;)switch(k){case 0:var e;e=a;k=(e|0)==0?2:1;break;case 1:k=(h[e>>2]|0)==0?2:3;break;case 2:k= 4;break;case 3:a:{k=h[e>>2]|0;for(var c=void 0,c=0;;)switch(c){case 0:var b;b=k;c=(b|0)==0?2:1;break;case 1:c=(h[b>>2]|0)==0?2:3;break;case 2:c=4;break;case 3:wa(h[b>>2]);h[b>>2]=0;c=4;break;case 4:break a;default:x(0,"bad label: "+c)}}nd(h[e>>2]+4|0);wa(h[e>>2]);h[e>>2]=0;k=4;break;case 4:return;default:x(0,"bad label: "+k)}}function Vc(R,k,e,c,b){var d=B;B+=436;x(B%4==0,"Stack is unaligned");x(B>16|0)<244?2:4;break;case 2:a[(j+(p<<16>>16<<1)|0)>>1]=0;i=3;break;case 3:p=p+1&65535;i=1;break;case 4:p=0;i=5;break;case 5:i=(p<<16>>16|0)<160?6:8;break;case 6:a[(f+(p<<16>>16<<1)|0)>>1]=a[(f+(p<<16>>16<<1)|0)>>1]<<16>>16&65528;i=7;break;case 7:p=p+1&65535;i=5;break;case 8:Yh(h[(l|0)>>2],f,160);Vf(h[(l+4|0)>>2],g,f,q|0,n,m|0);$h(h[n>>2],q|0,j|0,h[(l+4|0)>>2]+2392|0);B=d;return;default:x(0,"bad label: "+i)}}function ha(a,k,e){var c;for(c=0;;)switch(c){case 0:var b, d;c=a;b=k;d=e;b=(c<<16>>16)-(b<<16>>16)|0;c=(b+32768|0)>>>0>65535?1:5;break;case 1:c=(b|0)>32767?2:3;break;case 2:b=32767;c=4;break;case 3:b=-32768;c=4;break;case 4:h[d>>2]=1;c=5;break;case 5:return b&65535;default:x(0,"bad label: "+c)}}function lc(a,k,e,c,b,d,i,g,f,j,h,l,q,m,p,o){var r=B;B+=48;x(B%4==0,"Stack is unaligned");x(B>16>>1&65535;r=3;break;case 3:r=(t<<16>>16|0)<13017?4:5;break;case 4:a[J>>1]=t;r=6;break;case 5:a[J>>1]=13017;r=6;break;case 6:P=K+(v<<16>>16<<1)|0;S=C|0;G=20;r=7;break;case 7:r=(G<<16>>16|0)!=0?8:10;break;case 8:r=P;P=r+2|0;r=((a[r>>1]<<16>>16)*(O<<16>>16)|0)<<1; L=P;P=L-2|0;L=((a[L>>1]<<16>>16)*(O<<16>>16)|0)<<1;var Q=S;S=Q+2|0;r=r+(((a[Q>>1]<<16>>16)*(u<<16>>16)|0)<<1)|0;Q=S;S=Q+2|0;L=L+(((a[Q>>1]<<16>>16)*(u<<16>>16)|0)<<1)|0;r<<=N<<16>>16;L<<=N<<16>>16;r=(r+32768|0)>>16&65535;Q=P;P=Q+2|0;a[Q>>1]=r;r=(L+32768|0)>>16&65535;L=P;P=L+2|0;a[L>>1]=r;r=9;break;case 9:G=G-1&65535;r=7;break;case 10:Ca(w,K+(v<<16>>16<<1)|0,y+(v<<16>>16<<1)|0,40,B,1);G=30;H=0;r=11;break;case 11:r=(G<<16>>16|0)<40?12:14;break;case 12:a[(F+(H<<16>>16<<1)|0)>>1]=((a[(s+(((v<<16>>16)+ (G<<16>>16)|0)<<1)|0)>>1]<<16>>16)-(a[(y+(((v<<16>>16)+(G<<16>>16)|0)<<1)|0)>>1]<<16>>16)|0)&65535;r=(a[(z+(G<<16>>16<<1)|0)>>1]<<16>>16)*(t<<16>>16)|0;L=r>>14&65535;r=(a[(D+(G<<16>>16<<1)|0)>>1]<<16>>16)*(u<<16>>16)|0;L=((L<<16>>16)+((r>>(M<<16>>16|0)&65535)<<16>>16)|0)&65535;a[(I+(H<<16>>16<<1)|0)>>1]=((a[(A+(G<<16>>16<<1)|0)>>1]<<16>>16)-(L<<16>>16)|0)&65535;r=13;break;case 13:G=G+1&65535;H=H+1&65535;r=11;break;case 14:return;default:x(0,"bad label: "+r)}}function pc(R,k,e){var A;var z;var y;var c; for(c=0;;)switch(c){case 0:var b,d,i,g,f,j,n;d=R;i=k;g=e;c=(d|0)<=0?1:2;break;case 1:b=a[i>>1]=0;c=5;break;case 2:f=oa(d)<<16>>16&65534;a:{j=f;c=void 0;for(c=0;;)switch(c){case 0:var l,q,m;l=d;q=j;m=0;c=(q<<16>>16|0)>0?1:4;break;case 1:m=l<<(q<<16>>16);c=(m>>(q<<16>>16|0)|0)!=(l|0)?2:3;break;case 2:m=l>>31^2147483647;c=3;break;case 3:c=7;break;case 4:q=(-(q<<16>>16)|0)&65535;c=(q<<16>>16|0)<31?5:6;break;case 5:m=l>>(q<<16>>16|0);c=6;break;case 6:c=7;break;case 7:d=m;break a;default:x(0,"bad label: "+ c)}d=void 0}a[i>>1]=f;d>>=10;f=(d>>15&65535)<<16>>16&63;j=d&65535;j=j<<16>>16&32767;c=(f<<16>>16|0)>15?3:4;break;case 3:f=((f<<16>>16)-16|0)&65535;c=4;break;case 4:b=Nc+(f<<16>>16<<1)|0;y=(ga=M[b]|M[b+1]<<8,ga<<16>>16)<<16>>16<<16,b=y;c=Nc+(f<<16>>16<<1)|0;z=(ga=M[c]|M[c+1]<<8,ga<<16>>16)<<16>>16,c=z;n=Nc+(((f<<16>>16)+1|0)<<1)|0;A=(ga=M[n]|M[n+1]<<8,ga<<16>>16)<<16>>16,n=A;n=(c-n|0)&65535;c=b;b=g;var p=void 0;a:{for(var p=j,o=b,r=void 0,r=0;;)switch(r){case 0:var s,v;s=n;r=p;v=o;s=(s<<16>>16)*(r<< 16>>16)|0;r=(s|0)!=1073741824?1:2;break;case 1:s<<=1;r=3;break;case 2:h[v>>2]=1;s=2147483647;r=3;break;case 3:p=s;break a;default:x(0,"bad label: "+r)}p=void 0}a:{n=p;p=void 0;for(p=0;;)switch(p){case 0:var t,u,w;t=c;p=n;u=b;w=t-p|0;p=((t^p)>>31|0)!=0?1:4;break;case 1:p=((w^t)&-2147483648|0)!=0?2:3;break;case 2:w=(t>>31|0)!=0?-2147483648:2147483647;h[u>>2]=1;p=3;break;case 3:p=4;break;case 4:p=w;break a;default:x(0,"bad label: "+p)}p=void 0}b=p;c=5;break;case 5:return b;default:x(0,"bad label: "+ c)}}function bg(h,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g,f,j,n,l,q;b=h;d=k;l=d+6|0;q=d+8|0;f=32767;i=3;e=1;break;case 1:e=(i<<16>>16|0)<8?2:6;break;case 2:g=l;l=g+2|0;g=a[g>>1]<<16>>16;e=q;q=e+2|0;g=(g-(a[e>>1]<<16>>16)|0)&65535;e=(g<<16>>16|0)<(f<<16>>16|0)?3:4;break;case 3:f=g;e=4;break;case 4:e=5;break;case 5:i=i+1&65535;e=1;break;case 6:j=32767;l=d+2|0;q=d+4|0;i=1;e=7;break;case 7:e=(i<<16>>16|0)<3?8:12;break;case 8:g=l;l=g+2|0;g=a[g>>1]<<16>>16;e=q;q=e+2|0;g=(g-(a[e>>1]<<16>>16)|0)& 65535;e=(g<<16>>16|0)<(j<<16>>16|0)?9:10;break;case 9:j=g;e=10;break;case 10:e=11;break;case 11:i=i+1&65535;e=7;break;case 12:e=(a[(d+2|0)>>1]<<16>>16|0)>32E3?13:14;break;case 13:n=600;e=18;break;case 14:e=(a[(d+2|0)>>1]<<16>>16|0)>30500?15:16;break;case 15:n=800;e=17;break;case 16:n=1100;e=17;break;case 17:e=18;break;case 18:e=(f<<16>>16|0)<1500?20:19;break;case 19:e=(j<<16>>16|0)<(n<<16>>16|0)?20:21;break;case 20:e=b|0;a[e>>1]=a[e>>1]+1&65535;e=22;break;case 21:a[(b|0)>>1]=0;e=22;break;case 22:e= (a[(b|0)>>1]<<16>>16|0)>=12?23:24;break;case 23:a[(b|0)>>1]=12;c=1;e=25;break;case 24:c=0;e=25;break;case 25:return c;default:x(0,"bad label: "+e)}}function Ca(h,k,e,c,b,d){var i=B;B+=40;x(B%4==0,"Stack is unaligned");x(B>16|0)!=0?2:20;break;case 2:v=f;o=w;w=o+2|0;o=2048+((a[o>>1]<<16>>16)*(a[v>>1]<<16>>16)|0)|0;r=w;w=r+2|0;r=a[r>>1]<<16>>16;p=v;v=p+2|0;r=2048+(r*(a[p>>1]<<16>>16)|0)|0;p=v;v=p+2|0;o=o-((a[p>>1]<<16>>16)*(a[t>>1]<<16>>16)|0)|0;g=p=3;break;case 3:g=(p<<16>>16|0)!=0?4:6;break;case 4:g=a[v>>1]<<16>>16;var A=t;t=A-2|0;r=r-(g*(a[A>>1]<<16>>16)|0)|0;g=v;v=g+2|0;o=o-((a[g>>1]<<16>>16)*(a[t>>1]<<16>>16)|0)|0;g=a[v>>1]<<16>>16;A=t;t=A-2|0;r=r-(g*(a[A>>1]<<16>>16)|0)|0;g=v;v=g+2|0;o=o-((a[g>>1]<<16>>16)* (a[t>>1]<<16>>16)|0)|0;g=a[v>>1]<<16>>16;A=t;t=A-2|0;r=r-(g*(a[A>>1]<<16>>16)|0)|0;g=v;v=g+2|0;o=o-((a[g>>1]<<16>>16)*(a[t>>1]<<16>>16)|0)|0;g=5;break;case 5:p=p-1&65535;g=3;break;case 6:g=(o+134217728|0)>>>0<268435455?7:8;break;case 7:y=o>>12&65535;g=12;break;case 8:g=(o|0)>134217727?9:10;break;case 9:y=32767;g=11;break;case 10:y=-32768;g=11;break;case 11:g=12;break;case 12:r=r-((a[(f+2|0)>>1]<<16>>16)*(y<<16>>16)|0)|0;t=y;g=s;s=g+2|0;a[g>>1]=t;t=y;g=u;u=g+2|0;a[g>>1]=t;t=s;g=(r+134217728|0)>>>0< 268435455?13:14;break;case 13:y=r>>12&65535;g=18;break;case 14:g=(r|0)>134217727?15:16;break;case 15:y=32767;g=17;break;case 16:y=-32768;g=17;break;case 17:g=18;break;case 18:g=y;A=s;s=A+2|0;a[A>>1]=g;g=y;A=u;u=A+2|0;a[A>>1]=g;g=19;break;case 19:j=j-1&65535;g=1;break;case 20:t=n+18|0;j=((l<<16>>16)-10|0)>>1&65535;g=21;break;case 21:g=(j<<16>>16|0)!=0?22:40;break;case 22:v=f;o=w;w=o+2|0;o=2048+((a[o>>1]<<16>>16)*(a[v>>1]<<16>>16)|0)|0;r=w;w=r+2|0;r=a[r>>1]<<16>>16;p=v;v=p+2|0;r=2048+(r*(a[p>>1]<<16>> 16)|0)|0;p=v;v=p+2|0;o=o-((a[p>>1]<<16>>16)*(a[t>>1]<<16>>16)|0)|0;p=3;g=23;break;case 23:g=(p<<16>>16|0)!=0?24:26;break;case 24:g=a[v>>1]<<16>>16;A=t;t=A-2|0;r=r-(g*(a[A>>1]<<16>>16)|0)|0;g=v;v=g+2|0;o=o-((a[g>>1]<<16>>16)*(a[t>>1]<<16>>16)|0)|0;g=a[v>>1]<<16>>16;A=t;t=A-2|0;r=r-(g*(a[A>>1]<<16>>16)|0)|0;g=v;v=g+2|0;o=o-((a[g>>1]<<16>>16)*(a[t>>1]<<16>>16)|0)|0;g=a[v>>1]<<16>>16;A=t;t=A-2|0;r=r-(g*(a[A>>1]<<16>>16)|0)|0;g=v;v=g+2|0;o=o-((a[g>>1]<<16>>16)*(a[t>>1]<<16>>16)|0)|0;g=25;break;case 25:p= p-1&65535;g=23;break;case 26:g=(o+134217728|0)>>>0<268435455?27:28;break;case 27:y=o>>12&65535;g=32;break;case 28:g=(o|0)>134217727?29:30;break;case 29:y=32767;g=31;break;case 30:y=-32768;g=31;break;case 31:g=32;break;case 32:r=r-((a[(f+2|0)>>1]<<16>>16)*(y<<16>>16)|0)|0;t=y;g=u;u=g+2|0;a[g>>1]=t;t=u;g=(r+134217728|0)>>>0<268435455?33:34;break;case 33:g=r>>12&65535;A=u;u=A+2|0;a[A>>1]=g;g=38;break;case 34:g=(r|0)>134217727?35:36;break;case 35:g=u;u=g+2|0;a[g>>1]=32767;g=37;break;case 36:g=u;u=g+2| 0;a[g>>1]=-32768;g=37;break;case 37:g=38;break;case 38:g=39;break;case 39:j=j-1&65535;g=21;break;case 40:g=(m<<16>>16|0)!=0?41:42;break;case 41:g=q;A=n+(((l<<16>>16)-10|0)<<1)|0;x(true,"memcpy given 20 bytes to copy. Problem with quantum=1 corrections perhaps?");na(g,A,20,1);g=42;break;case 42:B=i;return;default:x(0,"bad label: "+g)}}function Pf(h){var k;for(k=0;;)switch(k){case 0:var e,c;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=3;break;case 2:a[(c|0)>>1]=0;k=c+2|0;for(e=k+14;k>16)-((a<<16>>16|0)<0&1)|0)&65535;return(a<<16>>16^a<<16>>16>>15)&65535}function yb(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f;d=a;b=k;i=e;g=c;i=(b<<16>>16)*(i<<16>>16)|0;b=(i|0)!=1073741824?1:6;break;case 1:f=(i<<1)+d|0;b=(d^i|0)>0?2:5;break;case 2:b=((f^d)>>31|0)!=0?3:4;break;case 3:f=(d>>31|0)!=0?-2147483648:2147483647;h[g>>2]=1;b=4;break;case 4:b=5;break;case 5:b=7;break;case 6:h[g>>2]=1;f=2147483647;b=7;break; case 7:return f;default:x(0,"bad label: "+b)}}function Oc(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b-c|0;c=((b^c)>>31|0)!=0?1:4;break;case 1:c=((i^b)&-2147483648|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function ld(h){var k;for(k=0;;)switch(k){case 0:var e,c,b,d;c=h;k=(c|0)==0?1:2;break;case 1:e=-1;k=19;break;case 2:a[(c+110|0)>>1]=0;a[(c+112|0)>>1]=0;a[(c+102|0)>>1]=0;a[(c+ 104|0)>>1]=0;a[(c+106|0)>>1]=0;a[(c+108|0)>>1]=0;a[(c+116|0)>>1]=0;a[(c+100|0)>>1]=0;a[(c+98|0)>>1]=0;a[(c+94|0)>>1]=0;a[(c+96|0)>>1]=0;b=a[(c+114|0)>>1]=0;k=3;break;case 3:k=(b<<16>>16|0)<3?4:10;break;case 4:d=0;k=5;break;case 5:k=(d<<16>>16|0)<2?6:8;break;case 6:a[(((c+72|0)+(b<<16>>16<<2)|0)+(d<<16>>16<<1)|0)>>1]=0;k=7;break;case 7:d=d+1&65535;k=5;break;case 8:k=9;break;case 9:b=b+1&65535;k=3;break;case 10:b=0;k=11;break;case 11:k=(b<<16>>16|0)<5?12:14;break;case 12:a[((c+84|0)+(b<<16>>16<<1)| 0)>>1]=0;k=13;break;case 13:b=b+1&65535;k=11;break;case 14:b=0;k=15;break;case 15:k=(b<<16>>16|0)<9?16:18;break;case 16:a[((c|0)+(b<<16>>16<<1)|0)>>1]=150;a[((c+36|0)+(b<<16>>16<<1)|0)>>1]=150;a[((c+18|0)+(b<<16>>16<<1)|0)>>1]=150;a[((c+54|0)+(b<<16>>16<<1)|0)>>1]=0;k=17;break;case 17:b=b+1&65535;k=15;break;case 18:a[(c+118|0)>>1]=13106;a[(c+120|0)>>1]=0;a[(c+122|0)>>1]=0;a[(c+124|0)>>1]=0;a[(c+126|0)>>1]=13106;e=0;k=19;break;case 19:return e;default:x(0,"bad label: "+k)}}function Ph(h,k,e,c){var b; for(b=0;;)switch(b){case 0:var d,i,g,f;d=h;i=k;g=e;f=c;g=la(g,f);b=(g<<16>>16|0)>0?1:3;break;case 1:b=(qi(i,g,21298,f)|0)>0?2:3;break;case 2:b=d+104|0;a[b>>1]=(a[b>>1]<<16>>16|16384)&65535;b=3;break;case 3:return;default:x(0,"bad label: "+b)}}function qi(a,k,e,c){a:{var b;for(b=0;;)switch(b){case 0:var d,i;b=k;d=e;i=c;d=(b<<16>>16)*(d<<16>>16)|0;b=(d|0)!=1073741824?1:2;break;case 1:d<<=1;b=3;break;case 2:h[i>>2]=1;d=2147483647;b=3;break;case 3:k=d;break a;default:x(0,"bad label: "+b)}k=void 0}return k= Oc(a,k,c)}function Yd(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;b=h;c=k;d=e;var i=ra(a[(b+104|0)>>1],1,d);a[(b+104|0)>>1]=i;c=(c<<16>>16|0)!=0?1:2;break;case 1:c=ra(a[(b+104|0)>>1],1,d);a[(b+104|0)>>1]=c;c=b+104|0;a[c>>1]=(a[c>>1]<<16>>16|8192)&65535;c=2;break;case 2:return;default:x(0,"bad label: "+c)}}function dg(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f;b=h;d=k;i=e;f=g=0;c=1;break;case 1:c=(f<<16>>16|0)<2?2:6;break;case 2:c=ha(a[(b+112|0)>>1],a[(d+(f<<16>>16<<1)|0)>>1],i);c=ne(c); c=(c<<16>>16|0)<4?3:4;break;case 3:g=((g<<16>>16)+1|0)&65535;c=4;break;case 4:a[(b+112|0)>>1]=a[(d+(f<<16>>16<<1)|0)>>1];c=5;break;case 5:f=f+1&65535;c=1;break;case 6:c=ra(a[(b+102|0)>>1],1,i);a[(b+102|0)>>1]=c;c=$(a[(b+110|0)>>1],g,i);c=(c<<16>>16|0)>=4?7:8;break;case 7:c=b+102|0;a[c>>1]=(a[c>>1]<<16>>16|16384)&65535;c=8;break;case 8:a[(b+110|0)>>1]=g;return;default:x(0,"bad label: "+c)}}function Wf(h,k,e){var c=B;B+=20;x(B%4==0,"Stack is unaligned");x(B>16|0)<160?2:4;break;case 2:j=yb(j,a[(i+(((n<<16>>16)-40|0)<<1)|0)>>1],a[(i+(((n<<16>>16)-40|0)<<1)|0)>>1],g);b=3;break;case 3:n=n+1&65535;b=1;break;case 4:b=(Oc(j,343040,g)|0)<0?5:6;break;case 5:a[(d+102|0)>>1]=a[(d+102|0)>>1]<<16>>16&16383;b=6;break;case 6:b=(Oc(j,15E3,g)|0)<0?7:8;break;case 7:a[(d+108|0)>>1]=a[(d+108|0)>>1]<<16>>16&16383;b=8;break;case 8:return ri(d,i,f|0,g),h=si(d,f|0,j,g),B=c,h;default:x(0,"bad label: "+b)}}function Pc(a, h){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=h;d=0;e=(b<<16>>16|0)<0?1:4;break;case 1:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<15?2:3;break;case 2:d=c<<16>>16>>(b<<16>>16|0)&65535;e=3;break;case 3:e=7;break;case 4:d=c<<16>>16<<(b<<16>>16)&65535;e=(d<<16>>16>>(b<<16>>16|0)|0)!=(c<<16>>16|0)?5:6;break;case 5:d=(c<<16>>16>>15^32767)&65535;e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function ac(a,h){var e;for(e=0;;)switch(e){case 0:var c,b,d;c=a;b=h;d=0;e=(b<<16>>16| 0)>0?1:4;break;case 1:d=c<<(b<<16>>16);e=(d>>(b<<16>>16|0)|0)!=(c|0)?2:3;break;case 2:d=c>>31^2147483647;e=3;break;case 3:e=7;break;case 4:b=(-(b<<16>>16)|0)&65535;e=(b<<16>>16|0)<31?5:6;break;case 5:d=c>>(b<<16>>16|0);e=6;break;case 6:e=7;break;case 7:return d;default:x(0,"bad label: "+e)}}function bb(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;c=a;b=k;d=e;b=((c<<16>>16)*(b<<16>>16)|0)>>15;c=(b|0)>32767?1:2;break;case 1:h[d>>2]=1;b=32767;c=2;break;case 2:return b&65535;default:x(0,"bad label: "+ c)}}function ti(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b=a;c=k;d=e;i=b+c|0;c=(b^c|0)>=0?1:4;break;case 1:c=((i^b)>>31|0)!=0?2:3;break;case 2:i=(b>>31|0)!=0?-2147483648:2147483647;h[d>>2]=1;c=3;break;case 3:c=4;break;case 4:return i;default:x(0,"bad label: "+c)}}function ri(h,k,e,c){var b=B;B+=320;x(B%4==0,"Stack is unaligned");x(B>16|0)<40?2:4;break; case 2:oe(n+((j<<16>>16<<2|0)<<1)|0,n+(((j<<16>>16<<2|0)+2|0)<<1)|0,(i+72|0)+4|0,f);oe(n+(((j<<16>>16<<2|0)+1|0)<<1)|0,n+(((j<<16>>16<<2|0)+3|0)<<1)|0,(i+72|0)+8|0,f);d=3;break;case 3:j=j+1&65535;d=1;break;case 4:j=0;d=5;break;case 5:d=(j<<16>>16|0)<20?6:8;break;case 6:zb(n+((j<<16>>16<<3|0)<<1)|0,n+(((j<<16>>16<<3|0)+4|0)<<1)|0,i+84|0,f);zb(n+(((j<<16>>16<<3|0)+2|0)<<1)|0,n+(((j<<16>>16<<3|0)+6|0)<<1)|0,(i+84|0)+2|0,f);zb(n+(((j<<16>>16<<3|0)+3|0)<<1)|0,n+(((j<<16>>16<<3|0)+7|0)<<1)|0,(i+84|0)+8| 0,f);d=7;break;case 7:j=j+1&65535;d=5;break;case 8:j=0;d=9;break;case 9:d=(j<<16>>16|0)<10?10:12;break;case 10:zb(n+((j<<16>>16<<4|0)<<1)|0,n+(((j<<16>>16<<4|0)+8|0)<<1)|0,(i+84|0)+4|0,f);zb(n+(((j<<16>>16<<4|0)+4|0)<<1)|0,n+(((j<<16>>16<<4|0)+12|0)<<1)|0,(i+84|0)+6|0,f);d=11;break;case 11:j=j+1&65535;d=9;break;case 12:h=Ra(n|0,(i+54|0)+16|0,32,40,4,1,15,f);a[(g+16|0)>>1]=h;h=Ra(n|0,(i+54|0)+14|0,16,20,8,7,16,f);a[(g+14|0)>>1]=h;h=Ra(n|0,(i+54|0)+12|0,16,20,8,3,16,f);a[(g+12|0)>>1]=h;h=Ra(n|0,(i+ 54|0)+10|0,16,20,8,2,16,f);a[(g+10|0)>>1]=h;h=Ra(n|0,(i+54|0)+8|0,16,20,8,6,16,f);a[(g+8|0)>>1]=h;h=Ra(n|0,(i+54|0)+6|0,8,10,16,4,16,f);a[(g+6|0)>>1]=h;h=Ra(n|0,(i+54|0)+4|0,8,10,16,12,16,f);a[(g+4|0)>>1]=h;h=Ra(n|0,(i+54|0)+2|0,8,10,16,8,16,f);a[(g+2|0)>>1]=h;i=Ra(n|0,i+54|0,8,10,16,0,16,f);a[(g|0)>>1]=i;B=b;return;default:x(0,"bad label: "+d)}}function si(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p,o;d=h;i=k;g=e;f=c;j=l=0;b=1;break;case 1:b=(j<<16>>16|0)<9?2:4;break;case 2:b= db(a[((d|0)+(j<<16>>16<<1)|0)>>1]);m=Pc(a[((d|0)+(j<<16>>16<<1)|0)>>1],b,f);var r=ra(a[(i+(j<<16>>16<<1)|0)>>1],1,f);m=xa(r,m);b=ha(b,5,f);m=Pc(m,b,f);l=yb(l,m,m,f);b=3;break;case 3:j=j+1&65535;b=1;break;case 4:n=ac(l,6,f)>>16&65535;n=bb(n,3641,f);j=l=0;b=5;break;case 5:b=(j<<16>>16|0)<9?6:8;break;case 6:l=ti(l,a[((d|0)+(j<<16>>16<<1)|0)>>1]<<16>>16,f);b=7;break;case 7:j=j+1&65535;b=5;break;case 8:p=ac(l,13,f)>>16&65535;q=ha(p,0,f);q=bb(-2808,q,f);q=$(q,1260,f);b=(q<<16>>16|0)<720?9:10;break;case 9:q= 720;b=10;break;case 10:b=ra(a[(d+100|0)>>1],1,f);a[(d+100|0)>>1]=b;b=(n<<16>>16|0)>(q<<16>>16|0)?11:12;break;case 11:b=d+100|0;a[b>>1]=(a[b>>1]<<16>>16|16384)&65535;b=12;break;case 12:b=(Oc(g,15E3,f)|0)<0?13:14;break;case 13:o=1;b=15;break;case 14:o=0;b=15;break;case 15:return vi(d,o,f),h=wi(d,o,f),a[(d+122|0)>>1]=h,xi(d,i,f),i=yi(d,p,o,f),a[(d+120|0)>>1]=i,a[(d+120|0)>>1];default:x(0,"bad label: "+b)}}function vi(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g;b=h;d=k;i=e;c=(a[(b+118|0)>>1]<< 16>>16|0)<(a[(b+126|0)>>1]<<16>>16|0)?1:5;break;case 1:c=(a[(b+126|0)>>1]<<16>>16|0)<19660?2:3;break;case 2:g=2621;c=4;break;case 3:g=6553;c=4;break;case 4:c=9;break;case 5:c=(a[(b+126|0)>>1]<<16>>16|0)<19660?6:7;break;case 6:g=2621;c=8;break;case 7:g=655;c=8;break;case 8:c=9;break;case 9:c=a[(b+126|0)>>1]<<16>>16<<16;c=qi(c,g,a[(b+126|0)>>1],i);c=yb(c,g,a[(b+118|0)>>1],i);c=la(c,i);a[(b+126|0)>>1]=c;c=(a[(b+126|0)>>1]<<16>>16|0)<13106?10:11;break;case 10:a[(b+126|0)>>1]=13106;c=11;break;case 11:c= (d<<16>>16|0)!=0?12:13;break;case 12:a[(b+126|0)>>1]=13106;c=13;break;case 13:return;default:x(0,"bad label: "+c)}}function wi(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d;b=h;c=k;d=e;var i=ra(a[(b+106|0)>>1],1,d);a[(b+106|0)>>1]=i;i=ra(a[(b+108|0)>>1],1,d);a[(b+108|0)>>1]=i;c=(c<<16>>16|0)==0?1:6;break;case 1:c=(a[(b+126|0)>>1]<<16>>16|0)>19660?2:3;break;case 2:c=b+106|0;a[c>>1]=(a[c>>1]<<16>>16|16384)&65535;c=3;break;case 3:c=(a[(b+126|0)>>1]<<16>>16|0)>16383?4:5;break;case 4:c=b+108|0;a[c>> 1]=(a[c>>1]<<16>>16|16384)&65535;c=5;break;case 5:c=6;break;case 6:c=(a[(b+126|0)>>1]<<16>>16|0)>22936?7:8;break;case 7:c=$(a[(b+116|0)>>1],1,d);a[(b+116|0)>>1]=c;c=9;break;case 8:a[(b+116|0)>>1]=0;c=9;break;case 9:if(((a[(b+106|0)>>1]<<16>>16&32640)<<16>>16|0)==32640){var g=1;c=11}else c=10;break;case 10:g=((a[(b+108|0)>>1]<<16>>16&32767)<<16>>16|0)==32767;c=11;break;case 11:return g&1;default:x(0,"bad label: "+c)}}function xi(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g,f,j,n,l;b=h;d=k;i= e;zi(b,d,i);n=2;c=(30720&a[(b+100|0)>>1]<<16>>16|0)==0?1:4;break;case 1:c=(a[(b+102|0)>>1]<<16>>16&30720|0)==0?2:4;break;case 2:c=(a[(b+114|0)>>1]<<16>>16|0)==0?3:4;break;case 3:f=1638;j=2097;c=9;break;case 4:c=(a[(b+98|0)>>1]<<16>>16|0)==0?5:7;break;case 5:c=(a[(b+114|0)>>1]<<16>>16|0)==0?6:7;break;case 6:f=491;j=1867;c=8;break;case 7:f=0;j=1638;n=0;c=8;break;case 8:c=9;break;case 9:g=0;c=10;break;case 10:c=(g<<16>>16|0)<9?11:20;break;case 11:l=ha(a[((b+36|0)+(g<<16>>16<<1)|0)>>1],a[((b|0)+(g<<16>> 16<<1)|0)>>1],i);c=(l<<16>>16|0)<0?12:15;break;case 12:l=Xd(j,l,i);l=$(a[((b|0)+(g<<16>>16<<1)|0)>>1],l,i);c=$(-2,l,i);a[((b|0)+(g<<16>>16<<1)|0)>>1]=c;c=(a[((b|0)+(g<<16>>16<<1)|0)>>1]<<16>>16|0)<40?13:14;break;case 13:a[((b|0)+(g<<16>>16<<1)|0)>>1]=40;c=14;break;case 14:c=18;break;case 15:l=Xd(f,l,i);l=$(a[((b|0)+(g<<16>>16<<1)|0)>>1],l,i);c=$(n,l,i);a[((b|0)+(g<<16>>16<<1)|0)>>1]=c;c=(a[((b|0)+(g<<16>>16<<1)|0)>>1]<<16>>16|0)>16E3?16:17;break;case 16:a[((b|0)+(g<<16>>16<<1)|0)>>1]=16E3;c=17;break; case 17:c=18;break;case 18:c=19;break;case 19:g=g+1&65535;c=10;break;case 20:g=0;c=21;break;case 21:c=(g<<16>>16|0)<9?22:24;break;case 22:a[((b+36|0)+(g<<16>>16<<1)|0)>>1]=a[(d+(g<<16>>16<<1)|0)>>1];c=23;break;case 23:g=g+1&65535;c=21;break;case 24:return;default:x(0,"bad label: "+c)}}function yi(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n;i=h;b=k;g=e;f=c;b=(b<<16>>16|0)>100?1:2;break;case 1:n=4;j=7;b=3;break;case 2:n=5;j=4;b=3;break;case 3:b=(g<<16>>16|0)!=0?4:5;break;case 4:a[(i+94| 0)>>1]=0;a[(i+96|0)>>1]=0;a[(i+114|0)>>1]=0;d=a[(i+116|0)>>1]=0;b=23;break;case 5:b=(a[(i+116|0)>>1]<<16>>16|0)>100?6:9;break;case 6:b=(a[(i+114|0)>>1]<<16>>16|0)<250?7:8;break;case 7:a[(i+114|0)>>1]=250;b=8;break;case 8:b=9;break;case 9:b=(a[(i+114|0)>>1]<<16>>16|0)!=0?10:11;break;case 10:a[(i+94|0)>>1]=4;d=ha(a[(i+114|0)>>1],1,f);a[(i+114|0)>>1]=d;d=1;b=23;break;case 11:b=(a[(i+100|0)>>1]<<16>>16&16368|0)==0?12:14;break;case 12:b=(a[(i+126|0)>>1]<<16>>16|0)>21298?13:14;break;case 13:d=1;b=23;break; case 14:b=15;break;case 15:b=(a[(i+100|0)>>1]<<16>>16&16384|0)!=0?16:19;break;case 16:b=$(a[(i+94|0)>>1],1,f);a[(i+94|0)>>1]=b;b=(a[(i+94|0)>>1]<<16>>16|0)>=(n<<16>>16|0)?17:18;break;case 17:a[(i+96|0)>>1]=j;b=18;break;case 18:d=1;b=23;break;case 19:a[(i+94|0)>>1]=0;b=(a[(i+96|0)>>1]<<16>>16|0)>0?20:21;break;case 20:d=ha(a[(i+96|0)>>1],1,f);a[(i+96|0)>>1]=d;d=1;b=23;break;case 21:b=22;break;case 22:d=0;b=23;break;case 23:return d;default:x(0,"bad label: "+b)}}function zi(h,k,e){var c;for(c=0;;)switch(c){case 0:var b, d,i,g,f,j,n,l,q;b=h;d=k;i=e;c=(a[(b+122|0)>>1]<<16>>16|0)!=0?1:4;break;case 1:c=(a[(b+98|0)>>1]<<16>>16|0)<5?2:3;break;case 2:a[(b+98|0)>>1]=5;c=3;break;case 3:c=4;break;case 4:c=((a[(b+102|0)>>1]<<16>>16&24576)<<16>>16|0)==24576?6:5;break;case 5:c=((a[(b+104|0)>>1]<<16>>16&31744)<<16>>16|0)==31744?6:7;break;case 6:a[(b+98|0)>>1]=20;c=29;break;case 7:c=(a[(b+100|0)>>1]<<16>>16&32640|0)==0?8:9;break;case 8:a[(b+98|0)>>1]=20;c=28;break;case 9:g=j=0;c=10;break;case 10:c=(g<<16>>16|0)<9?11:20;break;case 11:c= (a[(d+(g<<16>>16<<1)|0)>>1]<<16>>16|0)>(a[((b+18|0)+(g<<16>>16<<1)|0)>>1]<<16>>16|0)?12:13;break;case 12:n=a[(d+(g<<16>>16<<1)|0)>>1];l=a[((b+18|0)+(g<<16>>16<<1)|0)>>1];c=14;break;case 13:n=a[((b+18|0)+(g<<16>>16<<1)|0)>>1];l=a[(d+(g<<16>>16<<1)|0)>>1];c=14;break;case 14:c=(n<<16>>16|0)<184?15:16;break;case 15:n=184;c=16;break;case 16:c=(l<<16>>16|0)<184?17:18;break;case 17:l=184;c=18;break;case 18:c=db(l);l=Pc(l,c,i);f=ra(n,1,i);f=xa(f,l);c=ha(8,c,i);c=ra(f,c,i);j=$(j,c,i);c=19;break;case 19:g= g+1&65535;c=10;break;case 20:c=(j<<16>>16|0)>1E3?21:22;break;case 21:a[(b+98|0)>>1]=20;c=27;break;case 22:c=(a[(b+100|0)>>1]<<16>>16&16384|0)!=0?23:26;break;case 23:c=(a[(b+98|0)>>1]<<16>>16|0)!=0?24:25;break;case 24:c=ha(a[(b+98|0)>>1],1,i);a[(b+98|0)>>1]=c;c=25;break;case 25:c=26;break;case 26:c=27;break;case 27:c=28;break;case 28:c=29;break;case 29:q=3276;c=(a[(b+98|0)>>1]<<16>>16|0)==20?30:31;break;case 30:q=32767;c=34;break;case 31:c=(a[(b+100|0)>>1]<<16>>16&16384|0)==0?32:33;break;case 32:q= 16383;c=33;break;case 33:c=34;break;case 34:g=0;c=35;break;case 35:c=(g<<16>>16|0)<9?36:38;break;case 36:f=ha(a[(d+(g<<16>>16<<1)|0)>>1],a[((b+18|0)+(g<<16>>16<<1)|0)>>1],i);f=Xd(q,f,i);c=$(a[((b+18|0)+(g<<16>>16<<1)|0)>>1],f,i);a[((b+18|0)+(g<<16>>16<<1)|0)>>1]=c;c=37;break;case 37:g=g+1&65535;c=35;break;case 38:return;default:x(0,"bad label: "+c)}}function ab(h,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i,g;b=h;d=k;i=e;a[i>>1]=a[b>>1];g=10;c=1;break;case 1:c=(g<<16>>16|0)>=1?2:4;break;case 2:i= i+2|0;b=b+2|0;d=d+2|0;a[i>>1]=(((a[b>>1]<<16>>16)*(a[(d-2|0)>>1]<<16>>16)|0)+16384|0)>>15&65535;c=3;break;case 3:g=g-1&65535;c=1;break;case 4:return;default:x(0,"bad label: "+c)}}function Fe(R,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n;d=R;i=k;g=e;b=c;j=h[(b+100|0)>>2];n=h[(b+96|0)>>2];b=d>>>0<8?1:6;break;case 1:f=((a[(n+(d<<1)|0)>>1]<<16>>16)-1|0)&65535;b=2;break;case 2:b=(f<<16>>16|0)>=0?3:5;break;case 3:a[(g+(a[(h[(j+(d<<2)|0)>>2]+(f<<16>>16<<1)|0)>>1]<<16>>16<<1)|0)>>1]=(M[i+(f<< 16>>16>>3)|0]&255)>>((f<<16>>16^-1)&7|0)&1;b=4;break;case 4:f=f-1&65535;b=2;break;case 5:b=11;break;case 6:f=((a[(n+(d<<1)|0)>>1]<<16>>16)-1|0)&65535;b=7;break;case 7:b=(f<<16>>16|0)>=0?8:10;break;case 8:a[(g+(f<<16>>16<<1)|0)>>1]=(M[i+(f<<16>>16>>3)|0]&255)>>((f<<16>>16^-1)&7|0)&1;b=9;break;case 9:f=f-1&65535;b=7;break;case 10:b=11;break;case 11:return;default:x(0,"bad label: "+b)}}function ui(h,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p;d=h;i=k;g=e;f=c;m=a[(g|0)>>1];p=a[(g+ 2|0)>>1];q=0;b=1;break;case 1:b=(q<<16>>16|0)<40?2:4;break;case 2:b=((m<<16>>16)*21955|0)>>15&65535;j=a[(d+((q<<16>>16<<2|0)<<1)|0)>>1]<<16>>16>>2&65535;b=ha(j,b,f);j=((b<<16>>16)*21955|0)>>15&65535;j=$(m,j,f);l=((p<<16>>16)*6390|0)>>15&65535;n=a[(d+(((q<<16>>16<<2|0)+1|0)<<1)|0)>>1]<<16>>16>>2&65535;l=ha(n,l,f);n=((l<<16>>16)*6390|0)>>15&65535;n=$(p,n,f);m=$(j,n,f);a[(i+((q<<16>>16<<2|0)<<1)|0)>>1]=m;m=ha(j,n,f);a[(i+(((q<<16>>16<<2|0)+1|0)<<1)|0)>>1]=m;j=((b<<16>>16)*21955|0)>>15&65535;n=a[(d+(((q<< 16>>16<<2|0)+2|0)<<1)|0)>>1]<<16>>16>>2&65535;m=ha(n,j,f);j=((m<<16>>16)*21955|0)>>15&65535;j=$(b,j,f);p=((l<<16>>16)*6390|0)>>15&65535;n=a[(d+(((q<<16>>16<<2|0)+3|0)<<1)|0)>>1]<<16>>16>>2&65535;p=ha(n,p,f);n=((p<<16>>16)*6390|0)>>15&65535;n=$(l,n,f);b=$(j,n,f);a[(i+(((q<<16>>16<<2|0)+2|0)<<1)|0)>>1]=b;b=ha(j,n,f);a[(i+(((q<<16>>16<<2|0)+3|0)<<1)|0)>>1]=b;b=3;break;case 3:q=q+1&65535;b=1;break;case 4:a[(g|0)>>1]=m;a[(g+2|0)>>1]=p;return;default:x(0,"bad label: "+b)}}function oe(h,k,e,c){var b,d,i; b=bb(21955,a[(e|0)>>1],c);b=ha(a[h>>1],b,c);d=bb(21955,b,c);d=$(a[(e|0)>>1],d,c);a[(e|0)>>1]=b;b=bb(6390,a[(e+2|0)>>1],c);b=ha(a[k>>1],b,c);i=bb(6390,b,c);i=$(a[(e+2|0)>>1],i,c);a[(e+2|0)>>1]=b;b=$(d,i,c);e=ra(b,1,c);a[h>>1]=e;b=ha(d,i,c);h=ra(b,1,c);a[k>>1]=h}function zb(h,k,e,c){var b,d;b=bb(13363,a[e>>1],c);b=ha(a[k>>1],b,c);d=bb(13363,b,c);d=$(a[e>>1],d,c);a[e>>1]=b;b=ha(a[h>>1],d,c);e=ra(b,1,c);a[k>>1]=e;b=$(a[h>>1],d,c);k=ra(b,1,c);a[h>>1]=k}function Ra(h,k,e,c,b,d,i,g){var f;for(f=0;;)switch(f){case 0:var j, n,l,q,m,p,o,r,s,v,t;j=h;n=k;l=e;q=c;m=b;p=d;o=i;r=g;s=0;t=l;f=1;break;case 1:f=(t<<16>>16|0)<(q<<16>>16|0)?2:4;break;case 2:f=ne(a[(j+((((m<<16>>16)*(t<<16>>16)|0)+(p<<16>>16)|0)<<1)|0)>>1]);s=yb(s,1,f,r);f=3;break;case 3:t=t+1&65535;f=1;break;case 4:t=s;v=a[n>>1]<<16>>16;f=ha(16,o,r);v=ac(v,f,r);v=ti(t,v,r);t=ac(s,o,r)>>16&65535;a[n>>1]=t;t=0;f=5;break;case 5:f=(t<<16>>16|0)<(l<<16>>16|0)?6:8;break;case 6:f=ne(a[(j+((((m<<16>>16)*(t<<16>>16)|0)+(p<<16>>16)|0)<<1)|0)>>1]);v=yb(v,1,f,r);f=7;break; case 7:t=t+1&65535;f=5;break;case 8:return h=ac(v,o,r)>>16&65535;default:x(0,"bad label: "+f)}}function va(a){var k;for(k=0;;)switch(k){case 0:var e,c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A;e=a;k=e>>>0<=244?1:36;break;case 1:k=e>>>0<11?2:3;break;case 2:var C=16;k=4;break;case 3:C=((e+4|0)+7|0)&-8;k=4;break;case 4:b=C;d=b>>>3;i=S[(P|0)>>2]>>>(d>>>0);k=(i&3|0)!=0?5:12;break;case 5:d=d+((i^-1)&1)|0;g=(P+40|0)+(d<<1<<2)|0;f=h[(g+8|0)>>2];j=h[(f+8|0)>>2];k=(g|0)==(j|0)?6:7;break;case 6:h[(P|0)>>2]&=1<< d^-1;k=11;break;case 7:k=((j>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?8:9;break;case 8:h[(g+8|0)>>2]=j;h[(j+12|0)>>2]=g;k=10;break;case 9:throw V(),"Reached an unreachable!";case 10:k=11;break;case 11:h[(f+4|0)>>2]=d<<3|3;h[((f+(d<<3)|0)+4|0)>>2]|=1;c=f+8|0;k=52;break;case 12:k=b>>>0>S[(P+8|0)>>2]>>>0?13:34;break;case 13:k=(i|0)!=0?14:29;break;case 14:n=i<>>12&16;n>>>=l>>>0;l=o=n>>>5&8;p=p+o|0;n>>>=l>>>0;l=o=n>>>2&4;p=p+o|0;n>>>=l>>>0;l=o=n>>>1&2;p=p+o|0; n>>>=l>>>0;l=o=n>>>1&1;p=p+o|0;n>>>=l>>>0;p=p+n|0;n=(P+40|0)+(p<<1<<2)|0;l=h[(n+8|0)>>2];o=h[(l+8|0)>>2];k=(n|0)==(o|0)?15:16;break;case 15:h[(P|0)>>2]&=1<>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?17:18;break;case 17:h[(n+8|0)>>2]=o;h[(o+12|0)>>2]=n;k=19;break;case 18:throw V(),"Reached an unreachable!";case 19:k=20;break;case 20:m=(p<<3)-b|0;h[(l+4|0)>>2]=b|3;q=l+b|0;h[(q+4|0)>>2]=m|1;h[(q+m|0)>>2]=m;r=h[(P+8|0)>>2];k=(r|0)!=0?21:28;break;case 21:s=h[(P+20|0)>>2];v=r>>>3; u=t=(P+40|0)+(v<<1<<2)|0;k=(h[(P|0)>>2]&1<>2]|=1<>2]>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?24:25;break;case 24:u=h[(t+8|0)>>2];k=26;break;case 25:throw V(),"Reached an unreachable!";case 26:k=27;break;case 27:h[(t+8|0)>>2]=s;h[(u+12|0)>>2]=s;h[(s+8|0)>>2]=u;h[(s+12|0)>>2]=t;k=28;break;case 28:h[(P+8|0)>>2]=m;h[(P+20|0)>>2]=q;c=l+8|0;k=52;break;case 29:k=(h[(P+4|0)>>2]|0)!=0?30:32;break;case 30:c=k=Ai(P,b);k=(k|0)!=0?31:32;break; case 31:k=52;break;case 32:k=33;break;case 33:k=34;break;case 34:k=35;break;case 35:k=43;break;case 36:k=e>>>0>=4294967232?37:38;break;case 37:b=-1;k=42;break;case 38:b=((e+4|0)+7|0)&-8;k=(h[(P+4|0)>>2]|0)!=0?39:41;break;case 39:c=k=Bi(P,b);k=(k|0)!=0?40:41;break;case 40:k=52;break;case 41:k=42;break;case 42:k=43;break;case 43:k=b>>>0<=S[(P+8|0)>>2]>>>0?44:48;break;case 44:w=h[(P+8|0)>>2]-b|0;y=h[(P+20|0)>>2];k=w>>>0>=16?45:46;break;case 45:k=y+b|0;h[(P+20|0)>>2]=k;h[(P+8|0)>>2]=w;h[(k+4|0)>>2]=w| 1;h[(k+w|0)>>2]=w;h[(y+4|0)>>2]=b|3;k=47;break;case 46:k=h[(P+8|0)>>2];h[(P+8|0)>>2]=0;h[(P+20|0)>>2]=0;h[(y+4|0)>>2]=k|3;h[((y+k|0)+4|0)>>2]|=1;k=47;break;case 47:c=y+8|0;k=52;break;case 48:k=b>>>0>2]>>>0?49:50;break;case 49:c=h[(P+12|0)>>2]-b|0;h[(P+12|0)>>2]=c;k=h[(P+24|0)>>2];A=k+b|0;h[(P+24|0)>>2]=A;h[(A+4|0)>>2]=c|1;h[(k+4|0)>>2]=b|3;c=k+8|0;k=52;break;case 50:k=51;break;case 51:c=Ci(P,b);k=52;break;case 52:return c;default:x(0,"bad label: "+k)}}function Ai(a,k){var e;for(e=0;;)switch(e){case 0:var c, b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y;c=a;b=k;d=(h[(c+4|0)>>2]&(-h[(c+4|0)>>2]|0))-1|0;g=i=d>>>12&16;d>>>=i>>>0;i=e=d>>>5&8;g=g+e|0;d>>>=i>>>0;i=e=d>>>2&4;g=g+e|0;d>>>=i>>>0;i=e=d>>>1&2;g=g+e|0;d>>>=i>>>0;i=e=d>>>1&1;g=g+e|0;d>>>=i>>>0;d=i=h[((c+304|0)+((g+d|0)<<2)|0)>>2];g=(h[(d+4|0)>>2]&-8)-b|0;e=1;break;case 1:e=(h[(d+16|0)>>2]|0)!=0?2:3;break;case 2:var A=h[(d+16|0)>>2];e=4;break;case 3:A=h[((d+16|0)+4|0)>>2];e=4;break;case 4:d=A;e=(A|0)!=0?5:8;break;case 5:f=(h[(d+4|0)>>2]&-8)-b|0;e=f>>>0>> 0?6:7;break;case 6:g=f;i=d;e=7;break;case 7:e=1;break;case 8:e=((i>>>0>=S[(c+16|0)>>2]>>>0&1)==1|0)!=0?9:68;break;case 9:j=i+b|0;e=((i>>>0>>0&1)==1|0)!=0?10:67;break;case 10:n=h[(i+24|0)>>2];e=(h[(i+12|0)>>2]|0)!=(i|0)?11:15;break;case 11:q=h[(i+8|0)>>2];l=h[(i+12|0)>>2];e=((q>>>0>=S[(c+16|0)>>2]>>>0&1)==1|0)!=0?12:13;break;case 12:h[(q+12|0)>>2]=l;h[(l+8|0)>>2]=q;e=14;break;case 13:throw V(),"Reached an unreachable!";case 14:e=27;break;case 15:m=l=(i+16|0)+4|0;l=e=h[l>>2];e=(e|0)!=0?17:16;break; case 16:m=l=i+16|0;l=e=h[l>>2];e=(e|0)!=0?17:26;break;case 17:e=18;break;case 18:p=e=(l+16|0)+4|0;if((h[e>>2]|0)!=0){var C=1;e=20}else e=19;break;case 19:p=C=l+16|0;C=(h[C>>2]|0)!=0;e=20;break;case 20:e=C?21:22;break;case 21:m=l=p;l=h[l>>2];e=18;break;case 22:e=((m>>>0>=S[(c+16|0)>>2]>>>0&1)==1|0)!=0?23:24;break;case 23:h[m>>2]=0;e=25;break;case 24:throw V(),"Reached an unreachable!";case 25:e=26;break;case 26:e=27;break;case 27:e=(n|0)!=0?28:55;break;case 28:o=(c+304|0)+(h[(i+28|0)>>2]<<2)|0;e=(i| 0)==(h[o>>2]|0)?29:32;break;case 29:e=l;h[o>>2]=e;e=(e|0)==0?30:31;break;case 30:h[(c+4|0)>>2]&=1<>2]^-1;e=31;break;case 31:e=39;break;case 32:e=((n>>>0>=S[(c+16|0)>>2]>>>0&1)==1|0)!=0?33:37;break;case 33:e=(h[(n+16|0)>>2]|0)==(i|0)?34:35;break;case 34:h[(n+16|0)>>2]=l;e=36;break;case 35:h[((n+16|0)+4|0)>>2]=l;e=36;break;case 36:e=38;break;case 37:throw V(),"Reached an unreachable!";case 38:e=39;break;case 39:e=(l|0)!=0?40:54;break;case 40:e=((l>>>0>=S[(c+16|0)>>2]>>>0&1)==1|0)!=0?41: 52;break;case 41:h[(l+24|0)>>2]=n;r=e=h[(i+16|0)>>2];e=(e|0)!=0?42:46;break;case 42:e=((r>>>0>=S[(c+16|0)>>2]>>>0&1)==1|0)!=0?43:44;break;case 43:h[(l+16|0)>>2]=r;h[(r+24|0)>>2]=l;e=45;break;case 44:throw V(),"Reached an unreachable!";case 45:e=46;break;case 46:s=e=h[((i+16|0)+4|0)>>2];e=(e|0)!=0?47:51;break;case 47:e=((s>>>0>=S[(c+16|0)>>2]>>>0&1)==1|0)!=0?48:49;break;case 48:h[((l+16|0)+4|0)>>2]=s;h[(s+24|0)>>2]=l;e=50;break;case 49:throw V(),"Reached an unreachable!";case 50:e=51;break;case 51:e= 53;break;case 52:throw V(),"Reached an unreachable!";case 53:e=54;break;case 54:e=55;break;case 55:e=g>>>0<16?56:57;break;case 56:h[(i+4|0)>>2]=g+b|3;h[((i+(g+b|0)|0)+4|0)>>2]|=1;e=66;break;case 57:h[(i+4|0)>>2]=b|3;h[(j+4|0)>>2]=g|1;h[(j+g|0)>>2]=g;v=h[(c+8|0)>>2];e=(v|0)!=0?58:65;break;case 58:t=h[(c+20|0)>>2];u=v>>>3;y=w=(c+40|0)+(u<<1<<2)|0;e=(h[(c|0)>>2]&1<>2]|=1<>2]>>>0>=S[(c+16|0)>>2]>>>0&1)==1|0)!=0?61:62;break;case 61:y= h[(w+8|0)>>2];e=63;break;case 62:throw V(),"Reached an unreachable!";case 63:e=64;break;case 64:h[(w+8|0)>>2]=t;h[(y+12|0)>>2]=t;h[(t+8|0)>>2]=y;h[(t+12|0)>>2]=w;e=65;break;case 65:h[(c+8|0)>>2]=g;h[(c+20|0)>>2]=j;e=66;break;case 66:return i+8|0;case 67:e=68;break;case 68:throw V(),"Reached an unreachable!";default:x(0,"bad label: "+e)}}function Bi(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A,C,z,D,B,F,I,K,J,G,H,L,N,M,O;b=a;d=k;i=0;g=-d|0;n=d>>>8;e=(n|0)==0? 1:2;break;case 1:j=0;e=6;break;case 2:e=n>>>0>65535?3:4;break;case 3:j=31;e=5;break;case 4:j=n;e=(j-256|0)>>>16&8;j=l=j<>>16&4;e=e+l|0;j=l=j<>>16&2;l=P;e=e+P|0;l=(14-e|0)+(j<>>15)|0;j=(l<<1)+(d>>>((l+7|0)>>>0)&1)|0;e=5;break;case 5:e=6;break;case 6:f=e=h[((b+304|0)+(j<<2)|0)>>2];e=(e|0)!=0?7:22;break;case 7:var W=d;e=(j|0)==31?8:9;break;case 8:var Q=0;e=10;break;case 9:Q=31-(((j>>>1)+8|0)-2|0)|0;e=10;break;case 10:q=W<> 2]&-8)-d|0;e=o>>>0>>0?12:15;break;case 12:i=f;g=e=o;e=(e|0)==0?13:14;break;case 13:e=21;break;case 14:e=15;break;case 15:p=h[((f+16|0)+4|0)>>2];f=h[((f+16|0)+((q>>>31&1)<<2)|0)>>2];e=(p|0)!=0?16:18;break;case 16:e=(p|0)!=(f|0)?17:18;break;case 17:m=p;e=18;break;case 18:e=(f|0)==0?19:20;break;case 19:f=m;e=21;break;case 20:q<<=1;e=11;break;case 21:e=22;break;case 22:e=(f|0)==0?23:27;break;case 23:e=(i|0)==0?24:27;break;case 24:r=(1<>2];e=(r|0)!=0?25:26;break;case 25:f= r&(-r|0);f=f-1|0;l=e=f>>>12&16;f>>>=e>>>0;e=P=f>>>5&8;l=l+P|0;f>>>=e>>>0;e=P=f>>>2&4;l=l+P|0;f>>>=e>>>0;e=P=f>>>1&2;l=l+P|0;f>>>=e>>>0;e=P=f>>>1&1;l=l+P|0;f>>>=e>>>0;f=l+f|0;f=h[((b+304|0)+(f<<2)|0)>>2];e=26;break;case 26:e=27;break;case 27:e=28;break;case 28:e=(f|0)!=0?29:35;break;case 29:s=(h[(f+4|0)>>2]&-8)-d|0;e=s>>>0>>0?30:31;break;case 30:g=s;i=f;e=31;break;case 31:e=(h[(f+16|0)>>2]|0)!=0?32:33;break;case 32:var T=h[(f+16|0)>>2];e=34;break;case 33:T=h[((f+16|0)+4|0)>>2];e=34;break;case 34:f= T;e=28;break;case 35:e=(i|0)!=0?36:125;break;case 36:e=g>>>0<(h[(b+8|0)>>2]-d|0)>>>0?37:125;break;case 37:e=((i>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?38:124;break;case 38:v=i+d|0;e=((i>>>0>>0&1)==1|0)!=0?39:123;break;case 39:t=h[(i+24|0)>>2];e=(h[(i+12|0)>>2]|0)!=(i|0)?40:44;break;case 40:w=h[(i+8|0)>>2];u=h[(i+12|0)>>2];e=((w>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?41:42;break;case 41:h[(w+12|0)>>2]=u;h[(u+8|0)>>2]=w;e=43;break;case 42:throw V(),"Reached an unreachable!";case 43:e=56;break;case 44:y= u=(i+16|0)+4|0;u=e=h[u>>2];e=(e|0)!=0?46:45;break;case 45:y=u=i+16|0;u=e=h[u>>2];e=(e|0)!=0?46:55;break;case 46:e=47;break;case 47:A=e=(u+16|0)+4|0;if((h[e>>2]|0)!=0){var X=1;e=49}else e=48;break;case 48:A=X=u+16|0;X=(h[X>>2]|0)!=0;e=49;break;case 49:e=X?50:51;break;case 50:y=u=A;u=h[u>>2];e=47;break;case 51:e=((y>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?52:53;break;case 52:h[y>>2]=0;e=54;break;case 53:throw V(),"Reached an unreachable!";case 54:e=55;break;case 55:e=56;break;case 56:e=(t|0)!=0?57:84;break; case 57:C=(b+304|0)+(h[(i+28|0)>>2]<<2)|0;e=(i|0)==(h[C>>2]|0)?58:61;break;case 58:e=u;h[C>>2]=e;e=(e|0)==0?59:60;break;case 59:h[(b+4|0)>>2]&=1<>2]^-1;e=60;break;case 60:e=68;break;case 61:e=((t>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?62:66;break;case 62:e=(h[(t+16|0)>>2]|0)==(i|0)?63:64;break;case 63:h[(t+16|0)>>2]=u;e=65;break;case 64:h[((t+16|0)+4|0)>>2]=u;e=65;break;case 65:e=67;break;case 66:throw V(),"Reached an unreachable!";case 67:e=68;break;case 68:e=(u|0)!=0?69:83;break;case 69:e= ((u>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?70:81;break;case 70:h[(u+24|0)>>2]=t;z=e=h[(i+16|0)>>2];e=(e|0)!=0?71:75;break;case 71:e=((z>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?72:73;break;case 72:h[(u+16|0)>>2]=z;h[(z+24|0)>>2]=u;e=74;break;case 73:throw V(),"Reached an unreachable!";case 74:e=75;break;case 75:D=e=h[((i+16|0)+4|0)>>2];e=(e|0)!=0?76:80;break;case 76:e=((D>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?77:78;break;case 77:h[((u+16|0)+4|0)>>2]=D;h[(D+24|0)>>2]=u;e=79;break;case 78:throw V(),"Reached an unreachable!"; case 79:e=80;break;case 80:e=82;break;case 81:throw V(),"Reached an unreachable!";case 82:e=83;break;case 83:e=84;break;case 84:e=g>>>0<16?85:86;break;case 85:h[(i+4|0)>>2]=g+d|3;h[((i+(g+d|0)|0)+4|0)>>2]|=1;e=122;break;case 86:h[(i+4|0)>>2]=d|3;h[(v+4|0)>>2]=g|1;h[(v+g|0)>>2]=g;e=g>>>3>>>0<32?87:94;break;case 87:B=g>>>3;I=F=(b+40|0)+(B<<1<<2)|0;e=(h[(b|0)>>2]&1<>2]|=1<>2]>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?90:91;break;case 90:I= h[(F+8|0)>>2];e=92;break;case 91:throw V(),"Reached an unreachable!";case 92:e=93;break;case 93:h[(F+8|0)>>2]=v;h[(I+12|0)>>2]=v;h[(v+8|0)>>2]=I;h[(v+12|0)>>2]=F;e=121;break;case 94:K=v;H=g>>>8;e=(H|0)==0?95:96;break;case 95:G=0;e=100;break;case 96:e=H>>>0>65535?97:98;break;case 97:G=31;e=99;break;case 98:G=H;e=(G-256|0)>>>16&8;G=l=G<>>16&4;e=e+l|0;G=l=G<>>16&2;e=e+P|0;l=(14-e|0)+(G<>>15)|0;G=(l<<1)+(g>>>((l+7|0)>>>0)&1)|0;e=99;break;case 99:e=100;break;case 100:J= (b+304|0)+(G<<2)|0;h[(K+28|0)>>2]=G;h[((K+16|0)+4|0)>>2]=0;h[(K+16|0)>>2]=0;e=(h[(b+4|0)>>2]&1<>2]|=1<>2]=K;h[(K+24|0)>>2]=J;e=K;h[(K+12|0)>>2]=e;h[(K+8|0)>>2]=e;e=120;break;case 102:L=h[J>>2];var $=g;e=(G|0)==31?103:104;break;case 103:var Y=0;e=105;break;case 104:Y=31-(((G>>>1)+8|0)-2|0)|0;e=105;break;case 105:N=$<>2]&-8|0)!=(g|0)?107:113;break;case 107:M=(L+16|0)+((N>>>31&1)<<2)|0;N<<=1;e=(h[M>>2]|0)!=0?108:109; break;case 108:L=h[M>>2];e=112;break;case 109:e=((M>>>0>=S[(b+16|0)>>2]>>>0&1)==1|0)!=0?110:111;break;case 110:h[M>>2]=K;h[(K+24|0)>>2]=L;e=K;h[(K+12|0)>>2]=e;h[(K+8|0)>>2]=e;e=119;break;case 111:throw V(),"Reached an unreachable!";case 112:e=118;break;case 113:O=h[(L+8|0)>>2];if(L>>>0>=S[(b+16|0)>>2]>>>0)e=114;else{var ba=0;e=115}break;case 114:ba=O>>>0>=S[(b+16|0)>>2]>>>0;e=115;break;case 115:e=((ba&1)==1|0)!=0?116:117;break;case 116:e=K;h[(O+12|0)>>2]=e;h[(L+8|0)>>2]=e;h[(K+8|0)>>2]=O;h[(K+12| 0)>>2]=L;h[(K+24|0)>>2]=0;e=119;break;case 117:throw V(),"Reached an unreachable!";case 118:e=106;break;case 119:e=120;break;case 120:e=121;break;case 121:e=122;break;case 122:c=i+8|0;e=126;break;case 123:e=124;break;case 124:throw V(),"Reached an unreachable!";case 125:c=0;e=126;break;case 126:return c;default:x(0,"bad label: "+e)}}function Ci(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u;b=a;d=k;i=-1;f=g=0;e=(h[(qa|0)>>2]|0)!=0?2:1;break;case 1:Di();e=2;break;case 2:e= (h[(b+440|0)>>2]&0|0)!=0?3:8;break;case 3:e=d>>>0>=S[(qa+12|0)>>2]>>>0?4:8;break;case 4:e=(h[(b+12|0)>>2]|0)!=0?5:8;break;case 5:j=Ei(b,d);e=(j|0)!=0?6:7;break;case 6:c=j;e=91;break;case 7:e=8;break;case 8:e=(h[(b+440|0)>>2]&4|0)!=0?41:9;break;case 9:n=-1;e=(h[(b+24|0)>>2]|0)==0?10:11;break;case 10:var w=0;e=12;break;case 11:w=pe(b,h[(b+24|0)>>2]);e=12;break;case 12:l=w;q=0;e=(l|0)==0?13:21;break;case 13:m=La(0);e=(m|0)!=-1?14:20;break;case 14:q=((d+48|0)+(h[(qa+8|0)>>2]-1|0)|0)&((h[(qa+8|0)>>2]- 1|0)^-1);e=(m&(h[(qa+4|0)>>2]-1|0)|0)==0?16:15;break;case 15:q=q+(((m+(h[(qa+4|0)>>2]-1|0)|0)&((h[(qa+4|0)>>2]-1|0)^-1))-m|0)|0;e=16;break;case 16:e=q>>>0<2147483647?17:19;break;case 17:n=e=La(q);e=(e|0)==(m|0)?18:19;break;case 18:i=m;g=q;e=19;break;case 19:e=20;break;case 20:e=25;break;case 21:q=(((d-h[(b+12|0)>>2]|0)+48|0)+(h[(qa+8|0)>>2]-1|0)|0)&((h[(qa+8|0)>>2]-1|0)^-1);e=q>>>0<2147483647?22:24;break;case 22:n=e=La(q);e=(e|0)==(h[(l|0)>>2]+h[(l+4|0)>>2]|0)?23:24;break;case 23:i=n;g=q;e=24;break; case 24:e=25;break;case 25:e=(i|0)==-1?26:40;break;case 26:e=(n|0)!=-1?27:36;break;case 27:e=q>>>0<2147483647?28:35;break;case 28:e=q>>>0<(d+48|0)>>>0?29:35;break;case 29:p=(((d+48|0)-q|0)+(h[(qa+8|0)>>2]-1|0)|0)&((h[(qa+8|0)>>2]-1|0)^-1);e=p>>>0<2147483647?30:34;break;case 30:e=La(p);e=(e|0)!=-1?31:32;break;case 31:q=q+p|0;e=33;break;case 32:La(-q|0);n=-1;e=33;break;case 33:e=34;break;case 34:e=35;break;case 35:e=36;break;case 36:e=(n|0)!=-1?37:38;break;case 37:i=n;g=q;e=39;break;case 38:h[(b+440| 0)>>2]|=4;e=39;break;case 39:e=40;break;case 40:e=41;break;case 41:e=(i|0)==-1?42:51;break;case 42:o=((d+48|0)+(h[(qa+8|0)>>2]-1|0)|0)&((h[(qa+8|0)>>2]-1|0)^-1);e=o>>>0<2147483647?43:50;break;case 43:r=La(o);s=La(0);e=(r|0)!=-1?44:49;break;case 44:e=(s|0)!=-1?45:49;break;case 45:e=r>>>0>>0?46:49;break;case 46:v=s-r|0;e=v>>>0>(d+40|0)>>>0?47:48;break;case 47:i=r;g=v;e=48;break;case 48:e=49;break;case 49:e=50;break;case 50:e=51;break;case 51:e=(i|0)!=-1?52:90;break;case 52:e=b+432|0;u=h[e>>2]+g| 0;h[e>>2]=u;e=u>>>0>S[(b+436|0)>>2]>>>0?53:54;break;case 53:h[(b+436|0)>>2]=h[(b+432|0)>>2];e=54;break;case 54:e=(h[(b+24|0)>>2]|0)!=0?62:55;break;case 55:e=(h[(b+16|0)>>2]|0)==0?57:56;break;case 56:e=i>>>0>2]>>>0?57:58;break;case 57:h[(b+16|0)>>2]=i;e=58;break;case 58:h[(b+444|0)>>2]=i;h[((b+444|0)+4|0)>>2]=g;h[((b+444|0)+12|0)>>2]=f;h[(b+36|0)>>2]=h[(qa|0)>>2];h[(b+32|0)>>2]=-1;a:{e=b;u=void 0;for(u=0;;)switch(u){case 0:var y,A;y=e;A=0;u=1;break;case 1:u=A>>>0<32?2:4;break;case 2:var C= u=(y+40|0)+(A<<1<<2)|0;h[(u+12|0)>>2]=C;h[(u+8|0)>>2]=C;u=3;break;case 3:A=A+1|0;u=1;break;case 4:break a;default:x(0,"bad label: "+u)}}e=(b|0)==(P|0)?59:60;break;case 59:Ab(b,i,g-40|0);e=61;break;case 60:e=(b-8|0)+(h[((b-8|0)+4|0)>>2]&-8)|0;Ab(b,e,((i+g|0)-e|0)-40|0);e=61;break;case 61:e=87;break;case 62:t=b+444|0;e=63;break;case 63:if((t|0)!=0)e=64;else{var z=0;e=65}break;case 64:z=(i|0)!=(h[(t|0)>>2]+h[(t+4|0)>>2]|0);e=65;break;case 65:e=z?66:67;break;case 66:t=h[(t+8|0)>>2];e=63;break;case 67:e= (t|0)!=0?68:73;break;case 68:e=(h[(t+12|0)>>2]&8|0)!=0?73:69;break;case 69:e=(h[(t+12|0)>>2]&0|0)==(f|0)?70:73;break;case 70:e=h[(b+24|0)>>2]>>>0>=S[(t|0)>>2]>>>0?71:73;break;case 71:e=h[(b+24|0)>>2]>>>0<(h[(t|0)>>2]+h[(t+4|0)>>2]|0)>>>0?72:73;break;case 72:e=t+4|0;h[e>>2]=h[e>>2]+g|0;Ab(b,h[(b+24|0)>>2],h[(b+12|0)>>2]+g|0);e=86;break;case 73:e=i>>>0>2]>>>0?74:75;break;case 74:h[(b+16|0)>>2]=i;e=75;break;case 75:t=b+444|0;e=76;break;case 76:if((t|0)!=0)e=77;else{var D=0;e=78}break;case 77:D= (h[(t|0)>>2]|0)!=(i+g|0);e=78;break;case 78:e=D?79:80;break;case 79:t=h[(t+8|0)>>2];e=76;break;case 80:e=(t|0)!=0?81:84;break;case 81:e=(h[(t+12|0)>>2]&8|0)!=0?84:82;break;case 82:e=(h[(t+12|0)>>2]&0|0)==(f|0)?83:84;break;case 83:c=h[(t|0)>>2];h[(t|0)>>2]=i;e=t+4|0;h[e>>2]=h[e>>2]+g|0;c=Fi(b,i,c,d);e=91;break;case 84:Gi(b,i,g,f);e=85;break;case 85:e=86;break;case 86:e=87;break;case 87:e=d>>>0>2]>>>0?88:89;break;case 88:c=b+12|0;e=h[c>>2]-d|0;c=h[c>>2]=e;e=h[(b+24|0)>>2];u=e+d|0;h[(b+24| 0)>>2]=u;h[(u+4|0)>>2]=c|1;h[(e+4|0)>>2]=d|3;c=e+8|0;e=91;break;case 89:e=90;break;case 90:h[Ea.ret>>2]=12;c=0;e=91;break;case 91:return c;default:x(0,"bad label: "+e)}}function wa(a){var k;for(k=0;;)switch(k){case 0:var e,c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A,C,z,D,B,F,I,K,J,G,H,L,N,M,O,Z,W,Q,T,X,$,Y;e=a;k=(e|0)!=0?1:195;break;case 1:c=e-8|0;if(c>>>0>=S[(P+16|0)>>2]>>>0)k=2;else{var ba=0;k=3}break;case 2:ba=(h[(c+4|0)>>2]&3|0)!=1;k=3;break;case 3:k=((ba&1)==1|0)!=0?4:192;break;case 4:b=h[(c+ 4|0)>>2]&-8;d=c+b|0;k=(h[(c+4|0)>>2]&1|0)!=0?76:5;break;case 5:i=h[(c|0)>>2];k=(h[(c+4|0)>>2]&3|0)==0?6:7;break;case 6:b=b+(i+16|0)|0;k=194;break;case 7:k=c+(-i|0)|0;b=b+i|0;c=k;k=((k>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?8:73;break;case 8:k=(c|0)!=(h[(P+20|0)>>2]|0)?9:69;break;case 9:k=i>>>3>>>0<32?10:22;break;case 10:g=h[(c+8|0)>>2];f=h[(c+12|0)>>2];j=i>>>3;k=(g|0)==(f|0)?11:12;break;case 11:h[(P|0)>>2]&=1<>>0>=S[(P+ 16|0)>>2]>>>0)k=14;else{var ea=0;k=17}break;case 14:if((f|0)==((P+40|0)+(j<<1<<2)|0)){var ca=1;k=16}else k=15;break;case 15:ca=f>>>0>=S[(P+16|0)>>2]>>>0;k=16;break;case 16:ea=ca;k=17;break;case 17:k=((ea&1)==1|0)!=0?18:19;break;case 18:h[(g+12|0)>>2]=f;h[(f+8|0)>>2]=g;k=20;break;case 19:throw V(),"Reached an unreachable!";case 20:k=21;break;case 21:k=68;break;case 22:n=c;l=h[(n+24|0)>>2];k=(h[(n+12|0)>>2]|0)!=(n|0)?23:27;break;case 23:m=h[(n+8|0)>>2];q=h[(n+12|0)>>2];k=((m>>>0>=S[(P+16|0)>>2]>>>0& 1)==1|0)!=0?24:25;break;case 24:h[(m+12|0)>>2]=q;h[(q+8|0)>>2]=m;k=26;break;case 25:throw V(),"Reached an unreachable!";case 26:k=39;break;case 27:p=q=(n+16|0)+4|0;q=k=h[q>>2];k=(k|0)!=0?29:28;break;case 28:p=q=n+16|0;q=k=h[q>>2];k=(k|0)!=0?29:38;break;case 29:k=30;break;case 30:o=k=(q+16|0)+4|0;if((h[k>>2]|0)!=0){var ga=1;k=32}else k=31;break;case 31:o=ga=q+16|0;ga=(h[ga>>2]|0)!=0;k=32;break;case 32:k=ga?33:34;break;case 33:p=q=o;q=h[q>>2];k=30;break;case 34:k=((p>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!= 0?35:36;break;case 35:h[p>>2]=0;k=37;break;case 36:throw V(),"Reached an unreachable!";case 37:k=38;break;case 38:k=39;break;case 39:k=(l|0)!=0?40:67;break;case 40:r=(P+304|0)+(h[(n+28|0)>>2]<<2)|0;k=(n|0)==(h[r>>2]|0)?41:44;break;case 41:k=q;h[r>>2]=k;k=(k|0)==0?42:43;break;case 42:h[(P+4|0)>>2]&=1<>2]^-1;k=43;break;case 43:k=51;break;case 44:k=((l>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?45:49;break;case 45:k=(h[(l+16|0)>>2]|0)==(n|0)?46:47;break;case 46:h[(l+16|0)>>2]=q;k=48;break;case 47:h[((l+ 16|0)+4|0)>>2]=q;k=48;break;case 48:k=50;break;case 49:throw V(),"Reached an unreachable!";case 50:k=51;break;case 51:k=(q|0)!=0?52:66;break;case 52:k=((q>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?53:64;break;case 53:h[(q+24|0)>>2]=l;s=k=h[(n+16|0)>>2];k=(k|0)!=0?54:58;break;case 54:k=((s>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?55:56;break;case 55:h[(q+16|0)>>2]=s;h[(s+24|0)>>2]=q;k=57;break;case 56:throw V(),"Reached an unreachable!";case 57:k=58;break;case 58:v=k=h[((n+16|0)+4|0)>>2];k=(k|0)!=0?59:63;break; case 59:k=((v>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?60:61;break;case 60:h[((q+16|0)+4|0)>>2]=v;h[(v+24|0)>>2]=q;k=62;break;case 61:throw V(),"Reached an unreachable!";case 62:k=63;break;case 63:k=65;break;case 64:throw V(),"Reached an unreachable!";case 65:k=66;break;case 66:k=67;break;case 67:k=68;break;case 68:k=72;break;case 69:k=(h[(d+4|0)>>2]&3|0)==3?70:71;break;case 70:h[(P+8|0)>>2]=b;h[(d+4|0)>>2]&=-2;h[(c+4|0)>>2]=b|1;h[(c+b|0)>>2]=b;k=194;break;case 71:k=72;break;case 72:k=74;break;case 73:k= 193;break;case 74:k=75;break;case 75:k=76;break;case 76:if(c>>>0>>0)k=77;else{var aa=0;k=78}break;case 77:aa=(h[(d+4|0)>>2]&1|0)!=0;k=78;break;case 78:k=((aa&1)==1|0)!=0?79:191;break;case 79:k=(h[(d+4|0)>>2]&2|0)!=0?152:80;break;case 80:k=(d|0)==(h[(P+24|0)>>2]|0)?81:86;break;case 81:t=h[(P+12|0)>>2]+b|0;h[(P+12|0)>>2]=t;h[(P+24|0)>>2]=c;h[(c+4|0)>>2]=t|1;k=(c|0)==(h[(P+20|0)>>2]|0)?82:83;break;case 82:h[(P+20|0)>>2]=0;h[(P+8|0)>>2]=0;k=83;break;case 83:k=t>>>0>S[(P+28|0)>>2]>>>0?84:85;break;case 84:Hi(P, 0);k=85;break;case 85:k=194;break;case 86:k=(d|0)==(h[(P+20|0)>>2]|0)?87:88;break;case 87:k=h[(P+8|0)>>2]+b|0;h[(P+8|0)>>2]=k;h[(P+20|0)>>2]=c;h[(c+4|0)>>2]=k|1;h[(c+k|0)>>2]=k;k=194;break;case 88:u=h[(d+4|0)>>2]&-8;b=b+u|0;k=u>>>3>>>0<32?89:101;break;case 89:w=h[(d+8|0)>>2];y=h[(d+12|0)>>2];A=u>>>3;k=(w|0)==(y|0)?90:91;break;case 90:h[(P|0)>>2]&=1<>>0>=S[(P+16|0)>>2]>>>0)k=93;else{var da=0;k=96}break;case 93:if((y| 0)==((P+40|0)+(A<<1<<2)|0)){var ha=1;k=95}else k=94;break;case 94:ha=y>>>0>=S[(P+16|0)>>2]>>>0;k=95;break;case 95:da=ha;k=96;break;case 96:k=((da&1)==1|0)!=0?97:98;break;case 97:h[(w+12|0)>>2]=y;h[(y+8|0)>>2]=w;k=99;break;case 98:throw V(),"Reached an unreachable!";case 99:k=100;break;case 100:k=147;break;case 101:C=d;z=h[(C+24|0)>>2];k=(h[(C+12|0)>>2]|0)!=(C|0)?102:106;break;case 102:B=h[(C+8|0)>>2];D=h[(C+12|0)>>2];k=((B>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?103:104;break;case 103:h[(B+12|0)>>2]= D;h[(D+8|0)>>2]=B;k=105;break;case 104:throw V(),"Reached an unreachable!";case 105:k=118;break;case 106:F=D=(C+16|0)+4|0;D=k=h[D>>2];k=(k|0)!=0?108:107;break;case 107:F=D=C+16|0;D=k=h[D>>2];k=(k|0)!=0?108:117;break;case 108:k=109;break;case 109:I=k=(D+16|0)+4|0;if((h[k>>2]|0)!=0){var la=1;k=111}else k=110;break;case 110:I=la=D+16|0;la=(h[la>>2]|0)!=0;k=111;break;case 111:k=la?112:113;break;case 112:F=D=I;D=h[D>>2];k=109;break;case 113:k=((F>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?114:115;break;case 114:h[F>> 2]=0;k=116;break;case 115:throw V(),"Reached an unreachable!";case 116:k=117;break;case 117:k=118;break;case 118:k=(z|0)!=0?119:146;break;case 119:K=(P+304|0)+(h[(C+28|0)>>2]<<2)|0;k=(C|0)==(h[K>>2]|0)?120:123;break;case 120:k=D;h[K>>2]=k;k=(k|0)==0?121:122;break;case 121:h[(P+4|0)>>2]&=1<>2]^-1;k=122;break;case 122:k=130;break;case 123:k=((z>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?124:128;break;case 124:k=(h[(z+16|0)>>2]|0)==(C|0)?125:126;break;case 125:h[(z+16|0)>>2]=D;k=127;break;case 126:h[((z+ 16|0)+4|0)>>2]=D;k=127;break;case 127:k=129;break;case 128:throw V(),"Reached an unreachable!";case 129:k=130;break;case 130:k=(D|0)!=0?131:145;break;case 131:k=((D>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?132:143;break;case 132:h[(D+24|0)>>2]=z;J=k=h[(C+16|0)>>2];k=(k|0)!=0?133:137;break;case 133:k=((J>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?134:135;break;case 134:h[(D+16|0)>>2]=J;h[(J+24|0)>>2]=D;k=136;break;case 135:throw V(),"Reached an unreachable!";case 136:k=137;break;case 137:G=k=h[((C+16|0)+4|0)>> 2];k=(k|0)!=0?138:142;break;case 138:k=((G>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?139:140;break;case 139:h[((D+16|0)+4|0)>>2]=G;h[(G+24|0)>>2]=D;k=141;break;case 140:throw V(),"Reached an unreachable!";case 141:k=142;break;case 142:k=144;break;case 143:throw V(),"Reached an unreachable!";case 144:k=145;break;case 145:k=146;break;case 146:k=147;break;case 147:h[(c+4|0)>>2]=b|1;h[(c+b|0)>>2]=b;k=(c|0)==(h[(P+20|0)>>2]|0)?148:149;break;case 148:h[(P+8|0)>>2]=b;k=194;break;case 149:k=150;break;case 150:k= 151;break;case 151:k=153;break;case 152:h[(d+4|0)>>2]&=-2;h[(c+4|0)>>2]=b|1;h[(c+b|0)>>2]=b;k=153;break;case 153:k=b>>>3>>>0<32?154:161;break;case 154:H=b>>>3;N=L=(P+40|0)+(H<<1<<2)|0;k=(h[(P|0)>>2]&1<>2]|=1<>2]>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?157:158;break;case 157:N=h[(L+8|0)>>2];k=159;break;case 158:throw V(),"Reached an unreachable!";case 159:k=160;break;case 160:h[(L+8|0)>>2]=c;h[(N+12|0)>>2]=c;h[(c+8|0)>>2]=N; h[(c+12|0)>>2]=L;k=190;break;case 161:M=c;W=b>>>8;k=(W|0)==0?162:163;break;case 162:Z=0;k=167;break;case 163:k=W>>>0>65535?164:165;break;case 164:Z=31;k=166;break;case 165:Z=W;k=(Z-256|0)>>>16&8;Z=Q=Z<>>16&4;k=k+Q|0;Z=Q=Z<>>16&2;Q=ia;k=k+ia|0;Q=(14-k|0)+(Z<>>15)|0;Z=(Q<<1)+(b>>>((Q+7|0)>>>0)&1)|0;k=166;break;case 166:k=167;break;case 167:O=(P+304|0)+(Z<<2)|0;h[(M+28|0)>>2]=Z;h[((M+16|0)+4|0)>>2]=0;h[(M+16|0)>>2]=0;k=(h[(P+4|0)>>2]&1<>2]|=1<>2]=M;h[(M+24|0)>>2]=O;k=M;h[(M+12|0)>>2]=k;h[(M+8|0)>>2]=k;k=187;break;case 169:T=h[O>>2];var ma=b;k=(Z|0)==31?170:171;break;case 170:var na=0;k=172;break;case 171:na=31-(((Z>>>1)+8|0)-2|0)|0;k=172;break;case 172:X=ma<>2]&-8|0)!=(b|0)?174:180;break;case 174:$=(T+16|0)+((X>>>31&1)<<2)|0;X<<=1;k=(h[$>>2]|0)!=0?175:176;break;case 175:T=h[$>>2];k=179;break;case 176:k=(($>>>0>=S[(P+16|0)>>2]>>>0&1)==1|0)!=0?177:178;break;case 177:h[$>> 2]=M;h[(M+24|0)>>2]=T;k=M;h[(M+12|0)>>2]=k;h[(M+8|0)>>2]=k;k=186;break;case 178:throw V(),"Reached an unreachable!";case 179:k=185;break;case 180:Y=h[(T+8|0)>>2];if(T>>>0>=S[(P+16|0)>>2]>>>0)k=181;else{var oa=0;k=182}break;case 181:oa=Y>>>0>=S[(P+16|0)>>2]>>>0;k=182;break;case 182:k=((oa&1)==1|0)!=0?183:184;break;case 183:k=M;h[(Y+12|0)>>2]=k;h[(T+8|0)>>2]=k;h[(M+8|0)>>2]=Y;h[(M+12|0)>>2]=T;h[(M+24|0)>>2]=0;k=186;break;case 184:throw V(),"Reached an unreachable!";case 185:k=173;break;case 186:k=187; break;case 187:k=h[(P+32|0)>>2]-1|0;h[(P+32|0)>>2]=k;k=(k|0)==0?188:189;break;case 188:Ii(P);k=189;break;case 189:k=190;break;case 190:k=194;break;case 191:k=192;break;case 192:k=193;break;case 193:throw V(),"Reached an unreachable!";case 194:k=195;break;case 195:return;default:x(0,"bad label: "+k)}}function Hi(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g,f,j,n;c=a;b=k;d=0;e=(h[(qa|0)>>2]|0)!=0?2:1;break;case 1:Di();e=2;break;case 2:e=b>>>0<4294967232?3:24;break;case 3:e=(h[(c+24|0)>>2]|0)!= 0?4:24;break;case 4:b=b+40|0;e=S[(c+12|0)>>2]>>>0>b>>>0?5:20;break;case 5:i=h[(qa+8|0)>>2];g=(Math.floor((((h[(c+12|0)>>2]-b|0)+(i-1|0)|0)>>>0)/(i>>>0))-1|0)*i|0;f=pe(c,h[(c+24|0)>>2]);e=(h[(f+12|0)>>2]&8|0)!=0?17:6;break;case 6:e=(h[(f+12|0)>>2]&0|0)!=0?7:8;break;case 7:e=16;break;case 8:e=g>>>0>=2147483647?9:10;break;case 9:g=-2147483648-i|0;e=10;break;case 10:j=La(0);e=(j|0)==(h[(f|0)>>2]+h[(f+4|0)>>2]|0)?11:15;break;case 11:e=La(-g|0);n=La(0);e=(e|0)!=-1?12:14;break;case 12:e=n>>>0>>0?13:14; break;case 13:d=j-n|0;e=14;break;case 14:e=15;break;case 15:e=16;break;case 16:e=17;break;case 17:e=(d|0)!=0?18:19;break;case 18:e=f+4|0;h[e>>2]=h[e>>2]-d|0;e=c+432|0;h[e>>2]=h[e>>2]-d|0;Ab(c,h[(c+24|0)>>2],h[(c+12|0)>>2]-d|0);e=19;break;case 19:e=20;break;case 20:e=(d|0)==0?21:23;break;case 21:e=S[(c+12|0)>>2]>>>0>S[(c+28|0)>>2]>>>0?22:23;break;case 22:h[(c+28|0)>>2]=-1;e=23;break;case 23:e=24;break;case 24:return(d|0)!=0?1:0;default:x(0,"bad label: "+e)}}function Ii(a){var k;for(k=0;;)switch(k){case 0:var e, c,b,d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A,C,z,D,B;e=a;b=c=0;d=h[((e+444|0)+8|0)>>2];k=1;break;case 1:k=(d|0)!=0?2:86;break;case 2:i=h[(d|0)>>2];g=h[(d+4|0)>>2];f=h[(d+8|0)>>2];b=b+1|0;k=(h[(d+12|0)>>2]&0|0)!=0?3:85;break;case 3:k=(h[(d+12|0)>>2]&8|0)!=0?85:4;break;case 4:var F=i;k=((i+8|0)&7|0)==0?5:6;break;case 5:var I=0;k=7;break;case 6:I=(8-((i+8|0)&7)|0)&7;k=7;break;case 7:j=F+I|0;n=h[(j+4|0)>>2]&-8;k=(h[(j+4|0)>>2]&3|0)!=1?84:8;break;case 8:k=(j+n|0)>>>0>=((i+g|0)-40|0)>>>0?9:84;break;case 9:l= j;k=(j|0)==(h[(e+20|0)>>2]|0)?10:11;break;case 10:h[(e+20|0)>>2]=0;h[(e+8|0)>>2]=0;k=57;break;case 11:q=h[(l+24|0)>>2];k=(h[(l+12|0)>>2]|0)!=(l|0)?12:16;break;case 12:p=h[(l+8|0)>>2];m=h[(l+12|0)>>2];k=((p>>>0>=S[(e+16|0)>>2]>>>0&1)==1|0)!=0?13:14;break;case 13:h[(p+12|0)>>2]=m;h[(m+8|0)>>2]=p;k=15;break;case 14:throw V(),"Reached an unreachable!";case 15:k=28;break;case 16:o=m=(l+16|0)+4|0;m=k=h[m>>2];k=(k|0)!=0?18:17;break;case 17:o=m=l+16|0;m=k=h[m>>2];k=(k|0)!=0?18:27;break;case 18:k=19;break; case 19:r=k=(m+16|0)+4|0;if((h[k>>2]|0)!=0){var K=1;k=21}else k=20;break;case 20:r=K=m+16|0;K=(h[K>>2]|0)!=0;k=21;break;case 21:k=K?22:23;break;case 22:o=m=r;m=h[m>>2];k=19;break;case 23:k=((o>>>0>=S[(e+16|0)>>2]>>>0&1)==1|0)!=0?24:25;break;case 24:h[o>>2]=0;k=26;break;case 25:throw V(),"Reached an unreachable!";case 26:k=27;break;case 27:k=28;break;case 28:k=(q|0)!=0?29:56;break;case 29:s=(e+304|0)+(h[(l+28|0)>>2]<<2)|0;k=(l|0)==(h[s>>2]|0)?30:33;break;case 30:k=m;h[s>>2]=k;k=(k|0)==0?31:32;break; case 31:h[(e+4|0)>>2]&=1<>2]^-1;k=32;break;case 32:k=40;break;case 33:k=((q>>>0>=S[(e+16|0)>>2]>>>0&1)==1|0)!=0?34:38;break;case 34:k=(h[(q+16|0)>>2]|0)==(l|0)?35:36;break;case 35:h[(q+16|0)>>2]=m;k=37;break;case 36:h[((q+16|0)+4|0)>>2]=m;k=37;break;case 37:k=39;break;case 38:throw V(),"Reached an unreachable!";case 39:k=40;break;case 40:k=(m|0)!=0?41:55;break;case 41:k=((m>>>0>=S[(e+16|0)>>2]>>>0&1)==1|0)!=0?42:53;break;case 42:h[(m+24|0)>>2]=q;v=k=h[(l+16|0)>>2];k=(k|0)!=0?43:47;break; case 43:k=((v>>>0>=S[(e+16|0)>>2]>>>0&1)==1|0)!=0?44:45;break;case 44:h[(m+16|0)>>2]=v;h[(v+24|0)>>2]=m;k=46;break;case 45:throw V(),"Reached an unreachable!";case 46:k=47;break;case 47:t=k=h[((l+16|0)+4|0)>>2];k=(k|0)!=0?48:52;break;case 48:k=((t>>>0>=S[(e+16|0)>>2]>>>0&1)==1|0)!=0?49:50;break;case 49:h[((m+16|0)+4|0)>>2]=t;h[(t+24|0)>>2]=m;k=51;break;case 50:throw V(),"Reached an unreachable!";case 51:k=52;break;case 52:k=54;break;case 53:throw V(),"Reached an unreachable!";case 54:k=55;break;case 55:k= 56;break;case 56:k=57;break;case 57:y=n>>>8;k=(y|0)==0?58:59;break;case 58:w=0;k=63;break;case 59:k=y>>>0>65535?60:61;break;case 60:w=31;k=62;break;case 61:w=y;k=(w-256|0)>>>16&8;w=A=w<>>16&4;k=k+A|0;w=A=w<>>16&2;A=J;k=k+J|0;A=(14-k|0)+(w<>>15)|0;w=(A<<1)+(n>>>((A+7|0)>>>0)&1)|0;k=62;break;case 62:k=63;break;case 63:u=(e+304|0)+(w<<2)|0;h[(l+28|0)>>2]=w;h[((l+16|0)+4|0)>>2]=0;h[(l+16|0)>>2]=0;k=(h[(e+4|0)>>2]&1<>2]|=1<< w;h[u>>2]=l;h[(l+24|0)>>2]=u;k=l;h[(l+12|0)>>2]=k;h[(l+8|0)>>2]=k;k=83;break;case 65:C=h[u>>2];var G=n;k=(w|0)==31?66:67;break;case 66:var H=0;k=68;break;case 67:H=31-(((w>>>1)+8|0)-2|0)|0;k=68;break;case 68:z=G<>2]&-8|0)!=(n|0)?70:76;break;case 70:D=(C+16|0)+((z>>>31&1)<<2)|0;z<<=1;k=(h[D>>2]|0)!=0?71:72;break;case 71:C=h[D>>2];k=75;break;case 72:k=((D>>>0>=S[(e+16|0)>>2]>>>0&1)==1|0)!=0?73:74;break;case 73:h[D>>2]=l;h[(l+24|0)>>2]=C;k=l;h[(l+12|0)>>2]=k;h[(l+8| 0)>>2]=k;k=82;break;case 74:throw V(),"Reached an unreachable!";case 75:k=81;break;case 76:B=h[(C+8|0)>>2];if(C>>>0>=S[(e+16|0)>>2]>>>0)k=77;else{var L=0;k=78}break;case 77:L=B>>>0>=S[(e+16|0)>>2]>>>0;k=78;break;case 78:k=((L&1)==1|0)!=0?79:80;break;case 79:k=l;h[(B+12|0)>>2]=k;h[(C+8|0)>>2]=k;h[(l+8|0)>>2]=B;h[(l+12|0)>>2]=C;h[(l+24|0)>>2]=0;k=82;break;case 80:throw V(),"Reached an unreachable!";case 81:k=69;break;case 82:k=83;break;case 83:k=84;break;case 84:k=85;break;case 85:d=f;k=1;break;case 86:k= b>>>0>4294967295?87:88;break;case 87:var M=b;k=89;break;case 88:M=-1;k=89;break;case 89:return h[(e+32|0)>>2]=M,c;default:x(0,"bad label: "+k)}}function Di(){var a;for(a=0;;)switch(a){case 0:var k,e;a=(h[(qa|0)>>2]|0)==0?1:5;break;case 1:e=k=jj(8);a=(e&(e-1|0)|0)!=0?3:2;break;case 2:a=(k&(k-1|0)|0)!=0?3:4;break;case 3:throw V(),"Reached an unreachable!";case 4:h[(qa+8|0)>>2]=e;h[(qa+4|0)>>2]=k;h[(qa+12|0)>>2]=-1;h[(qa+16|0)>>2]=2097152;h[(qa+20|0)>>2]=0;h[(P+440|0)>>2]=h[(qa+20|0)>>2];a=Math.floor(Date.now()/ 1E3)^1431655765;a|=8;a&=-8;h[(qa|0)>>2]=a;a=5;break;case 5:return 1;default:x(0,"bad label: "+a)}}function pe(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d;b=a;d=k;b=b+444|0;e=1;break;case 1:e=d>>>0>=S[(b|0)>>2]>>>0?2:4;break;case 2:e=d>>>0<(h[(b|0)>>2]+h[(b+4|0)>>2]|0)>>>0?3:4;break;case 3:c=b;e=7;break;case 4:b=e=h[(b+8|0)>>2];e=(e|0)==0?5:6;break;case 5:c=0;e=7;break;case 6:e=1;break;case 7:return c;default:x(0,"bad label: "+e)}}function Ab(a,k,e){var c;for(c=0;;)switch(c){case 0:var b,d,i;b= a;d=k;i=e;c=((d+8|0)&7|0)==0?1:2;break;case 1:var g=0;c=3;break;case 2:g=(8-((d+8|0)&7)|0)&7;c=3;break;case 3:a=g;d=d+a|0;i=i-a|0;h[(b+24|0)>>2]=d;h[(b+12|0)>>2]=i;h[(d+4|0)>>2]=i|1;h[((d+i|0)+4|0)>>2]=40;h[(b+28|0)>>2]=h[(qa+16|0)>>2];return;default:x(0,"bad label: "+c)}}function Ei(a,k){var e;for(e=0;;)switch(e){case 0:var c,b,d,i,g,f;b=a;e=k;d=(((e+24|0)+7|0)+(h[(qa+4|0)>>2]-1|0)|0)&((h[(qa+4|0)>>2]-1|0)^-1);e=d>>>0>e>>>0?1:12;break;case 1:i=-1;e=(i|0)!=-1?2:11;break;case 2:e=((i+8|0)&7|0)==0? 3:4;break;case 3:var j=0;e=5;break;case 4:j=(8-((i+8|0)&7)|0)&7;e=5;break;case 5:e=j;g=(d-e|0)-16|0;f=i+e|0;h[(f|0)>>2]=e;h[(f+4|0)>>2]=g;h[((f+g|0)+4|0)>>2]=7;h[((f+(g+4|0)|0)+4|0)>>2]=0;e=(h[(b+16|0)>>2]|0)==0?7:6;break;case 6:e=i>>>0>2]>>>0?7:8;break;case 7:h[(b+16|0)>>2]=i;e=8;break;case 8:e=b+432|0;g=h[e>>2]+d|0;h[e>>2]=g;e=g>>>0>S[(b+436|0)>>2]>>>0?9:10;break;case 9:h[(b+436|0)>>2]=h[(b+432|0)>>2];e=10;break;case 10:c=f+8|0;e=13;break;case 11:e=12;break;case 12:c=0;e=13;break;case 13:return c; default:x(0,"bad label: "+e)}}function Fi(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A,C,z,B,E,F,I,K,J,G,H,L,M,N,O;d=a;i=k;g=e;f=c;var P=i;b=((i+8|0)&7|0)==0?1:2;break;case 1:var W=0;b=3;break;case 2:W=(8-((i+8|0)&7)|0)&7;b=3;break;case 3:j=P+W|0;var Q=g;b=((g+8|0)&7|0)==0?4:5;break;case 4:var T=0;b=6;break;case 5:T=(8-((g+8|0)&7)|0)&7;b=6;break;case 6:n=Q+T|0;l=n-j|0;q=j+f|0;l=l-f|0;h[(j+4|0)>>2]=f|3;b=(n|0)==(h[(d+24|0)>>2]|0)?7:8;break;case 7:b=d+12|0;H=h[b>> 2]+l|0;b=h[b>>2]=H;h[(d+24|0)>>2]=q;h[(q+4|0)>>2]=b|1;b=108;break;case 8:b=(n|0)==(h[(d+20|0)>>2]|0)?9:10;break;case 9:b=d+8|0;H=h[b>>2]+l|0;b=h[b>>2]=H;h[(d+20|0)>>2]=q;h[(q+4|0)>>2]=b|1;h[(q+b|0)>>2]=b;b=107;break;case 10:b=(h[(n+4|0)>>2]&3|0)!=1?71:11;break;case 11:m=h[(n+4|0)>>2]&-8;b=m>>>3>>>0<32?12:24;break;case 12:p=h[(n+8|0)>>2];o=h[(n+12|0)>>2];r=m>>>3;b=(p|0)==(o|0)?13:14;break;case 13:h[(d|0)>>2]&=1<>>0>= S[(d+16|0)>>2]>>>0)b=16;else{var X=0;b=19}break;case 16:if((o|0)==((d+40|0)+(r<<1<<2)|0)){var $=1;b=18}else b=17;break;case 17:$=o>>>0>=S[(d+16|0)>>2]>>>0;b=18;break;case 18:X=$;b=19;break;case 19:b=((X&1)==1|0)!=0?20:21;break;case 20:h[(p+12|0)>>2]=o;h[(o+8|0)>>2]=p;b=22;break;case 21:throw V(),"Reached an unreachable!";case 22:b=23;break;case 23:b=70;break;case 24:s=n;v=h[(s+24|0)>>2];b=(h[(s+12|0)>>2]|0)!=(s|0)?25:29;break;case 25:u=h[(s+8|0)>>2];t=h[(s+12|0)>>2];b=((u>>>0>=S[(d+16|0)>>2]>>>0& 1)==1|0)!=0?26:27;break;case 26:h[(u+12|0)>>2]=t;h[(t+8|0)>>2]=u;b=28;break;case 27:throw V(),"Reached an unreachable!";case 28:b=41;break;case 29:w=t=(s+16|0)+4|0;t=b=h[t>>2];b=(b|0)!=0?31:30;break;case 30:w=t=s+16|0;t=b=h[t>>2];b=(b|0)!=0?31:40;break;case 31:b=32;break;case 32:y=b=(t+16|0)+4|0;if((h[b>>2]|0)!=0){var Y=1;b=34}else b=33;break;case 33:y=Y=t+16|0;Y=(h[Y>>2]|0)!=0;b=34;break;case 34:b=Y?35:36;break;case 35:w=t=y;t=h[t>>2];b=32;break;case 36:b=((w>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0? 37:38;break;case 37:h[w>>2]=0;b=39;break;case 38:throw V(),"Reached an unreachable!";case 39:b=40;break;case 40:b=41;break;case 41:b=(v|0)!=0?42:69;break;case 42:A=(d+304|0)+(h[(s+28|0)>>2]<<2)|0;b=(s|0)==(h[A>>2]|0)?43:46;break;case 43:b=t;h[A>>2]=b;b=(b|0)==0?44:45;break;case 44:h[(d+4|0)>>2]&=1<>2]^-1;b=45;break;case 45:b=53;break;case 46:b=((v>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0?47:51;break;case 47:b=(h[(v+16|0)>>2]|0)==(s|0)?48:49;break;case 48:h[(v+16|0)>>2]=t;b=50;break;case 49:h[((v+ 16|0)+4|0)>>2]=t;b=50;break;case 50:b=52;break;case 51:throw V(),"Reached an unreachable!";case 52:b=53;break;case 53:b=(t|0)!=0?54:68;break;case 54:b=((t>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0?55:66;break;case 55:h[(t+24|0)>>2]=v;C=b=h[(s+16|0)>>2];b=(b|0)!=0?56:60;break;case 56:b=((C>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0?57:58;break;case 57:h[(t+16|0)>>2]=C;h[(C+24|0)>>2]=t;b=59;break;case 58:throw V(),"Reached an unreachable!";case 59:b=60;break;case 60:z=b=h[((s+16|0)+4|0)>>2];b=(b|0)!=0?61:65;break; case 61:b=((z>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0?62:63;break;case 62:h[((t+16|0)+4|0)>>2]=z;h[(z+24|0)>>2]=t;b=64;break;case 63:throw V(),"Reached an unreachable!";case 64:b=65;break;case 65:b=67;break;case 66:throw V(),"Reached an unreachable!";case 67:b=68;break;case 68:b=69;break;case 69:b=70;break;case 70:n=n+m|0;l=l+m|0;b=71;break;case 71:h[(n+4|0)>>2]&=-2;h[(q+4|0)>>2]=l|1;h[(q+l|0)>>2]=l;b=l>>>3>>>0<32?72:79;break;case 72:B=l>>>3;F=E=(d+40|0)+(B<<1<<2)|0;b=(h[(d|0)>>2]&1<>2]|=1<>2]>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0?75:76;break;case 75:F=h[(E+8|0)>>2];b=77;break;case 76:throw V(),"Reached an unreachable!";case 77:b=78;break;case 78:h[(E+8|0)>>2]=q;h[(F+12|0)>>2]=q;h[(q+8|0)>>2]=F;h[(q+12|0)>>2]=E;b=106;break;case 79:I=q;G=l>>>8;b=(G|0)==0?80:81;break;case 80:J=0;b=85;break;case 81:b=G>>>0>65535?82:83;break;case 82:J=31;b=84;break;case 83:J=G;b=(J-256|0)>>>16&8;J=H=J<>>16&4;b=b+H|0;J=H=J<>>16&2;H=ba;b=b+ba|0;H=(14-b|0)+(J<>>15)|0;J=(H<<1)+(l>>>((H+7|0)>>>0)&1)|0;b=84;break;case 84:b=85;break;case 85:K=(d+304|0)+(J<<2)|0;h[(I+28|0)>>2]=J;h[((I+16|0)+4|0)>>2]=0;h[(I+16|0)>>2]=0;b=(h[(d+4|0)>>2]&1<>2]|=1<>2]=I;h[(I+24|0)>>2]=K;b=I;h[(I+12|0)>>2]=b;h[(I+8|0)>>2]=b;b=105;break;case 87:L=h[K>>2];var ea=l;b=(J|0)==31?88:89;break;case 88:var ca=0;b=90;break;case 89:ca=31-(((J>>>1)+8|0)-2|0)|0;b=90;break;case 90:M=ea<>2]&-8|0)!=(l|0)?92:98;break;case 92:N=(L+16|0)+((M>>>31&1)<<2)|0;M<<=1;b=(h[N>>2]|0)!=0?93:94;break;case 93:L=h[N>>2];b=97;break;case 94:b=((N>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0?95:96;break;case 95:h[N>>2]=I;h[(I+24|0)>>2]=L;b=I;h[(I+12|0)>>2]=b;h[(I+8|0)>>2]=b;b=104;break;case 96:throw V(),"Reached an unreachable!";case 97:b=103;break;case 98:O=h[(L+8|0)>>2];if(L>>>0>=S[(d+16|0)>>2]>>>0)b=99;else{var ga=0;b=100}break;case 99:ga=O>>>0>=S[(d+16|0)>>2]>>>0;b=100;break;case 100:b= ((ga&1)==1|0)!=0?101:102;break;case 101:b=I;h[(O+12|0)>>2]=b;h[(L+8|0)>>2]=b;h[(I+8|0)>>2]=O;h[(I+12|0)>>2]=L;h[(I+24|0)>>2]=0;b=104;break;case 102:throw V(),"Reached an unreachable!";case 103:b=91;break;case 104:b=105;break;case 105:b=106;break;case 106:b=107;break;case 107:b=108;break;case 108:return j+8|0;default:x(0,"bad label: "+b)}}function Ji(a){var k=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=a;h[h[k>>2]>>2]=kj+8|0;h[a>>2]=qe+8|0;B=k}function Ki(a){var h;for(h= 0;;)switch(h){case 0:var e;e=a;h=(e|0)!=0?1:2;break;case 1:wa(e);h=2;break;case 2:return;default:x(0,"bad label: "+h)}}function Qc(a){lj(a)}function Gi(a,k,e,c){var b;for(b=0;;)switch(b){case 0:var d,i,g,f,j,n,l,q,m,p,o,r,s,v,t,u,w,y,A,B,z,D,E,F,I,H;d=a;i=k;g=e;f=c;j=h[(d+24|0)>>2];n=pe(d,j);n=h[(n|0)>>2]+h[(n+4|0)>>2]|0;l=24;q=n+(-((l+16|0)+7|0)|0)|0;b=((q+8|0)&7|0)==0?1:2;break;case 1:var J=0;b=3;break;case 2:J=(8-((q+8|0)&7)|0)&7;b=3;break;case 3:m=J;m=q+m|0;b=m>>>0<(j+16|0)>>>0?4:5;break;case 4:var G= j;b=6;break;case 5:G=m;b=6;break;case 6:o=p=G;b=o+8|0;r=o+l|0;Ab(d,i,g-40|0);h[(o+4|0)>>2]=l|3;o=b;var L=d+444|0;x(true,"memcpy given 16 bytes to copy. Problem with quantum=1 corrections perhaps?");h[o>>2]=h[L>>2];h[o+4>>2]=h[L+4>>2];h[o+8>>2]=h[L+8>>2];h[o+12>>2]=h[L+12>>2];h[(d+444|0)>>2]=i;h[((d+444|0)+4|0)>>2]=g;h[((d+444|0)+12|0)>>2]=f;h[((d+444|0)+8|0)>>2]=b;b=7;break;case 7:s=r+4|0;h[(r+4|0)>>2]=7;b=(s+4|0)>>>0>>0?8:9;break;case 8:r=s;b=10;break;case 9:b=11;break;case 10:b=7;break;case 11:b= (p|0)!=(j|0)?12:48;break;case 12:v=j;t=p-j|0;b=v+t|0;h[(b+4|0)>>2]&=-2;h[(v+4|0)>>2]=t|1;h[(v+t|0)>>2]=t;b=t>>>3>>>0<32?13:20;break;case 13:u=t>>>3;y=w=(d+40|0)+(u<<1<<2)|0;b=(h[(d|0)>>2]&1<>2]|=1<>2]>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0?16:17;break;case 16:y=h[(w+8|0)>>2];b=18;break;case 17:throw V(),"Reached an unreachable!";case 18:b=19;break;case 19:h[(w+8|0)>>2]=v;h[(y+12|0)>>2]=v;h[(v+8|0)>>2]=y;h[(v+12|0)>>2]=w;b=47;break; case 20:A=v;D=t>>>8;b=(D|0)==0?21:22;break;case 21:z=0;b=26;break;case 22:b=D>>>0>65535?23:24;break;case 23:z=31;b=25;break;case 24:z=D;b=(z-256|0)>>>16&8;z=o=z<>>16&4;b=b+o|0;z=o=z<>>16&2;b=b+L|0;o=(14-b|0)+(z<>>15)|0;z=(o<<1)+(t>>>((o+7|0)>>>0)&1)|0;b=25;break;case 25:b=26;break;case 26:B=(d+304|0)+(z<<2)|0;h[(A+28|0)>>2]=z;h[((A+16|0)+4|0)>>2]=0;h[(A+16|0)>>2]=0;b=(h[(d+4|0)>>2]&1<>2]|=1<>2]=A;h[(A+24|0)>>2]=B; b=A;h[(A+12|0)>>2]=b;h[(A+8|0)>>2]=b;b=46;break;case 28:E=h[B>>2];var M=t;b=(z|0)==31?29:30;break;case 29:var N=0;b=31;break;case 30:N=31-(((z>>>1)+8|0)-2|0)|0;b=31;break;case 31:F=M<>2]&-8|0)!=(t|0)?33:39;break;case 33:I=(E+16|0)+((F>>>31&1)<<2)|0;F<<=1;b=(h[I>>2]|0)!=0?34:35;break;case 34:E=h[I>>2];b=38;break;case 35:b=((I>>>0>=S[(d+16|0)>>2]>>>0&1)==1|0)!=0?36:37;break;case 36:h[I>>2]=A;h[(A+24|0)>>2]=E;b=A;h[(A+12|0)>>2]=b;h[(A+8|0)>>2]=b;b=45;break;case 37:throw V(), "Reached an unreachable!";case 38:b=44;break;case 39:H=h[(E+8|0)>>2];if(E>>>0>=S[(d+16|0)>>2]>>>0)b=40;else{var O=0;b=41}break;case 40:O=H>>>0>=S[(d+16|0)>>2]>>>0;b=41;break;case 41:b=((O&1)==1|0)!=0?42:43;break;case 42:b=A;h[(H+12|0)>>2]=b;h[(E+8|0)>>2]=b;h[(A+8|0)>>2]=H;h[(A+12|0)>>2]=E;h[(A+24|0)>>2]=0;b=45;break;case 43:throw V(),"Reached an unreachable!";case 44:b=32;break;case 45:b=46;break;case 46:b=47;break;case 47:b=48;break;case 48:return;default:x(0,"bad label: "+b)}}function ta(a,k,e){if(e>= 20){for(e=a+e;a%4;)N[a++]=k;k<0&&(k+=256);a>>=2;for(var c=e>>2,b=k|k<<8|k<<16|k<<24;a=20&&k%2==B%2)if(k%4==B%4){for(e=k+e;k%4;)N[B++]=N[k++];k>>=2;B>>=2;for(var c=e>>2;k>=1;B>>=1;for(c=e>>1;k>2]=a}function jj(a){switch(a){case 8:return lb;case 54:case 56:case 21:case 61:case 63:case 22:case 67:case 23:case 24:case 25:case 26:case 27:case 69:case 28:case 101:case 70:case 71:case 29:case 30:case 199:case 75:case 76:case 32:case 43:case 44:case 80:case 46:case 47:case 45:case 48:case 49:case 42:case 82:case 33:case 7:case 108:case 109:case 107:case 112:case 119:case 121:return 200809; case 13:case 104:case 94:case 95:case 34:case 35:case 77:case 81:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 91:case 94:case 95:case 110:case 111:case 113:case 114:case 115:case 116:case 117:case 118:case 120:case 40:case 16:case 79:case 19:return-1;case 92:case 93:case 5:case 72:case 6:case 74:case 92:case 93:case 96:case 97:case 98:case 99:case 102:case 103:case 105:return 1;case 38:case 66:case 50:case 51:case 4:return 1024;case 15:case 64:case 41:return 32;case 55:case 37:case 17:return 2147483647; case 18:case 1:return 47839;case 59:case 57:return 99;case 68:case 58:return 2048;case 0:return 2097152;case 3:return 65536;case 14:return 32768;case 73:return 32767;case 39:return 16384;case 60:return 1E3;case 106:return 700;case 52:return 256;case 62:return 255;case 2:return 100;case 65:return 64;case 36:return 20;case 100:return 16;case 20:return 6;case 53:return 4}Ea(ma);return-1}function La(a){var h=La;if(!h.called)Ba=Math.ceil(Ba/lb)*lb,h.called=true;h=Ba;a!=0&&sa.staticAlloc(a);return h}function Li(){return h[Li.buf>> 2]}function Mi(a){a=a||Module.arguments;Wa(Ni);var h=null;Module._main&&(h=Module.callMain(a),Wa(Oi),mj.print());return h}var Rc=[],Pi=typeof process==="object",Qi=typeof window==="object",Ri=typeof importScripts==="function",nj=!Qi&&!Pi&&!Ri;if(Pi){print=function(a){process.stdout.write(a+"\n")};printErr=function(a){process.stderr.write(a+"\n")};var Si=require("fs");read=function(a){var h=Si.readFileSync(a).toString();!h&&a[0]!="/"&&(a=__dirname.split("/").slice(0,-1).join("/")+"/src/"+a,h=Si.readFileSync(a).toString()); return h};Rc=process.argv.slice(2)}else if(nj)this.read||(read=function(a){snarf(a)}),Rc=this.arguments?arguments:scriptArgs;else if(Qi)print=printErr=function(a){console.log(a)},read=function(a){var h=new XMLHttpRequest;h.open("GET",a,false);h.send(null);return h.responseText},this.arguments&&(Rc=arguments);else if(Ri)load=importScripts;else throw"Unknown runtime environment. Where are we?";typeof load=="undefined"&&typeof read!="undefined"&&(load=function(a){Y(read(a))});typeof printErr==="undefined"&& (printErr=function(){});typeof print==="undefined"&&(print=printErr);try{this.Module=Module}catch(qj){this.Module=Module={}}if(!Module.arguments)Module.arguments=Rc;if(Module.print)print=Module.print;var sa={stackSave:function(){return B},stackRestore:function(a){B=a},forceAlign:function(a,h){h=h||4;if(h==1)return a;if(isNumber(a)&&isNumber(h))return Math.ceil(a/h)*h;else if(isNumber(h)&&isPowerOfTwo(h)){var e=log2(h);return"(((("+a+")+"+(h-1)+")>>"+e+")<<"+e+")"}return"Math.ceil(("+a+")/"+h+")*"+ h},isNumberType:function(a){return a in sa.INT_TYPES||a in sa.FLOAT_TYPES},isPointerType:function(a){return a[a.length-1]=="*"},isStructType:function(a){return isPointerType(a)?false:/^\[\d+\ x\ (.*)\]/.test(a)?true:/?/.test(a)?true:a[0]=="%"},INT_TYPES:{i1:0,i8:0,i16:0,i32:0,i64:0},FLOAT_TYPES:{"float":0,"double":0},bitshift64:function(a,h,e,c){var b=Math.pow(2,c)-1;if(c<32)switch(e){case "shl":return[a<>>32-c];case "ashr":return[(a>>>c|(h&b)<<32-c)>>0>>>0,h>>c>>> 0];case "lshr":return[(a>>>c|(h&b)<<32-c)>>>0,h>>>c]}else if(c==32)switch(e){case "shl":return[0,a];case "ashr":return[h,(h|0)<0?b:0];case "lshr":return[h,0]}else switch(e){case "shl":return[0,a<>c-32>>>0,(h|0)<0?b:0];case "lshr":return[h>>>c-32,0]}O("unknown bitshift64 op: "+[value,e,c])},or64:function(a,h){var e=a|0|h|0,c=(Math.round(a/4294967296)|Math.round(h/4294967296))*4294967296;return e+c},and64:function(a,h){var e=(a|0)&(h|0),c=(Math.round(a/4294967296)&Math.round(h/ 4294967296))*4294967296;return e+c},xor64:function(a,h){var e=(a|0)^(h|0),c=(Math.round(a/4294967296)^Math.round(h/4294967296))*4294967296;return e+c},getNativeTypeSize:function(a){if(sa.QUANTUM_SIZE==1)return 1;var h={"%i1":1,"%i8":1,"%i16":2,"%i32":4,"%i64":8,"%float":4,"%double":8}["%"+a];if(!h)a[a.length-1]=="*"?h=sa.QUANTUM_SIZE:a[0]=="i"&&(a=parseInt(a.substr(1)),x(a%8==0),h=a/8);return h},getNativeFieldSize:function(a){return Math.max(sa.getNativeTypeSize(a),sa.QUANTUM_SIZE)},dedup:function(a, h){var e={};return h?a.filter(function(a){return e[a[h]]?false:e[a[h]]=true}):a.filter(function(a){return e[a]?false:e[a]=true})},set:function(){for(var a=typeof arguments[0]==="object"?arguments[0]:arguments,h={},e=0;e=0&&h.push(c-e);return e=c});a.flatSize=sa.alignMemory(a.flatSize,a.alignSize);if(h.length==0)a.flatFactor=a.flatSize;else if(sa.dedup(h).length==1)a.flatFactor=h[0];a.needsFlattening=a.flatFactor!=1;return a.flatIndexes},generateStructInfo:function(a,h,e){var c, b;if(h){e=e||0;c=(typeof Types==="undefined"?sa.typeInfo:Types.types)[h];if(!c)return null;x(c.fields.length===a.length,"Number of named fields must match the type for "+h);b=c.flatIndexes}else c={fields:a.map(function(a){return a[0]})},b=sa.calculateStructAlignment(c);var d={__size__:c.flatSize};h?a.forEach(function(a,g){if(typeof a==="string")d[a]=b[g]+e;else{var f,h;for(h in a)f=h;d[f]=sa.generateStructInfo(a[f],c.fields[g],b[g])}}):a.forEach(function(a,c){d[a[1]]=b[c]});return d},stackAlloc:function(a){var h= B;B+=a;B=B+3>>2<<2;x(B>2<<2;if(Ba>=Ua){printErr("Warning: Enlarging memory arrays, this is not fast! "+[Ba,Ua]);x(Ba>=Ua);for(x(Ua>4);Ua<=Ba;)Ua=Math.ceil(2*Ua/lb)*lb;var B=N,e=new ArrayBuffer(Ua);N=new Int8Array(e);a=new Int16Array(e);h=new Int32Array(e);M=new Uint8Array(e);se=new Uint16Array(e);S=new Uint32Array(e);nb=new Float32Array(e);N.set(B)}return k},alignMemory:function(a,h){return Math.ceil(a/(h?h:4))*(h? h:4)},makeBigInt:function(a,h,e){return e?(a>>>0)+(h>>>0)*4294967296:(a>>>0)+(h|0)*4294967296},QUANTUM_SIZE:4,__dummy__:0},mj={MAX_ALLOWED:0,corrections:0,sigs:{},note:function(a,h){h||(this.corrections++,this.corrections>=this.MAX_ALLOWED&&O("\n\nToo many corrections!"))},print:function(){}},ga,oj=this;Module.ccall=function(a,h,e,c){try{var b=eval("_"+a)}catch(d){try{b=oj.Module["_"+a]}catch(i){}}x(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");var g= 0,a=c?c.map(function(a){if(e[g++]=="string"){var b=B;sa.stackAlloc(a.length+1);Ae(a,b);a=b}return a}):[];return function(a,b){return b=="string"?Va(a):a}(b.apply(null,a),h)};Module.setValue=W;Module.getValue=function(x,k){k=k||"i8";k[k.length-1]==="*"&&(k="i32");switch(k){case "i1":return N[x];case "i8":return N[x];case "i16":return a[x>>1];case "i32":return h[x>>2];case "i64":return h[x>>2];case "float":return nb[x>>2];case "double":return dc[0]=h[x>>2],dc[1]=h[x+4>>2],ze[0];default:O("invalid type for setValue: "+ k)}return null};var L=2;Module.ALLOC_NORMAL=0;Module.ALLOC_STACK=1;Module.ALLOC_STATIC=L;Module.allocate=H;Module.Pointer_stringify=Va;Module.Array_stringify=function(a){for(var h="",e=0;e>2);nb.subarray(bc>>2);var ze=(new Float64Array(N.buffer)).subarray(bc>>3);ea=bc+8;Ba=Math.ceil(ea/lb)*lb;var Ni=[],Oi=[];Module.Array_copy=ob;Module.TypedArray_copy=function(a,h){for(var e=new Uint8Array(h),c=0;c255&&(x(false,"Character code "+c+" ("+String.fromCharCode(c)+") at offset "+e+" not in 0x00-0xFF."),c&=255);h.push(String.fromCharCode(c))}return h.join("")};Module.writeStringToMemory=Ae;var za=[];Uc.X=1;Eb.X=1;Ce.X=1;De.X=1;Ee.X=1;Ke.X=1;Pe.X=1;Re.X=1;ec.X=1;fc.X=1;gc.X=1;Fb.X=1;Ue.X=1;Ve.X=1;Xe.X=1;Ye.X=1;Ze.X=1;af.X=1;df.X=1;bd.X=1;bf.X=1;cf.X=1;hf.X=1;jf.X=1;kf.X=1;mf.X=1;of.X=1;pf.X=1;hc.X=1;qf.X=1;tf.X=1;uf.X=1;Hb.X=1;vf.X=1;wf.X=1;cd.X=1;Sa.X=1;yf.X=1; zf.X=1;Ib.X=1;dd.X=1;Af.X=1;ed.X=1;ic.X=1;gd.X=1;Df.X=1;Jb.X=1;kc.X=1;Ff.X=1;If.X=1;Lf.X=1;nd.X=1;od.X=1;Vf.X=1;Kb.X=1;eb.X=1;xf.X=1;gg.X=1;pb.X=1;hg.X=1;ig.X=1;jg.X=1;kg.X=1;lg.X=1;mg.X=1;ng.X=1;qd.X=1;rb.X=1;og.X=1;nc.X=1;ug.X=1;Cg.X=1;yd.X=1;zd.X=1;Ig.X=1;wd.X=1;zg.X=1;Ad.X=1;yg.X=1;xd.X=1;Bd.X=1;Kg.X=1;xa.X=1;Cd.X=1;td.X=1;tb.X=1;xg.X=1;rd.X=1;wg.X=1;Dd.X=1;Mg.X=1;Hg.X=1;vg.X=1;md.X=1;ag.X=1;$f.X=1;Xf.X=1;Qb.X=1;Rb.X=1;Pb.X=1;Ug.X=1;Vg.X=1;Ne.X=1;Me.X=1;Fd.X=1;Le.X=1;Gg.X=1;Yg.X=1;$g.X=1;Nf.X= 1;eg.X=1;ah.X=1;dh.X=1;hb.X=1;ib.X=1;jd.X=1;Sg.X=1;Ya.X=1;Kf.X=1;Sd.X=1;Td.X=1;Bh.X=1;He.X=1;Ud.X=1;vd.X=1;Ch.X=1;ud.X=1;Dh.X=1;Eg.X=1;Xa.X=1;Eh.X=1;Bf.X=1;xc.X=1;yc.X=1;zc.X=1;Gd.X=1;Bc.X=1;Yf.X=1;sd.X=1;Ih.X=1;Wd.X=1;Fa.X=1;ub.X=1;ya.X=1;Zf.X=1;oa.X=1;db.X=1;pd.X=1;Fg.X=1;Dc.X=1;Jf.X=1;Nh.X=1;Mh.X=1;Xb.X=1;Oh.X=1;Ec.X=1;Cc.X=1;Fc.X=1;Qh.X=1;Lh.X=1;$d.X=1;Rh.X=1;Vh.X=1;Ga.X=1;qb.X=1;Yh.X=1;cg.X=1;Zh.X=1;$h.X=1;Da.X=1;bi.X=1;bh.X=1;ch.X=1;ee.X=1;Zb.X=1;fh.X=1;gi.X=1;fe.X=1;hi.X=1;wb.X=1;ie.X=1;Kc.X= 1;eh.X=1;id.X=1;kb.X=1;Ed.X=1;Kh.X=1;$b.X=1;ji.X=1;je.X=1;xb.X=1;Ma.X=1;gh.X=1;Yb.X=1;ad.X=1;le.X=1;ra.X=1;Gb.X=1;$c.X=1;Wc.X=1;me.X=1;mi.X=1;Je.X=1;oi.X=1;Vc.X=1;lc.X=1;Ob.X=1;pc.X=1;bg.X=1;Ca.X=1;yb.X=1;ld.X=1;dg.X=1;Wf.X=1;Pc.X=1;ri.X=1;si.X=1;vi.X=1;wi.X=1;xi.X=1;yi.X=1;zi.X=1;Fe.X=1;ui.X=1;oe.X=1;zb.X=1;Ra.X=1;va.X=1;Ai.X=1;Bi.X=1;Ci.X=1;wa.X=1;Hi.X=1;Ii.X=1;Ab.X=1;Ei.X=1;Fi.X=1;Gi.X=1;var ua=function(a,h,e,c){if(h1&&c.pop():c.push(b))}return c.length==1?"/":c.join("/")},analyzePath:function(a,h,e){var c={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null}, a=ba.absolutePath(a);if(a=="/")c.isRoot=true,c.exists=c.parentExists=true,c.name="/",c.path=c.parentPath="/",c.object=c.parentObject=ba.root;else if(a!==null)for(var e=e||0,a=a.slice(1).split("/"),b=ba.root,d=[""];a.length;){if(a.length==1&&b.isFolder)c.parentExists=true,c.parentPath=d.length==1?"/":d.join("/"),c.parentObject=b,c.name=a[0];var i=a.shift();if(b.isFolder)if(b.read){if(!b.contents.hasOwnProperty(i)){c.error=2;break}}else{c.error=13;break}else{c.error=20;break}b=b.contents[i];if(b.link&& !(h&&a.length==0)){if(e>40){c.error=40;break}c=ba.absolutePath(b.link,d.join("/"));return ba.analyzePath([c].concat(a).join("/"),h,e+1)}d.push(i);if(a.length==0)c.exists=true,c.path=d.join("/"),c.object=b}return c},findObject:function(a,h){ba.ensureRoot();var e=ba.analyzePath(a,h);return e.exists?e.object:(Ea(e.error),null)},createObject:function(a,h,e,c,b){a||(a="/");typeof a==="string"&&(a=ba.findObject(a));if(!a)throw Ea(13),Error("Parent path must exist.");if(!a.isFolder)throw Ea(20),Error("Parent must be a folder."); if(!a.write&&!ba.ignorePermissions)throw Ea(13),Error("Parent folder must be writeable.");if(!h||h=="."||h=="..")throw Ea(2),Error("Name must not be empty.");if(a.contents.hasOwnProperty(h))throw Ea(17),Error("Can't overwrite object.");a.contents[h]={read:c===void 0?true:c,write:b===void 0?false:b,timestamp:Date.now(),inodeNumber:ba.nextInode++};for(var d in e)e.hasOwnProperty(d)&&(a.contents[h][d]=e[d]);return a.contents[h]},createFolder:function(a,h,e,c){return ba.createObject(a,h,{isFolder:true, isDevice:false,contents:{}},e,c)},createPath:function(a,h,e,c){a=ba.findObject(a);if(a===null)throw Error("Invalid parent.");for(h=h.split("/").reverse();h.length;){var b=h.pop();b&&(a.contents.hasOwnProperty(b)||ba.createFolder(a,b,e,c),a=a.contents[b])}return a},createFile:function(a,h,e,c,b){e.isFolder=false;return ba.createObject(a,h,e,c,b)},createDataFile:function(a,h,e,c,b){if(typeof e==="string"){for(var d=[],i=0;i0&&ba.streams[2].object.output("\n".charCodeAt(0)),ba.streams[3].object.output.buffer.length>0&&ba.streams[3].object.output("\n".charCodeAt(0)))}},lj;Ni.unshift({func:function(){ba.ignorePermissions=false;ba.init.initialized||ba.init()}});Oi.push({func:function(){ba.quit()}}); Ea(0);Li.buf=H(12,"void*",L);Module.callMain=function(a){function h(){for(var a=0;a<3;a++)c.push(0)}var e=a.length+1,c=[H(cb("/bin/this.program"),"i8",L)];h();for(var b=0;b>2]=Ti|0;h[Ka+4>>2]=Ui|0;h[Ka+8>>2]=Vi|0;h[Ka+12>>2]=Wi|0;h[Ka+16>>2]=Xi|0;h[Ka+20>>2]= Yi|0;h[Ka+24>>2]=Zi|0;h[Ka+28>>2]=$i|0;h[Ka+32>>2]=aj|0;h[Oa>>2]=bj|0;h[Oa+4>>2]=cj|0;h[Oa+8>>2]=dj|0;h[Oa+12>>2]=ej|0;h[Oa+16>>2]=fj|0;h[Oa+20>>2]=gj|0;h[Oa+24>>2]=hj|0;h[Oa+28>>2]=ij|0;h[qe+4>>2]=Bb;h[xe+4>>2]=cc;ye=H([2,0,0,0,0],["i8*",0,0,0,0],L);h[Bb>>2]=ye+8|0;h[Bb+4>>2]=za.__ZTSSt9bad_alloc|0;h[Bb+8>>2]=void 0;h[cc>>2]=ye+8|0;h[cc+4>>2]=za.__ZTSSt20bad_array_new_length|0;h[cc+8>>2]=Bb;Cb=[0,0,Qc,0,function(a){Cb[16](a);Ki(a)},0,function(){return za.__str3|0},0,Qc,0,function(a){Cb[20](a);Ki(a)}, 0,function(){return za.__str14|0},0,Ji,0,Qc,0,function(a){Ji(a);h[a>>2]=xe+8|0},0,Qc,0];Module.FUNCTION_TABLE=Cb;Module.run=Mi;Module.preRun&&Module.preRun();Module.noInitialRun||Mi();Module.postRun&&Module.postRun();Module.generateStructInfo=sa.generateStructInfo;Module.Decoder_Interface_init=function(){var a=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=0;mi(a,za.__str529|0);var k=h[a>>2];B=a;return k};Module.Decoder_Interface_Decode=function(a,h,e){var c;c=(M[h|0]&255)>> 3&15;Ee(a,c&255,h+1|0,e,2)};Module.Decoder_Interface_exit=function(a){var k=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=a;ni(k);B=k};Module.Encoder_Interface_init=function(B){var k;k=va(8);a:{var e=k|0,c=k+4|0,b;for(b=0;;)switch(b){case 0:var d;b=e;d=c;b=oi(b,B,za.__str|0);b:{for(var i=void 0,i=0;;)switch(i){case 0:var g,f,j;f=d;i=(f|0)==0?1:2;break;case 1:g=-1;i=5;break;case 2:h[f>>2]=0;j=i=va(12);i=(i|0)==0?3:4;break;case 3:g=-1;i=5;break;case 4:a[(j|0)>>1]=8;g=h[f>> 2]=j;a[(g+2|0)>>1]=3;a[(g+4|0)>>1]=0;g=h[(g+8|0)>>2]=0;i=5;break;case 5:d=g;break b;default:x(0,"bad label: "+i)}d=void 0}b=(b<<16>>16|0)!=0?2:1;break;case 1:b=(d<<16>>16|0)!=0?2:3;break;case 2:b=3;break;case 3:break a;default:x(0,"bad label: "+b)}}return k};Module.Encoder_Interface_Encode=function(a,k,e,c){var b=B;B+=4;x(B%4==0,"Stack is unaligned");x(B>2]=k;a=Ke(h[(a|0)>>2],h[(a+4|0)>>2],k,e,c,b,3)<<16>>16;c|=0;N[c]=(M[c]&255|4)&255;B=b;return a};Module.Encoder_Interface_exit= function(a){var k=a+4|0;pi(a|0);a:{var e;for(e=0;;)switch(e){case 0:var c;c=k;e=(c|0)==0?2:1;break;case 1:e=(h[c>>2]|0)==0?2:3;break;case 2:e=4;break;case 3:wa(h[c>>2]);h[c>>2]=0;e=4;break;case 4:break a;default:x(0,"bad label: "+e)}}wa(a)};return Module}(); (function(ma){ma.util={toString:function(Y,O){var x=new (ma.WebKitBlobBuilder||ma.MozBlobBuilder||ma.BlobBuilder);x.append(Y.buffer);buffer=null;var W=new FileReader;W.onload=function(x){O(x.target.result)};W.readAsBinaryString(x.getBlob())},parseInt:function(Y){return Binary.toUint8(Y)},mozPlay:function(Y){var O,x=0,W;if((O=new Audio).mozSetup)for(O.mozSetup(1,8E3);x800?800:Y.length-x,O.mozWriteAudio(Y.subarray(x,x+W)),x+=W},play:function(Y){var Y=PCMData.encode({sampleRate:8E3, channelCount:1,bytesPerSample:2,data:Y}),O=new Audio;O.src="data:audio/wav;base64,"+btoa(Y);O.play()},merge:function(Y,O,x,W){var W=W||[],x=typeof x=="undefined"?2:x,H;for(H in O)O.hasOwnProperty(H)&&W.indexOf(H)<0&&(typeof Y[H]!=="object"||!x?(Y[H]=O[H],W.push(O[H])):merge(Y[H],O[H],x-1,W));return Y},inherit:function(Y,O){function x(){}x.prototype=O.prototype;Y.prototype=new x}}})(this); (function(ma){function Y(O){!O&&(O={});this.params=O;this.frame_size=320;this.ring_size=2304;this.modoffset=this.ringoffset=this.linoffset=0;this.linbuf=new Int16Array(this.frame_size);this.ring=new Int16Array(this.ring_size*2);this.modframes=new Int16Array(this.frame_size);this.framesbuf=[];this.decoder=new AMRDecoder(O);this.encoder=new AMREncoder(O);this.init()}Y.util=ma.util;Y.prototype.init=function(){this.encoder.init();this.decoder.init()};Y.prototype.set=function(O,x){this.options[O]=x};Y.prototype.enable= function(O){this.set(O,true)};Y.prototype.disable=function(O){this.set(O,false)};Y.prototype.init=function(){this.encoder.init();this.decoder.init()};Y.prototype.encode=function(O,x){if(x)return this.encoder.process(O);for(var W=-1,H=this.ringoffset;++Wthis.linoffset&&this.ringoffset-this.linoffsetthis.ring_size)this.modoffset=this.ringoffset%this.ring_size,console.log("ignoring %d samples",this.modoffset),this.ringoffset=0;if(this.linoffset>this.ring_size)this.linoffset=0;return this.framesbuf}};Y.prototype.decode=function(O){return this.decoder.process(O)};Y.prototype.close=function(){this.encoder.close();this.decoder.close()};Y.onerror=function(O,x){console.error("AMR Error "+x+": "+O)};util.merge(Y,{MAGIC_NUMBER:[35,33, 65,77,82,10],MAGIC_NUMBER_STRING:"#!AMR\n",modes:{0:12,1:13,2:15,3:17,4:19,5:20,6:26,7:31,8:5}});ma.AMR=Y})(this);function CodecProcessor(){}CodecProcessor.prototype.set=function(){};CodecProcessor.prototype.buffer=null;CodecProcessor.prototype.input=null;CodecProcessor.prototype.output=null;CodecProcessor.prototype.state=null;function AMRDecoder(ma){this.params=ma;this.block_size=20;this.frame_size=160} AMRDecoder.prototype.init=function(){this.state=opencoreamr.Decoder_Interface_init();this.input=opencoreamr.allocate(20,"i8",opencoreamr.ALLOC_STATIC);this.buffer=opencoreamr.allocate(160,"i16",opencoreamr.ALLOC_STATIC)};AMRDecoder.prototype.validate=function(ma){if(ma.constructor==String)return ma==="#!AMR\n";for(var Y=-1;++Y<6;)if(ma[Y]!=AMR.MAGIC_NUMBER[Y])return false;return true}; AMRDecoder.prototype.read=function(ma,Y){for(var O=Y.constructor==String.prototype.constructor,x=O?Binary.toUint8(Y[0]):Y[0],W=AMR.modes[x>>3&15],x=this.input,W=ma+W>Y.length?Y.length-ma:W,H,Va=ma-1,Wa=0;++VaW.length?W.length-O:x,Y=O-1,ma=0;++Y