1import{a as e,c as t,i as n,n as r,o as i,r as a,s as o,t as s}from"./x25519-pC95E8p4.js";var c=20;function l(e,t,n){let r=1634760805,i=857760878,a=2036477234,s=1797285236,l=n[3]<<24|n[2]<<16|n[1]<<8|n[0],u=n[7]<<24|n[6]<<16|n[5]<<8|n[4],d=n[11]<<24|n[10]<<16|n[9]<<8|n[8],f=n[15]<<24|n[14]<<16|n[13]<<8|n[12],p=n[19]<<24|n[18]<<16|n[17]<<8|n[16],m=n[23]<<24|n[22]<<16|n[21]<<8|n[20],h=n[27]<<24|n[26]<<16|n[25]<<8|n[24],g=n[31]<<24|n[30]<<16|n[29]<<8|n[28],_=t[3]<<24|t[2]<<16|t[1]<<8|t[0],v=t[7]<<24|t[6]<<16|t[5]<<8|t[4],y=t[11]<<24|t[10]<<16|t[9]<<8|t[8],b=t[15]<<24|t[14]<<16|t[13]<<8|t[12],x=r,S=i,C=a,w=s,T=l,E=u,D=d,O=f,k=p,A=m,j=h,M=g,N=_,P=v,F=y,I=b;for(let e=0;e<c;e+=2)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,w=w+O|0,I^=w,I=I>>>16|I<<16,M=M+I|0,O^=M,O=O>>>20|O<<12,C=C+D|0,F^=C,F=F>>>24|F<<8,j=j+F|0,D^=j,D=D>>>25|D<<7,w=w+O|0,I^=w,I=I>>>24|I<<8,M=M+I|0,O^=M,O=O>>>25|O<<7,S=S+E|0,P^=S,P=P>>>24|P<<8,A=A+P|0,E^=A,E=E>>>25|E<<7,x=x+T|0,N^=x,N=N>>>24|N<<8,k=k+N|0,T^=k,T=T>>>25|T<<7,x=x+E|0,I^=x,I=I>>>16|I<<16,j=j+I|0,E^=j,E=E>>>20|E<<12,S=S+D|0,N^=S,N=N>>>16|N<<16,M=M+N|0,D^=M,D=D>>>20|D<<12,C=C+O|0,P^=C,P=P>>>16|P<<16,k=k+P|0,O^=k,O=O>>>20|O<<12,w=w+T|0,F^=w,F=F>>>16|F<<16,A=A+F|0,T^=A,T=T>>>20|T<<12,C=C+O|0,P^=C,P=P>>>24|P<<8,k=k+P|0,O^=k,O=O>>>25|O<<7,w=w+T|0,F^=w,F=F>>>24|F<<8,A=A+F|0,T^=A,T=T>>>25|T<<7,S=S+D|0,N^=S,N=N>>>24|N<<8,M=M+N|0,D^=M,D=D>>>25|D<<7,x=x+E|0,I^=x,I=I>>>24|I<<8,j=j+I|0,E^=j,E=E>>>25|E<<7;o(x+r|0,e,0),o(S+i|0,e,4),o(C+a|0,e,8),o(w+s|0,e,12),o(T+l|0,e,16),o(E+u|0,e,20),o(D+d|0,e,24),o(O+f|0,e,28),o(k+p|0,e,32),o(A+m|0,e,36),o(j+h|0,e,40),o(M+g|0,e,44),o(N+_|0,e,48),o(P+v|0,e,52),o(F+y|0,e,56),o(I+b|0,e,60)}function u(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 o,s;if(i===0){if(t.length!==8&&t.length!==12)throw Error(`ChaCha nonce must be 8 or 12 bytes`);o=new Uint8Array(16),s=o.length-t.length,o.set(t,s)}else{if(t.length!==16)throw Error(`ChaCha nonce with counter must be 16 bytes`);o=t,s=i}let c=new Uint8Array(64);for(let t=0;t<n.length;t+=64){l(c,o,e);for(let e=t;e<t+64&&e<n.length;e++)r[e]=n[e]^c[e-t];f(o,0,s)}return a(c),i===0&&a(o),r}function d(e,t,n,r=0){return a(n),u(e,t,n,n,r)}function f(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 p(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 m(e,t){return e.length===0||t.length===0?!1:p(e,t)!==0}var h=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 a(this._buffer),a(this._r),a(this._h),a(this._pad),this._leftover=0,this._fin=0,this._finished=!0,this}},g=new Uint8Array(16),_=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 o=new Uint8Array(32);d(this._key,i,o,4);let s=t.length+this.tagLength,c;if(r){if(r.length!==s)throw Error(`ChaCha20Poly1305: incorrect destination length`);c=r}else c=new Uint8Array(s);return u(this._key,i,t,c,4),this._authenticate(c.subarray(c.length-this.tagLength,c.length),o,c.subarray(0,c.length-this.tagLength),n),a(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 o=new Uint8Array(32);d(this._key,i,o,4);let s=new Uint8Array(this.tagLength);if(this._authenticate(s,o,t.subarray(0,t.length-this.tagLength),n),!m(s,t.subarray(t.length-this.tagLength,t.length)))return null;let c=t.length-this.tagLength,l;if(r){if(r.length!==c)throw Error(`ChaCha20Poly1305: incorrect destination length`);l=r}else l=new Uint8Array(c);return u(this._key,i,t.subarray(0,t.length-this.tagLength),l,4),a(i),l}clean(){return a(this._key),this}_authenticate(e,n,r,i){let o=new h(n);i&&(o.update(i),i.length%16>0&&o.update(g.subarray(i.length%16))),o.update(r),r.length%16>0&&o.update(g.subarray(r.length%16));let s=new Uint8Array(8);i&&t(i.length,s),o.update(s),t(r.length,s),o.update(s);let c=o.digest();for(let t=0;t<c.length;t++)e[t]=c[t];o.clean(),a(c),a(s)}},v=2**32-1,y=2**48-1,b=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),x=class{digestLength;blockSize=64;_state=new Uint32Array(b);_buffer=new Uint8Array(64);_bufferLength=0;_ctr0=0;_ctr1=0;_flag0=0;_flag1=0;_lastNode=!1;_finished=!1;_paddedKey;_initialState;constructor(t=32,n){if(this.digestLength=t,t<1||t>32)throw Error(`blake2s: wrong digest length`);n&&this.validateConfig(n);let r=0;n&&n.key&&(r=n.key.length);let i=1,a=1;if(n&&n.tree&&(i=n.tree.fanout,a=n.tree.maxDepth),this._state[0]^=t|r<<8|i<<16|a<<24,n&&n.tree){this._state[1]^=n.tree.leafSize;let e=n.tree.nodeOffset/4294967296>>>0,t=n.tree.nodeOffset>>>0;this._state[2]^=t,this._state[3]^=e|n.tree.nodeDepth<<16|n.tree.innerDigestLength<<24,this._lastNode=n.tree.lastNode}n&&n.salt&&(this._state[4]^=e(n.salt,0),this._state[5]^=e(n.salt,4)),n&&n.personalization&&(this._state[6]^=e(n.personalization,0),this._state[7]^=e(n.personalization,4)),this._initialState=new Uint32Array(this._state),n&&n.key&&r>0&&(this._paddedKey=new Uint8Array(64),this._paddedKey.set(n.key),this._buffer.set(this._paddedKey),this._bufferLength=64)}reset(){return this._state.set(this._initialState),this._paddedKey?(this._buffer.set(this._paddedKey),this._bufferLength=64):this._bufferLength=0,this._ctr0=0,this._ctr1=0,this._flag0=0,this._flag1=0,this._finished=!1,this}validateConfig(e){if(e.key&&e.key.length>32)throw Error(`blake2s: wrong key length`);if(e.salt&&e.salt.length!==8)throw Error(`blake2s: wrong salt length`);if(e.personalization&&e.personalization.length!==8)throw Error(`blake2s: wrong personalization length`);if(e.tree){if(e.tree.fanout<0||e.tree.fanout>255)throw Error(`blake2s: wrong tree fanout`);if(e.tree.maxDepth<0||e.tree.maxDepth>255)throw Error(`blake2s: wrong tree depth`);if(e.tree.leafSize<0||e.tree.leafSize>v)throw Error(`blake2s: wrong leaf size`);if(e.tree.innerDigestLength<0||e.tree.innerDigestLength>32)throw Error(`blake2s: wrong tree inner digest length`);if(e.tree.nodeOffset<0||e.tree.nodeOffset>y)throw Error(`blake2s: tree node offset is too large`)}}update(e,t=e.length){if(this._finished)throw Error(`blake2s: can't update because hash was finished.`);let n=64-this._bufferLength,r=0;if(t===0)return this;if(t>n){for(let t=0;t<n;t++)this._buffer[this._bufferLength+t]=e[r+t];this._processBlock(64),r+=n,t-=n,this._bufferLength=0}for(;t>64;){for(let t=0;t<64;t++)this._buffer[t]=e[r+t];this._processBlock(64),r+=64,t-=64,this._bufferLength=0}for(let n=0;n<t;n++)this._buffer[this._bufferLength+n]=e[r+n];return this._bufferLength+=t,this}finish(e){if(!this._finished){for(let e=this._bufferLength;e<64;e++)this._buffer[e]=0;this._flag0=4294967295,this._lastNode&&(this._flag1=4294967295),this._processBlock(this._bufferLength),this._finished=!0}let t=this._buffer.subarray(0,32);for(let e=0;e<8;e++)o(this._state[e],t,e*4);return e.set(t.subarray(0,e.length)),this}digest(){let e=new Uint8Array(this.digestLength);return this.finish(e),e}clean(){a(this._state),a(this._buffer),a(this._initialState),this._paddedKey&&a(this._paddedKey),this._bufferLength=0,this._ctr0=0,this._ctr1=0,this._flag0=0,this._flag1=0,this._lastNode=!1,this._finished=!1}saveState(){if(this._finished)throw Error(`blake2s: cannot save finished state`);return{state:new Uint32Array(this._state),buffer:new Uint8Array(this._buffer),bufferLength:this._bufferLength,ctr0:this._ctr0,ctr1:this._ctr1,flag0:this._flag0,flag1:this._flag1,lastNode:this._lastNode,paddedKey:this._paddedKey?new Uint8Array(this._paddedKey):void 0,initialState:new Uint32Array(this._initialState)}}restoreState(e){return this._state.set(e.state),this._buffer.set(e.buffer),this._bufferLength=e.bufferLength,this._ctr0=e.ctr0,this._ctr1=e.ctr1,this._flag0=e.flag0,this._flag1=e.flag1,this._lastNode=e.lastNode,this._paddedKey&&a(this._paddedKey),this._paddedKey=e.paddedKey?new Uint8Array(e.paddedKey):void 0,this._initialState.set(e.initialState),this}cleanSavedState(e){a(e.state),a(e.buffer),a(e.initialState),e.paddedKey&&a(e.paddedKey),e.bufferLength=0,e.ctr0=0,e.ctr1=0,e.flag0=0,e.flag1=0,e.lastNode=!1}_processBlock(e){let t=this._ctr0+e;this._ctr0=t>>>0,t!==this._ctr0&&this._ctr1++;let n=this._state[0],r=this._state[1],i=this._state[2],a=this._state[3],o=this._state[4],s=this._state[5],c=this._state[6],l=this._state[7],u=b[0],d=b[1],f=b[2],p=b[3],m=b[4]^this._ctr0,h=b[5]^this._ctr1,g=b[6]^this._flag0,_=b[7]^this._flag1,v=this._buffer,y=v[3]<<24|v[2]<<16|v[1]<<8|v[0],x=v[7]<<24|v[6]<<16|v[5]<<8|v[4],S=v[11]<<24|v[10]<<16|v[9]<<8|v[8],C=v[15]<<24|v[14]<<16|v[13]<<8|v[12],w=v[19]<<24|v[18]<<16|v[17]<<8|v[16],T=v[23]<<24|v[22]<<16|v[21]<<8|v[20],E=v[27]<<24|v[26]<<16|v[25]<<8|v[24],D=v[31]<<24|v[30]<<16|v[29]<<8|v[28],O=v[35]<<24|v[34]<<16|v[33]<<8|v[32],k=v[39]<<24|v[38]<<16|v[37]<<8|v[36],A=v[43]<<24|v[42]<<16|v[41]<<8|v[40],j=v[47]<<24|v[46]<<16|v[45]<<8|v[44],M=v[51]<<24|v[50]<<16|v[49]<<8|v[48],N=v[55]<<24|v[54]<<16|v[53]<<8|v[52],P=v[59]<<24|v[58]<<16|v[57]<<8|v[56],F=v[63]<<24|v[62]<<16|v[61]<<8|v[60];n=n+y|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+S|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+w|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+E|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+T|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+D|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+C|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+x|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+O|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+A|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+M|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+P|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+N|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+F|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+j|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+k|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+P|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+w|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+k|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+N|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+F|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+E|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+O|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+A|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+x|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+y|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+j|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+T|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+D|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+C|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+S|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+M|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+j|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+M|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+T|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+F|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+S|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+N|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+y|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+O|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+A|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+C|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+D|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+k|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+x|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+w|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+E|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+P|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+D|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+C|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+N|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+j|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+M|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+P|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+x|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+k|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+S|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+T|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+w|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+F|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+y|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+O|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+A|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+E|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+k|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+T|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+S|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+A|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+w|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+F|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+D|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+y|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+P|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+j|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+E|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+C|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+O|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+N|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+M|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+x|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+S|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+E|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+y|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+O|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+j|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+C|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+A|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+M|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+w|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+D|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+F|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+x|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+P|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+k|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+T|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+N|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+M|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+x|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+P|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+w|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+N|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+A|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+F|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+T|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+y|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+E|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+k|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+O|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+S|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+j|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+C|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+D|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+N|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+D|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+M|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+C|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+x|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+k|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+P|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+j|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+T|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+F|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+O|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+S|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+E|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+A|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+w|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+y|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+E|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+P|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+j|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+y|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+C|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+O|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+k|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+F|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+M|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+N|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+x|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+A|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+w|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+T|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+D|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+S|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,n=n+A|0,n=n+o|0,m^=n,m=m<<16|m>>>16,u=u+m|0,o^=u,o=o<<20|o>>>12,r=r+O|0,r=r+s|0,h^=r,h=h<<16|h>>>16,d=d+h|0,s^=d,s=s<<20|s>>>12,i=i+D|0,i=i+c|0,g^=i,g=g<<16|g>>>16,f=f+g|0,c^=f,c=c<<20|c>>>12,a=a+x|0,a=a+l|0,_^=a,_=_<<16|_>>>16,p=p+_|0,l^=p,l=l<<20|l>>>12,i=i+E|0,i=i+c|0,g^=i,g=g<<24|g>>>8,f=f+g|0,c^=f,c=c<<25|c>>>7,a=a+T|0,a=a+l|0,_^=a,_=_<<24|_>>>8,p=p+_|0,l^=p,l=l<<25|l>>>7,r=r+w|0,r=r+s|0,h^=r,h=h<<24|h>>>8,d=d+h|0,s^=d,s=s<<25|s>>>7,n=n+S|0,n=n+o|0,m^=n,m=m<<24|m>>>8,u=u+m|0,o^=u,o=o<<25|o>>>7,n=n+F|0,n=n+s|0,_^=n,_=_<<16|_>>>16,f=f+_|0,s^=f,s=s<<20|s>>>12,r=r+k|0,r=r+c|0,m^=r,m=m<<16|m>>>16,p=p+m|0,c^=p,c=c<<20|c>>>12,i=i+C|0,i=i+l|0,h^=i,h=h<<16|h>>>16,u=u+h|0,l^=u,l=l<<20|l>>>12,a=a+N|0,a=a+o|0,g^=a,g=g<<16|g>>>16,d=d+g|0,o^=d,o=o<<20|o>>>12,i=i+M|0,i=i+l|0,h^=i,h=h<<24|h>>>8,u=u+h|0,l^=u,l=l<<25|l>>>7,a=a+y|0,a=a+o|0,g^=a,g=g<<24|g>>>8,d=d+g|0,o^=d,o=o<<25|o>>>7,r=r+P|0,r=r+c|0,m^=r,m=m<<24|m>>>8,p=p+m|0,c^=p,c=c<<25|c>>>7,n=n+j|0,n=n+s|0,_^=n,_=_<<24|_>>>8,f=f+_|0,s^=f,s=s<<25|s>>>7,this._state[0]^=n^u,this._state[1]^=r^d,this._state[2]^=i^f,this._state[3]^=a^p,this._state[4]^=o^m,this._state[5]^=s^h,this._state[6]^=c^g,this._state[7]^=l^_}};function S(e){return e.saveState!==void 0&&e.restoreState!==void 0&&e.cleanSavedState!==void 0}var C=class{blockSize;digestLength;_inner;_outer;_finished=!1;_innerKeyedState;_outerKeyedState;constructor(e,t){this._inner=new e,this._outer=new e,this.blockSize=this._outer.blockSize,this.digestLength=this._outer.digestLength;let n=new Uint8Array(this.blockSize);t.length>this.blockSize?this._inner.update(t).finish(n).clean():n.set(t);for(let e=0;e<n.length;e++)n[e]^=54;this._inner.update(n);for(let e=0;e<n.length;e++)n[e]^=106;this._outer.update(n),S(this._inner)&&S(this._outer)&&(this._innerKeyedState=this._inner.saveState(),this._outerKeyedState=this._outer.saveState()),a(n)}reset(){if(!S(this._inner)||!S(this._outer))throw Error(`hmac: can't reset() because hash doesn't implement restoreState()`);return this._inner.restoreState(this._innerKeyedState),this._outer.restoreState(this._outerKeyedState),this._finished=!1,this}clean(){S(this._inner)&&this._inner.cleanSavedState(this._innerKeyedState),S(this._outer)&&this._outer.cleanSavedState(this._outerKeyedState),this._inner.clean(),this._outer.clean()}update(e){return this._inner.update(e),this}finish(e){return this._finished?(this._outer.finish(e),this):(this._inner.finish(e),this._outer.update(e.subarray(0,this.digestLength)).finish(e),this._finished=!0,this)}digest(){let e=new Uint8Array(this.digestLength);return this.finish(e),e}saveState(){if(!S(this._inner))throw Error(`hmac: can't saveState() because hash doesn't implement it`);return this._inner.saveState()}restoreState(e){if(!S(this._inner)||!S(this._outer))throw Error(`hmac: can't restoreState() because hash doesn't implement it`);return this._inner.restoreState(e),this._outer.restoreState(this._outerKeyedState),this._finished=!1,this}cleanSavedState(e){if(!S(this._inner))throw Error(`hmac: can't cleanSavedState() because hash doesn't implement it`);this._inner.cleanSavedState(e)}};function w(e,t,n){let r=new C(e,t);r.update(n);let i=r.digest();return r.clean(),i}var T=class{_hmac;_buffer;_bufpos;_counter=new Uint8Array(1);_hash;_info;constructor(e,t,n=new Uint8Array,r){this._hash=e,this._info=r;let i=w(this._hash,n,t);this._hmac=new C(e,i),this._buffer=new Uint8Array(this._hmac.digestLength),this._bufpos=this._buffer.length}_fillBuffer(){this._counter[0]++;let e=this._counter[0];if(e===0)throw Error(`hkdf: cannot expand more`);this._hmac.reset(),e>1&&this._hmac.update(this._buffer),this._info&&this._hmac.update(this._info),this._hmac.update(this._counter),this._hmac.finish(this._buffer),this._bufpos=0}expand(e){let t=new Uint8Array(e);for(let e=0;e<t.length;e++)this._bufpos===this._buffer.length&&this._fillBuffer(),t[e]=this._buffer[this._bufpos++];return t}clean(){this._hmac.clean(),a(this._buffer),a(this._counter),this._bufpos=0}},E=class{digestLength=32;blockSize=64;_state=new Int32Array(8);_temp=new Int32Array(64);_buffer=new Uint8Array(128);_bufferLength=0;_bytesHashed=0;_finished=!1;constructor(){this.reset()}_initState(){this._state[0]=1779033703,this._state[1]=3144134277,this._state[2]=1013904242,this._state[3]=2773480762,this._state[4]=1359893119,this._state[5]=2600822924,this._state[6]=528734635,this._state[7]=1541459225}reset(){return this._initState(),this._bufferLength=0,this._bytesHashed=0,this._finished=!1,this}clean(){a(this._buffer),a(this._temp),this.reset()}update(e,t=e.length){if(this._finished)throw Error(`SHA256: can't update because hash was finished.`);let n=0;if(this._bytesHashed+=t,this._bufferLength>0){for(;this._bufferLength<this.blockSize&&t>0;)this._buffer[this._bufferLength++]=e[n++],t--;this._bufferLength===this.blockSize&&(O(this._temp,this._state,this._buffer,0,this.blockSize),this._bufferLength=0)}for(t>=this.blockSize&&(n=O(this._temp,this._state,e,n,t),t%=this.blockSize);t>0;)this._buffer[this._bufferLength++]=e[n++],t--;return this}finish(e){if(!this._finished){let e=this._bytesHashed,t=this._bufferLength,n=e/536870912|0,r=e<<3,a=e%64<56?64:128;this._buffer[t]=128;for(let e=t+1;e<a-8;e++)this._buffer[e]=0;i(n,this._buffer,a-8),i(r,this._buffer,a-4),O(this._temp,this._state,this._buffer,0,a),this._finished=!0}for(let t=0;t<this.digestLength/4;t++)i(this._state[t],e,t*4);return this}digest(){let e=new Uint8Array(this.digestLength);return this.finish(e),e}saveState(){if(this._finished)throw Error(`SHA256: cannot save finished state`);return{state:new Int32Array(this._state),buffer:this._bufferLength>0?new Uint8Array(this._buffer):void 0,bufferLength:this._bufferLength,bytesHashed:this._bytesHashed}}restoreState(e){return this._state.set(e.state),this._bufferLength=e.bufferLength,e.buffer&&this._buffer.set(e.buffer),this._bytesHashed=e.bytesHashed,this._finished=!1,this}cleanSavedState(e){a(e.state),e.buffer&&a(e.buffer),e.bufferLength=0,e.bytesHashed=0}},D=new Int32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);function O(e,t,r,i,a){for(;a>=64;){let o=t[0],s=t[1],c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7];for(let t=0;t<16;t++)e[t]=n(r,i+t*4);for(let t=16;t<64;t++){let n=e[t-2],r=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10;n=e[t-15];let i=(n>>>7|n<<25)^(n>>>18|n<<14)^n>>>3;e[t]=(r+e[t-7]|0)+(i+e[t-16]|0)}for(let t=0;t<64;t++){let n=(((u>>>6|u<<26)^(u>>>11|u<<21)^(u>>>25|u<<7))+(u&d^~u&f)|0)+(p+(D[t]+e[t]|0)|0)|0,r=((o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10))+(o&s^o&c^s&c)|0;p=f,f=d,d=u,u=l+n|0,l=c,c=s,s=o,o=n+r|0}t[0]+=o,t[1]+=s,t[2]+=c,t[3]+=l,t[4]+=u,t[5]+=d,t[6]+=f,t[7]+=p,i+=64,a-=64}return i}var k=`Noise_NK_25519_ChaChaPoly_BLAKE2s`;function A(){let e=new TextEncoder().encode(k);if(e.length<=32){let t=new Uint8Array(32);return t.set(e),t}let t=new E;return t.update(e),t.digest()}function j(e,t){let n=new x(32);return n.update(e),n.update(t),n.digest()}function M(e,t){let n=new T(E,t,e).expand(64);return[n.slice(0,32),n.slice(32,64)]}async function N(e,t,n){let i=A(),a=i.slice();i=j(i,e);let o=s();i=j(i,o.publicKey);let c=r(o.secretKey,e),[l,u]=M(a,c);a=l;let d=new _(u),f=new Uint8Array(12),p=d.seal(f,new Uint8Array,i);i=j(i,p);let m=new Uint8Array(32+p.length);m.set(o.publicKey,0),m.set(p,32),await t(m);let h=await n();if(h.length<48)throw Error(`Noise NK: msg2 too short`);let g=h.slice(0,32),v=h.slice(32);i=j(i,g);let y=r(o.secretKey,g),[b,x]=M(a,y);a=b;let S=new _(x),C=new Uint8Array(12);if(!S.open(C,v,i))throw Error(`Noise NK: msg2 auth failed — wrong responder key or MITM`);i=j(i,v);let[w,T]=M(a,new Uint8Array),E=i.slice(),D=0n,O=0n;function k(e){let t=new Uint8Array(12);return new DataView(t.buffer).setBigUint64(4,e,!0),t}let N=new _(w),P=new _(T);return{encrypt(e){return N.seal(k(D++),e,new Uint8Array)},decrypt(e){let t=P.open(k(O++),e,new Uint8Array);if(!t)throw Error(`Noise NK: decryption failed`);return t},handshakeHash:E}}var P=new TextEncoder().encode(`peach-sync-v1-initiator-auth`);function F(e,t,n,i){if(i.length!==32)throw Error(`auth nonce must be 32 bytes`);let a=new C(E,r(e,n));return a.update(P),a.update(t),a.update(n),a.update(i),a.digest()}function I(e){return Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``)}function L(e){if(e.length%2!=0)throw Error(`invalid hex`);let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.slice(n,n+2),16);return t}async function R(e,t,n,i){let a=A(),o=a.slice();a=j(a,t);let c=await i();if(c.length<48)throw Error(`Noise NK: msg1 too short`);let l=c.slice(0,32),u=c.slice(32);a=j(a,l);let d=r(e,l),[f,p]=M(o,d);o=f;let m=new _(p),h=new Uint8Array(12);if(!m.open(h,u,a))throw Error(`Noise NK: msg1 auth failed — wrong static key or MITM`);a=j(a,u);let g=s();a=j(a,g.publicKey);let v=r(g.secretKey,l),[y,b]=M(o,v);o=y;let x=new _(b),S=new Uint8Array(12),C=x.seal(S,new Uint8Array,a);a=j(a,C);let w=new Uint8Array(32+C.length);w.set(g.publicKey,0),w.set(C,32),await n(w);let[T,E]=M(o,new Uint8Array),D=a.slice(),O=0n,k=0n;function N(e){let t=new Uint8Array(12);return new DataView(t.buffer).setBigUint64(4,e,!0),t}let P=new _(E),F=new _(T);return{encrypt(e){return P.seal(N(O++),e,new Uint8Array)},decrypt(e){let t=F.open(N(k++),e,new Uint8Array);if(!t)throw Error(`Noise NK: decryption failed`);return t},handshakeHash:D}}function z(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r++)n|=e[r]^t[r];return n===0}async function B(e,t,n,i,a){let o=new Uint8Array(32);crypto.getRandomValues(o);let s={type:`CHALLENGE`,nonce_hex:I(o),responder_public_key_hex:I(n)};await i(new TextEncoder().encode(JSON.stringify(s)));let c=await a(),l=JSON.parse(new TextDecoder().decode(c));if(l.type!==`PROOF`)throw Error(`expected PROOF frame`);let u=L(l.initiator_public_key_hex),d=L(l.proof_hex);if(u.length!==32)throw Error(`initiator public key must be 32 bytes`);if(d.length!==32)throw Error(`proof must be 32 bytes`);let f=new C(E,r(t,u));if(f.update(P),f.update(u),f.update(n),f.update(o),!z(f.digest(),d))throw Error(`auth proof did not verify`);return{initiatorPublicKey:u}}async function V(e,t,n,r,i,a){let o=await a(),s=JSON.parse(new TextDecoder().decode(o));if(s.type!==`CHALLENGE`)throw Error(`expected CHALLENGE frame`);let c=L(s.nonce_hex),l=L(s.responder_public_key_hex);if(l.length!==r.length||!l.every((e,t)=>e===r[t]))throw Error(`responder key in challenge does not match Noise handshake`);let u=F(t,n,r,c),d={type:`PROOF`,initiator_public_key_hex:I(n),proof_hex:I(u)};await i(new TextEncoder().encode(JSON.stringify(d)))}export{B as i,R as n,V as r,N as t};