@basmilius/apple-encryption 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import{createRequire as e}from"node:module";var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},u=(e,r,i)=>(i=e==null?{}:t(a(e)),l(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),d=e(import.meta.url);export{u as i,c as n,d as r,s as t};
@@ -0,0 +1,42 @@
1
+ declare namespace chacha20_d_exports {
2
+ export { CHACHA20_AUTH_TAG_LENGTH, CHACHA20_NONCE_LENGTH, EncryptedData, decrypt, encrypt, padNonce };
3
+ }
4
+ declare const CHACHA20_AUTH_TAG_LENGTH = 16;
5
+ declare const CHACHA20_NONCE_LENGTH = 12;
6
+ declare function decrypt(key: Buffer, nonce: Buffer, aad: Buffer | null, ciphertext: Buffer, authTag: Buffer): Buffer;
7
+ declare function encrypt(key: Buffer, nonce: Buffer, aad: Buffer | null, plaintext: Buffer): EncryptedData;
8
+ declare function padNonce(nonce: Buffer): Buffer;
9
+ type EncryptedData = {
10
+ readonly ciphertext: Buffer;
11
+ readonly authTag: Buffer;
12
+ };
13
+ //#endregion
14
+ //#region src/types.d.ts
15
+ type KeyPair = {
16
+ readonly publicKey: Uint8Array;
17
+ readonly secretKey: Uint8Array;
18
+ };
19
+ declare namespace curve25519_d_exports {
20
+ export { generateKeyPair$1 as generateKeyPair, generateSharedSecKey };
21
+ }
22
+ declare function generateKeyPair$1(): KeyPair;
23
+ declare function generateSharedSecKey(priKey: Uint8Array, pubKey: Uint8Array): Uint8Array;
24
+ declare namespace ed25519_d_exports {
25
+ export { generateKeyPair, sign, verify };
26
+ }
27
+ declare function generateKeyPair(): KeyPair;
28
+ declare function sign(message: Uint8Array, secretKey: Uint8Array): Uint8Array;
29
+ declare function verify(message: Uint8Array, signature: Uint8Array, publicKey: Uint8Array): boolean;
30
+ //#endregion
31
+ //#region src/hkdf.d.ts
32
+ declare function export_default(options: HKDFOptions): Buffer;
33
+ type HKDFOptions = {
34
+ readonly hash: string;
35
+ readonly key: Buffer;
36
+ readonly length: number;
37
+ readonly salt: Buffer;
38
+ readonly info: Buffer;
39
+ };
40
+ //#endregion
41
+ export { chacha20_d_exports as Chacha20, curve25519_d_exports as Curve25519, ed25519_d_exports as Ed25519, KeyPair, export_default as hkdf };
42
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/chacha20.ts","../src/types.ts","../src/curve25519.ts","../src/ed25519.ts","../src/hkdf.ts"],"mappings":";;;cAEa,wBAAA;AAAA,cACA,qBAAA;AAAA,iBAEG,OAAA,CAAQ,GAAA,EAAK,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,GAAA,EAAK,MAAA,SAAe,UAAA,EAAY,MAAA,EAAQ,OAAA,EAAS,MAAA,GAAS,MAAA;AAAA,iBAc9F,OAAA,CAAQ,GAAA,EAAK,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAQ,GAAA,EAAK,MAAA,SAAe,SAAA,EAAW,MAAA,GAAS,aAAA;AAAA,iBAc5E,QAAA,CAAS,KAAA,EAAO,MAAA,GAAS,MAAA;AAAA,KAW7B,aAAA;EAAA,SACC,UAAA,EAAY,MAAA;EAAA,SACZ,OAAA,EAAS,MAAA;AAAA;;;KC9CV,OAAA;EAAA,SACC,SAAA,EAAW,UAAA;EAAA,SACX,SAAA,EAAW,UAAA;AAAA;AAAA;;;iBCCR,iBAAA,CAAA,GAAmB,OAAA;AAAA,iBASnB,oBAAA,CAAqB,MAAA,EAAQ,UAAA,EAAY,MAAA,EAAQ,UAAA,GAAa,UAAA;AAAA;;;iBCT9D,eAAA,CAAA,GAAmB,OAAA;AAAA,iBASnB,IAAA,CAAK,OAAA,EAAS,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,UAAA;AAAA,iBAIlD,MAAA,CAAO,OAAA,EAAS,UAAA,EAAY,SAAA,EAAW,UAAA,EAAY,SAAA,EAAW,UAAA;;;gCCdrD,OAAA,EAAS,WAAA,GAAc,MAAA;AAAA,KAIpC,WAAA;EAAA,SACC,IAAA;EAAA,SACA,GAAA,EAAK,MAAA;EAAA,SACL,MAAA;EAAA,SACA,IAAA,EAAM,MAAA;EAAA,SACN,IAAA,EAAM,MAAA;AAAA"}
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import{i as e,n as t,r as n,t as r}from"./chunk-tuRmWmEN.mjs";import{hkdfSync as i}from"node:crypto";Number.isInteger,Number.isSafeInteger;function a(e,t=new Uint8Array(4),n=0){return t[n+0]=e>>>0,t[n+1]=e>>>8,t[n+2]=e>>>16,t[n+3]=e>>>24,t}function o(e,t=new Uint8Array(8),n=0){return a(e>>>0,t,n),a(e/4294967296>>>0,t,n+4),t}function s(e){for(let t=0;t<e.length;t++)e[t]=0;return e}function c(e,t,n){let r=1634760805,i=857760878,o=2036477234,s=1797285236,c=n[3]<<24|n[2]<<16|n[1]<<8|n[0],l=n[7]<<24|n[6]<<16|n[5]<<8|n[4],u=n[11]<<24|n[10]<<16|n[9]<<8|n[8],d=n[15]<<24|n[14]<<16|n[13]<<8|n[12],f=n[19]<<24|n[18]<<16|n[17]<<8|n[16],p=n[23]<<24|n[22]<<16|n[21]<<8|n[20],m=n[27]<<24|n[26]<<16|n[25]<<8|n[24],h=n[31]<<24|n[30]<<16|n[29]<<8|n[28],g=t[3]<<24|t[2]<<16|t[1]<<8|t[0],_=t[7]<<24|t[6]<<16|t[5]<<8|t[4],v=t[11]<<24|t[10]<<16|t[9]<<8|t[8],y=t[15]<<24|t[14]<<16|t[13]<<8|t[12],b=r,x=i,S=o,C=s,w=c,T=l,E=u,D=d,O=f,k=p,A=m,j=h,M=g,N=_,P=v,F=y;for(let e=0;e<20;e+=2)b=b+w|0,M^=b,M=M>>>16|M<<16,O=O+M|0,w^=O,w=w>>>20|w<<12,x=x+T|0,N^=x,N=N>>>16|N<<16,k=k+N|0,T^=k,T=T>>>20|T<<12,S=S+E|0,P^=S,P=P>>>16|P<<16,A=A+P|0,E^=A,E=E>>>20|E<<12,C=C+D|0,F^=C,F=F>>>16|F<<16,j=j+F|0,D^=j,D=D>>>20|D<<12,S=S+E|0,P^=S,P=P>>>24|P<<8,A=A+P|0,E^=A,E=E>>>25|E<<7,C=C+D|0,F^=C,F=F>>>24|F<<8,j=j+F|0,D^=j,D=D>>>25|D<<7,x=x+T|0,N^=x,N=N>>>24|N<<8,k=k+N|0,T^=k,T=T>>>25|T<<7,b=b+w|0,M^=b,M=M>>>24|M<<8,O=O+M|0,w^=O,w=w>>>25|w<<7,b=b+T|0,F^=b,F=F>>>16|F<<16,A=A+F|0,T^=A,T=T>>>20|T<<12,x=x+E|0,M^=x,M=M>>>16|M<<16,j=j+M|0,E^=j,E=E>>>20|E<<12,S=S+D|0,N^=S,N=N>>>16|N<<16,O=O+N|0,D^=O,D=D>>>20|D<<12,C=C+w|0,P^=C,P=P>>>16|P<<16,k=k+P|0,w^=k,w=w>>>20|w<<12,S=S+D|0,N^=S,N=N>>>24|N<<8,O=O+N|0,D^=O,D=D>>>25|D<<7,C=C+w|0,P^=C,P=P>>>24|P<<8,k=k+P|0,w^=k,w=w>>>25|w<<7,x=x+E|0,M^=x,M=M>>>24|M<<8,j=j+M|0,E^=j,E=E>>>25|E<<7,b=b+T|0,F^=b,F=F>>>24|F<<8,A=A+F|0,T^=A,T=T>>>25|T<<7;a(b+r|0,e,0),a(x+i|0,e,4),a(S+o|0,e,8),a(C+s|0,e,12),a(w+c|0,e,16),a(T+l|0,e,20),a(E+u|0,e,24),a(D+d|0,e,28),a(O+f|0,e,32),a(k+p|0,e,36),a(A+m|0,e,40),a(j+h|0,e,44),a(M+g|0,e,48),a(N+_|0,e,52),a(P+v|0,e,56),a(F+y|0,e,60)}function l(e,t,n,r,i=0){if(e.length!==32)throw Error(`ChaCha: key size must be 32 bytes`);if(r.length<n.length)throw Error(`ChaCha: destination is shorter than source`);let a,o;if(i===0){if(t.length!==8&&t.length!==12)throw Error(`ChaCha nonce must be 8 or 12 bytes`);a=new Uint8Array(16),o=a.length-t.length,a.set(t,o)}else{if(t.length!==16)throw Error(`ChaCha nonce with counter must be 16 bytes`);a=t,o=i}let l=new Uint8Array(64);for(let t=0;t<n.length;t+=64){c(l,a,e);for(let e=t;e<t+64&&e<n.length;e++)r[e]=n[e]^l[e-t];d(a,0,o)}return s(l),i===0&&s(a),r}function u(e,t,n,r=0){return s(n),l(e,t,n,n,r)}function d(e,t,n){let r=1;for(;n--;)r=r+(e[t]&255)|0,e[t]=r&255,r>>>=8,t++;if(r>0)throw Error(`ChaCha: counter overflow`)}function f(e,t){if(e.length!==t.length)return 0;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return 1&n-1>>>8}function p(e,t){return e.length===0||t.length===0?!1:f(e,t)!==0}var m=class{digestLength=16;_buffer=new Uint8Array(16);_r=new Uint16Array(10);_h=new Uint16Array(10);_pad=new Uint16Array(8);_leftover=0;_fin=0;_finished=!1;constructor(e){let t=e[0]|e[1]<<8;this._r[0]=t&8191;let n=e[2]|e[3]<<8;this._r[1]=(t>>>13|n<<3)&8191;let r=e[4]|e[5]<<8;this._r[2]=(n>>>10|r<<6)&7939;let i=e[6]|e[7]<<8;this._r[3]=(r>>>7|i<<9)&8191;let a=e[8]|e[9]<<8;this._r[4]=(i>>>4|a<<12)&255,this._r[5]=a>>>1&8190;let o=e[10]|e[11]<<8;this._r[6]=(a>>>14|o<<2)&8191;let s=e[12]|e[13]<<8;this._r[7]=(o>>>11|s<<5)&8065;let c=e[14]|e[15]<<8;this._r[8]=(s>>>8|c<<8)&8191,this._r[9]=c>>>5&127,this._pad[0]=e[16]|e[17]<<8,this._pad[1]=e[18]|e[19]<<8,this._pad[2]=e[20]|e[21]<<8,this._pad[3]=e[22]|e[23]<<8,this._pad[4]=e[24]|e[25]<<8,this._pad[5]=e[26]|e[27]<<8,this._pad[6]=e[28]|e[29]<<8,this._pad[7]=e[30]|e[31]<<8}_blocks(e,t,n){let r=this._fin?0:2048,i=this._h[0],a=this._h[1],o=this._h[2],s=this._h[3],c=this._h[4],l=this._h[5],u=this._h[6],d=this._h[7],f=this._h[8],p=this._h[9],m=this._r[0],h=this._r[1],g=this._r[2],_=this._r[3],v=this._r[4],y=this._r[5],b=this._r[6],x=this._r[7],S=this._r[8],C=this._r[9];for(;n>=16;){let w=e[t+0]|e[t+1]<<8;i+=w&8191;let T=e[t+2]|e[t+3]<<8;a+=(w>>>13|T<<3)&8191;let E=e[t+4]|e[t+5]<<8;o+=(T>>>10|E<<6)&8191;let D=e[t+6]|e[t+7]<<8;s+=(E>>>7|D<<9)&8191;let O=e[t+8]|e[t+9]<<8;c+=(D>>>4|O<<12)&8191,l+=O>>>1&8191;let k=e[t+10]|e[t+11]<<8;u+=(O>>>14|k<<2)&8191;let A=e[t+12]|e[t+13]<<8;d+=(k>>>11|A<<5)&8191;let j=e[t+14]|e[t+15]<<8;f+=(A>>>8|j<<8)&8191,p+=j>>>5|r;let M=0,N=M;N+=i*m,N+=5*C*a,N+=5*S*o,N+=5*x*s,N+=5*b*c,M=N>>>13,N&=8191,N+=5*y*l,N+=5*v*u,N+=5*_*d,N+=5*g*f,N+=5*h*p,M+=N>>>13,N&=8191;let P=M;P+=i*h,P+=a*m,P+=5*C*o,P+=5*S*s,P+=5*x*c,M=P>>>13,P&=8191,P+=5*b*l,P+=5*y*u,P+=5*v*d,P+=5*_*f,P+=5*g*p,M+=P>>>13,P&=8191;let F=M;F+=i*g,F+=a*h,F+=o*m,F+=5*C*s,F+=5*S*c,M=F>>>13,F&=8191,F+=5*x*l,F+=5*b*u,F+=5*y*d,F+=5*v*f,F+=5*_*p,M+=F>>>13,F&=8191;let I=M;I+=i*_,I+=a*g,I+=o*h,I+=s*m,I+=5*C*c,M=I>>>13,I&=8191,I+=5*S*l,I+=5*x*u,I+=5*b*d,I+=5*y*f,I+=5*v*p,M+=I>>>13,I&=8191;let L=M;L+=i*v,L+=a*_,L+=o*g,L+=s*h,L+=c*m,M=L>>>13,L&=8191,L+=5*C*l,L+=5*S*u,L+=5*x*d,L+=5*b*f,L+=5*y*p,M+=L>>>13,L&=8191;let R=M;R+=i*y,R+=a*v,R+=o*_,R+=s*g,R+=c*h,M=R>>>13,R&=8191,R+=l*m,R+=5*C*u,R+=5*S*d,R+=5*x*f,R+=5*b*p,M+=R>>>13,R&=8191;let z=M;z+=i*b,z+=a*y,z+=o*v,z+=s*_,z+=c*g,M=z>>>13,z&=8191,z+=l*h,z+=u*m,z+=5*C*d,z+=5*S*f,z+=5*x*p,M+=z>>>13,z&=8191;let B=M;B+=i*x,B+=a*b,B+=o*y,B+=s*v,B+=c*_,M=B>>>13,B&=8191,B+=l*g,B+=u*h,B+=d*m,B+=5*C*f,B+=5*S*p,M+=B>>>13,B&=8191;let V=M;V+=i*S,V+=a*x,V+=o*b,V+=s*y,V+=c*v,M=V>>>13,V&=8191,V+=l*_,V+=u*g,V+=d*h,V+=f*m,V+=5*C*p,M+=V>>>13,V&=8191;let H=M;H+=i*C,H+=a*S,H+=o*x,H+=s*b,H+=c*y,M=H>>>13,H&=8191,H+=l*v,H+=u*_,H+=d*g,H+=f*h,H+=p*m,M+=H>>>13,H&=8191,M=(M<<2)+M|0,M=M+N|0,N=M&8191,M>>>=13,P+=M,i=N,a=P,o=F,s=I,c=L,l=R,u=z,d=B,f=V,p=H,t+=16,n-=16}this._h[0]=i,this._h[1]=a,this._h[2]=o,this._h[3]=s,this._h[4]=c,this._h[5]=l,this._h[6]=u,this._h[7]=d,this._h[8]=f,this._h[9]=p}finish(e,t=0){let n=new Uint16Array(10),r,i,a,o;if(this._leftover){for(o=this._leftover,this._buffer[o++]=1;o<16;o++)this._buffer[o]=0;this._fin=1,this._blocks(this._buffer,0,16)}for(r=this._h[1]>>>13,this._h[1]&=8191,o=2;o<10;o++)this._h[o]+=r,r=this._h[o]>>>13,this._h[o]&=8191;for(this._h[0]+=r*5,r=this._h[0]>>>13,this._h[0]&=8191,this._h[1]+=r,r=this._h[1]>>>13,this._h[1]&=8191,this._h[2]+=r,n[0]=this._h[0]+5,r=n[0]>>>13,n[0]&=8191,o=1;o<10;o++)n[o]=this._h[o]+r,r=n[o]>>>13,n[o]&=8191;for(n[9]-=8192,i=(r^1)-1,o=0;o<10;o++)n[o]&=i;for(i=~i,o=0;o<10;o++)this._h[o]=this._h[o]&i|n[o];for(this._h[0]=(this._h[0]|this._h[1]<<13)&65535,this._h[1]=(this._h[1]>>>3|this._h[2]<<10)&65535,this._h[2]=(this._h[2]>>>6|this._h[3]<<7)&65535,this._h[3]=(this._h[3]>>>9|this._h[4]<<4)&65535,this._h[4]=(this._h[4]>>>12|this._h[5]<<1|this._h[6]<<14)&65535,this._h[5]=(this._h[6]>>>2|this._h[7]<<11)&65535,this._h[6]=(this._h[7]>>>5|this._h[8]<<8)&65535,this._h[7]=(this._h[8]>>>8|this._h[9]<<5)&65535,a=this._h[0]+this._pad[0],this._h[0]=a&65535,o=1;o<8;o++)a=(this._h[o]+this._pad[o]|0)+(a>>>16)|0,this._h[o]=a&65535;return e[t+0]=this._h[0]>>>0,e[t+1]=this._h[0]>>>8,e[t+2]=this._h[1]>>>0,e[t+3]=this._h[1]>>>8,e[t+4]=this._h[2]>>>0,e[t+5]=this._h[2]>>>8,e[t+6]=this._h[3]>>>0,e[t+7]=this._h[3]>>>8,e[t+8]=this._h[4]>>>0,e[t+9]=this._h[4]>>>8,e[t+10]=this._h[5]>>>0,e[t+11]=this._h[5]>>>8,e[t+12]=this._h[6]>>>0,e[t+13]=this._h[6]>>>8,e[t+14]=this._h[7]>>>0,e[t+15]=this._h[7]>>>8,this._finished=!0,this}update(e){let t=0,n=e.length,r;if(this._leftover){r=16-this._leftover,r>n&&(r=n);for(let n=0;n<r;n++)this._buffer[this._leftover+n]=e[t+n];if(n-=r,t+=r,this._leftover+=r,this._leftover<16)return this;this._blocks(this._buffer,0,16),this._leftover=0}if(n>=16&&(r=n-n%16,this._blocks(e,t,r),t+=r,n-=r),n){for(let r=0;r<n;r++)this._buffer[this._leftover+r]=e[t+r];this._leftover+=n}return this}digest(){if(this._finished)throw Error(`Poly1305 was finished`);let e=new Uint8Array(16);return this.finish(e),e}clean(){return s(this._buffer),s(this._r),s(this._h),s(this._pad),this._leftover=0,this._fin=0,this._finished=!0,this}};const h=new Uint8Array(16);var g=class{nonceLength=12;tagLength=16;_key;constructor(e){if(e.length!==32)throw Error(`ChaCha20Poly1305 needs 32-byte key`);this._key=new Uint8Array(e)}seal(e,t,n,r){if(e.length>16)throw Error(`ChaCha20Poly1305: incorrect nonce length`);let i=new Uint8Array(16);i.set(e,i.length-e.length);let a=new Uint8Array(32);u(this._key,i,a,4);let o=t.length+this.tagLength,c;if(r){if(r.length!==o)throw Error(`ChaCha20Poly1305: incorrect destination length`);c=r}else c=new Uint8Array(o);return l(this._key,i,t,c,4),this._authenticate(c.subarray(c.length-this.tagLength,c.length),a,c.subarray(0,c.length-this.tagLength),n),s(i),c}open(e,t,n,r){if(e.length>16)throw Error(`ChaCha20Poly1305: incorrect nonce length`);if(t.length<this.tagLength)return null;let i=new Uint8Array(16);i.set(e,i.length-e.length);let a=new Uint8Array(32);u(this._key,i,a,4);let o=new Uint8Array(this.tagLength);if(this._authenticate(o,a,t.subarray(0,t.length-this.tagLength),n),!p(o,t.subarray(t.length-this.tagLength,t.length)))return null;let c=t.length-this.tagLength,d;if(r){if(r.length!==c)throw Error(`ChaCha20Poly1305: incorrect destination length`);d=r}else d=new Uint8Array(c);return l(this._key,i,t.subarray(0,t.length-this.tagLength),d,4),s(i),d}clean(){return s(this._key),this}_authenticate(e,t,n,r){let i=new m(t);r&&(i.update(r),r.length%16>0&&i.update(h.subarray(r.length%16))),i.update(n),n.length%16>0&&i.update(h.subarray(n.length%16));let a=new Uint8Array(8);r&&o(r.length,a),i.update(a),o(n.length,a),i.update(a);let c=i.digest();for(let t=0;t<c.length;t++)e[t]=c[t];i.clean(),s(c),s(a)}},_=t({CHACHA20_AUTH_TAG_LENGTH:()=>v,CHACHA20_NONCE_LENGTH:()=>y,decrypt:()=>b,encrypt:()=>x,padNonce:()=>S});const v=16,y=12;function b(e,t,n,r,i){t=S(t);let a=new g(e),o=Buffer.concat([r,i]),s=a.open(t,o,n??void 0);if(!s)throw Error(`Decryption failed: authentication tag mismatch`);return Buffer.from(s)}function x(e,t,n,r){t=S(t);let i=new g(e).seal(t,r,n??void 0);return{ciphertext:Buffer.from(i.subarray(0,i.length-16)),authTag:Buffer.from(i.subarray(i.length-16))}}function S(e){return e.length>=12?e:Buffer.concat([Buffer.alloc(12-e.length,0),e])}var C=r(((e,t)=>{(function(e){var t=function(e){var t,n=new Float64Array(16);if(e)for(t=0;t<e.length;t++)n[t]=e[t];return n},r=function(){throw Error(`no PRNG`)},i=new Uint8Array(16),a=new Uint8Array(32);a[0]=9;var o=t(),s=t([1]),c=t([56129,1]),l=t([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),u=t([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),d=t([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),f=t([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),p=t([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function m(e,t,n,r){e[t]=n>>24&255,e[t+1]=n>>16&255,e[t+2]=n>>8&255,e[t+3]=n&255,e[t+4]=r>>24&255,e[t+5]=r>>16&255,e[t+6]=r>>8&255,e[t+7]=r&255}function h(e,t,n,r,i){var a,o=0;for(a=0;a<i;a++)o|=e[t+a]^n[r+a];return(1&o-1>>>8)-1}function g(e,t,n,r){return h(e,t,n,r,16)}function _(e,t,n,r){return h(e,t,n,r,32)}function v(e,t,n,r){for(var i=r[0]&255|(r[1]&255)<<8|(r[2]&255)<<16|(r[3]&255)<<24,a=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,o=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,s=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,c=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,l=r[4]&255|(r[5]&255)<<8|(r[6]&255)<<16|(r[7]&255)<<24,u=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,d=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,f=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,p=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,m=r[8]&255|(r[9]&255)<<8|(r[10]&255)<<16|(r[11]&255)<<24,h=n[16]&255|(n[17]&255)<<8|(n[18]&255)<<16|(n[19]&255)<<24,g=n[20]&255|(n[21]&255)<<8|(n[22]&255)<<16|(n[23]&255)<<24,_=n[24]&255|(n[25]&255)<<8|(n[26]&255)<<16|(n[27]&255)<<24,v=n[28]&255|(n[29]&255)<<8|(n[30]&255)<<16|(n[31]&255)<<24,y=r[12]&255|(r[13]&255)<<8|(r[14]&255)<<16|(r[15]&255)<<24,b=i,x=a,S=o,C=s,w=c,T=l,E=u,D=d,O=f,k=p,A=m,j=h,M=g,N=_,P=v,F=y,I,L=0;L<20;L+=2)I=b+M|0,w^=I<<7|I>>>25,I=w+b|0,O^=I<<9|I>>>23,I=O+w|0,M^=I<<13|I>>>19,I=M+O|0,b^=I<<18|I>>>14,I=T+x|0,k^=I<<7|I>>>25,I=k+T|0,N^=I<<9|I>>>23,I=N+k|0,x^=I<<13|I>>>19,I=x+N|0,T^=I<<18|I>>>14,I=A+E|0,P^=I<<7|I>>>25,I=P+A|0,S^=I<<9|I>>>23,I=S+P|0,E^=I<<13|I>>>19,I=E+S|0,A^=I<<18|I>>>14,I=F+j|0,C^=I<<7|I>>>25,I=C+F|0,D^=I<<9|I>>>23,I=D+C|0,j^=I<<13|I>>>19,I=j+D|0,F^=I<<18|I>>>14,I=b+C|0,x^=I<<7|I>>>25,I=x+b|0,S^=I<<9|I>>>23,I=S+x|0,C^=I<<13|I>>>19,I=C+S|0,b^=I<<18|I>>>14,I=T+w|0,E^=I<<7|I>>>25,I=E+T|0,D^=I<<9|I>>>23,I=D+E|0,w^=I<<13|I>>>19,I=w+D|0,T^=I<<18|I>>>14,I=A+k|0,j^=I<<7|I>>>25,I=j+A|0,O^=I<<9|I>>>23,I=O+j|0,k^=I<<13|I>>>19,I=k+O|0,A^=I<<18|I>>>14,I=F+P|0,M^=I<<7|I>>>25,I=M+F|0,N^=I<<9|I>>>23,I=N+M|0,P^=I<<13|I>>>19,I=P+N|0,F^=I<<18|I>>>14;b=b+i|0,x=x+a|0,S=S+o|0,C=C+s|0,w=w+c|0,T=T+l|0,E=E+u|0,D=D+d|0,O=O+f|0,k=k+p|0,A=A+m|0,j=j+h|0,M=M+g|0,N=N+_|0,P=P+v|0,F=F+y|0,e[0]=b>>>0&255,e[1]=b>>>8&255,e[2]=b>>>16&255,e[3]=b>>>24&255,e[4]=x>>>0&255,e[5]=x>>>8&255,e[6]=x>>>16&255,e[7]=x>>>24&255,e[8]=S>>>0&255,e[9]=S>>>8&255,e[10]=S>>>16&255,e[11]=S>>>24&255,e[12]=C>>>0&255,e[13]=C>>>8&255,e[14]=C>>>16&255,e[15]=C>>>24&255,e[16]=w>>>0&255,e[17]=w>>>8&255,e[18]=w>>>16&255,e[19]=w>>>24&255,e[20]=T>>>0&255,e[21]=T>>>8&255,e[22]=T>>>16&255,e[23]=T>>>24&255,e[24]=E>>>0&255,e[25]=E>>>8&255,e[26]=E>>>16&255,e[27]=E>>>24&255,e[28]=D>>>0&255,e[29]=D>>>8&255,e[30]=D>>>16&255,e[31]=D>>>24&255,e[32]=O>>>0&255,e[33]=O>>>8&255,e[34]=O>>>16&255,e[35]=O>>>24&255,e[36]=k>>>0&255,e[37]=k>>>8&255,e[38]=k>>>16&255,e[39]=k>>>24&255,e[40]=A>>>0&255,e[41]=A>>>8&255,e[42]=A>>>16&255,e[43]=A>>>24&255,e[44]=j>>>0&255,e[45]=j>>>8&255,e[46]=j>>>16&255,e[47]=j>>>24&255,e[48]=M>>>0&255,e[49]=M>>>8&255,e[50]=M>>>16&255,e[51]=M>>>24&255,e[52]=N>>>0&255,e[53]=N>>>8&255,e[54]=N>>>16&255,e[55]=N>>>24&255,e[56]=P>>>0&255,e[57]=P>>>8&255,e[58]=P>>>16&255,e[59]=P>>>24&255,e[60]=F>>>0&255,e[61]=F>>>8&255,e[62]=F>>>16&255,e[63]=F>>>24&255}function y(e,t,n,r){for(var i=r[0]&255|(r[1]&255)<<8|(r[2]&255)<<16|(r[3]&255)<<24,a=n[0]&255|(n[1]&255)<<8|(n[2]&255)<<16|(n[3]&255)<<24,o=n[4]&255|(n[5]&255)<<8|(n[6]&255)<<16|(n[7]&255)<<24,s=n[8]&255|(n[9]&255)<<8|(n[10]&255)<<16|(n[11]&255)<<24,c=n[12]&255|(n[13]&255)<<8|(n[14]&255)<<16|(n[15]&255)<<24,l=r[4]&255|(r[5]&255)<<8|(r[6]&255)<<16|(r[7]&255)<<24,u=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,d=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,f=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,p=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,m=r[8]&255|(r[9]&255)<<8|(r[10]&255)<<16|(r[11]&255)<<24,h=n[16]&255|(n[17]&255)<<8|(n[18]&255)<<16|(n[19]&255)<<24,g=n[20]&255|(n[21]&255)<<8|(n[22]&255)<<16|(n[23]&255)<<24,_=n[24]&255|(n[25]&255)<<8|(n[26]&255)<<16|(n[27]&255)<<24,v=n[28]&255|(n[29]&255)<<8|(n[30]&255)<<16|(n[31]&255)<<24,y=r[12]&255|(r[13]&255)<<8|(r[14]&255)<<16|(r[15]&255)<<24,b=i,x=a,S=o,C=s,w=c,T=l,E=u,D=d,O=f,k=p,A=m,j=h,M=g,N=_,P=v,F=y,I,L=0;L<20;L+=2)I=b+M|0,w^=I<<7|I>>>25,I=w+b|0,O^=I<<9|I>>>23,I=O+w|0,M^=I<<13|I>>>19,I=M+O|0,b^=I<<18|I>>>14,I=T+x|0,k^=I<<7|I>>>25,I=k+T|0,N^=I<<9|I>>>23,I=N+k|0,x^=I<<13|I>>>19,I=x+N|0,T^=I<<18|I>>>14,I=A+E|0,P^=I<<7|I>>>25,I=P+A|0,S^=I<<9|I>>>23,I=S+P|0,E^=I<<13|I>>>19,I=E+S|0,A^=I<<18|I>>>14,I=F+j|0,C^=I<<7|I>>>25,I=C+F|0,D^=I<<9|I>>>23,I=D+C|0,j^=I<<13|I>>>19,I=j+D|0,F^=I<<18|I>>>14,I=b+C|0,x^=I<<7|I>>>25,I=x+b|0,S^=I<<9|I>>>23,I=S+x|0,C^=I<<13|I>>>19,I=C+S|0,b^=I<<18|I>>>14,I=T+w|0,E^=I<<7|I>>>25,I=E+T|0,D^=I<<9|I>>>23,I=D+E|0,w^=I<<13|I>>>19,I=w+D|0,T^=I<<18|I>>>14,I=A+k|0,j^=I<<7|I>>>25,I=j+A|0,O^=I<<9|I>>>23,I=O+j|0,k^=I<<13|I>>>19,I=k+O|0,A^=I<<18|I>>>14,I=F+P|0,M^=I<<7|I>>>25,I=M+F|0,N^=I<<9|I>>>23,I=N+M|0,P^=I<<13|I>>>19,I=P+N|0,F^=I<<18|I>>>14;e[0]=b>>>0&255,e[1]=b>>>8&255,e[2]=b>>>16&255,e[3]=b>>>24&255,e[4]=T>>>0&255,e[5]=T>>>8&255,e[6]=T>>>16&255,e[7]=T>>>24&255,e[8]=A>>>0&255,e[9]=A>>>8&255,e[10]=A>>>16&255,e[11]=A>>>24&255,e[12]=F>>>0&255,e[13]=F>>>8&255,e[14]=F>>>16&255,e[15]=F>>>24&255,e[16]=E>>>0&255,e[17]=E>>>8&255,e[18]=E>>>16&255,e[19]=E>>>24&255,e[20]=D>>>0&255,e[21]=D>>>8&255,e[22]=D>>>16&255,e[23]=D>>>24&255,e[24]=O>>>0&255,e[25]=O>>>8&255,e[26]=O>>>16&255,e[27]=O>>>24&255,e[28]=k>>>0&255,e[29]=k>>>8&255,e[30]=k>>>16&255,e[31]=k>>>24&255}function b(e,t,n,r){v(e,t,n,r)}function x(e,t,n,r){y(e,t,n,r)}var S=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function C(e,t,n,r,i,a,o){var s=new Uint8Array(16),c=new Uint8Array(64),l,u;for(u=0;u<16;u++)s[u]=0;for(u=0;u<8;u++)s[u]=a[u];for(;i>=64;){for(b(c,s,o,S),u=0;u<64;u++)e[t+u]=n[r+u]^c[u];for(l=1,u=8;u<16;u++)l=l+(s[u]&255)|0,s[u]=l&255,l>>>=8;i-=64,t+=64,r+=64}if(i>0)for(b(c,s,o,S),u=0;u<i;u++)e[t+u]=n[r+u]^c[u];return 0}function w(e,t,n,r,i){var a=new Uint8Array(16),o=new Uint8Array(64),s,c;for(c=0;c<16;c++)a[c]=0;for(c=0;c<8;c++)a[c]=r[c];for(;n>=64;){for(b(o,a,i,S),c=0;c<64;c++)e[t+c]=o[c];for(s=1,c=8;c<16;c++)s=s+(a[c]&255)|0,a[c]=s&255,s>>>=8;n-=64,t+=64}if(n>0)for(b(o,a,i,S),c=0;c<n;c++)e[t+c]=o[c];return 0}function T(e,t,n,r,i){var a=new Uint8Array(32);x(a,r,i,S);for(var o=new Uint8Array(8),s=0;s<8;s++)o[s]=r[s+16];return w(e,t,n,o,a)}function E(e,t,n,r,i,a,o){var s=new Uint8Array(32);x(s,a,o,S);for(var c=new Uint8Array(8),l=0;l<8;l++)c[l]=a[l+16];return C(e,t,n,r,i,c,s)}var D=function(e){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var t=e[0]&255|(e[1]&255)<<8,n,r,i,a,o,s,c;this.r[0]=t&8191,n=e[2]&255|(e[3]&255)<<8,this.r[1]=(t>>>13|n<<3)&8191,r=e[4]&255|(e[5]&255)<<8,this.r[2]=(n>>>10|r<<6)&7939,i=e[6]&255|(e[7]&255)<<8,this.r[3]=(r>>>7|i<<9)&8191,a=e[8]&255|(e[9]&255)<<8,this.r[4]=(i>>>4|a<<12)&255,this.r[5]=a>>>1&8190,o=e[10]&255|(e[11]&255)<<8,this.r[6]=(a>>>14|o<<2)&8191,s=e[12]&255|(e[13]&255)<<8,this.r[7]=(o>>>11|s<<5)&8065,c=e[14]&255|(e[15]&255)<<8,this.r[8]=(s>>>8|c<<8)&8191,this.r[9]=c>>>5&127,this.pad[0]=e[16]&255|(e[17]&255)<<8,this.pad[1]=e[18]&255|(e[19]&255)<<8,this.pad[2]=e[20]&255|(e[21]&255)<<8,this.pad[3]=e[22]&255|(e[23]&255)<<8,this.pad[4]=e[24]&255|(e[25]&255)<<8,this.pad[5]=e[26]&255|(e[27]&255)<<8,this.pad[6]=e[28]&255|(e[29]&255)<<8,this.pad[7]=e[30]&255|(e[31]&255)<<8};D.prototype.blocks=function(e,t,n){for(var r=this.fin?0:2048,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C=this.h[0],w=this.h[1],T=this.h[2],E=this.h[3],D=this.h[4],O=this.h[5],k=this.h[6],A=this.h[7],j=this.h[8],M=this.h[9],N=this.r[0],P=this.r[1],F=this.r[2],I=this.r[3],L=this.r[4],R=this.r[5],z=this.r[6],B=this.r[7],V=this.r[8],H=this.r[9];n>=16;)i=e[t+0]&255|(e[t+1]&255)<<8,C+=i&8191,a=e[t+2]&255|(e[t+3]&255)<<8,w+=(i>>>13|a<<3)&8191,o=e[t+4]&255|(e[t+5]&255)<<8,T+=(a>>>10|o<<6)&8191,s=e[t+6]&255|(e[t+7]&255)<<8,E+=(o>>>7|s<<9)&8191,c=e[t+8]&255|(e[t+9]&255)<<8,D+=(s>>>4|c<<12)&8191,O+=c>>>1&8191,l=e[t+10]&255|(e[t+11]&255)<<8,k+=(c>>>14|l<<2)&8191,u=e[t+12]&255|(e[t+13]&255)<<8,A+=(l>>>11|u<<5)&8191,d=e[t+14]&255|(e[t+15]&255)<<8,j+=(u>>>8|d<<8)&8191,M+=d>>>5|r,f=0,p=f,p+=C*N,p+=5*H*w,p+=5*V*T,p+=5*B*E,p+=5*z*D,f=p>>>13,p&=8191,p+=5*R*O,p+=5*L*k,p+=5*I*A,p+=5*F*j,p+=5*P*M,f+=p>>>13,p&=8191,m=f,m+=C*P,m+=w*N,m+=5*H*T,m+=5*V*E,m+=5*B*D,f=m>>>13,m&=8191,m+=5*z*O,m+=5*R*k,m+=5*L*A,m+=5*I*j,m+=5*F*M,f+=m>>>13,m&=8191,h=f,h+=C*F,h+=w*P,h+=T*N,h+=5*H*E,h+=5*V*D,f=h>>>13,h&=8191,h+=5*B*O,h+=5*z*k,h+=5*R*A,h+=5*L*j,h+=5*I*M,f+=h>>>13,h&=8191,g=f,g+=C*I,g+=w*F,g+=T*P,g+=E*N,g+=5*H*D,f=g>>>13,g&=8191,g+=5*V*O,g+=5*B*k,g+=5*z*A,g+=5*R*j,g+=5*L*M,f+=g>>>13,g&=8191,_=f,_+=C*L,_+=w*I,_+=T*F,_+=E*P,_+=D*N,f=_>>>13,_&=8191,_+=5*H*O,_+=5*V*k,_+=5*B*A,_+=5*z*j,_+=5*R*M,f+=_>>>13,_&=8191,v=f,v+=C*R,v+=w*L,v+=T*I,v+=E*F,v+=D*P,f=v>>>13,v&=8191,v+=O*N,v+=5*H*k,v+=5*V*A,v+=5*B*j,v+=5*z*M,f+=v>>>13,v&=8191,y=f,y+=C*z,y+=w*R,y+=T*L,y+=E*I,y+=D*F,f=y>>>13,y&=8191,y+=O*P,y+=k*N,y+=5*H*A,y+=5*V*j,y+=5*B*M,f+=y>>>13,y&=8191,b=f,b+=C*B,b+=w*z,b+=T*R,b+=E*L,b+=D*I,f=b>>>13,b&=8191,b+=O*F,b+=k*P,b+=A*N,b+=5*H*j,b+=5*V*M,f+=b>>>13,b&=8191,x=f,x+=C*V,x+=w*B,x+=T*z,x+=E*R,x+=D*L,f=x>>>13,x&=8191,x+=O*I,x+=k*F,x+=A*P,x+=j*N,x+=5*H*M,f+=x>>>13,x&=8191,S=f,S+=C*H,S+=w*V,S+=T*B,S+=E*z,S+=D*R,f=S>>>13,S&=8191,S+=O*L,S+=k*I,S+=A*F,S+=j*P,S+=M*N,f+=S>>>13,S&=8191,f=(f<<2)+f|0,f=f+p|0,p=f&8191,f>>>=13,m+=f,C=p,w=m,T=h,E=g,D=_,O=v,k=y,A=b,j=x,M=S,t+=16,n-=16;this.h[0]=C,this.h[1]=w,this.h[2]=T,this.h[3]=E,this.h[4]=D,this.h[5]=O,this.h[6]=k,this.h[7]=A,this.h[8]=j,this.h[9]=M},D.prototype.finish=function(e,t){var n=new Uint16Array(10),r,i,a,o;if(this.leftover){for(o=this.leftover,this.buffer[o++]=1;o<16;o++)this.buffer[o]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(r=this.h[1]>>>13,this.h[1]&=8191,o=2;o<10;o++)this.h[o]+=r,r=this.h[o]>>>13,this.h[o]&=8191;for(this.h[0]+=r*5,r=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=r,r=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=r,n[0]=this.h[0]+5,r=n[0]>>>13,n[0]&=8191,o=1;o<10;o++)n[o]=this.h[o]+r,r=n[o]>>>13,n[o]&=8191;for(n[9]-=8192,i=(r^1)-1,o=0;o<10;o++)n[o]&=i;for(i=~i,o=0;o<10;o++)this.h[o]=this.h[o]&i|n[o];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,a=this.h[0]+this.pad[0],this.h[0]=a&65535,o=1;o<8;o++)a=(this.h[o]+this.pad[o]|0)+(a>>>16)|0,this.h[o]=a&65535;e[t+0]=this.h[0]>>>0&255,e[t+1]=this.h[0]>>>8&255,e[t+2]=this.h[1]>>>0&255,e[t+3]=this.h[1]>>>8&255,e[t+4]=this.h[2]>>>0&255,e[t+5]=this.h[2]>>>8&255,e[t+6]=this.h[3]>>>0&255,e[t+7]=this.h[3]>>>8&255,e[t+8]=this.h[4]>>>0&255,e[t+9]=this.h[4]>>>8&255,e[t+10]=this.h[5]>>>0&255,e[t+11]=this.h[5]>>>8&255,e[t+12]=this.h[6]>>>0&255,e[t+13]=this.h[6]>>>8&255,e[t+14]=this.h[7]>>>0&255,e[t+15]=this.h[7]>>>8&255},D.prototype.update=function(e,t,n){var r,i;if(this.leftover){for(i=16-this.leftover,i>n&&(i=n),r=0;r<i;r++)this.buffer[this.leftover+r]=e[t+r];if(n-=i,t+=i,this.leftover+=i,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(n>=16&&(i=n-n%16,this.blocks(e,t,i),t+=i,n-=i),n){for(r=0;r<n;r++)this.buffer[this.leftover+r]=e[t+r];this.leftover+=n}};function O(e,t,n,r,i,a){var o=new D(a);return o.update(n,r,i),o.finish(e,t),0}function k(e,t,n,r,i,a){var o=new Uint8Array(16);return O(o,0,n,r,i,a),g(e,t,o,0)}function A(e,t,n,r,i){var a;if(n<32)return-1;for(E(e,0,t,0,n,r,i),O(e,16,e,32,n-32,e),a=0;a<16;a++)e[a]=0;return 0}function j(e,t,n,r,i){var a,o=new Uint8Array(32);if(n<32||(T(o,0,32,r,i),k(t,16,t,32,n-32,o)!==0))return-1;for(E(e,0,t,0,n,r,i),a=0;a<32;a++)e[a]=0;return 0}function M(e,t){var n;for(n=0;n<16;n++)e[n]=t[n]|0}function N(e){var t,n,r=1;for(t=0;t<16;t++)n=e[t]+r+65535,r=Math.floor(n/65536),e[t]=n-r*65536;e[0]+=r-1+37*(r-1)}function P(e,t,n){for(var r,i=~(n-1),a=0;a<16;a++)r=i&(e[a]^t[a]),e[a]^=r,t[a]^=r}function F(e,n){var r,i,a,o=t(),s=t();for(r=0;r<16;r++)s[r]=n[r];for(N(s),N(s),N(s),i=0;i<2;i++){for(o[0]=s[0]-65517,r=1;r<15;r++)o[r]=s[r]-65535-(o[r-1]>>16&1),o[r-1]&=65535;o[15]=s[15]-32767-(o[14]>>16&1),a=o[15]>>16&1,o[14]&=65535,P(s,o,1-a)}for(r=0;r<16;r++)e[2*r]=s[r]&255,e[2*r+1]=s[r]>>8}function I(e,t){var n=new Uint8Array(32),r=new Uint8Array(32);return F(n,e),F(r,t),_(n,0,r,0)}function L(e){var t=new Uint8Array(32);return F(t,e),t[0]&1}function R(e,t){var n;for(n=0;n<16;n++)e[n]=t[2*n]+(t[2*n+1]<<8);e[15]&=32767}function z(e,t,n){for(var r=0;r<16;r++)e[r]=t[r]+n[r]}function B(e,t,n){for(var r=0;r<16;r++)e[r]=t[r]-n[r]}function V(e,t,n){var r,i,a=0,o=0,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,k=0,A=0,j=0,M=0,N=0,P=0,F=0,I=n[0],L=n[1],R=n[2],z=n[3],B=n[4],V=n[5],H=n[6],U=n[7],W=n[8],G=n[9],K=n[10],q=n[11],J=n[12],Y=n[13],X=n[14],Z=n[15];r=t[0],a+=r*I,o+=r*L,s+=r*R,c+=r*z,l+=r*B,u+=r*V,d+=r*H,f+=r*U,p+=r*W,m+=r*G,h+=r*K,g+=r*q,_+=r*J,v+=r*Y,y+=r*X,b+=r*Z,r=t[1],o+=r*I,s+=r*L,c+=r*R,l+=r*z,u+=r*B,d+=r*V,f+=r*H,p+=r*U,m+=r*W,h+=r*G,g+=r*K,_+=r*q,v+=r*J,y+=r*Y,b+=r*X,x+=r*Z,r=t[2],s+=r*I,c+=r*L,l+=r*R,u+=r*z,d+=r*B,f+=r*V,p+=r*H,m+=r*U,h+=r*W,g+=r*G,_+=r*K,v+=r*q,y+=r*J,b+=r*Y,x+=r*X,S+=r*Z,r=t[3],c+=r*I,l+=r*L,u+=r*R,d+=r*z,f+=r*B,p+=r*V,m+=r*H,h+=r*U,g+=r*W,_+=r*G,v+=r*K,y+=r*q,b+=r*J,x+=r*Y,S+=r*X,C+=r*Z,r=t[4],l+=r*I,u+=r*L,d+=r*R,f+=r*z,p+=r*B,m+=r*V,h+=r*H,g+=r*U,_+=r*W,v+=r*G,y+=r*K,b+=r*q,x+=r*J,S+=r*Y,C+=r*X,w+=r*Z,r=t[5],u+=r*I,d+=r*L,f+=r*R,p+=r*z,m+=r*B,h+=r*V,g+=r*H,_+=r*U,v+=r*W,y+=r*G,b+=r*K,x+=r*q,S+=r*J,C+=r*Y,w+=r*X,T+=r*Z,r=t[6],d+=r*I,f+=r*L,p+=r*R,m+=r*z,h+=r*B,g+=r*V,_+=r*H,v+=r*U,y+=r*W,b+=r*G,x+=r*K,S+=r*q,C+=r*J,w+=r*Y,T+=r*X,E+=r*Z,r=t[7],f+=r*I,p+=r*L,m+=r*R,h+=r*z,g+=r*B,_+=r*V,v+=r*H,y+=r*U,b+=r*W,x+=r*G,S+=r*K,C+=r*q,w+=r*J,T+=r*Y,E+=r*X,D+=r*Z,r=t[8],p+=r*I,m+=r*L,h+=r*R,g+=r*z,_+=r*B,v+=r*V,y+=r*H,b+=r*U,x+=r*W,S+=r*G,C+=r*K,w+=r*q,T+=r*J,E+=r*Y,D+=r*X,O+=r*Z,r=t[9],m+=r*I,h+=r*L,g+=r*R,_+=r*z,v+=r*B,y+=r*V,b+=r*H,x+=r*U,S+=r*W,C+=r*G,w+=r*K,T+=r*q,E+=r*J,D+=r*Y,O+=r*X,k+=r*Z,r=t[10],h+=r*I,g+=r*L,_+=r*R,v+=r*z,y+=r*B,b+=r*V,x+=r*H,S+=r*U,C+=r*W,w+=r*G,T+=r*K,E+=r*q,D+=r*J,O+=r*Y,k+=r*X,A+=r*Z,r=t[11],g+=r*I,_+=r*L,v+=r*R,y+=r*z,b+=r*B,x+=r*V,S+=r*H,C+=r*U,w+=r*W,T+=r*G,E+=r*K,D+=r*q,O+=r*J,k+=r*Y,A+=r*X,j+=r*Z,r=t[12],_+=r*I,v+=r*L,y+=r*R,b+=r*z,x+=r*B,S+=r*V,C+=r*H,w+=r*U,T+=r*W,E+=r*G,D+=r*K,O+=r*q,k+=r*J,A+=r*Y,j+=r*X,M+=r*Z,r=t[13],v+=r*I,y+=r*L,b+=r*R,x+=r*z,S+=r*B,C+=r*V,w+=r*H,T+=r*U,E+=r*W,D+=r*G,O+=r*K,k+=r*q,A+=r*J,j+=r*Y,M+=r*X,N+=r*Z,r=t[14],y+=r*I,b+=r*L,x+=r*R,S+=r*z,C+=r*B,w+=r*V,T+=r*H,E+=r*U,D+=r*W,O+=r*G,k+=r*K,A+=r*q,j+=r*J,M+=r*Y,N+=r*X,P+=r*Z,r=t[15],b+=r*I,x+=r*L,S+=r*R,C+=r*z,w+=r*B,T+=r*V,E+=r*H,D+=r*U,O+=r*W,k+=r*G,A+=r*K,j+=r*q,M+=r*J,N+=r*Y,P+=r*X,F+=r*Z,a+=38*x,o+=38*S,s+=38*C,c+=38*w,l+=38*T,u+=38*E,d+=38*D,f+=38*O,p+=38*k,m+=38*A,h+=38*j,g+=38*M,_+=38*N,v+=38*P,y+=38*F,i=1,r=a+i+65535,i=Math.floor(r/65536),a=r-i*65536,r=o+i+65535,i=Math.floor(r/65536),o=r-i*65536,r=s+i+65535,i=Math.floor(r/65536),s=r-i*65536,r=c+i+65535,i=Math.floor(r/65536),c=r-i*65536,r=l+i+65535,i=Math.floor(r/65536),l=r-i*65536,r=u+i+65535,i=Math.floor(r/65536),u=r-i*65536,r=d+i+65535,i=Math.floor(r/65536),d=r-i*65536,r=f+i+65535,i=Math.floor(r/65536),f=r-i*65536,r=p+i+65535,i=Math.floor(r/65536),p=r-i*65536,r=m+i+65535,i=Math.floor(r/65536),m=r-i*65536,r=h+i+65535,i=Math.floor(r/65536),h=r-i*65536,r=g+i+65535,i=Math.floor(r/65536),g=r-i*65536,r=_+i+65535,i=Math.floor(r/65536),_=r-i*65536,r=v+i+65535,i=Math.floor(r/65536),v=r-i*65536,r=y+i+65535,i=Math.floor(r/65536),y=r-i*65536,r=b+i+65535,i=Math.floor(r/65536),b=r-i*65536,a+=i-1+37*(i-1),i=1,r=a+i+65535,i=Math.floor(r/65536),a=r-i*65536,r=o+i+65535,i=Math.floor(r/65536),o=r-i*65536,r=s+i+65535,i=Math.floor(r/65536),s=r-i*65536,r=c+i+65535,i=Math.floor(r/65536),c=r-i*65536,r=l+i+65535,i=Math.floor(r/65536),l=r-i*65536,r=u+i+65535,i=Math.floor(r/65536),u=r-i*65536,r=d+i+65535,i=Math.floor(r/65536),d=r-i*65536,r=f+i+65535,i=Math.floor(r/65536),f=r-i*65536,r=p+i+65535,i=Math.floor(r/65536),p=r-i*65536,r=m+i+65535,i=Math.floor(r/65536),m=r-i*65536,r=h+i+65535,i=Math.floor(r/65536),h=r-i*65536,r=g+i+65535,i=Math.floor(r/65536),g=r-i*65536,r=_+i+65535,i=Math.floor(r/65536),_=r-i*65536,r=v+i+65535,i=Math.floor(r/65536),v=r-i*65536,r=y+i+65535,i=Math.floor(r/65536),y=r-i*65536,r=b+i+65535,i=Math.floor(r/65536),b=r-i*65536,a+=i-1+37*(i-1),e[0]=a,e[1]=o,e[2]=s,e[3]=c,e[4]=l,e[5]=u,e[6]=d,e[7]=f,e[8]=p,e[9]=m,e[10]=h,e[11]=g,e[12]=_,e[13]=v,e[14]=y,e[15]=b}function H(e,t){V(e,t,t)}function U(e,n){var r=t(),i;for(i=0;i<16;i++)r[i]=n[i];for(i=253;i>=0;i--)H(r,r),i!==2&&i!==4&&V(r,r,n);for(i=0;i<16;i++)e[i]=r[i]}function W(e,n){var r=t(),i;for(i=0;i<16;i++)r[i]=n[i];for(i=250;i>=0;i--)H(r,r),i!==1&&V(r,r,n);for(i=0;i<16;i++)e[i]=r[i]}function G(e,n,r){var i=new Uint8Array(32),a=new Float64Array(80),o,s,l=t(),u=t(),d=t(),f=t(),p=t(),m=t();for(s=0;s<31;s++)i[s]=n[s];for(i[31]=n[31]&127|64,i[0]&=248,R(a,r),s=0;s<16;s++)u[s]=a[s],f[s]=l[s]=d[s]=0;for(l[0]=f[0]=1,s=254;s>=0;--s)o=i[s>>>3]>>>(s&7)&1,P(l,u,o),P(d,f,o),z(p,l,d),B(l,l,d),z(d,u,f),B(u,u,f),H(f,p),H(m,l),V(l,d,l),V(d,u,p),z(p,l,d),B(l,l,d),H(u,l),B(d,f,m),V(l,d,c),z(l,l,f),V(d,d,l),V(l,f,m),V(f,u,a),H(u,p),P(l,u,o),P(d,f,o);for(s=0;s<16;s++)a[s+16]=l[s],a[s+32]=d[s],a[s+48]=u[s],a[s+64]=f[s];var h=a.subarray(32),g=a.subarray(16);return U(h,h),V(g,g,h),F(e,g),0}function K(e,t){return G(e,t,a)}function q(e,t){return r(t,32),K(e,t)}function J(e,t,n){var r=new Uint8Array(32);return G(r,n,t),x(e,i,r,S)}var Y=A,X=j;function Z(e,t,n,r,i,a){var o=new Uint8Array(32);return J(o,i,a),Y(e,t,n,r,o)}function ee(e,t,n,r,i,a){var o=new Uint8Array(32);return J(o,i,a),X(e,t,n,r,o)}var te=[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];function ne(e,t,n,r){for(var i=new Int32Array(16),a=new Int32Array(16),o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k,A,j,M=e[0],N=e[1],P=e[2],F=e[3],I=e[4],L=e[5],R=e[6],z=e[7],B=t[0],V=t[1],H=t[2],U=t[3],W=t[4],G=t[5],K=t[6],q=t[7],J=0;r>=128;){for(w=0;w<16;w++)T=8*w+J,i[w]=n[T+0]<<24|n[T+1]<<16|n[T+2]<<8|n[T+3],a[w]=n[T+4]<<24|n[T+5]<<16|n[T+6]<<8|n[T+7];for(w=0;w<80;w++)if(o=M,s=N,c=P,l=F,u=I,d=L,f=R,p=z,m=B,h=V,g=H,_=U,v=W,y=G,b=K,x=q,E=z,D=q,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=(I>>>14|W<<18)^(I>>>18|W<<14)^(W>>>9|I<<23),D=(W>>>14|I<<18)^(W>>>18|I<<14)^(I>>>9|W<<23),O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,E=I&L^~I&R,D=W&G^~W&K,O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,E=te[w*2],D=te[w*2+1],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,E=i[w%16],D=a[w%16],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,S=A&65535|j<<16,C=O&65535|k<<16,E=S,D=C,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=(M>>>28|B<<4)^(B>>>2|M<<30)^(B>>>7|M<<25),D=(B>>>28|M<<4)^(M>>>2|B<<30)^(M>>>7|B<<25),O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,E=M&N^M&P^N&P,D=B&V^B&H^V&H,O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,p=A&65535|j<<16,x=O&65535|k<<16,E=l,D=_,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=S,D=C,O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,l=A&65535|j<<16,_=O&65535|k<<16,N=o,P=s,F=c,I=l,L=u,R=d,z=f,M=p,V=m,H=h,U=g,W=_,G=v,K=y,q=b,B=x,w%16==15)for(T=0;T<16;T++)E=i[T],D=a[T],O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=i[(T+9)%16],D=a[(T+9)%16],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,S=i[(T+1)%16],C=a[(T+1)%16],E=(S>>>1|C<<31)^(S>>>8|C<<24)^S>>>7,D=(C>>>1|S<<31)^(C>>>8|S<<24)^(C>>>7|S<<25),O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,S=i[(T+14)%16],C=a[(T+14)%16],E=(S>>>19|C<<13)^(C>>>29|S<<3)^S>>>6,D=(C>>>19|S<<13)^(S>>>29|C<<3)^(C>>>6|S<<26),O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,i[T]=A&65535|j<<16,a[T]=O&65535|k<<16;E=M,D=B,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[0],D=t[0],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[0]=M=A&65535|j<<16,t[0]=B=O&65535|k<<16,E=N,D=V,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[1],D=t[1],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[1]=N=A&65535|j<<16,t[1]=V=O&65535|k<<16,E=P,D=H,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[2],D=t[2],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[2]=P=A&65535|j<<16,t[2]=H=O&65535|k<<16,E=F,D=U,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[3],D=t[3],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[3]=F=A&65535|j<<16,t[3]=U=O&65535|k<<16,E=I,D=W,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[4],D=t[4],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[4]=I=A&65535|j<<16,t[4]=W=O&65535|k<<16,E=L,D=G,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[5],D=t[5],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[5]=L=A&65535|j<<16,t[5]=G=O&65535|k<<16,E=R,D=K,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[6],D=t[6],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[6]=R=A&65535|j<<16,t[6]=K=O&65535|k<<16,E=z,D=q,O=D&65535,k=D>>>16,A=E&65535,j=E>>>16,E=e[7],D=t[7],O+=D&65535,k+=D>>>16,A+=E&65535,j+=E>>>16,k+=O>>>16,A+=k>>>16,j+=A>>>16,e[7]=z=A&65535|j<<16,t[7]=q=O&65535|k<<16,J+=128,r-=128}return r}function re(e,t,n){var r=new Int32Array(8),i=new Int32Array(8),a=new Uint8Array(256),o,s=n;for(r[0]=1779033703,r[1]=3144134277,r[2]=1013904242,r[3]=2773480762,r[4]=1359893119,r[5]=2600822924,r[6]=528734635,r[7]=1541459225,i[0]=4089235720,i[1]=2227873595,i[2]=4271175723,i[3]=1595750129,i[4]=2917565137,i[5]=725511199,i[6]=4215389547,i[7]=327033209,ne(r,i,t,n),n%=128,o=0;o<n;o++)a[o]=t[s-n+o];for(a[n]=128,n=256-128*(n<112?1:0),a[n-9]=0,m(a,n-8,s/536870912|0,s<<3),ne(r,i,a,n),o=0;o<8;o++)m(e,8*o,r[o],i[o]);return 0}function ie(e,n){var r=t(),i=t(),a=t(),o=t(),s=t(),c=t(),l=t(),d=t(),f=t();B(r,e[1],e[0]),B(f,n[1],n[0]),V(r,r,f),z(i,e[0],e[1]),z(f,n[0],n[1]),V(i,i,f),V(a,e[3],n[3]),V(a,a,u),V(o,e[2],n[2]),z(o,o,o),B(s,i,r),B(c,o,a),z(l,o,a),z(d,i,r),V(e[0],s,c),V(e[1],d,l),V(e[2],l,c),V(e[3],s,d)}function ae(e,t,n){var r;for(r=0;r<4;r++)P(e[r],t[r],n)}function oe(e,n){var r=t(),i=t(),a=t();U(a,n[2]),V(r,n[0],a),V(i,n[1],a),F(e,i),e[31]^=L(r)<<7}function se(e,t,n){var r,i;for(M(e[0],o),M(e[1],s),M(e[2],s),M(e[3],o),i=255;i>=0;--i)r=n[i/8|0]>>(i&7)&1,ae(e,t,r),ie(t,e),ie(e,e),ae(e,t,r)}function ce(e,n){var r=[t(),t(),t(),t()];M(r[0],d),M(r[1],f),M(r[2],s),V(r[3],d,f),se(e,r,n)}function le(e,n,i){var a=new Uint8Array(64),o=[t(),t(),t(),t()],s;for(i||r(n,32),re(a,n,32),a[0]&=248,a[31]&=127,a[31]|=64,ce(o,a),oe(e,o),s=0;s<32;s++)n[s+32]=e[s];return 0}var ue=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]);function de(e,t){var n,r,i,a;for(r=63;r>=32;--r){for(n=0,i=r-32,a=r-12;i<a;++i)t[i]+=n-16*t[r]*ue[i-(r-32)],n=Math.floor((t[i]+128)/256),t[i]-=n*256;t[i]+=n,t[r]=0}for(n=0,i=0;i<32;i++)t[i]+=n-(t[31]>>4)*ue[i],n=t[i]>>8,t[i]&=255;for(i=0;i<32;i++)t[i]-=n*ue[i];for(r=0;r<32;r++)t[r+1]+=t[r]>>8,e[r]=t[r]&255}function fe(e){var t=new Float64Array(64),n;for(n=0;n<64;n++)t[n]=e[n];for(n=0;n<64;n++)e[n]=0;de(e,t)}function pe(e,n,r,i){var a=new Uint8Array(64),o=new Uint8Array(64),s=new Uint8Array(64),c,l,u=new Float64Array(64),d=[t(),t(),t(),t()];re(a,i,32),a[0]&=248,a[31]&=127,a[31]|=64;var f=r+64;for(c=0;c<r;c++)e[64+c]=n[c];for(c=0;c<32;c++)e[32+c]=a[32+c];for(re(s,e.subarray(32),r+32),fe(s),ce(d,s),oe(e,d),c=32;c<64;c++)e[c]=i[c];for(re(o,e,r+64),fe(o),c=0;c<64;c++)u[c]=0;for(c=0;c<32;c++)u[c]=s[c];for(c=0;c<32;c++)for(l=0;l<32;l++)u[c+l]+=o[c]*a[l];return de(e.subarray(32),u),f}function me(e,n){var r=t(),i=t(),a=t(),c=t(),u=t(),d=t(),f=t();return M(e[2],s),R(e[1],n),H(a,e[1]),V(c,a,l),B(a,a,e[2]),z(c,e[2],c),H(u,c),H(d,u),V(f,d,u),V(r,f,a),V(r,r,c),W(r,r),V(r,r,a),V(r,r,c),V(r,r,c),V(e[0],r,c),H(i,e[0]),V(i,i,c),I(i,a)&&V(e[0],e[0],p),H(i,e[0]),V(i,i,c),I(i,a)?-1:(L(e[0])===n[31]>>7&&B(e[0],o,e[0]),V(e[3],e[0],e[1]),0)}function he(e,n,r,i){var a,o=new Uint8Array(32),s=new Uint8Array(64),c=[t(),t(),t(),t()],l=[t(),t(),t(),t()];if(r<64||me(l,i))return-1;for(a=0;a<r;a++)e[a]=n[a];for(a=0;a<32;a++)e[a+32]=i[a];if(re(s,e,r),fe(s),se(c,l,s),ce(l,n.subarray(32)),ie(c,l),oe(o,c),r-=64,_(n,0,o,0)){for(a=0;a<r;a++)e[a]=0;return-1}for(a=0;a<r;a++)e[a]=n[a+64];return r}var ge=32,_e=24,ve=32,ye=16,be=32,xe=32,Se=32,Ce=32,we=32,Te=_e,Ee=ve,De=ye,Q=64,Oe=32,ke=64,Ae=32,je=64;e.lowlevel={crypto_core_hsalsa20:x,crypto_stream_xor:E,crypto_stream:T,crypto_stream_salsa20_xor:C,crypto_stream_salsa20:w,crypto_onetimeauth:O,crypto_onetimeauth_verify:k,crypto_verify_16:g,crypto_verify_32:_,crypto_secretbox:A,crypto_secretbox_open:j,crypto_scalarmult:G,crypto_scalarmult_base:K,crypto_box_beforenm:J,crypto_box_afternm:Y,crypto_box:Z,crypto_box_open:ee,crypto_box_keypair:q,crypto_hash:re,crypto_sign:pe,crypto_sign_keypair:le,crypto_sign_open:he,crypto_secretbox_KEYBYTES:ge,crypto_secretbox_NONCEBYTES:_e,crypto_secretbox_ZEROBYTES:ve,crypto_secretbox_BOXZEROBYTES:ye,crypto_scalarmult_BYTES:be,crypto_scalarmult_SCALARBYTES:xe,crypto_box_PUBLICKEYBYTES:Se,crypto_box_SECRETKEYBYTES:Ce,crypto_box_BEFORENMBYTES:we,crypto_box_NONCEBYTES:Te,crypto_box_ZEROBYTES:Ee,crypto_box_BOXZEROBYTES:De,crypto_sign_BYTES:Q,crypto_sign_PUBLICKEYBYTES:Oe,crypto_sign_SECRETKEYBYTES:ke,crypto_sign_SEEDBYTES:Ae,crypto_hash_BYTES:je,gf:t,D:l,L:ue,pack25519:F,unpack25519:R,M:V,A:z,S:H,Z:B,pow2523:W,add:ie,set25519:M,modL:de,scalarmult:se,scalarbase:ce};function Me(e,t){if(e.length!==ge)throw Error(`bad key size`);if(t.length!==_e)throw Error(`bad nonce size`)}function Ne(e,t){if(e.length!==Se)throw Error(`bad public key size`);if(t.length!==Ce)throw Error(`bad secret key size`)}function $(){for(var e=0;e<arguments.length;e++)if(!(arguments[e]instanceof Uint8Array))throw TypeError(`unexpected type, use Uint8Array`)}function Pe(e){for(var t=0;t<e.length;t++)e[t]=0}e.randomBytes=function(e){var t=new Uint8Array(e);return r(t,e),t},e.secretbox=function(e,t,n){$(e,t,n),Me(n,t);for(var r=new Uint8Array(ve+e.length),i=new Uint8Array(r.length),a=0;a<e.length;a++)r[a+ve]=e[a];return A(i,r,r.length,t,n),i.subarray(ye)},e.secretbox.open=function(e,t,n){$(e,t,n),Me(n,t);for(var r=new Uint8Array(ye+e.length),i=new Uint8Array(r.length),a=0;a<e.length;a++)r[a+ye]=e[a];return r.length<32||j(i,r,r.length,t,n)!==0?null:i.subarray(ve)},e.secretbox.keyLength=ge,e.secretbox.nonceLength=_e,e.secretbox.overheadLength=ye,e.scalarMult=function(e,t){if($(e,t),e.length!==xe)throw Error(`bad n size`);if(t.length!==be)throw Error(`bad p size`);var n=new Uint8Array(be);return G(n,e,t),n},e.scalarMult.base=function(e){if($(e),e.length!==xe)throw Error(`bad n size`);var t=new Uint8Array(be);return K(t,e),t},e.scalarMult.scalarLength=xe,e.scalarMult.groupElementLength=be,e.box=function(t,n,r,i){var a=e.box.before(r,i);return e.secretbox(t,n,a)},e.box.before=function(e,t){$(e,t),Ne(e,t);var n=new Uint8Array(we);return J(n,e,t),n},e.box.after=e.secretbox,e.box.open=function(t,n,r,i){var a=e.box.before(r,i);return e.secretbox.open(t,n,a)},e.box.open.after=e.secretbox.open,e.box.keyPair=function(){var e=new Uint8Array(Se),t=new Uint8Array(Ce);return q(e,t),{publicKey:e,secretKey:t}},e.box.keyPair.fromSecretKey=function(e){if($(e),e.length!==Ce)throw Error(`bad secret key size`);var t=new Uint8Array(Se);return K(t,e),{publicKey:t,secretKey:new Uint8Array(e)}},e.box.publicKeyLength=Se,e.box.secretKeyLength=Ce,e.box.sharedKeyLength=we,e.box.nonceLength=Te,e.box.overheadLength=e.secretbox.overheadLength,e.sign=function(e,t){if($(e,t),t.length!==ke)throw Error(`bad secret key size`);var n=new Uint8Array(Q+e.length);return pe(n,e,e.length,t),n},e.sign.open=function(e,t){if($(e,t),t.length!==Oe)throw Error(`bad public key size`);var n=new Uint8Array(e.length),r=he(n,e,e.length,t);if(r<0)return null;for(var i=new Uint8Array(r),a=0;a<i.length;a++)i[a]=n[a];return i},e.sign.detached=function(t,n){for(var r=e.sign(t,n),i=new Uint8Array(Q),a=0;a<i.length;a++)i[a]=r[a];return i},e.sign.detached.verify=function(e,t,n){if($(e,t,n),t.length!==Q)throw Error(`bad signature size`);if(n.length!==Oe)throw Error(`bad public key size`);var r=new Uint8Array(Q+e.length),i=new Uint8Array(Q+e.length),a;for(a=0;a<Q;a++)r[a]=t[a];for(a=0;a<e.length;a++)r[a+Q]=e[a];return he(i,r,r.length,n)>=0},e.sign.keyPair=function(){var e=new Uint8Array(Oe),t=new Uint8Array(ke);return le(e,t),{publicKey:e,secretKey:t}},e.sign.keyPair.fromSecretKey=function(e){if($(e),e.length!==ke)throw Error(`bad secret key size`);for(var t=new Uint8Array(Oe),n=0;n<t.length;n++)t[n]=e[32+n];return{publicKey:t,secretKey:new Uint8Array(e)}},e.sign.keyPair.fromSeed=function(e){if($(e),e.length!==Ae)throw Error(`bad seed size`);for(var t=new Uint8Array(Oe),n=new Uint8Array(ke),r=0;r<32;r++)n[r]=e[r];return le(t,n,!0),{publicKey:t,secretKey:n}},e.sign.publicKeyLength=Oe,e.sign.secretKeyLength=ke,e.sign.seedLength=Ae,e.sign.signatureLength=Q,e.hash=function(e){$(e);var t=new Uint8Array(je);return re(t,e,e.length),t},e.hash.hashLength=je,e.verify=function(e,t){return $(e,t),e.length===0||t.length===0||e.length!==t.length?!1:h(e,0,t,0,e.length)===0},e.setPRNG=function(e){r=e},(function(){var t=typeof self<`u`?self.crypto||self.msCrypto:null;if(t&&t.getRandomValues){var r=65536;e.setPRNG(function(e,n){var i,a=new Uint8Array(n);for(i=0;i<n;i+=r)t.getRandomValues(a.subarray(i,i+Math.min(n-i,r)));for(i=0;i<n;i++)e[i]=a[i];Pe(a)})}else n!==void 0&&(t=n(`crypto`),t&&t.randomBytes&&e.setPRNG(function(e,n){var r,i=t.randomBytes(n);for(r=0;r<n;r++)e[r]=i[r];Pe(i)}))})()})(t!==void 0&&t.exports?t.exports:self.nacl=self.nacl||{})})),w=t({generateKeyPair:()=>E,generateSharedSecKey:()=>D}),T=e(C(),1);function E(){let e=T.default.box.keyPair();return{publicKey:e.publicKey,secretKey:e.secretKey}}function D(e,t){return T.default.scalarMult(e,t)}var O=t({generateKeyPair:()=>k,sign:()=>A,verify:()=>j});function k(){let e=T.default.sign.keyPair();return{publicKey:e.publicKey,secretKey:e.secretKey}}function A(e,t){return T.default.sign.detached(e,t)}function j(e,t,n){return T.default.sign.detached.verify(e,t,n)}function M(e){return Buffer.from(i(e.hash,e.key,e.salt,e.info,e.length))}export{_ as Chacha20,w as Curve25519,O as Ed25519,M as hkdf};
2
+ //# sourceMappingURL=index.mjs.map