@nicolasflamel/blake2b-wasm
Version:
WASM wrapper for parts of the official BLAKE2b implementation
17 lines (14 loc) • 64.5 kB
JavaScript
var blake2b = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
return (
function(blake2b) {
blake2b = blake2b || {};
var b;b||(b=typeof blake2b !== 'undefined' ? blake2b : {});var f,h;b.ready=new Promise(function(a,c){f=a;h=c});var k=Object.assign({},b),l="object"==typeof window,n="function"==typeof importScripts,p="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,q="",r,t,fs,u,v;
if(p)q=n?require("path").dirname(q)+"/":__dirname+"/",v=()=>{u||(fs=require("fs"),u=require("path"))},r=function(a,c){var d=w(a);if(d)return c?d:d.toString();v();a=u.normalize(a);return fs.readFileSync(a,c?void 0:"utf8")},t=a=>{a=r(a,!0);a.buffer||(a=new Uint8Array(a));return a},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(a){throw a;}),process.on("unhandledRejection",function(a){throw a;}),b.inspect=function(){return"[Emscripten Module object]"};
else if(l||n)n?q=self.location.href:"undefined"!=typeof document&&document.currentScript&&(q=document.currentScript.src),_scriptDir&&(q=_scriptDir),0!==q.indexOf("blob:")?q=q.substr(0,q.replace(/[?#].*/,"").lastIndexOf("/")+1):q="",r=a=>{try{var c=new XMLHttpRequest;c.open("GET",a,!1);c.send(null);return c.responseText}catch(g){if(a=w(a)){c=[];for(var d=0;d<a.length;d++){var e=a[d];255<e&&(x&&y("Character code "+e+" ("+String.fromCharCode(e)+") at offset "+d+" not in 0x00-0xFF."),e&=255);c.push(String.fromCharCode(e))}return c.join("")}throw g;
}},n&&(t=a=>{try{var c=new XMLHttpRequest;c.open("GET",a,!1);c.responseType="arraybuffer";c.send(null);return new Uint8Array(c.response)}catch(d){if(a=w(a))return a;throw d;}});b.print||console.log.bind(console);var z=b.printErr||console.warn.bind(console);Object.assign(b,k);k=null;var A;b.wasmBinary&&(A=b.wasmBinary);var noExitRuntime=b.noExitRuntime||!0;function B(){this.buffer=new ArrayBuffer(C/65536*65536)}function D(){}function E(){this.exports=(
// EMSCRIPTEN_START_ASM
function instantiate($){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a<j;a+=4){g=f[o.charCodeAt(a+1)];h=f[o.charCodeAt(a+2)];m[i++]=f[o.charCodeAt(a)]<<2|g>>4;if(i<k)m[i++]=g<<4|h>>2;if(i<k)m[i++]=h<<6|f[o.charCodeAt(a+3)]}}function p(q){l(e,1024,"CMm882fmCWo7p8qEha5nuyv4lP5y82488TYdXzr1T6XRguatf1IOUR9sPiuMaAWba71B+6vZgx95IX4TGc3gWwE=");l(e,1092,"QAZQ")}function Z(_){var r=_.a;var s=r.buffer;r.grow=X;var t=new Int8Array(s);var u=new Int16Array(s);var v=new Int32Array(s);var w=new Uint8Array(s);var x=new Uint16Array(s);var y=new Uint32Array(s);var z=new Float32Array(s);var A=new Float64Array(s);var B=Math.imul;var C=Math.fround;var D=Math.abs;var E=Math.clz32;var F=Math.min;var G=Math.max;var H=Math.floor;var I=Math.ceil;var J=Math.trunc;var K=Math.sqrt;var L=_.abort;var M=NaN;var N=Infinity;var O=_.b;var P=5244480;var Q=0;
// EMSCRIPTEN_START_FUNCS
function ga(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;g=P-256|0;P=g;while(1){if((d|0)==16){while(1){if((c|0)!=8){b=c<<3;f=b+g|0;b=a+b|0;d=v[b+4>>2];v[f>>2]=v[b>>2];v[f+4>>2]=d;c=c+1|0;continue}break}f=v[g+132>>2];i=v[g+32>>2];d=v[g>>2];c=i+d|0;l=v[g+36>>2];b=l+v[g+4>>2]|0;b=c>>>0<d>>>0?b+1|0:b;d=c;c=c+v[g+128>>2]|0;b=b+f|0;b=c>>>0<d>>>0?b+1|0:b;f=b;z=aa(c^v[a+64>>2]^-1377402159,b^v[a+68>>2]^1359893119,32);b=Q;d=b;b=b+1779033703|0;e=z-205731576|0;b=e>>>0<4089235720?b+1|0:b;r=i^e;i=b;j=aa(r,l^b,24);b=Q;l=b;ca=v[g+140>>2];n=ca;r=z;b=b+f|0;z=c+j|0;b=z>>>0<c>>>0?b+1|0:b;$=v[g+136>>2];f=z;c=$+f|0;b=b+n|0;n=c;u=c>>>0<f>>>0?b+1|0:b;E=aa(r^c,u^d,16);c=e+E|0;m=Q;b=i+m|0;H=c;c=c>>>0<e>>>0?b+1|0:b;M=aa(H^j,c^l,63);i=Q;d=v[g+148>>2];e=v[g+40>>2];l=v[g+8>>2];f=e+l|0;z=v[g+44>>2];b=z+v[g+12>>2]|0;b=f>>>0<l>>>0?b+1|0:b;l=f;f=f+v[g+144>>2]|0;b=b+d|0;b=f>>>0<l>>>0?b+1|0:b;j=aa(f^v[a+72>>2]^725511199,v[a+76>>2]^b^-1694144372,32);p=j-2067093701|0;r=e^p;d=Q;e=d-((j>>>0<2067093701)+1150833018|0)|0;z=aa(r,z^e,24);x=v[g+156>>2];r=z;l=Q;b=b+l|0;z=f+z|0;b=z>>>0<f>>>0?b+1|0:b;f=z+v[g+152>>2]|0;b=b+x|0;h=p;p=f;x=f>>>0<z>>>0?b+1|0:b;L=aa(f^j,x^d,16);d=L;f=h+d|0;s=Q;b=s+e|0;Z=f;f=d>>>0>f>>>0?b+1|0:b;y=aa(r^Z,f^l,63);l=Q;ba=v[g+164>>2];e=ba;j=v[g+48>>2];z=v[g+16>>2];d=j+z|0;q=v[g+52>>2];b=q+v[g+20>>2]|0;b=d>>>0<z>>>0?b+1|0:b;r=v[g+160>>2];z=d;d=r+d|0;b=b+e|0;B=d;e=d>>>0<z>>>0?b+1|0:b;k=aa(d^v[a+80>>2]^-79577749,e^v[a+84>>2]^528734635,32);b=Q;z=b;b=b+1013904242|0;d=k-23791573|0;b=d>>>0<4271175723?b+1|0:b;G=d;d=aa(j^d,b^q,24);q=b;t=v[g+172>>2];h=d;o=k;j=Q;b=j+e|0;k=d+B|0;b=k>>>0<d>>>0?b+1|0:b;e=k;d=e+v[g+168>>2]|0;b=b+t|0;k=d;B=d>>>0<e>>>0?b+1|0:b;R=aa(o^d,B^z,16);e=R;d=e+G|0;b=q;q=Q;b=b+q|0;D=d;d=d>>>0<e>>>0?b+1|0:b;F=aa(h^D,d^j,63);z=Q;da=v[g+180>>2];j=da;t=v[g+56>>2];h=v[g+24>>2];e=t+h|0;A=v[g+60>>2];b=A+v[g+28>>2]|0;b=e>>>0<h>>>0?b+1|0:b;G=v[g+176>>2];h=e;e=G+e|0;b=b+j|0;b=e>>>0<h>>>0?b+1|0:b;C=aa(e^v[a+88>>2]^327033209,v[a+92>>2]^b^1541459225,32);h=C;K=h+1595750129|0;o=t^K;j=Q;t=j-((h>>>0<2699217167)+1521486533|0)|0;o=aa(o,A^t,24);W=v[g+188>>2];J=W;I=o;h=Q;b=b+h|0;o=e+o|0;b=o>>>0<e>>>0?b+1|0:b;A=v[g+184>>2];e=A+o|0;b=b+J|0;b=e>>>0<o>>>0?b+1|0:b;J=K;o=e;e=e^C;C=b;K=aa(e,b^j,16);j=K;e=J+j|0;b=t;t=Q;b=b+t|0;J=e;e=e>>>0<j>>>0?b+1|0:b;I=aa(I^J,e^h,63);j=Q;V=v[g+196>>2];N=V;O=y;b=l+u|0;y=n+y|0;b=y>>>0<n>>>0?b+1|0:b;h=v[g+192>>2];u=y;n=h+u|0;b=b+N|0;b=n>>>0<u>>>0?b+1|0:b;u=b;y=aa(n^K,b^t,32);t=y+D|0;b=d;d=Q;b=b+d|0;K=t;b=t>>>0<y>>>0?b+1|0:b;D=aa(O^t,b^l,24);t=b;ea=v[g+204>>2];N=ea;O=D;S=y;l=Q;b=u+l|0;D=n+D|0;b=D>>>0<n>>>0?b+1|0:b;y=v[g+200>>2];u=D;n=y+u|0;b=b+N|0;Y=n;D=n>>>0<u>>>0?b+1|0:b;X=aa(S^n,D^d,16);n=X;d=n+K|0;b=t;t=Q;b=b+t|0;fa=d;d=d>>>0<n>>>0?b+1|0:b;N=aa(O^fa,d^l,63);l=Q;_=v[g+212>>2];u=_;O=F;K=E;b=z+x|0;n=p+F|0;b=n>>>0<p>>>0?b+1|0:b;E=v[g+208>>2];p=n;n=E+p|0;b=b+u|0;b=n>>>0<p>>>0?b+1|0:b;u=b;F=aa(K^n,b^m,32);p=F;m=p+J|0;b=e;e=Q;b=b+e|0;K=m;b=m>>>0<p>>>0?b+1|0:b;x=aa(O^m,b^z,24);z=Q;m=z;p=b;O=v[g+220>>2];J=O;S=x;b=m+u|0;x=n+x|0;b=x>>>0<n>>>0?b+1|0:b;z=v[g+216>>2];u=x;n=z+u|0;b=b+J|0;x=n;J=e;e=n>>>0<u>>>0?b+1|0:b;F=aa(n^F,J^e,16);u=F;n=u+K|0;b=p;p=Q;b=b+p|0;K=n;J=n>>>0<u>>>0?b+1|0:b;T=aa(S^n,J^m,63);n=Q;S=v[g+228>>2];b=j+B|0;m=k+I|0;b=m>>>0<k>>>0?b+1|0:b;u=v[g+224>>2];k=m;m=u+m|0;b=b+S|0;b=m>>>0<k>>>0?b+1|0:b;k=s;s=b;B=aa(m^L,k^b,32);k=B+H|0;b=c;c=Q;b=b+c|0;H=k;b=k>>>0<B>>>0?b+1|0:b;I=aa(k^I,b^j,24);k=b;ha=v[g+236>>2];L=ha;U=I;ga=B;j=Q;b=s+j|0;I=m+I|0;b=I>>>0<m>>>0?b+1|0:b;B=v[g+232>>2];s=I;m=B+s|0;b=b+L|0;b=m>>>0<s>>>0?b+1|0:b;s=m;I=b;ga=aa(ga^m,b^c,16);m=ga;c=m+H|0;b=k;k=Q;b=b+k|0;b=c>>>0<m>>>0?b+1|0:b;U=aa(U^c,b^j,63);j=Q;ka=v[g+244>>2];m=c;H=b;ia=M;b=i+C|0;c=o+M|0;b=c>>>0<o>>>0?b+1|0:b;L=v[g+240>>2];o=c;c=L+c|0;b=b+ka|0;b=c>>>0<o>>>0?b+1|0:b;o=c;C=q;q=b;M=aa(c^R,C^b,32);C=M+Z|0;c=Q;b=c+f|0;b=C>>>0<M>>>0?b+1|0:b;R=aa(ia^C,b^i,24);f=b;i=c;Z=v[g+252>>2];ja=C;la=Q;b=q+la|0;C=o+R|0;b=C>>>0<o>>>0?b+1|0:b;c=v[g+248>>2];o=C;q=c+o|0;b=b+Z|0;b=q>>>0<o>>>0?b+1|0:b;o=b;ia=aa(q^M,b^i,16);M=ia;C=ja+M|0;i=Q;b=i+f|0;f=C;C=f>>>0<M>>>0?b+1|0:b;R=aa(f^R,C^la,63);b=Q;M=b;ja=m;b=D+ka|0;m=L+Y|0;b=m>>>0<L>>>0?b+1|0:b;D=m;m=m+R|0;b=b+M|0;L=m;m=m>>>0<D>>>0?b+1|0:b;Y=aa(L^F,m^p,32);F=Y;D=ja+F|0;p=Q;b=p+H|0;b=D>>>0<F>>>0?b+1|0:b;F=b;M=aa(R^D,M^b,24);b=Q;R=b;H=b;b=m+_|0;L=E+L|0;b=L>>>0<E>>>0?b+1|0:b;E=L;m=E+M|0;b=b+H|0;b=m>>>0<E>>>0?b+1|0:b;E=m;H=p;p=b;Y=aa(m^Y,H^b,16);m=D+Y|0;H=Q;b=F+H|0;b=m>>>0<D>>>0?b+1|0:b;D=m;F=b;L=aa(m^M,b^R,63);m=Q;b=l+ba|0;M=r+N|0;b=M>>>0<r>>>0?b+1|0:b;r=x+M|0;b=b+e|0;M=r;e=r>>>0<x>>>0?b+1|0:b;k=aa(r^ga,e^k,32);r=f+k|0;x=Q;b=C+x|0;b=f>>>0>r>>>0?b+1|0:b;f=r;r=l;l=b;C=aa(f^N,r^b,24);b=Q;N=b;r=b;R=k;b=e+V|0;k=h+M|0;b=k>>>0<h>>>0?b+1|0:b;e=k+C|0;b=b+r|0;r=e;h=x;x=e>>>0<k>>>0?b+1|0:b;R=aa(R^e,h^x,16);e=f+R|0;k=Q;b=l+k|0;ba=e;e=e>>>0<f>>>0?b+1|0:b;C=aa(ba^C,e^N,63);f=Q;b=n+ea|0;l=y+T|0;b=l>>>0<y>>>0?b+1|0:b;l=l+s|0;b=b+I|0;h=l;y=i;i=l>>>0<s>>>0?b+1|0:b;y=aa(l^ia,y^i,32);s=y;l=s+fa|0;b=d;d=Q;b=b+d|0;b=l>>>0<s>>>0?b+1|0:b;s=n;n=b;I=aa(l^T,s^b,24);b=Q;M=b;s=b;b=i+Z|0;h=c+h|0;b=h>>>0<c>>>0?b+1|0:b;i=h+I|0;b=b+s|0;V=i;s=i>>>0<h>>>0?b+1|0:b;ea=aa(i^y,s^d,16);d=l+ea|0;h=Q;b=n+h|0;y=d;i=d>>>0<l>>>0?b+1|0:b;I=aa(d^I,i^M,63);n=Q;b=j+ha|0;d=B+U|0;b=d>>>0<B>>>0?b+1|0:b;d=d+q|0;b=b+o|0;o=d;d=d>>>0<q>>>0?b+1|0:b;t=aa(o^X,d^t,32);q=K+t|0;l=Q;b=J+l|0;b=q>>>0<K>>>0?b+1|0:b;B=j;j=b;K=aa(q^U,B^b,24);b=Q;J=b;B=b;M=t;b=d+da|0;t=o+G|0;b=t>>>0<G>>>0?b+1|0:b;d=t+K|0;b=b+B|0;B=d;G=d>>>0<t>>>0?b+1|0:b;o=aa(M^d,G^l,16);d=q+o|0;t=Q;b=j+t|0;j=K;K=d;l=d>>>0<q>>>0?b+1|0:b;M=aa(j^d,l^J,63);d=Q;b=p+ca|0;j=E+$|0;b=j>>>0<E>>>0?b+1|0:b;p=j;j=j+C|0;b=b+f|0;b=j>>>0<p>>>0?b+1|0:b;p=b;t=aa(j^o,b^t,32);q=t+y|0;b=i;i=Q;b=b+i|0;o=q;b=q>>>0<t>>>0?b+1|0:b;C=aa(q^C,b^f,24);f=Q;y=f;q=b;E=t;b=p+S|0;t=j+u|0;b=t>>>0<j>>>0?b+1|0:b;p=t;j=p+C|0;b=b+f|0;b=j>>>0<p>>>0?b+1|0:b;p=j;t=b;ca=aa(E^j,b^i,16);i=ca;f=i+o|0;b=q;q=Q;b=b+q|0;o=f;j=f^C;C=f>>>0<i>>>0?b+1|0:b;N=aa(j,C^y,63);i=Q;$=v[g+132>>2];j=$;b=n+x|0;f=r+I|0;b=f>>>0<r>>>0?b+1|0:b;y=v[g+128>>2];x=f;f=y+f|0;b=b+j|0;b=f>>>0<x>>>0?b+1|0:b;j=b;r=aa(f^Y,b^H,32);x=r+K|0;b=l;l=Q;b=b+l|0;K=x;b=r>>>0>x>>>0?b+1|0:b;E=aa(x^I,b^n,24);x=b;da=v[g+148>>2];J=da;H=E;I=K;T=r;n=Q;b=j+n|0;E=f+E|0;b=E>>>0<f>>>0?b+1|0:b;r=v[g+144>>2];j=E;f=r+j|0;b=b+J|0;E=f;K=f>>>0<j>>>0?b+1|0:b;f=aa(T^f,K^l,16);l=I+f|0;b=x;x=Q;b=b+x|0;J=l;I=f>>>0>l>>>0?b+1|0:b;T=aa(H^l,I^n,63);l=Q;b=s+O|0;j=z+V|0;b=j>>>0<z>>>0?b+1|0:b;n=j;j=j+M|0;b=b+d|0;H=j;j=j>>>0<n>>>0?b+1|0:b;k=aa(H^R,j^k,32);s=D+k|0;n=Q;b=F+n|0;b=s>>>0<D>>>0?b+1|0:b;D=s;F=aa(s^M,b^d,24);d=Q;M=d;s=b;R=k;b=j+W|0;k=A+H|0;b=k>>>0<A>>>0?b+1|0:b;j=k+F|0;b=b+d|0;d=j;k=d>>>0<k>>>0?b+1|0:b;R=aa(R^d,k^n,16);A=R;j=A+D|0;n=Q;b=n+s|0;s=j;b=j>>>0<A>>>0?b+1|0:b;M=aa(j^F,b^M,63);j=Q;W=v[g+172>>2];H=W;A=b;D=f;b=m+G|0;f=B+L|0;b=f>>>0<B>>>0?b+1|0:b;F=v[g+168>>2];B=f;f=F+f|0;b=b+H|0;b=f>>>0<B>>>0?b+1|0:b;B=f;G=b;H=aa(f^ea,b^h,32);h=H+ba|0;f=Q;b=f+e|0;b=h>>>0<H>>>0?b+1|0:b;U=aa(h^L,b^m,24);e=b;m=f;L=v[g+156>>2];X=h;ba=Q;b=G+ba|0;h=B+U|0;b=h>>>0<B>>>0?b+1|0:b;f=v[g+152>>2];B=f+h|0;b=b+L|0;b=B>>>0<h>>>0?b+1|0:b;h=m;m=b;V=aa(B^H,h^b,16);H=V;h=X+H|0;G=Q;b=G+e|0;e=h;h=e>>>0<H>>>0?b+1|0:b;U=aa(e^U,h^ba,63);b=Q;H=b;b=t+O|0;z=p+z|0;b=z>>>0<p>>>0?b+1|0:b;p=z;z=p+U|0;b=b+H|0;b=p>>>0>z>>>0?b+1|0:b;p=b;O=aa(z^D,b^x,32);t=O;s=t+s|0;x=Q;b=x+A|0;b=s>>>0<t>>>0?b+1|0:b;t=b;D=aa(U^s,H^b,24);b=Q;A=b;H=v[g+196>>2];X=D;b=b+p|0;D=z+D|0;b=D>>>0<z>>>0?b+1|0:b;p=D;z=p+v[g+192>>2]|0;b=b+H|0;b=p>>>0>z>>>0?b+1|0:b;p=z;D=x;x=b;O=aa(p^O,D^b,16);z=s+O|0;D=Q;b=t+D|0;b=s>>>0>z>>>0?b+1|0:b;s=z;t=b;H=aa(X^s,b^A,63);z=Q;b=i+S|0;A=u+N|0;b=A>>>0<u>>>0?b+1|0:b;u=A+E|0;b=b+K|0;b=u>>>0<E>>>0?b+1|0:b;E=u;A=n;n=b;K=aa(u^R,A^b,32);A=e+K|0;u=Q;b=h+u|0;b=e>>>0>A>>>0?b+1|0:b;e=A;h=i;i=b;A=aa(e^N,h^b,24);b=Q;N=b;h=b;X=A;b=n+$|0;A=y+E|0;b=A>>>0<y>>>0?b+1|0:b;n=X+A|0;b=b+h|0;S=n;h=u;u=n>>>0<A>>>0?b+1|0:b;U=aa(n^K,h^u,16);n=e+U|0;h=Q;b=i+h|0;R=n;e=e>>>0>n>>>0?b+1|0:b;y=aa(X^n,e^N,63);n=Q;b=l+k|0;i=d+T|0;b=i>>>0<d>>>0?b+1|0:b;d=i+F|0;b=b+W|0;A=d;d=d>>>0<F>>>0?b+1|0:b;E=aa(A^V,d^G,32);k=o+E|0;i=Q;b=C+i|0;b=k>>>0<o>>>0?b+1|0:b;o=l;l=b;o=aa(k^T,o^b,24);b=Q;C=b;b=d+da|0;A=r+A|0;b=A>>>0<r>>>0?b+1|0:b;r=A;d=r+o|0;b=b+C|0;b=d>>>0<r>>>0?b+1|0:b;r=d;G=b;$=aa(d^E,b^i,16);d=k+$|0;A=Q;b=l+A|0;E=o;o=d;i=d>>>0<k>>>0?b+1|0:b;K=aa(E^d,i^C,63);d=Q;b=j+Z|0;l=c+M|0;b=l>>>0<c>>>0?b+1|0:b;c=l+B|0;b=b+m|0;b=c>>>0<B>>>0?b+1|0:b;l=b;k=aa(c^ca,b^q,32);q=J+k|0;m=Q;b=I+m|0;C=q;b=q>>>0<J>>>0?b+1|0:b;B=aa(q^M,b^j,24);q=b;ca=v[g+236>>2];E=ca;F=B;I=C;C=k;j=Q;b=l+j|0;B=c+B|0;b=B>>>0<c>>>0?b+1|0:b;k=v[g+232>>2];l=B;c=k+l|0;b=b+E|0;B=c;E=m;m=c>>>0<l>>>0?b+1|0:b;C=aa(C^c,E^m,16);l=I+C|0;c=Q;b=c+q|0;q=l;E=j;j=l>>>0<C>>>0?b+1|0:b;J=aa(F^l,E^j,63);l=Q;ba=v[g+212>>2];E=ba;F=o;I=C;b=n+x|0;C=p+y|0;b=C>>>0<p>>>0?b+1|0:b;o=v[g+208>>2];x=C;p=o+x|0;b=b+E|0;b=p>>>0<x>>>0?b+1|0:b;x=c;c=b;C=aa(I^p,x^b,32);x=F+C|0;b=i;i=Q;b=b+i|0;E=x;b=x>>>0<C>>>0?b+1|0:b;y=aa(x^y,b^n,24);x=b;da=v[g+244>>2];F=da;I=y;M=C;n=Q;b=c+n|0;y=p+y|0;b=y>>>0<p>>>0?b+1|0:b;C=v[g+240>>2];p=y;c=C+p|0;b=b+F|0;b=c>>>0<p>>>0?b+1|0:b;p=c;y=b;W=aa(M^c,b^i,16);i=W;c=i+E|0;b=x;x=Q;b=b+x|0;E=c;F=c>>>0<i>>>0?b+1|0:b;I=aa(I^c,F^n,63);i=Q;M=K;b=u+L|0;c=f+S|0;b=c>>>0<f>>>0?b+1|0:b;n=c;c=c+K|0;b=b+d|0;b=c>>>0<n>>>0?b+1|0:b;n=b;K=aa(c^O,b^D,32);D=q+K|0;u=Q;b=j+u|0;b=q>>>0>D>>>0?b+1|0:b;q=aa(M^D,b^d,24);j=b;V=v[g+180>>2];M=V;O=q;d=Q;b=n+d|0;q=c+q|0;b=q>>>0<c>>>0?b+1|0:b;ea=v[g+176>>2];n=q;c=ea+n|0;b=b+M|0;M=D;q=c;D=u;u=c>>>0<n>>>0?b+1|0:b;D=aa(c^K,D^u,16);n=D;c=M+n|0;K=Q;b=K+j|0;Y=c;c=c>>>0<n>>>0?b+1|0:b;M=aa(O^Y,c^d,63);j=Q;N=v[g+188>>2];O=J;b=l+G|0;d=r+J|0;b=d>>>0<r>>>0?b+1|0:b;n=v[g+184>>2];r=d;d=n+d|0;b=b+N|0;b=d>>>0<r>>>0?b+1|0:b;r=b;J=aa(d^U,b^h,32);h=s+J|0;G=Q;b=t+G|0;t=h;b=s>>>0>h>>>0?b+1|0:b;h=aa(O^h,b^l,24);s=b;X=v[g+140>>2];O=X;S=h;T=t;l=Q;b=r+l|0;h=d+h|0;b=h>>>0<d>>>0?b+1|0:b;t=v[g+136>>2];d=t+h|0;b=b+O|0;b=d>>>0<h>>>0?b+1|0:b;r=d;h=G;G=b;fa=aa(d^J,h^b,16);h=fa;d=T+h|0;b=s;s=Q;b=b+s|0;b=d>>>0<h>>>0?b+1|0:b;O=aa(S^d,b^l,63);l=Q;T=v[g+204>>2];h=d;J=b;b=m+z|0;d=B+H|0;b=d>>>0<B>>>0?b+1|0:b;S=v[g+200>>2];m=d;d=S+d|0;b=b+T|0;b=d>>>0<m>>>0?b+1|0:b;m=b;A=aa(d^$,b^A,32);B=A+R|0;b=e;e=Q;b=b+e|0;b=B>>>0<A>>>0?b+1|0:b;H=aa(B^H,b^z,24);z=b;U=v[g+164>>2];_=B;R=Q;b=m+R|0;B=d+H|0;b=B>>>0<d>>>0?b+1|0:b;Z=v[g+160>>2];m=B;d=Z+m|0;b=b+U|0;b=d>>>0<m>>>0?b+1|0:b;m=d;B=e;e=b;$=aa(d^A,B^b,16);A=$;d=_+A|0;B=Q;b=B+z|0;_=d;d=d>>>0<A>>>0?b+1|0:b;A=aa(_^H,d^R,63);b=Q;H=b;z=b;R=h;b=y+N|0;h=n+p|0;b=h>>>0<p>>>0?b+1|0:b;p=h+A|0;b=b+z|0;z=p;p=p>>>0<h>>>0?b+1|0:b;D=aa(z^D,p^K,32);y=R+D|0;h=Q;b=h+J|0;K=y;b=y>>>0<D>>>0?b+1|0:b;J=aa(A^y,H^b,24);A=Q;H=A;y=b;R=D;b=p+T|0;D=z+S|0;b=D>>>0<z>>>0?b+1|0:b;p=D;z=p+J|0;b=b+A|0;b=p>>>0>z>>>0?b+1|0:b;p=z;A=h;h=b;R=aa(R^p,A^b,16);D=R;z=D+K|0;A=Q;b=A+y|0;y=z;D=z>>>0<D>>>0?b+1|0:b;H=aa(z^J,D^H,63);z=Q;b=i+L|0;K=f+I|0;b=K>>>0<f>>>0?b+1|0:b;f=q+K|0;b=b+u|0;b=f>>>0<q>>>0?b+1|0:b;q=f;f=b;s=aa(q^fa,b^s,32);u=s+_|0;b=d;d=Q;b=b+d|0;K=u;b=s>>>0>u>>>0?b+1|0:b;J=aa(u^I,b^i,24);i=Q;u=b;I=s;b=f+X|0;s=q+t|0;b=s>>>0<t>>>0?b+1|0:b;f=s+J|0;b=b+i|0;b=f>>>0<s>>>0?b+1|0:b;s=f;q=b;L=aa(I^f,b^d,16);d=L;f=d+K|0;b=u;u=Q;b=b+u|0;X=f;d=d>>>0>f>>>0?b+1|0:b;K=aa(f^J,d^i,63);i=Q;b=j+ca|0;f=k+M|0;b=f>>>0<k>>>0?b+1|0:b;f=f+r|0;b=b+G|0;b=f>>>0<r>>>0?b+1|0:b;r=b;G=aa(f^$,b^B,32);B=E+G|0;k=Q;b=F+k|0;b=B>>>0<E>>>0?b+1|0:b;E=B;t=aa(B^M,b^j,24);B=b;fa=v[g+228>>2];F=fa;I=t;J=G;j=Q;b=r+j|0;t=f+t|0;b=t>>>0<f>>>0?b+1|0:b;G=v[g+224>>2];f=G+t|0;b=b+F|0;b=f>>>0<t>>>0?b+1|0:b;r=f;t=k;k=b;_=aa(J^f,t^b,16);t=_;f=t+E|0;b=B;B=Q;b=b+B|0;F=f;f=f>>>0<t>>>0?b+1|0:b;J=aa(I^F,f^j,63);j=Q;ha=v[g+220>>2];I=ha;b=e+l|0;E=m+O|0;b=E>>>0<m>>>0?b+1|0:b;t=v[g+216>>2];m=E;e=t+m|0;b=b+I|0;E=e;e=e>>>0<m>>>0?b+1|0:b;x=aa(E^W,e^x,32);m=x+Y|0;b=c;c=Q;b=b+c|0;I=m;b=m>>>0<x>>>0?b+1|0:b;M=aa(m^O,b^l,24);l=Q;O=l;m=b;W=x;b=e+da|0;x=C+E|0;b=x>>>0<C>>>0?b+1|0:b;e=x+M|0;b=b+l|0;b=e>>>0<x>>>0?b+1|0:b;x=e;C=b;E=aa(W^e,b^c,16);e=E;c=e+I|0;l=Q;b=l+m|0;ca=c;e=c>>>0<e>>>0?b+1|0:b;I=aa(c^M,e^O,63);c=Q;m=f;M=v[g+148>>2];O=E;b=i+h|0;E=p+K|0;b=E>>>0<p>>>0?b+1|0:b;f=v[g+144>>2];h=E;p=f+h|0;b=b+M|0;b=p>>>0<h>>>0?b+1|0:b;h=l;l=b;E=aa(O^p,h^b,32);h=E+F|0;b=m;m=Q;b=b+m|0;F=h;b=h>>>0<E>>>0?b+1|0:b;K=aa(h^K,b^i,24);i=Q;O=i;h=b;W=E;b=l+V|0;E=p+ea|0;b=E>>>0<p>>>0?b+1|0:b;p=E;l=p+K|0;b=b+i|0;b=l>>>0<p>>>0?b+1|0:b;p=l;i=m;m=b;da=aa(W^l,i^b,16);l=da;i=l+F|0;b=h;h=Q;b=b+h|0;E=i;F=i>>>0<l>>>0?b+1|0:b;O=aa(i^K,F^O,63);i=Q;W=v[g+172>>2];b=j+q|0;l=s+J|0;b=l>>>0<s>>>0?b+1|0:b;K=v[g+168>>2];s=l;l=K+l|0;b=b+W|0;q=l;l=l>>>0<s>>>0?b+1|0:b;A=aa(q^R,l^A,32);s=A+ca|0;b=e;e=Q;b=b+e|0;R=J;J=s;b=s>>>0<A>>>0?b+1|0:b;R=aa(R^s,b^j,24);j=Q;s=b;b=l+ba|0;q=q+o|0;b=q>>>0<o>>>0?b+1|0:b;l=q+R|0;b=b+j|0;b=l>>>0<q>>>0?b+1|0:b;q=l;o=l^A;A=b;o=aa(o,b^e,16);l=o;e=l+J|0;b=s;s=Q;b=b+s|0;V=e;e=e>>>0<l>>>0?b+1|0:b;R=aa(V^R,e^j,63);l=Q;b=k+U|0;j=r+Z|0;b=j>>>0<r>>>0?b+1|0:b;r=j;j=j+I|0;b=b+c|0;b=j>>>0<r>>>0?b+1|0:b;r=j;k=u;u=b;J=aa(j^L,k^b,32);k=y+J|0;j=Q;b=D+j|0;D=I;I=k;b=k>>>0<y>>>0?b+1|0:b;D=aa(D^k,b^c,24);k=b;y=j;ca=v[g+132>>2];L=ca;Y=D;c=Q;b=u+c|0;D=r+D|0;b=D>>>0<r>>>0?b+1|0:b;j=v[g+128>>2];r=D;u=j+r|0;b=b+L|0;b=r>>>0>u>>>0?b+1|0:b;r=u;D=y;y=b;ea=aa(u^J,D^b,16);D=ea;u=D+I|0;b=k;k=Q;b=b+k|0;b=u>>>0<D>>>0?b+1|0:b;D=u;$=aa(Y^u,b^c,63);u=Q;Y=v[g+252>>2];L=Y;c=b;b=z+C|0;I=x+H|0;b=I>>>0<x>>>0?b+1|0:b;J=v[g+248>>2];C=I;x=J+C|0;b=b+L|0;b=x>>>0<C>>>0?b+1|0:b;C=B;B=b;I=aa(x^_,C^b,32);C=I+X|0;b=d;d=Q;b=b+d|0;L=H;H=C;b=C>>>0<I>>>0?b+1|0:b;L=aa(L^C,b^z,24);z=L;C=b;ba=v[g+196>>2];_=I;X=Q;b=B+X|0;I=x+z|0;b=I>>>0<x>>>0?b+1|0:b;z=v[g+192>>2];B=I;x=z+B|0;b=b+ba|0;b=x>>>0<B>>>0?b+1|0:b;B=b;_=aa(_^x,b^d,16);I=_;d=I+H|0;b=C;C=Q;b=b+C|0;b=d>>>0<I>>>0?b+1|0:b;I=d;H=b;L=aa(L^d,b^X,63);b=Q;X=b;d=b;ga=D;D=o;b=m+T|0;o=p+S|0;b=o>>>0<p>>>0?b+1|0:b;p=o;m=p+L|0;b=b+d|0;d=m;m=d>>>0<p>>>0?b+1|0:b;D=aa(D^d,m^s,32);s=D;p=ga+s|0;b=c;c=Q;b=b+c|0;b=p>>>0<s>>>0?b+1|0:b;s=b;L=aa(L^p,X^b,24);b=Q;T=b;o=b;ga=L;S=D;b=m+ca|0;D=d+j|0;b=D>>>0<d>>>0?b+1|0:b;m=D;d=m+L|0;b=b+o|0;o=d;D=d>>>0<m>>>0?b+1|0:b;S=aa(S^d,D^c,16);c=p+S|0;L=Q;b=s+L|0;X=c;d=c>>>0<p>>>0?b+1|0:b;T=aa(ga^c,d^T,63);m=Q;b=i+W|0;c=K+O|0;b=c>>>0<K>>>0?b+1|0:b;c=c+q|0;b=b+A|0;A=c;c=c>>>0<q>>>0?b+1|0:b;k=aa(A^ea,c^k,32);s=I+k|0;p=Q;b=H+p|0;b=s>>>0<I>>>0?b+1|0:b;q=i;i=b;K=aa(s^O,q^b,24);b=Q;I=b;q=b;O=k;b=c+N|0;k=n+A|0;b=k>>>0<n>>>0?b+1|0:b;n=k;c=n+K|0;b=b+q|0;H=c;q=p;p=c>>>0<n>>>0?b+1|0:b;N=aa(O^c,q^p,16);c=s+N|0;q=Q;b=i+q|0;W=c;i=c>>>0<s>>>0?b+1|0:b;K=aa(c^K,i^I,63);n=Q;b=l+M|0;c=f+R|0;b=c>>>0<f>>>0?b+1|0:b;c=c+r|0;b=b+y|0;b=c>>>0<r>>>0?b+1|0:b;s=b;C=aa(c^_,b^C,32);k=E+C|0;r=Q;b=F+r|0;b=k>>>0<E>>>0?b+1|0:b;y=l;l=b;y=aa(k^R,y^b,24);b=Q;E=b;A=b;F=C;b=s+U|0;C=c+Z|0;b=C>>>0<c>>>0?b+1|0:b;s=C;c=s+y|0;b=b+A|0;b=c>>>0<s>>>0?b+1|0:b;s=c;C=r;r=b;Z=aa(F^c,C^b,16);c=k+Z|0;A=Q;b=l+A|0;C=y;y=c;l=c>>>0<k>>>0?b+1|0:b;E=aa(C^c,l^E,63);c=Q;R=v[g+212>>2];F=R;b=u+B|0;C=x+$|0;b=C>>>0<x>>>0?b+1|0:b;k=v[g+208>>2];B=C;x=k+B|0;b=b+F|0;C=x;x=x>>>0<B>>>0?b+1|0:b;F=aa(C^da,x^h,32);h=F;B=h+V|0;b=e;e=Q;b=b+e|0;b=h>>>0>B>>>0?b+1|0:b;h=u;u=b;I=aa(B^$,h^b,24);b=Q;O=b;h=b;b=x+Y|0;C=C+J|0;b=C>>>0<J>>>0?b+1|0:b;x=C+I|0;b=b+h|0;b=x>>>0<C>>>0?b+1|0:b;h=b;F=aa(x^F,b^e,16);e=B+F|0;C=Q;b=u+C|0;J=e;e=e>>>0<B>>>0?b+1|0:b;I=aa(J^I,e^O,63);u=Q;$=v[g+244>>2];O=$;V=y;b=n+D|0;y=o+K|0;b=y>>>0<o>>>0?b+1|0:b;B=v[g+240>>2];o=B+y|0;b=b+O|0;b=o>>>0<y>>>0?b+1|0:b;y=C;C=b;D=aa(o^F,y^b,32);y=V+D|0;b=l;l=Q;b=b+l|0;F=K;K=y;b=y>>>0<D>>>0?b+1|0:b;F=aa(F^y,b^n,24);y=b;da=v[g+140>>2];O=da;Y=F;_=D;n=Q;b=C+n|0;F=o+F|0;b=F>>>0<o>>>0?b+1|0:b;D=v[g+136>>2];C=F;o=D+C|0;b=b+O|0;V=o;o=o>>>0<C>>>0?b+1|0:b;ea=aa(_^V,o^l,16);F=ea;l=F+K|0;C=Q;b=C+y|0;y=l;K=n;n=l>>>0<F>>>0?b+1|0:b;O=aa(Y^l,K^n,63);l=Q;Y=E;b=p+ha|0;E=t+H|0;b=E>>>0<t>>>0?b+1|0:b;t=E;p=Y+t|0;b=b+c|0;F=p;p=p>>>0<t>>>0?b+1|0:b;K=aa(F^S,p^L,32);E=K;t=E+J|0;b=e;e=Q;b=b+e|0;b=t>>>0<E>>>0?b+1|0:b;E=c;c=b;J=aa(Y^t,E^b,24);b=Q;H=b;E=b;b=p+fa|0;F=G+F|0;b=F>>>0<G>>>0?b+1|0:b;G=F;p=G+J|0;b=b+E|0;b=p>>>0<G>>>0?b+1|0:b;G=b;E=aa(p^K,b^e,16);e=t+E|0;F=Q;b=c+F|0;b=e>>>0<t>>>0?b+1|0:b;t=e;K=b;S=aa(e^J,b^H,63);e=Q;Y=v[g+180>>2];H=Y;L=I;b=r+u|0;c=s+I|0;b=c>>>0<s>>>0?b+1|0:b;J=v[g+176>>2];s=c;c=J+c|0;b=b+H|0;b=c>>>0<s>>>0?b+1|0:b;s=b;I=aa(c^N,b^q,32);q=I;r=q+X|0;b=d;d=Q;b=b+d|0;b=r>>>0<q>>>0?b+1|0:b;q=u;u=b;H=aa(L^r,q^b,24);b=Q;L=b;q=b;N=I;b=s+ba|0;I=c+z|0;b=I>>>0<c>>>0?b+1|0:b;s=I;c=s+H|0;b=b+q|0;b=c>>>0<s>>>0?b+1|0:b;s=c;q=b;X=aa(N^c,b^d,16);c=r+X|0;I=Q;b=u+I|0;b=c>>>0<r>>>0?b+1|0:b;U=aa(c^H,b^L,63);d=Q;fa=v[g+156>>2];L=fa;u=b;b=m+h|0;H=x+T|0;b=H>>>0<x>>>0?b+1|0:b;r=v[g+152>>2];h=H;x=r+h|0;b=b+L|0;b=h>>>0>x>>>0?b+1|0:b;h=b;H=aa(x^Z,b^A,32);A=H+W|0;b=i;i=Q;b=b+i|0;b=A>>>0<H>>>0?b+1|0:b;L=aa(A^T,b^m,24);m=b;T=v[g+236>>2];W=A;Z=H;N=Q;b=h+N|0;H=x+L|0;b=H>>>0<x>>>0?b+1|0:b;A=v[g+232>>2];h=H;x=A+h|0;b=b+T|0;b=h>>>0>x>>>0?b+1|0:b;h=b;Z=aa(Z^x,b^i,16);H=Z;i=W+H|0;b=m;m=Q;b=b+m|0;b=i>>>0<H>>>0?b+1|0:b;H=i;i=i^L;L=b;N=aa(i,b^N,63);b=Q;W=b;i=b;_=c;b=o+M|0;c=f+V|0;b=c>>>0<f>>>0?b+1|0:b;f=c;c=c+N|0;b=b+i|0;b=c>>>0<f>>>0?b+1|0:b;f=b;M=aa(c^E,b^F,32);E=M;o=_+E|0;i=Q;b=i+u|0;u=o;o=u>>>0<E>>>0?b+1|0:b;F=aa(N^u,W^o,24);b=Q;E=b;N=v[g+228>>2];_=F;b=b+f|0;F=c+F|0;b=F>>>0<c>>>0?b+1|0:b;f=F;c=f+v[g+224>>2]|0;b=b+N|0;F=c;N=c^M;M=c>>>0<f>>>0?b+1|0:b;W=aa(N,M^i,16);c=u+W|0;N=Q;b=o+N|0;V=c;c=c>>>0<u>>>0?b+1|0:b;E=aa(_^V,c^E,63);i=Q;b=l+G|0;f=p+O|0;b=f>>>0<p>>>0?b+1|0:b;f=f+J|0;b=b+Y|0;o=f;f=f>>>0<J>>>0?b+1|0:b;J=aa(o^X,f^I,32);p=H+J|0;u=Q;b=L+u|0;b=p>>>0<H>>>0?b+1|0:b;G=l;l=b;I=aa(p^O,G^b,24);b=Q;H=b;G=b;b=f+R|0;o=k+o|0;b=o>>>0<k>>>0?b+1|0:b;k=o;f=k+I|0;b=b+G|0;b=f>>>0<k>>>0?b+1|0:b;k=f;o=u;u=b;L=aa(f^J,o^b,16);f=p+L|0;G=Q;b=l+G|0;b=f>>>0<p>>>0?b+1|0:b;p=f;o=b;J=aa(f^I,b^H,63);l=Q;b=e+ca|0;f=j+S|0;b=f>>>0<j>>>0?b+1|0:b;f=f+s|0;b=b+q|0;b=f>>>0<s>>>0?b+1|0:b;j=b;I=aa(f^Z,b^m,32);s=y+I|0;m=Q;b=n+m|0;n=s;s=e;e=n>>>0<y>>>0?b+1|0:b;q=aa(n^S,s^e,24);b=Q;s=b;y=v[g+220>>2];S=q;b=b+j|0;q=f+q|0;b=q>>>0<f>>>0?b+1|0:b;j=q;f=j+v[g+216>>2]|0;b=b+y|0;q=f;y=m;m=f>>>0<j>>>0?b+1|0:b;H=aa(f^I,y^m,16);f=n+H|0;y=Q;b=e+y|0;O=f;f=f>>>0<n>>>0?b+1|0:b;I=aa(S^O,f^s,63);e=Q;b=d+ba|0;j=z+U|0;b=j>>>0<z>>>0?b+1|0:b;z=j+x|0;b=b+h|0;s=z;z=s>>>0<x>>>0?b+1|0:b;h=aa(s^ea,z^C,32);n=t+h|0;j=Q;b=K+j|0;b=n>>>0<t>>>0?b+1|0:b;x=d;d=b;t=aa(n^U,x^b,24);b=Q;C=b;x=b;b=z+fa|0;s=s+r|0;b=s>>>0<r>>>0?b+1|0:b;z=s+t|0;b=b+x|0;x=z;s=s>>>0>x>>>0?b+1|0:b;r=aa(x^h,s^j,16);z=n+r|0;j=Q;b=d+j|0;d=z;n=n>>>0>d>>>0?b+1|0:b;C=aa(d^t,n^C,63);z=Q;t=v[g+164>>2];K=r;b=l+M|0;r=F+J|0;b=r>>>0<F>>>0?b+1|0:b;h=r;r=h+v[g+160>>2]|0;b=b+t|0;t=r;r=j;j=t>>>0<h>>>0?b+1|0:b;h=aa(K^t,r^j,32);r=h+O|0;K=Q;b=K+f|0;f=r;r=l;l=f>>>0<h>>>0?b+1|0:b;F=aa(f^J,r^l,24);b=Q;r=b;b=j+T|0;t=t+A|0;b=t>>>0<A>>>0?b+1|0:b;j=t+F|0;b=b+r|0;b=j>>>0<t>>>0?b+1|0:b;t=j;j=h^j;h=b;b=aa(j,K^b,16);j=Q;A=j;v[g+120>>2]=b;v[g+124>>2]=j;j=b+f|0;b=l+A|0;J=j;f=f>>>0>j>>>0?b+1|0:b;F=aa(j^F,f^r,63);l=Q;r=v[g+188>>2];b=e+u|0;j=k+I|0;b=j>>>0<k>>>0?b+1|0:b;u=j;j=j+v[g+184>>2]|0;b=b+r|0;b=j>>>0<u>>>0?b+1|0:b;u=b;A=aa(j^W,b^N,32);k=d+A|0;r=Q;b=n+r|0;n=k;b=d>>>0>n>>>0?b+1|0:b;k=aa(n^I,b^e,24);e=b;I=v[g+172>>2];K=k;O=n;d=Q;b=u+d|0;k=j+k|0;b=k>>>0<j>>>0?b+1|0:b;n=v[g+168>>2];j=n+k|0;b=b+I|0;b=j>>>0<k>>>0?b+1|0:b;u=j;k=r;r=b;M=aa(j^A,k^b,16);A=M;j=O+A|0;k=Q;b=k+e|0;N=j;e=d;d=j>>>0<A>>>0?b+1|0:b;K=aa(K^j,e^d,63);j=Q;b=v[g+252>>2];A=b;e=b;O=C;S=L;b=m+z|0;C=q+C|0;b=C>>>0<q>>>0?b+1|0:b;L=v[g+248>>2];q=C;m=L+q|0;b=b+e|0;C=m;e=m>>>0<q>>>0?b+1|0:b;G=aa(S^m,e^G,32);q=G;m=q+V|0;b=c;c=Q;b=b+c|0;b=m>>>0<q>>>0?b+1|0:b;q=z;z=b;O=aa(O^m,q^b,24);b=Q;T=b;q=b;R=O;S=G;b=e+$|0;G=B+C|0;b=G>>>0<B>>>0?b+1|0:b;B=G;e=B+O|0;b=b+q|0;q=e;B=e>>>0<B>>>0?b+1|0:b;O=aa(S^e,B^c,16);c=m+O|0;G=Q;b=z+G|0;S=c;c=c>>>0<m>>>0?b+1|0:b;C=aa(R^S,c^T,63);z=Q;b=i+da|0;e=D+E|0;b=e>>>0<D>>>0?b+1|0:b;e=e+x|0;b=b+s|0;b=e>>>0<x>>>0?b+1|0:b;m=b;y=aa(e^H,b^y,32);s=p+y|0;x=Q;b=o+x|0;b=p>>>0>s>>>0?b+1|0:b;p=s;s=i;i=b;o=aa(p^E,s^b,24);b=Q;s=b;D=v[g+204>>2];E=o;b=b+m|0;o=e+o|0;b=o>>>0<e>>>0?b+1|0:b;m=o;e=m+v[g+200>>2]|0;b=b+D|0;b=e>>>0<m>>>0?b+1|0:b;m=e;o=x;x=b;D=aa(e^y,o^b,16);e=p+D|0;o=Q;b=i+o|0;y=e;e=e>>>0<p>>>0?b+1|0:b;p=aa(E^y,e^s,63);b=Q;i=b;s=v[g+228>>2];H=p;b=b+h|0;p=p+t|0;b=p>>>0<t>>>0?b+1|0:b;t=p;p=p+v[g+224>>2]|0;b=b+s|0;b=p>>>0<t>>>0?b+1|0:b;s=b;h=aa(p^M,b^k,32);k=h+S|0;b=c;c=Q;b=b+c|0;E=k;b=k>>>0<h>>>0?b+1|0:b;t=aa(H^k,b^i,24);k=b;M=t;i=Q;b=s+i|0;t=p+t|0;b=t>>>0<p>>>0?b+1|0:b;p=n+t|0;b=b+I|0;b=n>>>0>p>>>0?b+1|0:b;n=p;p=b;I=aa(n^h,b^c,16);t=I;c=t+E|0;s=Q;b=s+k|0;H=c;c=c>>>0<t>>>0?b+1|0:b;ma=g,na=aa(M^H,c^i,63),v[ma+32>>2]=na;v[g+36>>2]=Q;k=v[g+140>>2];b=l+r|0;i=u+F|0;b=i>>>0<u>>>0?b+1|0:b;u=i;i=i+v[g+136>>2]|0;b=b+k|0;b=i>>>0<u>>>0?b+1|0:b;u=b;G=aa(i^O,b^G,32);k=G;r=k+y|0;b=e;e=Q;b=b+e|0;t=r;b=k>>>0>t>>>0?b+1|0:b;k=aa(t^F,b^l,24);r=b;h=k;l=Q;b=u+l|0;k=i+k|0;b=k>>>0<i>>>0?b+1|0:b;i=k+L|0;b=b+A|0;b=i>>>0<k>>>0?b+1|0:b;u=i;k=b;L=aa(i^G,b^e,16);i=L;e=i+t|0;b=r;r=Q;b=b+r|0;M=e;e=e>>>0<i>>>0?b+1|0:b;y=aa(h^M,e^l,63);i=Q;G=v[g+244>>2];b=j+B|0;l=q+K|0;b=l>>>0<q>>>0?b+1|0:b;q=l;l=l+v[g+240>>2]|0;b=b+G|0;b=l>>>0<q>>>0?b+1|0:b;q=b;t=aa(l^D,b^o,32);B=t+J|0;b=f;f=Q;b=b+f|0;A=B;b=B>>>0<t>>>0?b+1|0:b;h=aa(B^K,b^j,24);B=b;b=v[g+236>>2];G=b;o=h;E=t;j=Q;b=q+j|0;h=l+h|0;b=h>>>0<l>>>0?b+1|0:b;t=v[g+232>>2];l=t+h|0;b=b+G|0;b=l>>>0<h>>>0?b+1|0:b;q=l;h=b;J=aa(E^l,b^f,16);l=J;f=l+A|0;b=B;B=Q;b=b+B|0;A=f;E=j;j=f>>>0<l>>>0?b+1|0:b;D=aa(o^f,E^j,63);l=Q;o=v[g+164>>2];F=C;b=z+x|0;f=m+C|0;b=f>>>0<m>>>0?b+1|0:b;m=f;f=f+v[g+160>>2]|0;b=b+o|0;b=f>>>0<m>>>0?b+1|0:b;m=b;C=aa(f^v[g+120>>2],b^v[g+124>>2],32);o=C;x=o+N|0;b=d;d=Q;b=b+d|0;E=x;b=x>>>0<o>>>0?b+1|0:b;o=aa(F^x,b^z,24);x=b;F=v[g+212>>2];O=o;z=Q;b=m+z|0;o=f+o|0;b=o>>>0<f>>>0?b+1|0:b;m=o;f=m+v[g+208>>2]|0;b=b+F|0;N=f;m=f>>>0<m>>>0?b+1|0:b;o=aa(f^C,m^d,16);f=o+E|0;d=Q;b=d+x|0;K=f;f=f>>>0<o>>>0?b+1|0:b;E=aa(O^K,f^z,63);z=Q;C=v[g+132>>2];O=y;b=i+p|0;x=n+y|0;b=x>>>0<n>>>0?b+1|0:b;p=x;n=p+v[g+128>>2]|0;b=b+C|0;b=n>>>0<p>>>0?b+1|0:b;p=d;d=b;y=aa(n^o,p^b,32);p=A+y|0;F=Q;b=j+F|0;b=p>>>0<A>>>0?b+1|0:b;x=i;i=b;C=aa(O^p,x^b,24);j=v[g+184>>2];A=Q;b=d+A|0;o=n+C|0;b=o>>>0<n>>>0?b+1|0:b;d=j+o|0;x=v[g+188>>2];b=x+b|0;o=d;d=d>>>0<j>>>0?b+1|0:b;b=aa(y^o,F^d,16);n=Q;y=n;v[g+120>>2]=b;v[g+124>>2]=n;n=b+p|0;b=i+y|0;O=n;i=n>>>0<p>>>0?b+1|0:b;F=aa(n^C,i^A,63);n=Q;A=v[g+180>>2];b=l+k|0;p=u+D|0;b=p>>>0<u>>>0?b+1|0:b;u=p+v[g+176>>2]|0;b=b+A|0;b=p>>>0>u>>>0?b+1|0:b;p=b;C=aa(u^I,b^s,32);k=C;s=k+K|0;b=f;f=Q;b=b+f|0;y=s;b=k>>>0>s>>>0?b+1|0:b;A=aa(s^D,b^l,24);s=b;b=v[g+156>>2];k=b;D=A;l=Q;b=p+l|0;A=u+A|0;b=A>>>0<u>>>0?b+1|0:b;I=v[g+152>>2];p=A;u=I+p|0;b=b+k|0;b=p>>>0>u>>>0?b+1|0:b;p=b;A=aa(u^C,b^f,16);f=A+y|0;b=s;s=Q;b=b+s|0;T=f;f=f>>>0<A>>>0?b+1|0:b;K=aa(D^T,f^l,63);l=Q;b=v[g+204>>2];C=b;S=H;b=h+z|0;y=q+E|0;b=y>>>0<q>>>0?b+1|0:b;H=v[g+200>>2];h=y;q=H+h|0;b=b+C|0;b=q>>>0<h>>>0?b+1|0:b;h=r;r=b;D=aa(q^L,h^b,32);y=D;h=S+y|0;b=c;c=Q;b=b+c|0;L=E;E=h;b=h>>>0<y>>>0?b+1|0:b;y=aa(L^h,b^z,24);h=b;L=v[g+148>>2];S=y;z=Q;b=r+z|0;y=q+y|0;b=y>>>0<q>>>0?b+1|0:b;q=y;r=q+v[g+144>>2]|0;b=b+L|0;b=r>>>0<q>>>0?b+1|0:b;q=b;L=aa(r^D,b^c,16);y=L;c=y+E|0;b=h;h=Q;b=b+h|0;b=c>>>0<y>>>0?b+1|0:b;E=aa(S^c,b^z,63);z=Q;S=v[g+196>>2];y=b;R=M;V=J;J=v[g+32>>2];D=J+N|0;M=v[g+36>>2];b=M+m|0;b=D>>>0<J>>>0?b+1|0:b;m=D+v[g+192>>2]|0;b=b+S|0;b=m>>>0<D>>>0?b+1|0:b;D=B;B=b;N=aa(V^m,D^b,32);D=R+N|0;b=e;e=Q;b=b+e|0;S=D;b=D>>>0<N>>>0?b+1|0:b;J=aa(J^D,M^b,24);D=b;U=v[g+220>>2];R=c;V=A;W=t;X=o;o=J;M=Q;b=B+M|0;c=m+J|0;b=c>>>0<m>>>0?b+1|0:b;t=v[g+216>>2];m=c;c=t+c|0;b=b+U|0;b=c>>>0<m>>>0?b+1|0:b;m=c;B=b;J=aa(c^N,b^e,16);A=J;c=A+S|0;e=Q;b=e+D|0;D=c;c=c>>>0<A>>>0?b+1|0:b;o=aa(o^D,c^M,63);A=X+o|0;M=Q;b=M+d|0;b=o>>>0>A>>>0?b+1|0:b;d=W+A|0;b=b+G|0;b=d>>>0<A>>>0?b+1|0:b;A=s;s=b;N=aa(V^d,A^b,32);A=R+N|0;G=Q;b=G+y|0;S=A;b=A>>>0<N>>>0?b+1|0:b;y=aa(o^A,M^b,24);o=b;R=y;A=Q;b=s+A|0;y=d+y|0;b=y>>>0<d>>>0?b+1|0:b;d=t+y|0;b=b+U|0;s=d;y=G;G=d>>>0<t>>>0?b+1|0:b;M=aa(d^N,y^G,16);y=M;d=y+S|0;t=Q;b=t+o|0;N=d;d=d>>>0<y>>>0?b+1|0:b;ma=g,na=aa(R^N,d^A,63),v[ma+32>>2]=na;v[g+36>>2]=Q;o=j;b=n+p|0;j=u+F|0;b=j>>>0<u>>>0?b+1|0:b;u=j;j=o+j|0;b=b+x|0;x=j;j=j>>>0<u>>>0?b+1|0:b;h=aa(x^L,j^h,32);p=h+D|0;u=Q;b=u+c|0;A=p;b=p>>>0<h>>>0?b+1|0:b;c=aa(p^F,b^n,24);p=b;o=v[g+244>>2];y=c;n=Q;b=n+j|0;x=c+x|0;b=x>>>0<c>>>0?b+1|0:b;j=x;c=j+v[g+240>>2]|0;b=b+o|0;x=A;A=c;o=u;u=c>>>0<j>>>0?b+1|0:b;F=aa(c^h,o^u,16);j=F;c=x+j|0;b=p;p=Q;b=b+p|0;L=c;c=c>>>0<j>>>0?b+1|0:b;h=aa(y^L,c^n,63);j=Q;x=v[g+228>>2];b=l+q|0;n=r+K|0;b=n>>>0<r>>>0?b+1|0:b;r=n;n=n+v[g+224>>2]|0;b=b+x|0;b=n>>>0<r>>>0?b+1|0:b;r=e;e=b;q=aa(n^J,r^b,32);x=q+O|0;b=i;i=Q;b=b+i|0;o=x;b=q>>>0>x>>>0?b+1|0:b;r=aa(x^K,b^l,24);x=b;y=v[g+140>>2];D=r;l=Q;b=e+l|0;r=n+r|0;b=r>>>0<n>>>0?b+1|0:b;n=r;e=n+v[g+136>>2]|0;b=b+y|0;r=e;y=e^q;q=e>>>0<n>>>0?b+1|0:b;K=aa(y,q^i,16);i=K;e=i+o|0;b=x;x=Q;b=b+x|0;y=e;e=e>>>0<i>>>0?b+1|0:b;l=aa(D^y,e^l,63);n=Q;b=z+B|0;i=m+E|0;b=i>>>0<m>>>0?b+1|0:b;m=i;i=i+I|0;b=b+k|0;b=m>>>0>i>>>0?b+1|0:b;m=b;o=aa(i^v[g+120>>2],b^v[g+124>>2],32);k=o+T|0;b=f;f=Q;b=b+f|0;D=k;b=k>>>0<o>>>0?b+1|0:b;B=aa(k^E,b^z,24);k=b;E=B;z=Q;b=m+z|0;B=i+B|0;b=B>>>0<i>>>0?b+1|0:b;m=B;i=m+H|0;b=b+C|0;b=m>>>0>i>>>0?b+1|0:b;m=i;B=b;C=aa(i^o,b^f,16);o=C;f=o+D|0;i=Q;b=i+k|0;D=f;f=f>>>0<o>>>0?b+1|0:b;o=aa(E^D,f^z,63);z=Q;E=v[g+172>>2];H=h;b=j+G|0;k=s+h|0;b=k>>>0<s>>>0?b+1|0:b;s=k+v[g+168>>2]|0;b=b+E|0;b=k>>>0>s>>>0?b+1|0:b;h=i;i=b;h=aa(s^C,h^b,32);k=h+y|0;C=Q;b=C+e|0;b=k>>>0<h>>>0?b+1|0:b;e=j;j=b;y=aa(H^k,e^b,24);e=y+s|0;G=Q;b=i+G|0;b=e>>>0<s>>>0?b+1|0:b;i=v[g+128>>2];e=i+e|0;b=v[g+132>>2]+b|0;s=e;e=e>>>0<i>>>0?b+1|0:b;b=aa(h^s,C^e,16);i=Q;h=i;v[g+120>>2]=b;v[g+124>>2]=i;i=b+k|0;b=j+h|0;J=i;i=i>>>0<k>>>0?b+1|0:b;y=aa(J^y,i^G,63);j=Q;I=v[g+252>>2];h=I;C=l;b=n+u|0;G=l+A|0;b=G>>>0<l>>>0?b+1|0:b;k=v[g+248>>2];u=G;l=k+u|0;b=b+h|0;h=l;l=l>>>0<u>>>0?b+1|0:b;t=aa(h^M,l^t,32);G=t+D|0;u=Q;b=u+f|0;A=G;b=t>>>0>A>>>0?b+1|0:b;f=aa(C^A,b^n,24);G=b;C=v[g+164>>2];E=f;D=t;n=Q;b=n+l|0;t=f+h|0;b=t>>>0<f>>>0?b+1|0:b;l=t;f=l+v[g+160>>2]|0;b=b+C|0;t=f;h=u;u=f>>>0<l>>>0?b+1|0:b;h=aa(D^f,h^u,16);l=h;f=l+A|0;b=G;G=Q;b=b+G|0;H=f;f=f>>>0<l>>>0?b+1|0:b;D=aa(E^H,f^n,63);l=Q;b=v[g+196>>2];A=b;n=b;E=o;b=q+z|0;o=r+o|0;b=o>>>0<r>>>0?b+1|0:b;M=v[g+192>>2];q=o;r=M+q|0;b=b+n|0;o=r;n=o>>>0<q>>>0?b+1|0:b;q=aa(o^F,n^p,32);r=q+N|0;p=Q;b=p+d|0;C=r;b=r>>>0<q>>>0?b+1|0:b;d=aa(E^r,b^z,24);r=b;N=v[g+180>>2];E=N;F=d;O=q;z=Q;b=z+n|0;o=d+o|0;b=o>>>0<d>>>0?b+1|0:b;q=v[g+176>>2];n=o;d=q+n|0;b=b+E|0;b=d>>>0<n>>>0?b+1|0:b;n=d;o=p;p=b;O=aa(O^d,o^b,16);o=O;d=o+C|0;b=r;r=Q;b=b+r|0;b=d>>>0<o>>>0?b+1|0:b;E=aa(F^d,b^z,63);z=Q;o=v[g+148>>2];C=b;S=L;R=K;T=v[g+36>>2];b=B+T|0;L=v[g+32>>2];F=m+L|0;b=F>>>0<m>>>0?b+1|0:b;K=v[g+144>>2];B=F;m=K+B|0;b=b+o|0;b=m>>>0<B>>>0?b+1|0:b;B=x;x=b;F=aa(R^m,B^b,32);B=S+F|0;b=c;c=Q;b=b+c|0;S=B;b=B>>>0<F>>>0?b+1|0:b;L=aa(L^B,T^b,24);B=b;U=v[g+212>>2];R=d;V=h;W=s;T=Q;b=x+T|0;d=m+L|0;b=d>>>0<m>>>0?b+1|0:b;m=d;d=d+v[g+208>>2]|0;b=b+U|0;b=d>>>0<m>>>0?b+1|0:b;m=d;x=b;F=aa(d^F,b^c,16);d=F;c=d+S|0;s=Q;b=s+B|0;h=L;L=c;c=c>>>0<d>>>0?b+1|0:b;h=aa(h^L,c^T,63);d=W+h|0;T=Q;b=T+e|0;b=d>>>0<h>>>0?b+1|0:b;d=d+q|0;b=b+N|0;b=d>>>0<q>>>0?b+1|0:b;e=b;N=aa(V^d,b^G,32);G=N;B=R+G|0;q=Q;b=q+C|0;C=B;b=B>>>0<G>>>0?b+1|0:b;h=aa(h^B,T^b,24);G=b;S=h;B=Q;b=e+B|0;h=d+h|0;b=h>>>0<d>>>0?b+1|0:b;d=k+h|0;b=b+I|0;b=d>>>0<k>>>0?b+1|0:b;h=C;k=d;e=q;q=b;C=aa(d^N,e^b,16);e=C;d=h+e|0;b=G;G=Q;b=b+G|0;I=d;d=d>>>0<e>>>0?b+1|0:b;ma=g,na=aa(S^I,d^B,63),v[ma+32>>2]=na;v[g+36>>2]=Q;B=v[g+244>>2];b=j+u|0;e=t+y|0;b=e>>>0<t>>>0?b+1|0:b;u=e;e=e+v[g+240>>2]|0;b=b+B|0;B=e;e=e>>>0<u>>>0?b+1|0:b;t=aa(B^O,e^r,32);r=t+L|0;u=Q;b=u+c|0;h=r;b=h>>>0<t>>>0?b+1|0:b;c=aa(h^y,b^j,24);r=b;y=v[g+204>>2];O=c;j=Q;b=j+e|0;B=c+B|0;b=B>>>0<c>>>0?b+1|0:b;e=B;c=e+v[g+200>>2]|0;b=b+y|0;y=c;B=u;u=c>>>0<e>>>0?b+1|0:b;L=aa(c^t,B^u,16);e=L;c=e+h|0;b=r;r=Q;b=b+r|0;N=c;c=c>>>0<e>>>0?b+1|0:b;h=aa(O^N,c^j,63);j=Q;B=v[g+220>>2];b=l+p|0;e=n+D|0;b=e>>>0<n>>>0?b+1|0:b;n=e;e=e+v[g+216>>2]|0;b=b+B|0;b=e>>>0<n>>>0?b+1|0:b;n=b;B=aa(e^F,b^s,32);s=B;p=s+J|0;b=i;i=Q;b=b+i|0;t=p;b=p>>>0<s>>>0?b+1|0:b;s=aa(p^D,b^l,24);p=b;D=v[g+156>>2];F=s;l=Q;b=n+l|0;s=e+s|0;b=s>>>0<e>>>0?b+1|0:b;n=s;e=n+v[g+152>>2]|0;b=b+D|0;s=e;D=e^B;B=e>>>0<n>>>0?b+1|0:b;J=aa(D,B^i,16);i=J;e=i+t|0;b=p;p=Q;b=b+p|0;D=e;e=e>>>0<i>>>0?b+1|0:b;l=aa(F^D,e^l,63);n=Q;t=v[g+132>>2];O=E;b=z+x|0;i=m+E|0;b=i>>>0<m>>>0?b+1|0:b;m=i;i=i+v[g+128>>2]|0;b=b+t|0;b=m>>>0>i>>>0?b+1|0:b;m=b;E=aa(i^v[g+120>>2],b^v[g+124>>2],32);t=E;x=t+H|0;b=f;f=Q;b=b+f|0;F=x;b=x>>>0<t>>>0?b+1|0:b;t=aa(O^x,b^z,24);x=b;H=t;z=Q;b=m+z|0;t=i+t|0;b=t>>>0<i>>>0?b+1|0:b;m=t;i=m+M|0;b=b+A|0;b=m>>>0>i>>>0?b+1|0:b;m=i;t=b;E=aa(i^E,b^f,16);A=E;f=A+F|0;i=Q;b=i+x|0;F=f;f=f>>>0<A>>>0?b+1|0:b;A=aa(H^F,f^z,63);z=Q;H=v[g+228>>2];M=h;b=j+q|0;x=k+h|0;b=x>>>0<k>>>0?b+1|0:b;q=x;x=q+v[g+224>>2]|0;b=b+H|0;b=q>>>0>x>>>0?b+1|0:b;h=i;i=b;k=aa(x^E,h^b,32);q=k+D|0;h=Q;b=h+e|0;D=q;e=j;j=k>>>0>q>>>0?b+1|0:b;E=aa(M^q,e^j,24);e=E+x|0;q=Q;b=i+q|0;b=e>>>0<x>>>0?b+1|0:b;i=e;e=e+K|0;b=b+o|0;x=e;e=e>>>0<i>>>0?b+1|0:b;b=aa(k^x,h^e,16);i=Q;h=i;v[g+120>>2]=b;v[g+124>>2]=i;i=b;k=b+D|0;b=j+h|0;K=k;i=i>>>0>k>>>0?b+1|0:b;D=aa(k^E,i^q,63);j=Q;k=v[g+236>>2];E=l;b=n+u|0;q=l+y|0;b=q>>>0<l>>>0?b+1|0:b;l=q+v[g+232>>2]|0;b=b+k|0;h=l;l=l>>>0<q>>>0?b+1|0:b;G=aa(h^C,l^G,32);k=G;q=k+F|0;u=Q;b=u+f|0;o=q;b=k>>>0>q>>>0?b+1|0:b;f=aa(E^q,b^n,24);q=b;b=v[g+188>>2];k=b;C=f;y=G;n=Q;b=n+l|0;G=f+h|0;b=G>>>0<f>>>0?b+1|0:b;H=v[g+184>>2];l=G;f=H+l|0;b=b+k|0;G=f;h=u;u=f>>>0<l>>>0?b+1|0:b;h=aa(y^f,h^u,16);l=h;f=l+o|0;b=q;q=Q;b=b+q|0;M=f;f=f>>>0<l>>>0?b+1|0:b;E=aa(C^M,f^n,63);l=Q;b=v[g+140>>2];n=b;F=A;y=I;b=z+B|0;A=s+A|0;b=A>>>0<s>>>0?b+1|0:b;I=v[g+136>>2];B=A;s=I+B|0;b=b+n|0;o=s;s=s>>>0<B>>>0?b+1|0:b;C=aa(o^L,s^r,32);A=C;B=y+A|0;r=Q;b=r+d|0;y=B;b=B>>>0<A>>>0?b+1|0:b;d=aa(F^B,b^z,24);B=b;b=v[g+164>>2];A=b;F=d;z=Q;b=z+s|0;o=d+o|0;b=o>>>0<d>>>0?b+1|0:b;L=v[g+160>>2];s=o;d=L+s|0;b=b+A|0;b=d>>>0<s>>>0?b+1|0:b;s=d;o=r;r=b;O=aa(d^C,o^b,16);o=O;d=o+y|0;b=B;B=Q;b=b+B|0;b=d>>>0<o>>>0?b+1|0:b;F=aa(F^d,b^z,63);z=Q;o=v[g+212>>2];C=b;b=v[g+208>>2];T=b;R=N;S=J;N=v[g+36>>2];b=t+N|0;J=v[g+32>>2];y=m+J|0;b=y>>>0<m>>>0?b+1|0:b;t=y;m=T+t|0;b=b+o|0;b=m>>>0<t>>>0?b+1|0:b;t=p;p=b;S=aa(S^m,t^b,32);y=S;t=R+y|0;b=c;c=Q;b=b+c|0;U=t;b=t>>>0<y>>>0?b+1|0:b;J=aa(J^t,N^b,24);t=b;b=v[g+172>>2];y=b;R=d;V=h;W=T;X=x;h=J;N=Q;b=p+N|0;d=m+J|0;b=d>>>0<m>>>0?b+1|0:b;T=v[g+168>>2];m=d;d=T+d|0;b=b+y|0;b=d>>>0<m>>>0?b+1|0:b;m=d;p=b;J=aa(d^S,b^c,16);d=J;c=d+U|0;x=Q;b=x+t|0;S=c;c=c>>>0<d>>>0?b+1|0:b;h=aa(h^S,c^N,63);d=X+h|0;N=Q;b=N+e|0;b=d>>>0<h>>>0?b+1|0:b;e=d;d=W+d|0;b=b+o|0;b=d>>>0<e>>>0?b+1|0:b;e=b;U=aa(V^d,b^q,32);o=U;t=R+o|0;q=Q;b=q+C|0;C=t;b=o>>>0>t>>>0?b+1|0:b;o=aa(h^t,N^b,24);h=b;N=v[g+148>>2];R=o;t=Q;b=e+t|0;o=d+o|0;b=o>>>0<d>>>0?b+1|0:b;e=o;d=e+v[g+144>>2]|0;b=b+N|0;o=d;N=q;q=d>>>0<e>>>0?b+1|0:b;N=aa(d^U,N^q,16);e=N;d=e+C|0;b=h;h=Q;b=b+h|0;U=d;d=d>>>0<e>>>0?b+1|0:b;ma=g,na=aa(R^U,d^t,63),v[ma+32>>2]=na;v[g+36>>2]=Q;t=v[g+196>>2];b=j+u|0;e=D+G|0;b=e>>>0<G>>>0?b+1|0:b;u=e;e=e+v[g+192>>2]|0;b=b+t|0;G=e;e=e>>>0<u>>>0?b+1|0:b;t=aa(G^O,e^B,32);B=t+S|0;u=Q;b=u+c|0;C=B;b=t>>>0>B>>>0?b+1|0:b;c=aa(B^D,b^j,24);B=b;O=c;j=Q;b=j+e|0;G=c+G|0;b=G>>>0<c>>>0?b+1|0:b;e=G;c=e+L|0;b=b+A|0;A=t;t=c;G=u;u=c>>>0<e>>>0?b+1|0:b;D=aa(A^c,G^u,16);e=D;c=e+C|0;b=B;B=Q;b=b+B|0;L=c;c=c>>>0<e>>>0?b+1|0:b;G=aa(O^L,c^j,63);j=Q;b=l+r|0;e=s+E|0;b=e>>>0<s>>>0?b+1|0:b;s=e;e=e+H|0;b=b+k|0;b=e>>>0<s>>>0?b+1|0:b;r=x;x=b;k=aa(e^J,r^b,32);s=k+K|0;b=i;i=Q;b=b+i|0;A=s;b=s>>>0<k>>>0?b+1|0:b;r=aa(s^E,b^l,24);s=b;C=v[g+180>>2];H=r;l=Q;b=x+l|0;r=e+r|0;b=r>>>0<e>>>0?b+1|0:b;x=r;e=x+v[g+176>>2]|0;b=b+C|0;b=e>>>0<x>>>0?b+1|0:b;x=e;r=b;E=aa(e^k,b^i,16);i=E;e=i+A|0;b=s;s=Q;b=b+s|0;C=e;e=e>>>0<i>>>0?b+1|0:b;i=aa(H^C,e^l,63);l=Q;b=p+z|0;k=m+F|0;b=k>>>0<m>>>0?b+1|0:b;m=k+I|0;b=b+n|0;n=m;m=n>>>0<k>>>0?b+1|0:b;A=aa(n^v[g+120>>2],m^v[g+124>>2],32);k=A;p=k+M|0;b=f;f=Q;b=b+f|0;H=F;F=p;b=p>>>0<k>>>0?b+1|0:b;k=aa(H^p,b^z,24);p=b;H=k;z=Q;b=m+z|0;k=n+k|0;b=k>>>0<n>>>0?b+1|0:b;n=k+T|0;b=b+y|0;b=k>>>0>n>>>0?b+1|0:b;m=b;k=aa(n^A,b^f,16);f=k+F|0;b=p;p=Q;b=b+p|0;y=f;f=f>>>0<k>>>0?b+1|0:b;A=aa(H^y,f^z,63);z=Q;F=v[g+252>>2];H=G;I=k;b=j+q|0;k=o+G|0;b=k>>>0<o>>>0?b+1|0:b;q=k+v[g+248>>2]|0;b=b+F|0;b=k>>>0>q>>>0?b+1|0:b;k=p;p=b;G=aa(I^q,k^b,32);k=G+C|0;o=Q;b=o+e|0;C=k;e=k>>>0<G>>>0?b+1|0:b;F=aa(H^k,e^j,24);k=F+q|0;j=Q;b=p+j|0;b=k>>>0<q>>>0?b+1|0:b;q=v[g+216>>2];p=q+k|0;b=v[g+220>>2]+b|0;b=p>>>0<q>>>0?b+1|0:b;q=b;b=aa(G^p,o^b,16);k=Q;o=k;v[g+120>>2]=b;v[g+124>>2]=k;k=b;G=b+C|0;b=e+o|0;o=F;F=G;e=k>>>0>F>>>0?b+1|0:b;C=aa(o^F,e^j,63);j=Q;G=v[g+204>>2];o=i;b=l+u|0;k=i+t|0;b=k>>>0<i>>>0?b+1|0:b;i=k+v[g+200>>2]|0;b=b+G|0;G=i;i=i>>>0<k>>>0?b+1|0:b;t=aa(G^N,i^h,32);k=t+y|0;u=Q;b=u+f|0;h=k;b=k>>>0<t>>>0?b+1|0:b;f=aa(o^k,b^l,24);k=b;o=v[g+244>>2];y=f;l=Q;b=l+i|0;G=f+G|0;b=G>>>0<f>>>0?b+1|0:b;i=G;f=i+v[g+240>>2]|0;b=b+o|0;G=f;o=u;u=f>>>0<i>>>0?b+1|0:b;K=aa(f^t,o^u,16);i=K;f=i+h|0;b=k;k=Q;b=b+k|0;J=f;f=f>>>0<i>>>0?b+1|0:b;y=aa(y^J,f^l,63);i=Q;b=v[g+156>>2];t=b;l=b;b=r+z|0;h=x+A|0;b=h>>>0<x>>>0?b+1|0:b;I=v[g+152>>2];r=h;x=I+h|0;b=b+l|0;h=x;l=r>>>0>h>>>0?b+1|0:b;B=aa(h^D,l^B,32);r=B+U|0;x=Q;b=x+d|0;d=A;A=r;b=r>>>0<B>>>0?b+1|0:b;d=aa(d^r,b^z,24);r=b;o=v[g+228>>2];D=d;H=B;z=Q;b=z+l|0;B=d+h|0;b=B>>>0<d>>>0?b+1|0:b;l=B;d=l+v[g+224>>2]|0;b=b+o|0;B=d;h=x;x=d>>>0<l>>>0?b+1|0:b;H=aa(H^d,h^x,16);l=H;d=l+A|0;b=r;r=Q;b=b+r|0;M=d;d=d>>>0<l>>>0?b+1|0:b;D=aa(D^M,d^z,63);l=Q;h=v[g+236>>2];o=v[g+36>>2];b=m+o|0;A=v[g+32>>2];z=n+A|0;b=z>>>0<n>>>0?b+1|0:b;n=z;z=n+v[g+232>>2]|0;b=b+h|0;b=n>>>0>z>>>0?b+1|0:b;n=b;h=aa(z^E,b^s,32);m=h+L|0;b=c;c=Q;b=b+c|0;b=m>>>0<h>>>0?b+1|0:b;A=aa(A^m,o^b,24);s=b;L=v[g+132>>2];o=L;O=A;N=m;E=h;m=Q;b=n+m|0;A=z+A|0;b=A>>>0<z>>>0?b+1|0:b;h=v[g+128>>2];n=A;z=h+n|0;b=b+o|0;A=z;o=n>>>0>z>>>0?b+1|0:b;E=aa(E^z,o^c,16);z=E;c=N+z|0;n=Q;b=n+s|0;N=c;c=c>>>0<z>>>0?b+1|0:b;m=aa(O^N,c^m,63);b=Q;z=b;O=m;b=b+q|0;m=m+p|0;b=m>>>0<p>>>0?b+1|0:b;m=m+h|0;b=b+L|0;b=m>>>0<h>>>0?b+1|0:b;p=b;k=aa(m^K,b^k,32);s=k+M|0;b=d;d=Q;b=b+d|0;h=s;b=h>>>0<k>>>0?b+1|0:b;q=aa(O^h,b^z,24);s=b;K=v[g+140>>2];M=q;z=Q;b=p+z|0;q=m+q|0;b=q>>>0<m>>>0?b+1|0:b;p=q;m=p+v[g+136>>2]|0;b=b+K|0;b=m>>>0<p>>>0?b+1|0:b;p=b;K=aa(m^k,b^d,16);q=K;d=q+h|0;b=s;s=Q;b=b+s|0;L=d;d=d>>>0<q>>>0?b+1|0:b;ma=g,na=aa(M^L,d^z,63),v[ma+32>>2]=na;v[g+36>>2]=Q;q=v[g+148>>2];b=j+u|0;z=C+G|0;b=z>>>0<G>>>0?b+1|0:b;u=z;z=z+v[g+144>>2]|0;b=b+q|0;q=z;z=q>>>0<u>>>0?b+1|0:b;k=aa(q^H,z^r,32);r=k+N|0;u=Q;b=u+c|0;G=r;b=k>>>0>r>>>0?b+1|0:b;c=aa(r^C,b^j,24);r=b;h=c;j=Q;b=j+z|0;q=c+q|0;b=q>>>0<c>>>0?b+1|0:b;c=q+I|0;b=b+t|0;I=c;q=c>>>0<q>>>0?b+1|0:b;H=aa(c^k,q^u,16);z=H;c=z+G|0;b=r;r=Q;b=b+r|0;M=c;c=c>>>0<z>>>0?b+1|0:b;C=aa(h^M,c^j,63);z=Q;u=v[g+164>>2];b=i+x|0;j=B+y|0;b=j>>>0<B>>>0?b+1|0:b;x=j;j=j+v[g+160>>2]|0;b=b+u|0;b=j>>>0<x>>>0?b+1|0:b;h=n;n=b;k=aa(j^E,h^b,32);u=k+F|0;b=e;e=Q;b=b+e|0;B=u;b=u>>>0<k>>>0?b+1|0:b;x=aa(u^y,b^i,24);u=b;G=v[g+172>>2];h=x;i=Q;b=n+i|0;x=j+x|0;b=x>>>0<j>>>0?b+1|0:b;n=x;j=n+v[g+168>>2]|0;b=b+G|0;x=j;t=j^k;k=j>>>0<n>>>0?b+1|0:b;E=aa(t,k^e,16);j=E;e=j+B|0;B=Q;b=B+u|0;F=e;e=e>>>0<j>>>0?b+1|0:b;j=aa(h^F,e^i,63);n=Q;u=v[g+180>>2];b=l+o|0;i=A+D|0;b=i>>>0<A>>>0?b+1|0:b;G=i;i=i+v[g+176>>2]|0;b=b+u|0;b=i>>>0<G>>>0?b+1|0:b;u=b;h=aa(i^v[g+120>>2],b^v[g+124>>2],32);G=h+J|0;b=f;f=Q;b=b+f|0;A=G;b=h>>>0>A>>>0?b+1|0:b;t=aa(A^D,b^l,24);G=b;o=v[g+188>>2];y=t;l=Q;b=u+l|0;t=i+t|0;b=t>>>0<i>>>0?b+1|0:b;u=t;i=t+v[g+184>>2]|0;b=b+o|0;o=A;t=i;A=i^h;h=i>>>0<u>>>0?b+1|0:b;A=aa(A,h^f,16);u=A;f=o+u|0;i=Q;b=i+G|0;D=f;f=f>>>0<u>>>0?b+1|0:b;y=aa(y^D,f^l,63);l=Q;b=v[g+196>>2];G=b;u=b;o=F;F=A;b=p+z|0;A=m+C|0;b=A>>>0<m>>>0?b+1|0:b;N=v[g+192>>2];p=A;m=N+p|0;b=b+u|0;u=m;A=i;i=m>>>0<p>>>0?b+1|0:b;F=aa(F^m,A^i,32);p=F;m=o+p|0;J=Q;b=J+e|0;O=m;m=m>>>0<p>>>0?b+1|0:b;C=aa(O^C,m^z,24);z=v[g+200>>2];p=Q;b=i+p|0;A=u+C|0;b=A>>>0<u>>>0?b+1|0:b;i=z+A|0;A=v[g+204>>2];b=A+b|0;o=i;e=i>>>0<z>>>0?b+1|0:b;b=aa(F^i,J^e,16);i=Q;F=i;v[g+120>>2]=b;v[g+124>>2]=i;i=b;u=b+O|0;b=m+F|0;O=u;i=i>>>0>u>>>0?b+1|0:b;F=aa(u^C,i^p,63);u=Q;T=v[g+212>>2];C=T;J=j;b=n+q|0;p=j+I|0;b=p>>>0<j>>>0?b+1|0:b;m=v[g+208>>2];j=m+p|0;b=b+C|0;q=j;j=j>>>0<p>>>0?b+1|0:b;C=aa(q^K,j^s,32);s=C+D|0;p=Q;b=p+f|0;D=s;b=s>>>0<C>>>0?b+1|0:b;f=aa(J^s,b^n,24);s=b;K=v[g+220>>2];J=f;n=Q;b=n+j|0;q=f+q|0;b=q>>>0<f>>>0?b+1|0:b;j=q;f=j+v[g+216>>2]|0;b=b+K|0;q=f;I=p;p=f>>>0<j>>>0?b+1|0:b;C=aa(f^C,I^p,16);j=C;f=j+D|0;b=s;s=Q;b=b+s|0;I=f;f=f>>>0<j>>>0?b+1|0:b;K=aa(J^I,f^n,63);j=Q;D=v[g+228>>2];S=y;b=l+k|0;n=x+y|0;b=n>>>0<x>>>0?b+1|0:b;x=n;n=n+v[g+224>>2]|0;b=b+D|0;y=n;n=n>>>0<x>>>0?b+1|0:b;D=aa(y^H,n^r,32);k=D;r=k+L|0;x=Q;b=x+d|0;J=r;b=k>>>0>r>>>0?b+1|0:b;d=aa(S^r,b^l,24);r=b;b=v[g+236>>2];k=b;S=d;l=Q;b=l+n|0;y=d+y|0;b=y>>>0<d>>>0?b+1|0:b;H=v[g+232>>2];n=y;d=H+n|0;b=b+k|0;b=d>>>0<n>>>0?b+1|0:b;n=d;y=x;x=b;L=aa(d^D,y^b,16);y=L;d=y+J|0;b=r;r=Q;b=b+r|0;b=d>>>0<y>>>0?b+1|0:b;J=aa(S^d,b^l,63);l=Q;y=v[g+244>>2];D=b;b=v[g+240>>2];S=b;R=M;V=E;U=v[g+36>>2];b=h+U|0;M=v[g+32>>2];E=t+M|0;b=E>>>0<t>>>0?b+1|0:b;h=E;t=S+h|0;b=b+y|0;b=h>>>0>t>>>0?b+1|0:b;h=B;B=b;Z=aa(V^t,h^b,32);E=Z;h=R+E|0;b=c;c=Q;b=b+c|0;R=h;b=h>>>0<E>>>0?b+1|0:b;M=aa(M^h,U^b,24);h=b;b=v[g+252>>2];E=b;V=d;W=C;X=S;Y=o;o=M;U=Q;b=B+U|0;d=t+M|0;b=d>>>0<t>>>0?b+1|0:b;S=v[g+248>>2];B=d;d=S+d|0;b=b+E|0;b=d>>>0<B>>>0?b+1|0:b;B=d;t=b;M=aa(d^Z,b^c,16);d=M;c=d+R|0;b=h;h=Q;b=b+h|0;Z=c;c=c>>>0<d>>>0?b+1|0:b;C=aa(o^Z,c^U,63);o=C;d=Y+o|0;U=Q;b=U+e|0;b=d>>>0<o>>>0?b+1|0:b;e=d;d=X+d|0;b=b+y|0;b=d>>>0<e>>>0?b+1|0:b;e=b;R=aa(W^d,b^s,32);y=R;o=V+y|0;s=Q;b=s+D|0;D=o;b=o>>>0<y>>>0?b+1|0:b;y=aa(C^o,U^b,24);C=b;V=y;o=Q;b=e+o|0;y=d+y|0;b=y>>>0<d>>>0?b+1|0:b;d=m+y|0;b=b+T|0;b=d>>>0<m>>>0?b+1|0:b;m=d;e=s;s=b;y=aa(d^R,e^b,16);e=y;d=e+D|0;b=C;C=Q;b=b+C|0;D=d;d=d>>>0<e>>>0?b+1|0:b;ma=g,na=aa(V^D,d^o,63),v[ma+32>>2]=na;v[g+36>>2]=Q;o=v[g+164>>2];b=p+u|0;e=q+F|0;b=e>>>0<q>>>0?b+1|0:b;p=e;e=e+v[g+160>>2]|0;b=b+o|0;b=e>>>0<p>>>0?b+1|0:b;p=b;q=aa(e^L,b^r,32);r=q+Z|0;o=Q;b=o+c|0;c=r;r=u;u=c>>>0<q>>>0?b+1|0:b;F=aa(c^F,r^u,24);r=e+F|0;L=Q;b=p+L|0;b=e>>>0>r>>>0?b+1|0:b;p=r;e=p+N|0;b=b+G|0;G=e;p=e>>>0<p>>>0?b+1|0:b;o=aa(q^e,o^p,16);e=c+o|0;N=Q;b=u+N|0;b=c>>>0>e>>>0?b+1|0:b;c=e;v[g+72>>2]=c;v[g+76>>2]=b;q=aa(c^F,b^L,63);e=Q;b=j+x|0;c=n+K|0;b=c>>>0<n>>>0?b+1|0:b;r=z;z=c;c=r+c|0;b=b+A|0;b=c>>>0<z>>>0?b+1|0:b;z=b;x=aa(c^M,b^h,32);u=x;n=u+O|0;b=i;i=Q;b=b+i|0;r=n;b=n>>>0<u>>>0?b+1|0:b;u=aa(n^K,b^j,24);n=b;F=u;j=Q;b=z+j|0;u=c+u|0;b=u>>>0<c>>>0?b+1|0:b;z=u;c=u+S|0;b=b+E|0;u=c;h=c^x;x=c>>>0<z>>>0?b+1|0:b;h=aa(h,x^i,16);i=h;c=i+r|0;A=Q;b=A+n|0;E=c;c=c>>>0<i>>>0?b+1|0:b;i=aa(F^E,c^j,63);z=Q;b=l+t|0;j=B+J|0;b=j>>>0<B>>>0?b+1|0:b;n=j;j=j+H|0;b=b+k|0;b=j>>>0<n>>>0?b+1|0:b;n=b;B=aa(j^v[g+120>>2],b^v[g+124>>2],32);k=B;r=k+I|0;b=f;f=Q;b=b+f|0;t=r;b=k>>>0>t>>>0?b+1|0:b;k=aa(t^J,b^l,24);r=b;F=v[g+180>>2];H=k;l=Q;b=n+l|0;k=j+k|0;b=k>>>0<j>>>0?b+1|0:b;j=k+v[g+176>>2]|0;b=b+F|0;b=j>>>0<k>>>0?b+1|0:b;n=b;B=aa(j^B,b^f,16);k=B;f=k+t|0;b=r;r=Q;b=b+r|0;t=f;f=f>>>0<k>>>0?b+1|0:b;k=aa(H^t,f^l,63);l=Q;F=v[g+140>>2];H=q;b=e+s|0;q=m+q|0;b=q>>>0<m>>>0?b+1|0:b;m=q+v[g+136>>2]|0;b=b+F|0;b=m>>>0<q>>>0?b+1|0:b;s=b;q=aa(m^B,b^r,32);r=q+E|0;B=Q;b=B+c|0;c=r;r=e;e=c>>>0<q>>>0?b+1|0:b;E=aa(H^c,r^e,24);r=E+m|0;F=Q;b=s+F|0;b=m>>>0>r>>>0?b+1|0:b;s=v[g+224>>2];m=s+r|0;b=v[g+228>>2]+b|0;b=m>>>0<s>>>0?b+1|0:b;v[g>>2]=m;v[g+4>>2]=b;b=aa(m^q,b^B,16);v[g+120>>2]=b;s=Q;v[g+124>>2]=s;m=b+c|0;b=e+s|0;b=c>>>0>m>>>0?b+1|0:b;c=m;v[g+80>>2]=c;v[g+84>>2]=b;ma=g,na=aa(c^E,b^F,63),v[ma+40>>2]=na;v[g+44>>2]=Q;e=v[g+132>>2];r=i;b=p+z|0;c=i+G|0;b=c>>>0<i>>>0?b+1|0:b;i=c;c=c+v[g+128>>2]|0;b=b+e|0;b=c>>>0<i>>>0?b+1|0:b;e=b;m=aa(y^c,C^b,32);i=m+t|0;p=Q;b=p+f|0;f=i;i=m>>>0>f>>>0?b+1|0:b;s=aa(r^f,i^z,24);z=s+c|0;r=Q;b=e+r|0;b=c>>>0>z>>>0?b+1|0:b;e=v[g+144>>2];c=e+z|0;b=v[g+148>>2]+b|0;b=c>>>0<e>>>0?b+1|0:b;v[g+8>>2]=c;v[g+12>>2]=b;b=aa(c^m,b^p,16);v[g+96>>2]=b;e=Q;v[g+100>>2]=e;c=b+f|0;b=e+i|0;b=c>>>0<f>>>0?b+1|0:b;v[g+88>>2]=c;v[g+92>>2]=b;ma=g,na=aa(c^s,b^r,63),v[ma+48>>2]=na;v[g+52>>2]=Q;f=v[g+220>>2];b=l+x|0;c=k+u|0;b=c>>>0<u>>>0?b+1|0:b;e=c;c=c+v[g+216>>2]|0;b=b+f|0;b=c>>>0<e>>>0?b+1|0:b;f=b;i=aa(o^c,N^b,32);e=i+D|0;z=Q;b=z+d|0;u=e;d=e>>>0<i>>>0?b+1|0:b;l=aa(e^k,d^l,24);e=c+l|0;m=Q;b=f+m|0;b=c>>>0>e>>>0?b+1|0:b;f=v[g+184>>2];c=f+e|0;b=v[g+188>>2]+b|0;b=c>>>0<f>>>0?b+1|0:b;v[g+16>>2]=c;v[g+20>>2]=b;b=aa(c^i,b^z,16);c=Q;e=c;v[g+104>>2]=b;v[g+108>>2]=c;c=b;f=b+u|0;b=d+e|0;b=c>>>0>f>>>0?b+1|0:b;c=f;v[g+64>>2]=c;v[g+68>>2]=b;ma=g,na=aa(c^l,b^m,63),v[ma+56>>2]=na;v[g+60>>2]=Q;e=v[g+76>>2];f=v[g+172>>2];l=v[g+36>>2];b=n+l|0;i=v[g+32>>2];c=j+i|0;b=c>>>0<j>>>0?b+1|0:b;d=c;c=c+v[g+168>>2]|0;b=b+f|0;b=c>>>0<d>>>0?b+1|0:b;d=v[g+72>>2];f=b;z=aa(h^c,A^b,32);d=d+z|0;j=Q;b=j+e|0;n=d;d=d>>>0<z>>>0?b+1|0:b;i=aa(i^n,l^d,24);e=c+i|0;l=Q;b=f+l|0;b=c>>>0>e>>>0?b+1|0:b;f=v[g+152>>2];c=f+e|0;b=v[g+156>>2]+b|0;b=c>>>0<f>>>0?b+1|0:b;v[g+24>>2]=c;v[g+28>>2]=b;b=aa(c^z,b^j,16);c=Q;e=c;v[g+112>>2]=b;v[g+116>>2]=c;c=b;f=b+n|0;b=d+e|0;b=c>>>0>f>>>0?b+1|0:b;c=f;v[g+72>>2]=c;v[g+76>>2]=b;ma=g,na=aa(c^i,b^l,63),v[ma+32>>2]=na;v[g+36>>2]=Q;c=0;while(1){if((c|0)!=8){f=c<<3;b=f+a|0;f=g+f|0;d=v[f>>2]^v[b>>2];e=f- -64|0;i=v[e>>2];f=v[e+4>>2]^(v[f+4>>2]^v[b+4>>2]);v[b>>2]=d^i;v[b+4>>2]=f;c=c+1|0;continue}break}P=g+256|0}else{f=d<<3;e=f+(g+128|0)|0;f=b+f|0;i=w[f+4|0]|w[f+5|0]<<8|(w[f+6|0]<<16|w[f+7|0]<<24);v[e>>2]=w[f|0]|w[f+1|0]<<8|(w[f+2|0]<<16|w[f+3|0]<<24);v[e+4>>2]=i;d=d+1|0;continue}break}}function oa(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=P-16|0;P=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){f=v[275];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=f>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+1140|0;d=v[a+1148>>2];a=v[d+8>>2];l:{if((b|0)==(a|0)){m=1100,n=pa(c)&f,v[m>>2]=n;break l}v[a+12>>2]=b;v[b+8>>2]=a}a=d+8|0;b=c<<3;v[d+4>>2]=b|3;b=b+d|0;v[b+4>>2]=v[b+4>>2]|1;break a}k=v[277];if(k>>>0>=h>>>0){break k}if(b){a=2<<c;a=(0-a|a)&b<<c;b=(0-a&a)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;d=(c|a)+(b>>>a|0)|0;a=d<<3;b=a+1140|0;g=v[a+1148>>2];a=v[g+8>>2];m:{if((b|0)==(a|0)){f=pa(d)&f;v[275]=f;break m}v[a+12>>2]=b;v[b+8>>2]=a}v[g+4>>2]=h|3;c=g+h|0;a=d<<3;d=a-h|0;v[c+4>>2]=d|1;v[a+g>>2]=d;if(k){b=(k&-8)+1140|0;e=v[280];a=1<<(k>>>3);n:{if(!(a&f)){v[275]=a|f;a=b;break n}a=v[b+8>>2]}v[b+8>>2]=e;v[a+12>>2]=e;v[e+12>>2]=b;v[e+8>>2]=a}a=g+8|0;v[280]=c;v[277]=d;break a}j=v[276];if(!j){break k}b=(0-j&j)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=v[((c|a)+(b>>>a|0)<<2)+1404>>2];e=(v[b+4>>2]&-8)-h|0;c=b;while(1){o:{a=v[c+16>>2];if(!a){a=v[c+20>>2];if(!a){break o}}c=(v[a+4>>2]&-8)-h|0;d=c>>>0<e>>>0;e=d?c:e;b=d?a:b;c=a;continue}break}i=v[b+24>>2];d=v[b+12>>2];if((d|0)!=(b|0)){a=v[b+8>>2];v[a+12>>2]=d;v[d+8>>2]=a;break b}c=b+20|0;a=v[c>>2];if(!a){a=v[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;d=a;c=a+20|0;a=v[c>>2];if(a){continue}c=d+16|0;a=v[d+16>>2];if(a){continue}break}v[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;j=v[276];if(!j){break k}e=0-h|0;f=0;p:{if(h>>>0<256){break p}f=31;if(h>>>0>16777215){break p}a=a>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;f=(a<<1|h>>>a+21&1)+28|0}c=v[(f<<2)+1404>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=h<<((f|0)==31?0:25-(f>>>1|0)|0);while(1){t:{g=(v[c+4>>2]&-8)-h|0;if(g>>>0>=e>>>0){break t}d=c;e=g;if(e){break t}e=0;a=c;break r}g=v[c+20>>2];c=v[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|d)){d=0;a=2<<f;a=(0-a|a)&j;if(!a){break k}b=(a&0-a)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=v[((c|a)+(b>>>a|0)<<2)+1404>>2]}if(!a){break q}}while(1){b=(v[a+4>>2]&-8)-h|0;c=b>>>0<e>>>0;e=c?b:e;d=c?a:d;b=v[a+16>>2];if(b){a=b}else{a=v[a+20>>2]}if(a){continue}break}}if(!d|v[277]-h>>>0<=e>>>0){break k}f=v[d+24>>2];b=v[d+12>>2];if((d|0)!=(b|0)){a=v[d+8>>2];v[a+12>>2]=b;v[b+8>>2]=a;break c}c=d+20|0;a=v[c>>2];if(!a){a=v[d+16>>2];if(!a){break i}c=d+16|0}while(1){g=c;b=a;c=a+20|0;a=v[c>>2];if(a){continue}c=b+16|0;a=v[b+16>>2];if(a){continue}break}v[g>>2]=0;break c}c=v[277];if(c>>>0>=h>>>0){d=v[280];b=c-h|0;u:{if(b>>>0>=16){v[277]=b;a=d+h|0;v[280]=a;v[a+4>>2]=b|1;v[c+d>>2]=b;v[d+4>>2]=h|3;break u}v[280]=0;v[277]=0;v[d+4>>2]=c|3;a=c+d|0;v[a+4>>2]=v[a+4>>2]|1}a=d+8|0;break a}i=v[278];if(i>>>0>h>>>0){b=i-h|0;v[278]=b;c=v[281];a=c+h|0;v[281]=a;v[a+4>>2]=b|1;v[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;b=j;if(v[393]){c=v[395]}else{v[396]=-1;v[397]=-1;v[394]=4096;v[395]=4096;v[393]=l+12&-16^1431655768;v[398]=0;v[386]=0;c=4096}g=b+c|0;e=0-c|0;c=g&e;if(c>>>0<=h>>>0){break a}d=v[385];if(d){b=v[383];f=b+c|0;if(d>>>0<f>>>0|b>>>0>=f>>>0){break a}}if(w[1544]&4){break f}v:{w:{d=v[281];if(d){a=1548;while(1){b=v[a>>2];if(b>>>0<=d>>>0&d>>>0<b+v[a+4>>2]>>>0){break w}a=v[a+8>>2];if(a){continue}break}}b=da(0);if((b|0)==-1){break g}f=c;d=v[394];a=d-1|0;if(a&b){f=(c-b|0)+(a+b&0-d)|0}if(f>>>0<=h>>>0|f>>>0>2147483646){break g}d=v[385];if(d){a=v[383];e=a+f|0;if(d>>>0<e>>>0|a>>>0>=e>>>0){break g}}a=da(f);if((b|0)!=(a|0)){break v}break e}f=e&g-i;if(f>>>0>2147483646){break g}b=da(f);if((b|0)==(v[a>>2]+v[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|h+48>>>0<=f>>>0)){b=v[395];b=b+(j-f|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((da(b)|0)!=-1){f=b+f|0;b=a;break e}da(0-f|0);break g}b=a;if((a|0)!=-1){break e}break g}d=0;break b}b=0;break c}if((b|0)!=-1){break e}}v[386]=v[386]|4}if(c>>>0>2147483646){break d}b=v[273];c=c+7&-8;a=b+c|0;x:{y:{if(!c|a>>>0>b>>>0){if(fa()>>>0>=a>>>0){break y}if(O(a|0)|0){break y}a=v[273]}else{a=b}v[274]=48;b=-1;break x}v[273]=a}if(fa()>>>0<a>>>0){if(!(O(a|0)|0)){break d}}v[273]=a;if((b|0)==-1|(a|0)==-1|a>>>0<=b>>>0){break d}f=a-b|0;if(f>>>0<=h+40>>>0){break d}}a=v[383]+f|0;v[383]=a;if(a>>>0>y[384]){v[384]=a}z:{A:{B:{g=v[281];if(g){a=1548;while(1){d=v[a>>2];c=v[a+4>>2];if((d+c|0)==(b|0)){break B}a=v[a+8>>2];if(a){continue}break}break A}a=v[279];if(!(a>>>0<=b>>>0?a:0)){v[279]=b}a=0;v[388]=f;v[387]=b;v[283]=-1;v[284]=v[393];v[390]=0;while(1){d=a<<3;c=d+1140|0;v[d+1148>>2]=c;v[d+1152>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=f-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;v[278]=c;a=a+b|0;v[281]=a;v[a+4>>2]=c|1;v[(b+d|0)+4>>2]=40;v[282]=v[397];break z}if(w[a+12|0]&8|d>>>0>g>>>0|b>>>0<=g>>>0){break A}v[a+4>>2]=c+f;a=g+8&7?-8-g&7:0;c=a+g|0;v[281]=c;b=v[278]+f|0;a=b-a|0;v[278]=a;v[c+4>>2]=a|1;v[(b+g|0)+4>>2]=40;v[282]=v[397];break z}if(y[279]>b>>>0){v[279]=b}d=b+f|0;c=1548;C:{while(1){if((d|0)!=v[c>>2]){a=1548;c=v[c+8>>2];if(c){continue}break C}break}a=1548;if(w[c+12|0]&8){break C}v[c>>2]=b;v[c+4>>2]=v[c+4>>2]+f;j=(b+8&7?-8-b&7:0)+b|0;v[j+4>>2]=h|3;d=d+(d+8&7?-8-d&7:0)|0;i=h+j|0;a=d-i|0;D:{if((d|0)==(g|0)){v[281]=i;a=v[278]+a|0;v[278]=a;v[i+4>>2]=a|1;break D}if(v[280]==(d|0)){v[280]=i;a=v[277]+a|0;v[277]=a;v[i+4>>2]=a|1;v[a+i>>2]=a;break D}e=v[d+4>>2];if((e&3)==1){f=e&-8;E:{if(e>>>0<=255){b=e>>>3|0;e=v[d+8>>2];c=v[d+12>>2];if((c|0)==(e|0)){m=1100,n=v[275]&pa(b),v[m>>2]=n;break E}v[e+12>>2]=c;v[c+8>>2]=e;break E}h=v[d+24>>2];b=v[d+12>>2];F:{if((d|0)!=(b|0)){c=v[d+8>>2];v[c+12>>2]=b;v[b+8>>2]=c;break F}G:{e=d+20|0;c=v[e>>2];if(c){break G}e=d+16|0;c=v[e>>2];if(c){break G}b=0;break F}while(1){g=e;b=c;e=b+20|0;c=v[e>>2];if(c){continue}e=b+16|0;c=v[b+16>>2];if(c){continue}break}v[g>>2]=0}if(!h){break E}e=v[d+28>>2];c=(e<<2)+1404|0;H:{if(v[c>>2]==(d|0)){v[c>>2]=b;if(b){break H}m=1104,n=v[276]&pa(e),v[m>>2]=n;break E}v[h+(v[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break E}}v[b+24>>2]=h;c=v[d+16>>2];if(c){v[b+16>>2]=c;v[c+24>>2]=b}c=v[d+20>>2];if(!c){break E}v[b+20>>2]=c;v[c+24>>2]=b}d=d+f|0;e=v[d+4>>2];a=a+f|0}v[d+4>>2]=e&-2;v[i+4>>2]=a|1;v[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+1140|0;c=v[275];a=1<<(a>>>3);I:{if(!(c&a)){v[275]=a|c;a=b;break I}a=v[b+8>>2]}v[b+8>>2]=i;v[a+12>>2]=i;v[i+12>>2]=b;v[i+8>>2]=a;break D}