tweetnacl
Version:
Port of TweetNaCl cryptographic library to JavaScript
1 lines • 28.5 kB
JavaScript
!function(r){"use strict";function n(r,n,t,e){r[n]=t>>24&255,r[n+1]=t>>16&255,r[n+2]=t>>8&255,r[n+3]=255&t,r[n+4]=e>>24&255,r[n+5]=e>>16&255,r[n+6]=e>>8&255,r[n+7]=255&e}function t(r,n,t,e,o){var a,f=0;for(a=0;o>a;a++)f|=r[n+a]^t[e+a];return(1&f-1>>>8)-1}function e(r,n,e,o){return t(r,n,e,o,16)}function o(r,n,e,o){return t(r,n,e,o,32)}function a(r,n,t,e){for(var o,a=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,f=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,i=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,c=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,u=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,y=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,l=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,h=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,s=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,w=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,g=255&e[8]|(255&e[9])<<8|(255&e[10])<<16|(255&e[11])<<24,v=255&t[16]|(255&t[17])<<8|(255&t[18])<<16|(255&t[19])<<24,b=255&t[20]|(255&t[21])<<8|(255&t[22])<<16|(255&t[23])<<24,p=255&t[24]|(255&t[25])<<8|(255&t[26])<<16|(255&t[27])<<24,A=255&t[28]|(255&t[29])<<8|(255&t[30])<<16|(255&t[31])<<24,_=255&e[12]|(255&e[13])<<8|(255&e[14])<<16|(255&e[15])<<24,U=a,E=f,d=i,x=c,M=u,m=y,B=l,S=h,K=s,T=w,Y=g,L=v,k=b,z=p,R=A,P=_,O=0;20>O;O+=2)o=U+k|0,M^=o<<7|o>>>25,o=M+U|0,K^=o<<9|o>>>23,o=K+M|0,k^=o<<13|o>>>19,o=k+K|0,U^=o<<18|o>>>14,o=m+E|0,T^=o<<7|o>>>25,o=T+m|0,z^=o<<9|o>>>23,o=z+T|0,E^=o<<13|o>>>19,o=E+z|0,m^=o<<18|o>>>14,o=Y+B|0,R^=o<<7|o>>>25,o=R+Y|0,d^=o<<9|o>>>23,o=d+R|0,B^=o<<13|o>>>19,o=B+d|0,Y^=o<<18|o>>>14,o=P+L|0,x^=o<<7|o>>>25,o=x+P|0,S^=o<<9|o>>>23,o=S+x|0,L^=o<<13|o>>>19,o=L+S|0,P^=o<<18|o>>>14,o=U+x|0,E^=o<<7|o>>>25,o=E+U|0,d^=o<<9|o>>>23,o=d+E|0,x^=o<<13|o>>>19,o=x+d|0,U^=o<<18|o>>>14,o=m+M|0,B^=o<<7|o>>>25,o=B+m|0,S^=o<<9|o>>>23,o=S+B|0,M^=o<<13|o>>>19,o=M+S|0,m^=o<<18|o>>>14,o=Y+T|0,L^=o<<7|o>>>25,o=L+Y|0,K^=o<<9|o>>>23,o=K+L|0,T^=o<<13|o>>>19,o=T+K|0,Y^=o<<18|o>>>14,o=P+R|0,k^=o<<7|o>>>25,o=k+P|0,z^=o<<9|o>>>23,o=z+k|0,R^=o<<13|o>>>19,o=R+z|0,P^=o<<18|o>>>14;U=U+a|0,E=E+f|0,d=d+i|0,x=x+c|0,M=M+u|0,m=m+y|0,B=B+l|0,S=S+h|0,K=K+s|0,T=T+w|0,Y=Y+g|0,L=L+v|0,k=k+b|0,z=z+p|0,R=R+A|0,P=P+_|0,r[0]=U>>>0&255,r[1]=U>>>8&255,r[2]=U>>>16&255,r[3]=U>>>24&255,r[4]=E>>>0&255,r[5]=E>>>8&255,r[6]=E>>>16&255,r[7]=E>>>24&255,r[8]=d>>>0&255,r[9]=d>>>8&255,r[10]=d>>>16&255,r[11]=d>>>24&255,r[12]=x>>>0&255,r[13]=x>>>8&255,r[14]=x>>>16&255,r[15]=x>>>24&255,r[16]=M>>>0&255,r[17]=M>>>8&255,r[18]=M>>>16&255,r[19]=M>>>24&255,r[20]=m>>>0&255,r[21]=m>>>8&255,r[22]=m>>>16&255,r[23]=m>>>24&255,r[24]=B>>>0&255,r[25]=B>>>8&255,r[26]=B>>>16&255,r[27]=B>>>24&255,r[28]=S>>>0&255,r[29]=S>>>8&255,r[30]=S>>>16&255,r[31]=S>>>24&255,r[32]=K>>>0&255,r[33]=K>>>8&255,r[34]=K>>>16&255,r[35]=K>>>24&255,r[36]=T>>>0&255,r[37]=T>>>8&255,r[38]=T>>>16&255,r[39]=T>>>24&255,r[40]=Y>>>0&255,r[41]=Y>>>8&255,r[42]=Y>>>16&255,r[43]=Y>>>24&255,r[44]=L>>>0&255,r[45]=L>>>8&255,r[46]=L>>>16&255,r[47]=L>>>24&255,r[48]=k>>>0&255,r[49]=k>>>8&255,r[50]=k>>>16&255,r[51]=k>>>24&255,r[52]=z>>>0&255,r[53]=z>>>8&255,r[54]=z>>>16&255,r[55]=z>>>24&255,r[56]=R>>>0&255,r[57]=R>>>8&255,r[58]=R>>>16&255,r[59]=R>>>24&255,r[60]=P>>>0&255,r[61]=P>>>8&255,r[62]=P>>>16&255,r[63]=P>>>24&255}function f(r,n,t,e){for(var o,a=255&e[0]|(255&e[1])<<8|(255&e[2])<<16|(255&e[3])<<24,f=255&t[0]|(255&t[1])<<8|(255&t[2])<<16|(255&t[3])<<24,i=255&t[4]|(255&t[5])<<8|(255&t[6])<<16|(255&t[7])<<24,c=255&t[8]|(255&t[9])<<8|(255&t[10])<<16|(255&t[11])<<24,u=255&t[12]|(255&t[13])<<8|(255&t[14])<<16|(255&t[15])<<24,y=255&e[4]|(255&e[5])<<8|(255&e[6])<<16|(255&e[7])<<24,l=255&n[0]|(255&n[1])<<8|(255&n[2])<<16|(255&n[3])<<24,h=255&n[4]|(255&n[5])<<8|(255&n[6])<<16|(255&n[7])<<24,s=255&n[8]|(255&n[9])<<8|(255&n[10])<<16|(255&n[11])<<24,w=255&n[12]|(255&n[13])<<8|(255&n[14])<<16|(255&n[15])<<24,g=255&e[8]|(255&e[9])<<8|(255&e[10])<<16|(255&e[11])<<24,v=255&t[16]|(255&t[17])<<8|(255&t[18])<<16|(255&t[19])<<24,b=255&t[20]|(255&t[21])<<8|(255&t[22])<<16|(255&t[23])<<24,p=255&t[24]|(255&t[25])<<8|(255&t[26])<<16|(255&t[27])<<24,A=255&t[28]|(255&t[29])<<8|(255&t[30])<<16|(255&t[31])<<24,_=255&e[12]|(255&e[13])<<8|(255&e[14])<<16|(255&e[15])<<24,U=a,E=f,d=i,x=c,M=u,m=y,B=l,S=h,K=s,T=w,Y=g,L=v,k=b,z=p,R=A,P=_,O=0;20>O;O+=2)o=U+k|0,M^=o<<7|o>>>25,o=M+U|0,K^=o<<9|o>>>23,o=K+M|0,k^=o<<13|o>>>19,o=k+K|0,U^=o<<18|o>>>14,o=m+E|0,T^=o<<7|o>>>25,o=T+m|0,z^=o<<9|o>>>23,o=z+T|0,E^=o<<13|o>>>19,o=E+z|0,m^=o<<18|o>>>14,o=Y+B|0,R^=o<<7|o>>>25,o=R+Y|0,d^=o<<9|o>>>23,o=d+R|0,B^=o<<13|o>>>19,o=B+d|0,Y^=o<<18|o>>>14,o=P+L|0,x^=o<<7|o>>>25,o=x+P|0,S^=o<<9|o>>>23,o=S+x|0,L^=o<<13|o>>>19,o=L+S|0,P^=o<<18|o>>>14,o=U+x|0,E^=o<<7|o>>>25,o=E+U|0,d^=o<<9|o>>>23,o=d+E|0,x^=o<<13|o>>>19,o=x+d|0,U^=o<<18|o>>>14,o=m+M|0,B^=o<<7|o>>>25,o=B+m|0,S^=o<<9|o>>>23,o=S+B|0,M^=o<<13|o>>>19,o=M+S|0,m^=o<<18|o>>>14,o=Y+T|0,L^=o<<7|o>>>25,o=L+Y|0,K^=o<<9|o>>>23,o=K+L|0,T^=o<<13|o>>>19,o=T+K|0,Y^=o<<18|o>>>14,o=P+R|0,k^=o<<7|o>>>25,o=k+P|0,z^=o<<9|o>>>23,o=z+k|0,R^=o<<13|o>>>19,o=R+z|0,P^=o<<18|o>>>14;r[0]=U>>>0&255,r[1]=U>>>8&255,r[2]=U>>>16&255,r[3]=U>>>24&255,r[4]=m>>>0&255,r[5]=m>>>8&255,r[6]=m>>>16&255,r[7]=m>>>24&255,r[8]=Y>>>0&255,r[9]=Y>>>8&255,r[10]=Y>>>16&255,r[11]=Y>>>24&255,r[12]=P>>>0&255,r[13]=P>>>8&255,r[14]=P>>>16&255,r[15]=P>>>24&255,r[16]=B>>>0&255,r[17]=B>>>8&255,r[18]=B>>>16&255,r[19]=B>>>24&255,r[20]=S>>>0&255,r[21]=S>>>8&255,r[22]=S>>>16&255,r[23]=S>>>24&255,r[24]=K>>>0&255,r[25]=K>>>8&255,r[26]=K>>>16&255,r[27]=K>>>24&255,r[28]=T>>>0&255,r[29]=T>>>8&255,r[30]=T>>>16&255,r[31]=T>>>24&255}function i(r,n,t,e){a(r,n,t,e)}function c(r,n,t,e){f(r,n,t,e)}function u(r,n,t,e,o,a,f){var c,u,y=new Uint8Array(16),l=new Uint8Array(64);for(u=0;16>u;u++)y[u]=0;for(u=0;8>u;u++)y[u]=a[u];for(;o>=64;){for(i(l,y,f,hr),u=0;64>u;u++)r[n+u]=t[e+u]^l[u];for(c=1,u=8;16>u;u++)c=c+(255&y[u])|0,y[u]=255&c,c>>>=8;o-=64,n+=64,e+=64}if(o>0)for(i(l,y,f,hr),u=0;o>u;u++)r[n+u]=t[e+u]^l[u];return 0}function y(r,n,t,e,o){var a,f,c=new Uint8Array(16),u=new Uint8Array(64);for(f=0;16>f;f++)c[f]=0;for(f=0;8>f;f++)c[f]=e[f];for(;t>=64;){for(i(u,c,o,hr),f=0;64>f;f++)r[n+f]=u[f];for(a=1,f=8;16>f;f++)a=a+(255&c[f])|0,c[f]=255&a,a>>>=8;t-=64,n+=64}if(t>0)for(i(u,c,o,hr),f=0;t>f;f++)r[n+f]=u[f];return 0}function l(r,n,t,e,o){var a=new Uint8Array(32);c(a,e,o,hr);for(var f=new Uint8Array(8),i=0;8>i;i++)f[i]=e[i+16];return y(r,n,t,f,a)}function h(r,n,t,e,o,a,f){var i=new Uint8Array(32);c(i,a,f,hr);for(var y=new Uint8Array(8),l=0;8>l;l++)y[l]=a[l+16];return u(r,n,t,e,o,y,i)}function s(r,n){var t,e=0;for(t=0;17>t;t++)e=e+(r[t]+n[t]|0)|0,r[t]=255&e,e>>>=8}function w(r,n,t,e,o,a){var f,i,c,u,y=new Uint32Array(17),l=new Uint32Array(17),h=new Uint32Array(17),w=new Uint32Array(17),g=new Uint32Array(17);for(c=0;17>c;c++)l[c]=h[c]=0;for(c=0;16>c;c++)l[c]=a[c];for(l[3]&=15,l[4]&=252,l[7]&=15,l[8]&=252,l[11]&=15,l[12]&=252,l[15]&=15;o>0;){for(c=0;17>c;c++)w[c]=0;for(c=0;16>c&&o>c;++c)w[c]=t[e+c];for(w[c]=1,e+=c,o-=c,s(h,w),i=0;17>i;i++)for(y[i]=0,c=0;17>c;c++)y[i]=y[i]+h[c]*(i>=c?l[i-c]:320*l[i+17-c]|0)|0|0;for(i=0;17>i;i++)h[i]=y[i];for(u=0,c=0;16>c;c++)u=u+h[c]|0,h[c]=255&u,u>>>=8;for(u=u+h[16]|0,h[16]=3&u,u=5*(u>>>2)|0,c=0;16>c;c++)u=u+h[c]|0,h[c]=255&u,u>>>=8;u=u+h[16]|0,h[16]=u}for(c=0;17>c;c++)g[c]=h[c];for(s(h,sr),f=0|-(h[16]>>>7),c=0;17>c;c++)h[c]^=f&(g[c]^h[c]);for(c=0;16>c;c++)w[c]=a[c+16];for(w[16]=0,s(h,w),c=0;16>c;c++)r[n+c]=h[c];return 0}function g(r,n,t,o,a,f){var i=new Uint8Array(16);return w(i,0,t,o,a,f),e(r,n,i,0)}function v(r,n,t,e,o){var a;if(32>t)return-1;for(h(r,0,n,0,t,e,o),w(r,16,r,32,t-32,r),a=0;16>a;a++)r[a]=0;return 0}function b(r,n,t,e,o){var a,f=new Uint8Array(32);if(32>t)return-1;if(l(f,0,32,e,o),0!==g(n,16,n,32,t-32,f))return-1;for(h(r,0,n,0,t,e,o),a=0;32>a;a++)r[a]=0;return 0}function p(r,n){var t;for(t=0;16>t;t++)r[t]=0|n[t]}function A(r){var n,t,e=1;for(n=0;16>n;n++)t=r[n]+e+65535,e=Math.floor(t/65536),r[n]=t-65536*e;r[0]+=e-1+37*(e-1)}function _(r,n,t){for(var e,o=~(t-1),a=0;16>a;a++)e=o&(r[a]^n[a]),r[a]^=e,n[a]^=e}function U(r,n){var t,e,o,a=rr(),f=rr();for(t=0;16>t;t++)f[t]=n[t];for(A(f),A(f),A(f),e=0;2>e;e++){for(a[0]=f[0]-65517,t=1;15>t;t++)a[t]=f[t]-65535-(a[t-1]>>16&1),a[t-1]&=65535;a[15]=f[15]-32767-(a[14]>>16&1),o=a[15]>>16&1,a[14]&=65535,_(f,a,1-o)}for(t=0;16>t;t++)r[2*t]=255&f[t],r[2*t+1]=f[t]>>8}function E(r,n){var t=new Uint8Array(32),e=new Uint8Array(32);return U(t,r),U(e,n),o(t,0,e,0)}function d(r){var n=new Uint8Array(32);return U(n,r),1&n[0]}function x(r,n){var t;for(t=0;16>t;t++)r[t]=n[2*t]+(n[2*t+1]<<8);r[15]&=32767}function M(r,n,t){for(var e=0;16>e;e++)r[e]=n[e]+t[e]}function m(r,n,t){for(var e=0;16>e;e++)r[e]=n[e]-t[e]}function B(r,n,t){var e,o,a=0,f=0,i=0,c=0,u=0,y=0,l=0,h=0,s=0,w=0,g=0,v=0,b=0,p=0,A=0,_=0,U=0,E=0,d=0,x=0,M=0,m=0,B=0,S=0,K=0,T=0,Y=0,L=0,k=0,z=0,R=0,P=t[0],O=t[1],N=t[2],C=t[3],F=t[4],I=t[5],G=t[6],Z=t[7],j=t[8],q=t[9],V=t[10],X=t[11],D=t[12],H=t[13],J=t[14],Q=t[15];e=n[0],a+=e*P,f+=e*O,i+=e*N,c+=e*C,u+=e*F,y+=e*I,l+=e*G,h+=e*Z,s+=e*j,w+=e*q,g+=e*V,v+=e*X,b+=e*D,p+=e*H,A+=e*J,_+=e*Q,e=n[1],f+=e*P,i+=e*O,c+=e*N,u+=e*C,y+=e*F,l+=e*I,h+=e*G,s+=e*Z,w+=e*j,g+=e*q,v+=e*V,b+=e*X,p+=e*D,A+=e*H,_+=e*J,U+=e*Q,e=n[2],i+=e*P,c+=e*O,u+=e*N,y+=e*C,l+=e*F,h+=e*I,s+=e*G,w+=e*Z,g+=e*j,v+=e*q,b+=e*V,p+=e*X,A+=e*D,_+=e*H,U+=e*J,E+=e*Q,e=n[3],c+=e*P,u+=e*O,y+=e*N,l+=e*C,h+=e*F,s+=e*I,w+=e*G,g+=e*Z,v+=e*j,b+=e*q,p+=e*V,A+=e*X,_+=e*D,U+=e*H,E+=e*J,d+=e*Q,e=n[4],u+=e*P,y+=e*O,l+=e*N,h+=e*C,s+=e*F,w+=e*I,g+=e*G,v+=e*Z,b+=e*j,p+=e*q,A+=e*V,_+=e*X,U+=e*D,E+=e*H,d+=e*J,x+=e*Q,e=n[5],y+=e*P,l+=e*O,h+=e*N,s+=e*C,w+=e*F,g+=e*I,v+=e*G,b+=e*Z,p+=e*j,A+=e*q,_+=e*V,U+=e*X,E+=e*D,d+=e*H,x+=e*J,M+=e*Q,e=n[6],l+=e*P,h+=e*O,s+=e*N,w+=e*C,g+=e*F,v+=e*I,b+=e*G,p+=e*Z,A+=e*j,_+=e*q,U+=e*V,E+=e*X,d+=e*D,x+=e*H,M+=e*J,m+=e*Q,e=n[7],h+=e*P,s+=e*O,w+=e*N,g+=e*C,v+=e*F,b+=e*I,p+=e*G,A+=e*Z,_+=e*j,U+=e*q,E+=e*V,d+=e*X,x+=e*D,M+=e*H,m+=e*J,B+=e*Q,e=n[8],s+=e*P,w+=e*O,g+=e*N,v+=e*C,b+=e*F,p+=e*I,A+=e*G,_+=e*Z,U+=e*j,E+=e*q,d+=e*V,x+=e*X,M+=e*D,m+=e*H,B+=e*J,S+=e*Q,e=n[9],w+=e*P,g+=e*O,v+=e*N,b+=e*C,p+=e*F,A+=e*I,_+=e*G,U+=e*Z,E+=e*j,d+=e*q,x+=e*V,M+=e*X,m+=e*D,B+=e*H,S+=e*J,K+=e*Q,e=n[10],g+=e*P,v+=e*O,b+=e*N,p+=e*C,A+=e*F,_+=e*I,U+=e*G,E+=e*Z,d+=e*j,x+=e*q,M+=e*V,m+=e*X,B+=e*D,S+=e*H,K+=e*J,T+=e*Q,e=n[11],v+=e*P,b+=e*O,p+=e*N,A+=e*C,_+=e*F,U+=e*I,E+=e*G,d+=e*Z,x+=e*j,M+=e*q,m+=e*V,B+=e*X,S+=e*D,K+=e*H,T+=e*J,Y+=e*Q,e=n[12],b+=e*P,p+=e*O,A+=e*N,_+=e*C,U+=e*F,E+=e*I,d+=e*G,x+=e*Z,M+=e*j,m+=e*q,B+=e*V,S+=e*X,K+=e*D,T+=e*H,Y+=e*J,L+=e*Q,e=n[13],p+=e*P,A+=e*O,_+=e*N,U+=e*C,E+=e*F,d+=e*I,x+=e*G,M+=e*Z,m+=e*j,B+=e*q,S+=e*V,K+=e*X,T+=e*D,Y+=e*H,L+=e*J,k+=e*Q,e=n[14],A+=e*P,_+=e*O,U+=e*N,E+=e*C,d+=e*F,x+=e*I,M+=e*G,m+=e*Z,B+=e*j,S+=e*q,K+=e*V,T+=e*X,Y+=e*D,L+=e*H,k+=e*J,z+=e*Q,e=n[15],_+=e*P,U+=e*O,E+=e*N,d+=e*C,x+=e*F,M+=e*I,m+=e*G,B+=e*Z,S+=e*j,K+=e*q,T+=e*V,Y+=e*X,L+=e*D,k+=e*H,z+=e*J,R+=e*Q,a+=38*U,f+=38*E,i+=38*d,c+=38*x,u+=38*M,y+=38*m,l+=38*B,h+=38*S,s+=38*K,w+=38*T,g+=38*Y,v+=38*L,b+=38*k,p+=38*z,A+=38*R,o=1,e=a+o+65535,o=Math.floor(e/65536),a=e-65536*o,e=f+o+65535,o=Math.floor(e/65536),f=e-65536*o,e=i+o+65535,o=Math.floor(e/65536),i=e-65536*o,e=c+o+65535,o=Math.floor(e/65536),c=e-65536*o,e=u+o+65535,o=Math.floor(e/65536),u=e-65536*o,e=y+o+65535,o=Math.floor(e/65536),y=e-65536*o,e=l+o+65535,o=Math.floor(e/65536),l=e-65536*o,e=h+o+65535,o=Math.floor(e/65536),h=e-65536*o,e=s+o+65535,o=Math.floor(e/65536),s=e-65536*o,e=w+o+65535,o=Math.floor(e/65536),w=e-65536*o,e=g+o+65535,o=Math.floor(e/65536),g=e-65536*o,e=v+o+65535,o=Math.floor(e/65536),v=e-65536*o,e=b+o+65535,o=Math.floor(e/65536),b=e-65536*o,e=p+o+65535,o=Math.floor(e/65536),p=e-65536*o,e=A+o+65535,o=Math.floor(e/65536),A=e-65536*o,e=_+o+65535,o=Math.floor(e/65536),_=e-65536*o,a+=o-1+37*(o-1),o=1,e=a+o+65535,o=Math.floor(e/65536),a=e-65536*o,e=f+o+65535,o=Math.floor(e/65536),f=e-65536*o,e=i+o+65535,o=Math.floor(e/65536),i=e-65536*o,e=c+o+65535,o=Math.floor(e/65536),c=e-65536*o,e=u+o+65535,o=Math.floor(e/65536),u=e-65536*o,e=y+o+65535,o=Math.floor(e/65536),y=e-65536*o,e=l+o+65535,o=Math.floor(e/65536),l=e-65536*o,e=h+o+65535,o=Math.floor(e/65536),h=e-65536*o,e=s+o+65535,o=Math.floor(e/65536),s=e-65536*o,e=w+o+65535,o=Math.floor(e/65536),w=e-65536*o,e=g+o+65535,o=Math.floor(e/65536),g=e-65536*o,e=v+o+65535,o=Math.floor(e/65536),v=e-65536*o,e=b+o+65535,o=Math.floor(e/65536),b=e-65536*o,e=p+o+65535,o=Math.floor(e/65536),p=e-65536*o,e=A+o+65535,o=Math.floor(e/65536),A=e-65536*o,e=_+o+65535,o=Math.floor(e/65536),_=e-65536*o,a+=o-1+37*(o-1),r[0]=a,r[1]=f,r[2]=i,r[3]=c,r[4]=u,r[5]=y,r[6]=l,r[7]=h,r[8]=s,r[9]=w,r[10]=g,r[11]=v,r[12]=b,r[13]=p,r[14]=A,r[15]=_}function S(r,n){B(r,n,n)}function K(r,n){var t,e=rr();for(t=0;16>t;t++)e[t]=n[t];for(t=253;t>=0;t--)S(e,e),2!==t&&4!==t&&B(e,e,n);for(t=0;16>t;t++)r[t]=e[t]}function T(r,n){var t,e=rr();for(t=0;16>t;t++)e[t]=n[t];for(t=250;t>=0;t--)S(e,e),1!==t&&B(e,e,n);for(t=0;16>t;t++)r[t]=e[t]}function Y(r,n,t){var e,o,a=new Uint8Array(32),f=new Float64Array(80),i=rr(),c=rr(),u=rr(),y=rr(),l=rr(),h=rr();for(o=0;31>o;o++)a[o]=n[o];for(a[31]=127&n[31]|64,a[0]&=248,x(f,t),o=0;16>o;o++)c[o]=f[o],y[o]=i[o]=u[o]=0;for(i[0]=y[0]=1,o=254;o>=0;--o)e=a[o>>>3]>>>(7&o)&1,_(i,c,e),_(u,y,e),M(l,i,u),m(i,i,u),M(u,c,y),m(c,c,y),S(y,l),S(h,i),B(i,u,i),B(u,c,l),M(l,i,u),m(i,i,u),S(c,i),m(u,y,h),B(i,u,fr),M(i,i,y),B(u,u,i),B(i,y,h),B(y,c,f),S(c,l),_(i,c,e),_(u,y,e);for(o=0;16>o;o++)f[o+16]=i[o],f[o+32]=u[o],f[o+48]=c[o],f[o+64]=y[o];var s=f.subarray(32),w=f.subarray(16);return K(s,s),B(w,w,s),U(r,w),0}function L(r,n){return Y(r,n,er)}function k(r,n){return nr(n,32),L(r,n)}function z(r,n,t){var e=new Uint8Array(32);return Y(e,t,n),c(r,tr,e,hr)}function R(r,n,t,e,o,a){var f=new Uint8Array(32);return z(f,o,a),wr(r,n,t,e,f)}function P(r,n,t,e,o,a){var f=new Uint8Array(32);return z(f,o,a),gr(r,n,t,e,f)}function O(r,n,t,e){for(var o,a,f,i,c,u,y,l,h,s,w,g,v,b,p,A,_,U,E,d,x,M,m,B,S,K,T=new Int32Array(16),Y=new Int32Array(16),L=r[0],k=r[1],z=r[2],R=r[3],P=r[4],O=r[5],N=r[6],C=r[7],F=n[0],I=n[1],G=n[2],Z=n[3],j=n[4],q=n[5],V=n[6],X=n[7],D=0;e>=128;){for(E=0;16>E;E++)d=8*E+D,T[E]=t[d+0]<<24|t[d+1]<<16|t[d+2]<<8|t[d+3],Y[E]=t[d+4]<<24|t[d+5]<<16|t[d+6]<<8|t[d+7];for(E=0;80>E;E++)if(o=L,a=k,f=z,i=R,c=P,u=O,y=N,l=C,h=F,s=I,w=G,g=Z,v=j,b=q,p=V,A=X,x=C,M=X,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=(P>>>14|j<<18)^(P>>>18|j<<14)^(j>>>9|P<<23),M=(j>>>14|P<<18)^(j>>>18|P<<14)^(P>>>9|j<<23),m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,x=P&O^~P&N,M=j&q^~j&V,m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,x=vr[2*E],M=vr[2*E+1],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,x=T[E%16],M=Y[E%16],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,_=65535&S|K<<16,U=65535&m|B<<16,x=_,M=U,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=(L>>>28|F<<4)^(F>>>2|L<<30)^(F>>>7|L<<25),M=(F>>>28|L<<4)^(L>>>2|F<<30)^(L>>>7|F<<25),m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,x=L&k^L&z^k&z,M=F&I^F&G^I&G,m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,l=65535&S|K<<16,A=65535&m|B<<16,x=i,M=g,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=_,M=U,m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,i=65535&S|K<<16,g=65535&m|B<<16,k=o,z=a,R=f,P=i,O=c,N=u,C=y,L=l,I=h,G=s,Z=w,j=g,q=v,V=b,X=p,F=A,E%16===15)for(d=0;16>d;d++)x=T[d],M=Y[d],m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=T[(d+9)%16],M=Y[(d+9)%16],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,_=T[(d+1)%16],U=Y[(d+1)%16],x=(_>>>1|U<<31)^(_>>>8|U<<24)^_>>>7,M=(U>>>1|_<<31)^(U>>>8|_<<24)^(U>>>7|_<<25),m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,_=T[(d+14)%16],U=Y[(d+14)%16],x=(_>>>19|U<<13)^(U>>>29|_<<3)^_>>>6,M=(U>>>19|_<<13)^(_>>>29|U<<3)^(U>>>6|_<<26),m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,T[d]=65535&S|K<<16,Y[d]=65535&m|B<<16;x=L,M=F,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[0],M=n[0],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[0]=L=65535&S|K<<16,n[0]=F=65535&m|B<<16,x=k,M=I,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[1],M=n[1],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[1]=k=65535&S|K<<16,n[1]=I=65535&m|B<<16,x=z,M=G,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[2],M=n[2],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[2]=z=65535&S|K<<16,n[2]=G=65535&m|B<<16,x=R,M=Z,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[3],M=n[3],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[3]=R=65535&S|K<<16,n[3]=Z=65535&m|B<<16,x=P,M=j,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[4],M=n[4],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[4]=P=65535&S|K<<16,n[4]=j=65535&m|B<<16,x=O,M=q,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[5],M=n[5],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[5]=O=65535&S|K<<16,n[5]=q=65535&m|B<<16,x=N,M=V,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[6],M=n[6],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[6]=N=65535&S|K<<16,n[6]=V=65535&m|B<<16,x=C,M=X,m=65535&M,B=M>>>16,S=65535&x,K=x>>>16,x=r[7],M=n[7],m+=65535&M,B+=M>>>16,S+=65535&x,K+=x>>>16,B+=m>>>16,S+=B>>>16,K+=S>>>16,r[7]=C=65535&S|K<<16,n[7]=X=65535&m|B<<16,D+=128,e-=128}return e}function N(r,t,e){var o,a=new Int32Array(8),f=new Int32Array(8),i=new Uint8Array(256),c=e;for(a[0]=1779033703,a[1]=3144134277,a[2]=1013904242,a[3]=2773480762,a[4]=1359893119,a[5]=2600822924,a[6]=528734635,a[7]=1541459225,f[0]=4089235720,f[1]=2227873595,f[2]=4271175723,f[3]=1595750129,f[4]=2917565137,f[5]=725511199,f[6]=4215389547,f[7]=327033209,O(a,f,t,e),e%=128,o=0;e>o;o++)i[o]=t[c-e+o];for(i[e]=128,e=256-128*(112>e?1:0),i[e-9]=0,n(i,e-8,c/536870912|0,c<<3),O(a,f,i,e),o=0;8>o;o++)n(r,8*o,a[o],f[o]);return 0}function C(r,n){var t=rr(),e=rr(),o=rr(),a=rr(),f=rr(),i=rr(),c=rr(),u=rr(),y=rr();m(t,r[1],r[0]),m(y,n[1],n[0]),B(t,t,y),M(e,r[0],r[1]),M(y,n[0],n[1]),B(e,e,y),B(o,r[3],n[3]),B(o,o,cr),B(a,r[2],n[2]),M(a,a,a),m(f,e,t),m(i,a,o),M(c,a,o),M(u,e,t),B(r[0],f,i),B(r[1],u,c),B(r[2],c,i),B(r[3],f,u)}function F(r,n,t){var e;for(e=0;4>e;e++)_(r[e],n[e],t)}function I(r,n){var t=rr(),e=rr(),o=rr();K(o,n[2]),B(t,n[0],o),B(e,n[1],o),U(r,e),r[31]^=d(t)<<7}function G(r,n,t){var e,o;for(p(r[0],or),p(r[1],ar),p(r[2],ar),p(r[3],or),o=255;o>=0;--o)e=t[o/8|0]>>(7&o)&1,F(r,n,e),C(n,r),C(r,r),F(r,n,e)}function Z(r,n){var t=[rr(),rr(),rr(),rr()];p(t[0],ur),p(t[1],yr),p(t[2],ar),B(t[3],ur,yr),G(r,t,n)}function j(r,n,t){var e,o=new Uint8Array(64),a=[rr(),rr(),rr(),rr()];for(t||nr(n,32),N(o,n,32),o[0]&=248,o[31]&=127,o[31]|=64,Z(a,o),I(r,a),e=0;32>e;e++)n[e+32]=r[e];return 0}function q(r,n){var t,e,o,a;for(e=63;e>=32;--e){for(t=0,o=e-32,a=e-12;a>o;++o)n[o]+=t-16*n[e]*br[o-(e-32)],t=n[o]+128>>8,n[o]-=256*t;n[o]+=t,n[e]=0}for(t=0,o=0;32>o;o++)n[o]+=t-(n[31]>>4)*br[o],t=n[o]>>8,n[o]&=255;for(o=0;32>o;o++)n[o]-=t*br[o];for(e=0;32>e;e++)n[e+1]+=n[e]>>8,r[e]=255&n[e]}function V(r){var n,t=new Float64Array(64);for(n=0;64>n;n++)t[n]=r[n];for(n=0;64>n;n++)r[n]=0;q(r,t)}function X(r,n,t,e){var o,a,f=new Uint8Array(64),i=new Uint8Array(64),c=new Uint8Array(64),u=new Float64Array(64),y=[rr(),rr(),rr(),rr()];N(f,e,32),f[0]&=248,f[31]&=127,f[31]|=64;var l=t+64;for(o=0;t>o;o++)r[64+o]=n[o];for(o=0;32>o;o++)r[32+o]=f[32+o];for(N(c,r.subarray(32),t+32),V(c),Z(y,c),I(r,y),o=32;64>o;o++)r[o]=e[o];for(N(i,r,t+64),V(i),o=0;64>o;o++)u[o]=0;for(o=0;32>o;o++)u[o]=c[o];for(o=0;32>o;o++)for(a=0;32>a;a++)u[o+a]+=i[o]*f[a];return q(r.subarray(32),u),l}function D(r,n){var t=rr(),e=rr(),o=rr(),a=rr(),f=rr(),i=rr(),c=rr();return p(r[2],ar),x(r[1],n),S(o,r[1]),B(a,o,ir),m(o,o,r[2]),M(a,r[2],a),S(f,a),S(i,f),B(c,i,f),B(t,c,o),B(t,t,a),T(t,t),B(t,t,o),B(t,t,a),B(t,t,a),B(r[0],t,a),S(e,r[0]),B(e,e,a),E(e,o)&&B(r[0],r[0],lr),S(e,r[0]),B(e,e,a),E(e,o)?-1:(d(r[0])===n[31]>>7&&m(r[0],or,r[0]),B(r[3],r[0],r[1]),0)}function H(r,n,t,e){var a,f,i=new Uint8Array(32),c=new Uint8Array(64),u=[rr(),rr(),rr(),rr()],y=[rr(),rr(),rr(),rr()];if(f=-1,64>t)return-1;if(D(y,e))return-1;for(a=0;t>a;a++)r[a]=n[a];for(a=0;32>a;a++)r[a+32]=e[a];if(N(c,r,t),V(c),G(u,y,c),Z(y,n.subarray(32)),C(u,y),I(i,u),t-=64,o(n,0,i,0)){for(a=0;t>a;a++)r[a]=0;return-1}for(a=0;t>a;a++)r[a]=n[a+64];return f=t}function J(r,n){if(r.length!==pr)throw new Error("bad key size");if(n.length!==Ar)throw new Error("bad nonce size")}function Q(r,n){if(r.length!==xr)throw new Error("bad public key size");if(n.length!==Mr)throw new Error("bad secret key size")}function W(){var r,n;for(n=0;n<arguments.length;n++)if("[object Uint8Array]"!==(r=Object.prototype.toString.call(arguments[n])))throw new TypeError("unexpected type "+r+", use Uint8Array")}function $(r){for(var n=0;n<r.length;n++)r[n]=0}var rr=function(r){var n,t=new Float64Array(16);if(r)for(n=0;n<r.length;n++)t[n]=r[n];return t},nr=function(){throw new Error("no PRNG")},tr=new Uint8Array(16),er=new Uint8Array(32);er[0]=9;var or=rr(),ar=rr([1]),fr=rr([56129,1]),ir=rr([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),cr=rr([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),ur=rr([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),yr=rr([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),lr=rr([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]),hr=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]),sr=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]),wr=v,gr=b,vr=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],br=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),pr=32,Ar=24,_r=32,Ur=16,Er=32,dr=32,xr=32,Mr=32,mr=32,Br=Ar,Sr=_r,Kr=Ur,Tr=64,Yr=32,Lr=64,kr=32,zr=64;r.lowlevel={crypto_core_hsalsa20:c,crypto_stream_xor:h,crypto_stream:l,crypto_stream_salsa20_xor:u,crypto_stream_salsa20:y,crypto_onetimeauth:w,crypto_onetimeauth_verify:g,crypto_verify_16:e,crypto_verify_32:o,crypto_secretbox:v,crypto_secretbox_open:b,crypto_scalarmult:Y,crypto_scalarmult_base:L,crypto_box_beforenm:z,crypto_box_afternm:wr,crypto_box:R,crypto_box_open:P,crypto_box_keypair:k,crypto_hash:N,crypto_sign:X,crypto_sign_keypair:j,crypto_sign_open:H,crypto_secretbox_KEYBYTES:pr,crypto_secretbox_NONCEBYTES:Ar,crypto_secretbox_ZEROBYTES:_r,crypto_secretbox_BOXZEROBYTES:Ur,crypto_scalarmult_BYTES:Er,crypto_scalarmult_SCALARBYTES:dr,crypto_box_PUBLICKEYBYTES:xr,crypto_box_SECRETKEYBYTES:Mr,crypto_box_BEFORENMBYTES:mr,crypto_box_NONCEBYTES:Br,crypto_box_ZEROBYTES:Sr,crypto_box_BOXZEROBYTES:Kr,crypto_sign_BYTES:Tr,crypto_sign_PUBLICKEYBYTES:Yr,crypto_sign_SECRETKEYBYTES:Lr,crypto_sign_SEEDBYTES:kr,crypto_hash_BYTES:zr},r.util||(r.util={},r.util.decodeUTF8=r.util.encodeUTF8=r.util.encodeBase64=r.util.decodeBase64=function(){throw new Error("nacl.util moved into separate package: https://github.com/dchest/tweetnacl-util-js")}),r.randomBytes=function(r){var n=new Uint8Array(r);return nr(n,r),n},r.secretbox=function(r,n,t){W(r,n,t),J(t,n);for(var e=new Uint8Array(_r+r.length),o=new Uint8Array(e.length),a=0;a<r.length;a++)e[a+_r]=r[a];return v(o,e,e.length,n,t),o.subarray(Ur)},r.secretbox.open=function(r,n,t){W(r,n,t),J(t,n);for(var e=new Uint8Array(Ur+r.length),o=new Uint8Array(e.length),a=0;a<r.length;a++)e[a+Ur]=r[a];return e.length<32?!1:0!==b(o,e,e.length,n,t)?!1:o.subarray(_r)},r.secretbox.keyLength=pr,r.secretbox.nonceLength=Ar,r.secretbox.overheadLength=Ur,r.scalarMult=function(r,n){if(W(r,n),r.length!==dr)throw new Error("bad n size");if(n.length!==Er)throw new Error("bad p size");var t=new Uint8Array(Er);return Y(t,r,n),t},r.scalarMult.base=function(r){if(W(r),r.length!==dr)throw new Error("bad n size");var n=new Uint8Array(Er);return L(n,r),n},r.scalarMult.scalarLength=dr,r.scalarMult.groupElementLength=Er,r.box=function(n,t,e,o){var a=r.box.before(e,o);return r.secretbox(n,t,a)},r.box.before=function(r,n){W(r,n),Q(r,n);var t=new Uint8Array(mr);return z(t,r,n),t},r.box.after=r.secretbox,r.box.open=function(n,t,e,o){var a=r.box.before(e,o);return r.secretbox.open(n,t,a)},r.box.open.after=r.secretbox.open,r.box.keyPair=function(){var r=new Uint8Array(xr),n=new Uint8Array(Mr);return k(r,n),{publicKey:r,secretKey:n}},r.box.keyPair.fromSecretKey=function(r){if(W(r),r.length!==Mr)throw new Error("bad secret key size");var n=new Uint8Array(xr);return L(n,r),{publicKey:n,secretKey:new Uint8Array(r)}},r.box.publicKeyLength=xr,r.box.secretKeyLength=Mr,r.box.sharedKeyLength=mr,r.box.nonceLength=Br,r.box.overheadLength=r.secretbox.overheadLength,r.sign=function(r,n){if(W(r,n),n.length!==Lr)throw new Error("bad secret key size");var t=new Uint8Array(Tr+r.length);return X(t,r,r.length,n),t},r.sign.open=function(r,n){if(2!==arguments.length)throw new Error("nacl.sign.open accepts 2 arguments; did you mean to use nacl.sign.detached.verify?");if(W(r,n),n.length!==Yr)throw new Error("bad public key size");var t=new Uint8Array(r.length),e=H(t,r,r.length,n);if(0>e)return null;for(var o=new Uint8Array(e),a=0;a<o.length;a++)o[a]=t[a];return o},r.sign.detached=function(n,t){for(var e=r.sign(n,t),o=new Uint8Array(Tr),a=0;a<o.length;a++)o[a]=e[a];return o},r.sign.detached.verify=function(r,n,t){if(W(r,n,t),n.length!==Tr)throw new Error("bad signature size");if(t.length!==Yr)throw new Error("bad public key size");var e,o=new Uint8Array(Tr+r.length),a=new Uint8Array(Tr+r.length);for(e=0;Tr>e;e++)o[e]=n[e];for(e=0;e<r.length;e++)o[e+Tr]=r[e];return H(a,o,o.length,t)>=0},r.sign.keyPair=function(){var r=new Uint8Array(Yr),n=new Uint8Array(Lr);return j(r,n),{publicKey:r,secretKey:n}},r.sign.keyPair.fromSecretKey=function(r){if(W(r),r.length!==Lr)throw new Error("bad secret key size");for(var n=new Uint8Array(Yr),t=0;t<n.length;t++)n[t]=r[32+t];return{publicKey:n,secretKey:new Uint8Array(r)}},r.sign.keyPair.fromSeed=function(r){if(W(r),r.length!==kr)throw new Error("bad seed size");for(var n=new Uint8Array(Yr),t=new Uint8Array(Lr),e=0;32>e;e++)t[e]=r[e];return j(n,t,!0),{publicKey:n,secretKey:t}},r.sign.publicKeyLength=Yr,r.sign.secretKeyLength=Lr,r.sign.seedLength=kr,r.sign.signatureLength=Tr,r.hash=function(r){W(r);var n=new Uint8Array(zr);return N(n,r,r.length),n},r.hash.hashLength=zr,r.verify=function(r,n){return W(r,n),0===r.length||0===n.length?!1:r.length!==n.length?!1:0===t(r,0,n,0,r.length)?!0:!1},r.setPRNG=function(r){nr=r},function(){var n="undefined"!=typeof self?self.crypto||self.msCrypto:null;if(n&&n.getRandomValues){var t=65536;r.setPRNG(function(r,e){var o,a=new Uint8Array(e);for(o=0;e>o;o+=t)n.getRandomValues(a.subarray(o,o+Math.min(e-o,t)));for(o=0;e>o;o++)r[o]=a[o];$(a)})}else"undefined"!=typeof require&&(n=require("crypto"),n&&n.randomBytes&&r.setPRNG(function(r,t){var e,o=n.randomBytes(t);for(e=0;t>e;e++)r[e]=o[e];$(o)}))}()}("undefined"!=typeof module&&module.exports?module.exports:self.nacl=self.nacl||{});