1 (()=>{var Ts={3981(pA,uA){"use strict";uA.byteLength=function CA(P){var _=j(P),FA=_[1];return 3*(_[0]+FA)/4-FA},uA.toByteArray=function PA(P){var _,EA,BA=j(P),FA=BA[0],bA=BA[1],lA=new KA(function D(P,_,BA){return 3*(_+BA)/4-BA}(0,FA,bA)),MA=0,ge=bA>0?FA-4:FA;for(EA=0;EA<ge;EA+=4)_=Z[P.charCodeAt(EA)]<<18|Z[P.charCodeAt(EA+1)]<<12|Z[P.charCodeAt(EA+2)]<<6|Z[P.charCodeAt(EA+3)],lA[MA++]=_>>16&255,lA[MA++]=_>>8&255,lA[MA++]=255&_;return 2===bA&&(_=Z[P.charCodeAt(EA)]<<2|Z[P.charCodeAt(EA+1)]>>4,lA[MA++]=255&_),1===bA&&(_=Z[P.charCodeAt(EA)]<<10|Z[P.charCodeAt(EA+1)]<<4|Z[P.charCodeAt(EA+2)]>>2,lA[MA++]=_>>8&255,lA[MA++]=255&_),lA},uA.fromByteArray=function fA(P){for(var _,BA=P.length,FA=BA%3,bA=[],MA=0,ge=BA-FA;MA<ge;MA+=16383)bA.push(rA(P,MA,MA+16383>ge?ge:MA+16383));return 1===FA?bA.push(F[(_=P[BA-1])>>2]+F[_<<4&63]+"=="):2===FA&&bA.push(F[(_=(P[BA-2]<<8)+P[BA-1])>>10]+F[_>>4&63]+F[_<<2&63]+"="),bA.join("")};for(var F=[],Z=[],KA=typeof Uint8Array<"u"?Uint8Array:Array,DA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",hA=0;hA<64;++hA)F[hA]=DA[hA],Z[DA.charCodeAt(hA)]=hA;function j(P){var _=P.length;if(_%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var BA=P.indexOf("=");return-1===BA&&(BA=_),[BA,BA===_?0:4-BA%4]}function tA(P){return F[P>>18&63]+F[P>>12&63]+F[P>>6&63]+F[63&P]}function rA(P,_,BA){for(var bA=[],lA=_;lA<BA;lA+=3)bA.push(tA((P[lA]<<16&16711680)+(P[lA+1]<<8&65280)+(255&P[lA+2])));return bA.join("")}Z[45]=62,Z[95]=63},3838(pA,uA,F){"use strict";const KA=F(3981),DA=F(2020),hA="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;uA.Buffer=D,uA.INSPECT_MAX_BYTES=50;const cA=2147483647;function CA(Q){if(Q>cA)throw new RangeError('The value "'+Q+'" is invalid for option "size"');const g=new Uint8Array(Q);return Object.setPrototypeOf(g,D.prototype),g}function D(Q,g,B){if("number"==typeof Q){if("string"==typeof g)throw new TypeError('The "string" argument must be of type string. Received type number');return fA(Q)}return PA(Q,g,B)}function PA(Q,g,B){if("string"==typeof Q)return function P(Q,g){if(("string"!=typeof g||""===g)&&(g="utf8"),!D.isEncoding(g))throw new TypeError("Unknown encoding: "+g);const B=0|ge(Q,g);let f=CA(B);const w=f.write(Q,g);return w!==B&&(f=f.slice(0,w)),f}(Q,g);if(ArrayBuffer.isView(Q))return function BA(Q){if(pe(Q,Uint8Array)){const g=new Uint8Array(Q);return FA(g.buffer,g.byteOffset,g.byteLength)}return _(Q)}(Q);if(null==Q)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Q);if(pe(Q,ArrayBuffer)||Q&&pe(Q.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(pe(Q,SharedArrayBuffer)||Q&&pe(Q.buffer,SharedArrayBuffer)))return FA(Q,g,B);if("number"==typeof Q)throw new TypeError('The "value" argument must not be of type number. Received type number');const f=Q.valueOf&&Q.valueOf();if(null!=f&&f!==Q)return D.from(f,g,B);const w=function bA(Q){if(D.isBuffer(Q)){const g=0|lA(Q.length),B=CA(g);return 0===B.length||Q.copy(B,0,0,g),B}return void 0!==Q.length?"number"!=typeof Q.length||xi(Q.length)?CA(0):_(Q):"Buffer"===Q.type&&Array.isArray(Q.data)?_(Q.data):void 0}(Q);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof Q[Symbol.toPrimitive])return D.from(Q[Symbol.toPrimitive]("string"),g,B);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof Q)}function tA(Q){if("number"!=typeof Q)throw new TypeError('"size" argument must be of type number');if(Q<0)throw new RangeError('The value "'+Q+'" is invalid for option "size"')}function fA(Q){return tA(Q),CA(Q<0?0:0|lA(Q))}function _(Q){const g=Q.length<0?0:0|lA(Q.length),B=CA(g);for(let f=0;f<g;f+=1)B[f]=255&Q[f];return B}function FA(Q,g,B){if(g<0||Q.byteLength<g)throw new RangeError('"offset" is outside of buffer bounds');if(Q.byteLength<g+(B||0))throw new RangeError('"length" is outside of buffer bounds');let f;return f=void 0===g&&void 0===B?new Uint8Array(Q):void 0===B?new Uint8Array(Q,g):new Uint8Array(Q,g,B),Object.setPrototypeOf(f,D.prototype),f}function lA(Q){if(Q>=cA)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+cA.toString(16)+" bytes");return 0|Q}function ge(Q,g){if(D.isBuffer(Q))return Q.length;if(ArrayBuffer.isView(Q)||pe(Q,ArrayBuffer))return Q.byteLength;if("string"!=typeof Q)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof Q);const B=Q.length,f=arguments.length>2&&!0===arguments[2];if(!f&&0===B)return 0;let w=!1;for(;;)switch(g){case"ascii":case"latin1":case"binary":return B;case"utf8":case"utf-8":return Hi(Q).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*B;case"hex":return B>>>1;case"base64":return ei(Q).length;default:if(w)return f?-1:Hi(Q).length;g=(""+g).toLowerCase(),w=!0}}function EA(Q,g,B){let f=!1;if((void 0===g||g<0)&&(g=0),g>this.length||((void 0===B||B>this.length)&&(B=this.length),B<=0)||(B>>>=0)<=(g>>>=0))return"";for(Q||(Q="utf8");;)switch(Q){case"hex":return kt(this,g,B);case"utf8":case"utf-8":return XA(this,g,B);case"ascii":return Te(this,g,B);case"latin1":case"binary":return se(this,g,B);case"base64":return nA(this,g,B);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return jt(this,g,B);default:if(f)throw new TypeError("Unknown encoding: "+Q);Q=(Q+"").toLowerCase(),f=!0}}function Be(Q,g,B){const f=Q[g];Q[g]=Q[B],Q[B]=f}function z(Q,g,B,f,w){if(0===Q.length)return-1;if("string"==typeof B?(f=B,B=0):B>2147483647?B=2147483647:B<-2147483648&&(B=-2147483648),xi(B=+B)&&(B=w?0:Q.length-1),B<0&&(B=Q.length+B),B>=Q.length){if(w)return-1;B=Q.length-1}else if(B<0){if(!w)return-1;B=0}if("string"==typeof g&&(g=D.from(g,f)),D.isBuffer(g))return 0===g.length?-1:X(Q,g,B,f,w);if("number"==typeof g)return g&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(Q,g,B):Uint8Array.prototype.lastIndexOf.call(Q,g,B):X(Q,[g],B,f,w);throw new TypeError("val must be string, number or Buffer")}function X(Q,g,B,f,w){let kA,k=1,U=Q.length,iA=g.length;if(void 0!==f&&("ucs2"===(f=String(f).toLowerCase())||"ucs-2"===f||"utf16le"===f||"utf-16le"===f)){if(Q.length<2||g.length<2)return-1;k=2,U/=2,iA/=2,B/=2}function UA(GA,dA){return 1===k?GA[dA]:GA.readUInt16BE(dA*k)}if(w){let GA=-1;for(kA=B;kA<U;kA++)if(UA(Q,kA)===UA(g,-1===GA?0:kA-GA)){if(-1===GA&&(GA=kA),kA-GA+1===iA)return GA*k}else-1!==GA&&(kA-=kA-GA),GA=-1}else for(B+iA>U&&(B=U-iA),kA=B;kA>=0;kA--){let GA=!0;for(let dA=0;dA<iA;dA++)if(UA(Q,kA+dA)!==UA(g,dA)){GA=!1;break}if(GA)return kA}return-1}function oA(Q,g,B,f){B=Number(B)||0;const w=Q.length-B;f?(f=Number(f))>w&&(f=w):f=w;const k=g.length;let U;for(f>k/2&&(f=k/2),U=0;U<f;++U){const iA=parseInt(g.substr(2*U,2),16);if(xi(iA))return U;Q[B+U]=iA}return U}function aA(Q,g,B,f){return ti(Hi(g,Q.length-B),Q,B,f)}function YA(Q,g,B,f){return ti(function mo(Q){const g=[];for(let B=0;B<Q.length;++B)g.push(255&Q.charCodeAt(B));return g}(g),Q,B,f)}function _A(Q,g,B,f){return ti(ei(g),Q,B,f)}function $A(Q,g,B,f){return ti(function Ut(Q,g){let B,f,w;const k=[];for(let U=0;U<Q.length&&!((g-=2)<0);++U)B=Q.charCodeAt(U),f=B>>8,w=B%256,k.push(w),k.push(f);return k}(g,Q.length-B),Q,B,f)}function nA(Q,g,B){return KA.fromByteArray(0===g&&B===Q.length?Q:Q.slice(g,B))}function XA(Q,g,B){B=Math.min(Q.length,B);const f=[];let w=g;for(;w<B;){const k=Q[w];let U=null,iA=k>239?4:k>223?3:k>191?2:1;if(w+iA<=B){let UA,kA,GA,dA;switch(iA){case 1:k<128&&(U=k);break;case 2:UA=Q[w+1],128==(192&UA)&&(dA=(31&k)<<6|63&UA,dA>127&&(U=dA));break;case 3:UA=Q[w+1],kA=Q[w+2],128==(192&UA)&&128==(192&kA)&&(dA=(15&k)<<12|(63&UA)<<6|63&kA,dA>2047&&(dA<55296||dA>57343)&&(U=dA));break;case 4:UA=Q[w+1],kA=Q[w+2],GA=Q[w+3],128==(192&UA)&&128==(192&kA)&&128==(192&GA)&&(dA=(15&k)<<18|(63&UA)<<12|(63&kA)<<6|63&GA,dA>65535&&dA<1114112&&(U=dA))}}null===U?(U=65533,iA=1):U>65535&&(U-=65536,f.push(U>>>10&1023|55296),U=56320|1023&U),f.push(U),w+=iA}return function Se(Q){const g=Q.length;if(g<=4096)return String.fromCharCode.apply(String,Q);let B="",f=0;for(;f<g;)B+=String.fromCharCode.apply(String,Q.slice(f,f+=4096));return B}(f)}function Te(Q,g,B){let f="";B=Math.min(Q.length,B);for(let w=g;w<B;++w)f+=String.fromCharCode(127&Q[w]);return f}function se(Q,g,B){let f="";B=Math.min(Q.length,B);for(let w=g;w<B;++w)f+=String.fromCharCode(Q[w]);return f}function kt(Q,g,B){const f=Q.length;(!g||g<0)&&(g=0),(!B||B<0||B>f)&&(B=f);let w="";for(let k=g;k<B;++k)w+=So[Q[k]];return w}function jt(Q,g,B){const f=Q.slice(g,B);let w="";for(let k=0;k<f.length-1;k+=2)w+=String.fromCharCode(f[k]+256*f[k+1]);return w}function SA(Q,g,B){if(Q%1!=0||Q<0)throw new RangeError("offset is not uint");if(Q+g>B)throw new RangeError("Trying to access beyond buffer length")}function Ae(Q,g,B,f,w,k){if(!D.isBuffer(Q))throw new TypeError('"buffer" argument must be a Buffer instance');if(g>w||g<k)throw new RangeError('"value" argument is out of bounds');if(B+f>Q.length)throw new RangeError("Index out of range")}function Tn(Q,g,B,f,w){Ai(g,f,w,Q,B,7);let k=Number(g&BigInt(4294967295));Q[B++]=k,k>>=8,Q[B++]=k,k>>=8,Q[B++]=k,k>>=8,Q[B++]=k;let U=Number(g>>BigInt(32)&BigInt(4294967295));return Q[B++]=U,U>>=8,Q[B++]=U,U>>=8,Q[B++]=U,U>>=8,Q[B++]=U,B}function $t(Q,g,B,f,w){Ai(g,f,w,Q,B,7);let k=Number(g&BigInt(4294967295));Q[B+7]=k,k>>=8,Q[B+6]=k,k>>=8,Q[B+5]=k,k>>=8,Q[B+4]=k;let U=Number(g>>BigInt(32)&BigInt(4294967295));return Q[B+3]=U,U>>=8,Q[B+2]=U,U>>=8,Q[B+1]=U,U>>=8,Q[B]=U,B+8}function Gi(Q,g,B,f,w,k){if(B+f>Q.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("Index out of range")}function Wn(Q,g,B,f,w){return g=+g,B>>>=0,w||Gi(Q,0,B,4),DA.write(Q,g,B,f,23,4),B+4}function _n(Q,g,B,f,w){return g=+g,B>>>=0,w||Gi(Q,0,B,8),DA.write(Q,g,B,f,52,8),B+8}!(D.TYPED_ARRAY_SUPPORT=function j(){try{const Q=new Uint8Array(1),g={foo:function(){return 42}};return Object.setPrototypeOf(g,Uint8Array.prototype),Object.setPrototypeOf(Q,g),42===Q.foo()}catch{return!1}}())&&typeof console<"u"&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(D.prototype,"parent",{enumerable:!0,get:function(){if(D.isBuffer(this))return this.buffer}}),Object.defineProperty(D.prototype,"offset",{enumerable:!0,get:function(){if(D.isBuffer(this))return this.byteOffset}}),D.poolSize=8192,D.from=function(Q,g,B){return PA(Q,g,B)},Object.setPrototypeOf(D.prototype,Uint8Array.prototype),Object.setPrototypeOf(D,Uint8Array),D.alloc=function(Q,g,B){return function rA(Q,g,B){return tA(Q),Q<=0?CA(Q):void 0!==g?"string"==typeof B?CA(Q).fill(g,B):CA(Q).fill(g):CA(Q)}(Q,g,B)},D.allocUnsafe=function(Q){return fA(Q)},D.allocUnsafeSlow=function(Q){return fA(Q)},D.isBuffer=function(g){return null!=g&&!0===g._isBuffer&&g!==D.prototype},D.compare=function(g,B){if(pe(g,Uint8Array)&&(g=D.from(g,g.offset,g.byteLength)),pe(B,Uint8Array)&&(B=D.from(B,B.offset,B.byteLength)),!D.isBuffer(g)||!D.isBuffer(B))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(g===B)return 0;let f=g.length,w=B.length;for(let k=0,U=Math.min(f,w);k<U;++k)if(g[k]!==B[k]){f=g[k],w=B[k];break}return f<w?-1:w<f?1:0},D.isEncoding=function(g){switch(String(g).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},D.concat=function(g,B){if(!Array.isArray(g))throw new TypeError('"list" argument must be an Array of Buffers');if(0===g.length)return D.alloc(0);let f;if(void 0===B)for(B=0,f=0;f<g.length;++f)B+=g[f].length;const w=D.allocUnsafe(B);let k=0;for(f=0;f<g.length;++f){let U=g[f];if(pe(U,Uint8Array))k+U.length>w.length?(D.isBuffer(U)||(U=D.from(U)),U.copy(w,k)):Uint8Array.prototype.set.call(w,U,k);else{if(!D.isBuffer(U))throw new TypeError('"list" argument must be an Array of Buffers');U.copy(w,k)}k+=U.length}return w},D.byteLength=ge,D.prototype._isBuffer=!0,D.prototype.swap16=function(){const g=this.length;if(g%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let B=0;B<g;B+=2)Be(this,B,B+1);return this},D.prototype.swap32=function(){const g=this.length;if(g%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let B=0;B<g;B+=4)Be(this,B,B+3),Be(this,B+1,B+2);return this},D.prototype.swap64=function(){const g=this.length;if(g%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let B=0;B<g;B+=8)Be(this,B,B+7),Be(this,B+1,B+6),Be(this,B+2,B+5),Be(this,B+3,B+4);return this},D.prototype.toString=function(){const g=this.length;return 0===g?"":0===arguments.length?XA(this,0,g):EA.apply(this,arguments)},D.prototype.toLocaleString=D.prototype.toString,D.prototype.equals=function(g){if(!D.isBuffer(g))throw new TypeError("Argument must be a Buffer");return this===g||0===D.compare(this,g)},D.prototype.inspect=function(){let g="";const B=uA.INSPECT_MAX_BYTES;return g=this.toString("hex",0,B).replace(/(.{2})/g,"$1 ").trim(),this.length>B&&(g+=" ... "),"<Buffer "+g+">"},hA&&(D.prototype[hA]=D.prototype.inspect),D.prototype.compare=function(g,B,f,w,k){if(pe(g,Uint8Array)&&(g=D.from(g,g.offset,g.byteLength)),!D.isBuffer(g))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof g);if(void 0===B&&(B=0),void 0===f&&(f=g?g.length:0),void 0===w&&(w=0),void 0===k&&(k=this.length),B<0||f>g.length||w<0||k>this.length)throw new RangeError("out of range index");if(w>=k&&B>=f)return 0;if(w>=k)return-1;if(B>=f)return 1;if(this===g)return 0;let U=(k>>>=0)-(w>>>=0),iA=(f>>>=0)-(B>>>=0);const UA=Math.min(U,iA),kA=this.slice(w,k),GA=g.slice(B,f);for(let dA=0;dA<UA;++dA)if(kA[dA]!==GA[dA]){U=kA[dA],iA=GA[dA];break}return U<iA?-1:iA<U?1:0},D.prototype.includes=function(g,B,f){return-1!==this.indexOf(g,B,f)},D.prototype.indexOf=function(g,B,f){return z(this,g,B,f,!0)},D.prototype.lastIndexOf=function(g,B,f){return z(this,g,B,f,!1)},D.prototype.write=function(g,B,f,w){if(void 0===B)w="utf8",f=this.length,B=0;else if(void 0===f&&"string"==typeof B)w=B,f=this.length,B=0;else{if(!isFinite(B))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");B>>>=0,isFinite(f)?(f>>>=0,void 0===w&&(w="utf8")):(w=f,f=void 0)}const k=this.length-B;if((void 0===f||f>k)&&(f=k),g.length>0&&(f<0||B<0)||B>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");let U=!1;for(;;)switch(w){case"hex":return oA(this,g,B,f);case"utf8":case"utf-8":return aA(this,g,B,f);case"ascii":case"latin1":case"binary":return YA(this,g,B,f);case"base64":return _A(this,g,B,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $A(this,g,B,f);default:if(U)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),U=!0}},D.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},D.prototype.slice=function(g,B){const f=this.length;(g=~~g)<0?(g+=f)<0&&(g=0):g>f&&(g=f),(B=void 0===B?f:~~B)<0?(B+=f)<0&&(B=0):B>f&&(B=f),B<g&&(B=g);const w=this.subarray(g,B);return Object.setPrototypeOf(w,D.prototype),w},D.prototype.readUintLE=D.prototype.readUIntLE=function(g,B,f){g>>>=0,B>>>=0,f||SA(g,B,this.length);let w=this[g],k=1,U=0;for(;++U<B&&(k*=256);)w+=this[g+U]*k;return w},D.prototype.readUintBE=D.prototype.readUIntBE=function(g,B,f){g>>>=0,B>>>=0,f||SA(g,B,this.length);let w=this[g+--B],k=1;for(;B>0&&(k*=256);)w+=this[g+--B]*k;return w},D.prototype.readUint8=D.prototype.readUInt8=function(g,B){return g>>>=0,B||SA(g,1,this.length),this[g]},D.prototype.readUint16LE=D.prototype.readUInt16LE=function(g,B){return g>>>=0,B||SA(g,2,this.length),this[g]|this[g+1]<<8},D.prototype.readUint16BE=D.prototype.readUInt16BE=function(g,B){return g>>>=0,B||SA(g,2,this.length),this[g]<<8|this[g+1]},D.prototype.readUint32LE=D.prototype.readUInt32LE=function(g,B){return g>>>=0,B||SA(g,4,this.length),(this[g]|this[g+1]<<8|this[g+2]<<16)+16777216*this[g+3]},D.prototype.readUint32BE=D.prototype.readUInt32BE=function(g,B){return g>>>=0,B||SA(g,4,this.length),16777216*this[g]+(this[g+1]<<16|this[g+2]<<8|this[g+3])},D.prototype.readBigUInt64LE=ee(function(g){fe(g>>>=0,"offset");const B=this[g],f=this[g+7];(void 0===B||void 0===f)&&St(g,this.length-8);const w=B+256*this[++g]+65536*this[++g]+this[++g]*2**24,k=this[++g]+256*this[++g]+65536*this[++g]+f*2**24;return BigInt(w)+(BigInt(k)<<BigInt(32))}),D.prototype.readBigUInt64BE=ee(function(g){fe(g>>>=0,"offset");const B=this[g],f=this[g+7];(void 0===B||void 0===f)&&St(g,this.length-8);const w=B*2**24+65536*this[++g]+256*this[++g]+this[++g],k=this[++g]*2**24+65536*this[++g]+256*this[++g]+f;return(BigInt(w)<<BigInt(32))+BigInt(k)}),D.prototype.readIntLE=function(g,B,f){g>>>=0,B>>>=0,f||SA(g,B,this.length);let w=this[g],k=1,U=0;for(;++U<B&&(k*=256);)w+=this[g+U]*k;return k*=128,w>=k&&(w-=Math.pow(2,8*B)),w},D.prototype.readIntBE=function(g,B,f){g>>>=0,B>>>=0,f||SA(g,B,this.length);let w=B,k=1,U=this[g+--w];for(;w>0&&(k*=256);)U+=this[g+--w]*k;return k*=128,U>=k&&(U-=Math.pow(2,8*B)),U},D.prototype.readInt8=function(g,B){return g>>>=0,B||SA(g,1,this.length),128&this[g]?-1*(255-this[g]+1):this[g]},D.prototype.readInt16LE=function(g,B){g>>>=0,B||SA(g,2,this.length);const f=this[g]|this[g+1]<<8;return 32768&f?4294901760|f:f},D.prototype.readInt16BE=function(g,B){g>>>=0,B||SA(g,2,this.length);const f=this[g+1]|this[g]<<8;return 32768&f?4294901760|f:f},D.prototype.readInt32LE=function(g,B){return g>>>=0,B||SA(g,4,this.length),this[g]|this[g+1]<<8|this[g+2]<<16|this[g+3]<<24},D.prototype.readInt32BE=function(g,B){return g>>>=0,B||SA(g,4,this.length),this[g]<<24|this[g+1]<<16|this[g+2]<<8|this[g+3]},D.prototype.readBigInt64LE=ee(function(g){fe(g>>>=0,"offset");const B=this[g],f=this[g+7];return(void 0===B||void 0===f)&&St(g,this.length-8),(BigInt(this[g+4]+256*this[g+5]+65536*this[g+6]+(f<<24))<<BigInt(32))+BigInt(B+256*this[++g]+65536*this[++g]+16777216*this[++g])}),D.prototype.readBigInt64BE=ee(function(g){fe(g>>>=0,"offset");const B=this[g],f=this[g+7];(void 0===B||void 0===f)&&St(g,this.length-8);const w=(B<<24)+65536*this[++g]+256*this[++g]+this[++g];return(BigInt(w)<<BigInt(32))+BigInt(16777216*this[++g]+65536*this[++g]+256*this[++g]+f)}),D.prototype.readFloatLE=function(g,B){return g>>>=0,B||SA(g,4,this.length),DA.read(this,g,!0,23,4)},D.prototype.readFloatBE=function(g,B){return g>>>=0,B||SA(g,4,this.length),DA.read(this,g,!1,23,4)},D.prototype.readDoubleLE=function(g,B){return g>>>=0,B||SA(g,8,this.length),DA.read(this,g,!0,52,8)},D.prototype.readDoubleBE=function(g,B){return g>>>=0,B||SA(g,8,this.length),DA.read(this,g,!1,52,8)},D.prototype.writeUintLE=D.prototype.writeUIntLE=function(g,B,f,w){g=+g,B>>>=0,f>>>=0,w||Ae(this,g,B,f,Math.pow(2,8*f)-1,0);let k=1,U=0;for(this[B]=255&g;++U<f&&(k*=256);)this[B+U]=g/k&255;return B+f},D.prototype.writeUintBE=D.prototype.writeUIntBE=function(g,B,f,w){g=+g,B>>>=0,f>>>=0,w||Ae(this,g,B,f,Math.pow(2,8*f)-1,0);let k=f-1,U=1;for(this[B+k]=255&g;--k>=0&&(U*=256);)this[B+k]=g/U&255;return B+f},D.prototype.writeUint8=D.prototype.writeUInt8=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,1,255,0),this[B]=255&g,B+1},D.prototype.writeUint16LE=D.prototype.writeUInt16LE=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,2,65535,0),this[B]=255&g,this[B+1]=g>>>8,B+2},D.prototype.writeUint16BE=D.prototype.writeUInt16BE=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,2,65535,0),this[B]=g>>>8,this[B+1]=255&g,B+2},D.prototype.writeUint32LE=D.prototype.writeUInt32LE=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,4,4294967295,0),this[B+3]=g>>>24,this[B+2]=g>>>16,this[B+1]=g>>>8,this[B]=255&g,B+4},D.prototype.writeUint32BE=D.prototype.writeUInt32BE=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,4,4294967295,0),this[B]=g>>>24,this[B+1]=g>>>16,this[B+2]=g>>>8,this[B+3]=255&g,B+4},D.prototype.writeBigUInt64LE=ee(function(g,B=0){return Tn(this,g,B,BigInt(0),BigInt("0xffffffffffffffff"))}),D.prototype.writeBigUInt64BE=ee(function(g,B=0){return $t(this,g,B,BigInt(0),BigInt("0xffffffffffffffff"))}),D.prototype.writeIntLE=function(g,B,f,w){if(g=+g,B>>>=0,!w){const UA=Math.pow(2,8*f-1);Ae(this,g,B,f,UA-1,-UA)}let k=0,U=1,iA=0;for(this[B]=255&g;++k<f&&(U*=256);)g<0&&0===iA&&0!==this[B+k-1]&&(iA=1),this[B+k]=(g/U|0)-iA&255;return B+f},D.prototype.writeIntBE=function(g,B,f,w){if(g=+g,B>>>=0,!w){const UA=Math.pow(2,8*f-1);Ae(this,g,B,f,UA-1,-UA)}let k=f-1,U=1,iA=0;for(this[B+k]=255&g;--k>=0&&(U*=256);)g<0&&0===iA&&0!==this[B+k+1]&&(iA=1),this[B+k]=(g/U|0)-iA&255;return B+f},D.prototype.writeInt8=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,1,127,-128),g<0&&(g=255+g+1),this[B]=255&g,B+1},D.prototype.writeInt16LE=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,2,32767,-32768),this[B]=255&g,this[B+1]=g>>>8,B+2},D.prototype.writeInt16BE=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,2,32767,-32768),this[B]=g>>>8,this[B+1]=255&g,B+2},D.prototype.writeInt32LE=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,4,2147483647,-2147483648),this[B]=255&g,this[B+1]=g>>>8,this[B+2]=g>>>16,this[B+3]=g>>>24,B+4},D.prototype.writeInt32BE=function(g,B,f){return g=+g,B>>>=0,f||Ae(this,g,B,4,2147483647,-2147483648),g<0&&(g=4294967295+g+1),this[B]=g>>>24,this[B+1]=g>>>16,this[B+2]=g>>>8,this[B+3]=255&g,B+4},D.prototype.writeBigInt64LE=ee(function(g,B=0){return Tn(this,g,B,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),D.prototype.writeBigInt64BE=ee(function(g,B=0){return $t(this,g,B,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),D.prototype.writeFloatLE=function(g,B,f){return Wn(this,g,B,!0,f)},D.prototype.writeFloatBE=function(g,B,f){return Wn(this,g,B,!1,f)},D.prototype.writeDoubleLE=function(g,B,f){return _n(this,g,B,!0,f)},D.prototype.writeDoubleBE=function(g,B,f){return _n(this,g,B,!1,f)},D.prototype.copy=function(g,B,f,w){if(!D.isBuffer(g))throw new TypeError("argument should be a Buffer");if(f||(f=0),!w&&0!==w&&(w=this.length),B>=g.length&&(B=g.length),B||(B=0),w>0&&w<f&&(w=f),w===f||0===g.length||0===this.length)return 0;if(B<0)throw new RangeError("targetStart out of bounds");if(f<0||f>=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),g.length-B<w-f&&(w=g.length-B+f);const k=w-f;return this===g&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(B,f,w):Uint8Array.prototype.set.call(g,this.subarray(f,w),B),k},D.prototype.fill=function(g,B,f,w){if("string"==typeof g){if("string"==typeof B?(w=B,B=0,f=this.length):"string"==typeof f&&(w=f,f=this.length),void 0!==w&&"string"!=typeof w)throw new TypeError("encoding must be a string");if("string"==typeof w&&!D.isEncoding(w))throw new TypeError("Unknown encoding: "+w);if(1===g.length){const U=g.charCodeAt(0);("utf8"===w&&U<128||"latin1"===w)&&(g=U)}}else"number"==typeof g?g&=255:"boolean"==typeof g&&(g=Number(g));if(B<0||this.length<B||this.length<f)throw new RangeError("Out of range index");if(f<=B)return this;let k;if(B>>>=0,f=void 0===f?this.length:f>>>0,g||(g=0),"number"==typeof g)for(k=B;k<f;++k)this[k]=g;else{const U=D.isBuffer(g)?g:D.from(g,w),iA=U.length;if(0===iA)throw new TypeError('The value "'+g+'" is invalid for argument "value"');for(k=0;k<f-B;++k)this[k+B]=U[k%iA]}return this};const Ue={};function mt(Q,g,B){Ue[Q]=class extends B{constructor(){super(),Object.defineProperty(this,"message",{value:g.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${Q}]`,delete this.name}get code(){return Q}set code(w){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:w,writable:!0})}toString(){return`${this.name} [${Q}]: ${this.message}`}}}function We(Q){let g="",B=Q.length;const f="-"===Q[0]?1:0;for(;B>=f+4;B-=3)g=`_${Q.slice(B-3,B)}${g}`;return`${Q.slice(0,B)}${g}`}function Ai(Q,g,B,f,w,k){if(Q>B||Q<g){const U="bigint"==typeof g?"n":"";let iA;throw iA=k>3?0===g||g===BigInt(0)?`>= 0${U} and < 2${U} ** ${8*(k+1)}${U}`:`>= -(2${U} ** ${8*(k+1)-1}${U}) and < 2 ** ${8*(k+1)-1}${U}`:`>= ${g}${U} and <= ${B}${U}`,new Ue.ERR_OUT_OF_RANGE("value",iA,Q)}!function Ni(Q,g,B){fe(g,"offset"),(void 0===Q[g]||void 0===Q[g+B])&&St(g,Q.length-(B+1))}(f,w,k)}function fe(Q,g){if("number"!=typeof Q)throw new Ue.ERR_INVALID_ARG_TYPE(g,"number",Q)}function St(Q,g,B){throw Math.floor(Q)!==Q?(fe(Q,B),new Ue.ERR_OUT_OF_RANGE(B||"offset","an integer",Q)):g<0?new Ue.ERR_BUFFER_OUT_OF_BOUNDS:new Ue.ERR_OUT_OF_RANGE(B||"offset",`>= ${B?1:0} and <= ${g}`,Q)}mt("ERR_BUFFER_OUT_OF_BOUNDS",function(Q){return Q?`${Q} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),mt("ERR_INVALID_ARG_TYPE",function(Q,g){return`The "${Q}" argument must be of type number. Received type ${typeof g}`},TypeError),mt("ERR_OUT_OF_RANGE",function(Q,g,B){let f=`The value of "${Q}" is out of range.`,w=B;return Number.isInteger(B)&&Math.abs(B)>4294967296?w=We(String(B)):"bigint"==typeof B&&(w=String(B),(B>BigInt(2)**BigInt(32)||B<-(BigInt(2)**BigInt(32)))&&(w=We(w)),w+="n"),f+=` It must be ${g}. Received ${w}`,f},RangeError);const Do=/[^+/0-9A-Za-z-_]/g;function Hi(Q,g){let B;g=g||1/0;const f=Q.length;let w=null;const k=[];for(let U=0;U<f;++U){if(B=Q.charCodeAt(U),B>55295&&B<57344){if(!w){if(B>56319){(g-=3)>-1&&k.push(239,191,189);continue}if(U+1===f){(g-=3)>-1&&k.push(239,191,189);continue}w=B;continue}if(B<56320){(g-=3)>-1&&k.push(239,191,189),w=B;continue}B=65536+(w-55296<<10|B-56320)}else w&&(g-=3)>-1&&k.push(239,191,189);if(w=null,B<128){if((g-=1)<0)break;k.push(B)}else if(B<2048){if((g-=2)<0)break;k.push(B>>6|192,63&B|128)}else if(B<65536){if((g-=3)<0)break;k.push(B>>12|224,B>>6&63|128,63&B|128)}else{if(!(B<1114112))throw new Error("Invalid code point");if((g-=4)<0)break;k.push(B>>18|240,B>>12&63|128,B>>6&63|128,63&B|128)}}return k}function ei(Q){return KA.toByteArray(function ko(Q){if((Q=(Q=Q.split("=")[0]).trim().replace(Do,"")).length<2)return"";for(;Q.length%4!=0;)Q+="=";return Q}(Q))}function ti(Q,g,B,f){let w;for(w=0;w<f&&!(w+B>=g.length||w>=Q.length);++w)g[w+B]=Q[w];return w}function pe(Q,g){return Q instanceof g||null!=Q&&null!=Q.constructor&&null!=Q.constructor.name&&Q.constructor.name===g.name}function xi(Q){return Q!=Q}const So=function(){const Q="0123456789abcdef",g=new Array(256);for(let B=0;B<16;++B){const f=16*B;for(let w=0;w<16;++w)g[f+w]=Q[B]+Q[w]}return g}();function ee(Q){return typeof BigInt>"u"?jn:Q}function jn(){throw new Error("BigInt not supported")}},2020(pA,uA){uA.read=function(F,Z,KA,DA,hA){var cA,j,CA=8*hA-DA-1,D=(1<<CA)-1,PA=D>>1,tA=-7,rA=KA?hA-1:0,fA=KA?-1:1,P=F[Z+rA];for(rA+=fA,cA=P&(1<<-tA)-1,P>>=-tA,tA+=CA;tA>0;cA=256*cA+F[Z+rA],rA+=fA,tA-=8);for(j=cA&(1<<-tA)-1,cA>>=-tA,tA+=DA;tA>0;j=256*j+F[Z+rA],rA+=fA,tA-=8);if(0===cA)cA=1-PA;else{if(cA===D)return j?NaN:1/0*(P?-1:1);j+=Math.pow(2,DA),cA-=PA}return(P?-1:1)*j*Math.pow(2,cA-DA)},uA.write=function(F,Z,KA,DA,hA,cA){var j,CA,D,PA=8*cA-hA-1,tA=(1<<PA)-1,rA=tA>>1,fA=23===hA?Math.pow(2,-24)-Math.pow(2,-77):0,P=DA?0:cA-1,_=DA?1:-1,BA=Z<0||0===Z&&1/Z<0?1:0;for(Z=Math.abs(Z),isNaN(Z)||Z===1/0?(CA=isNaN(Z)?1:0,j=tA):(j=Math.floor(Math.log(Z)/Math.LN2),Z*(D=Math.pow(2,-j))<1&&(j--,D*=2),(Z+=j+rA>=1?fA/D:fA*Math.pow(2,1-rA))*D>=2&&(j++,D/=2),j+rA>=tA?(CA=0,j=tA):j+rA>=1?(CA=(Z*D-1)*Math.pow(2,hA),j+=rA):(CA=Z*Math.pow(2,rA-1)*Math.pow(2,hA),j=0));hA>=8;F[KA+P]=255&CA,P+=_,CA/=256,hA-=8);for(j=j<<hA|CA,PA+=hA;PA>0;F[KA+P]=255&j,P+=_,j/=256,PA-=8);F[KA+P-_]|=128*BA}},8244(pA,uA){var F,KA;typeof globalThis<"u"?globalThis:typeof self<"u"&&self,void 0!==(KA="function"==typeof(F=function(DA){"use strict";if(!(globalThis.chrome&&globalThis.chrome.runtime&&globalThis.chrome.runtime.id))throw new Error("This script should only be loaded in a browser extension.");if(globalThis.browser&&globalThis.browser.runtime&&globalThis.browser.runtime.id)DA.exports=globalThis.browser;else{const hA="The message port closed before a response was received.";DA.exports=(j=>{const CA={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(CA).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class D extends WeakMap{constructor(X,oA=void 0){super(oA),this.createItem=X}get(X){return this.has(X)||this.set(X,this.createItem(X)),super.get(X)}}const tA=(z,X)=>(...oA)=>{j.runtime.lastError?z.reject(new Error(j.runtime.lastError.message)):z.resolve(X.singleCallbackArg||oA.length<=1&&!1!==X.singleCallbackArg?oA[0]:oA)},rA=z=>1==z?"argument":"arguments",P=(z,X,oA)=>new Proxy(X,{apply:(aA,YA,_A)=>oA.call(YA,z,..._A)});let _=Function.call.bind(Object.prototype.hasOwnProperty);const BA=(z,X={},oA={})=>{let aA=Object.create(null),YA={has:($A,nA)=>nA in z||nA in aA,get($A,nA,XA){if(nA in aA)return aA[nA];if(!(nA in z))return;let mA=z[nA];if("function"==typeof mA)if("function"==typeof X[nA])mA=P(z,z[nA],X[nA]);else if(_(oA,nA)){let Se=((z,X)=>function(aA,...YA){if(YA.length<X.minArgs)throw new Error(`Expected at least ${X.minArgs} ${rA(X.minArgs)} for ${z}(), got ${YA.length}`);if(YA.length>X.maxArgs)throw new Error(`Expected at most ${X.maxArgs} ${rA(X.maxArgs)} for ${z}(), got ${YA.length}`);return new Promise((_A,$A)=>{if(X.fallbackToNoCallback)try{aA[z](...YA,tA({resolve:_A,reject:$A},X))}catch(nA){console.warn(`${z} API method doesn't seem to support the callback parameter, falling back to call it without a callback: `,nA),aA[z](...YA),X.fallbackToNoCallback=!1,X.noCallback=!0,_A()}else X.noCallback?(aA[z](...YA),_A()):aA[z](...YA,tA({resolve:_A,reject:$A},X))})})(nA,oA[nA]);mA=P(z,z[nA],Se)}else mA=mA.bind(z);else if("object"==typeof mA&&null!==mA&&(_(X,nA)||_(oA,nA)))mA=BA(mA,X[nA],oA[nA]);else{if(!_(oA,"*"))return Object.defineProperty(aA,nA,{configurable:!0,enumerable:!0,get:()=>z[nA],set(Se){z[nA]=Se}}),mA;mA=BA(mA,X[nA],oA["*"])}return aA[nA]=mA,mA},set:($A,nA,XA,mA)=>(nA in aA?aA[nA]=XA:z[nA]=XA,!0),defineProperty:($A,nA,XA)=>Reflect.defineProperty(aA,nA,XA),deleteProperty:($A,nA)=>Reflect.deleteProperty(aA,nA)},_A=Object.create(z);return new Proxy(_A,YA)},FA=z=>({addListener(X,oA,...aA){X.addListener(z.get(oA),...aA)},hasListener:(X,oA)=>X.hasListener(z.get(oA)),removeListener(X,oA){X.removeListener(z.get(oA))}}),bA=new D(z=>"function"!=typeof z?z:function(oA){const aA=BA(oA,{},{getContent:{minArgs:0,maxArgs:0}});z(aA)}),lA=new D(z=>"function"!=typeof z?z:function(oA,aA,YA){let $A,XA,_A=!1,nA=new Promise(Te=>{$A=function(se){_A=!0,Te(se)}});try{XA=z(oA,aA,$A)}catch(Te){XA=Promise.reject(Te)}const mA=!0!==XA&&(z=>z&&"object"==typeof z&&"function"==typeof z.then)(XA);return!(!0!==XA&&!mA&&!_A||((mA?XA:nA).then(se=>{YA(se)},se=>{let kt;kt=se&&(se instanceof Error||"string"==typeof se.message)?se.message:"An unexpected error occurred",YA({__mozWebExtensionPolyfillReject__:!0,message:kt})}).catch(se=>{console.error("Failed to send onMessage rejected reply",se)}),0))}),MA=({reject:z,resolve:X},oA)=>{j.runtime.lastError?j.runtime.lastError.message===hA?X():z(new Error(j.runtime.lastError.message)):oA&&oA.__mozWebExtensionPolyfillReject__?z(new Error(oA.message)):X(oA)},ge=(z,X,oA,...aA)=>{if(aA.length<X.minArgs)throw new Error(`Expected at least ${X.minArgs} ${rA(X.minArgs)} for ${z}(), got ${aA.length}`);if(aA.length>X.maxArgs)throw new Error(`Expected at most ${X.maxArgs} ${rA(X.maxArgs)} for ${z}(), got ${aA.length}`);return new Promise((YA,_A)=>{const $A=MA.bind(null,{resolve:YA,reject:_A});aA.push($A),oA.sendMessage(...aA)})},EA={devtools:{network:{onRequestFinished:FA(bA)}},runtime:{onMessage:FA(lA),onMessageExternal:FA(lA),sendMessage:ge.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:ge.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},Be={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return CA.privacy={network:{"*":Be},services:{"*":Be},websites:{"*":Be}},BA(j,EA,CA)})(chrome)}})?F.apply(uA,[pA]):F)&&(pA.exports=KA)}},Fo={};function he(pA){var uA=Fo[pA];if(void 0!==uA)return uA.exports;var F=Fo[pA]={exports:{}};return Ts[pA].call(F.exports,F,F.exports,he),F.exports}he.n=pA=>{var uA=pA&&pA.__esModule?()=>pA.default:()=>pA;return he.d(uA,{a:uA}),uA},he.d=(pA,uA)=>{for(var F in uA)he.o(uA,F)&&!he.o(pA,F)&&Object.defineProperty(pA,F,{enumerable:!0,get:uA[F]})},he.o=(pA,uA)=>Object.prototype.hasOwnProperty.call(pA,uA),he.r=pA=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(pA,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(pA,"__esModule",{value:!0})},(()=>{"use strict";var pA={};function uA(A,e,t,i,n,I,r){try{var o=A[I](r),s=o.value}catch(c){return void t(c)}o.done?e(s):Promise.resolve(s).then(i,n)}function F(A){return function(){var e=this,t=arguments;return new Promise(function(i,n){var I=A.apply(e,t);function r(s){uA(I,i,n,r,o,"next",s)}function o(s){uA(I,i,n,r,o,"throw",s)}r(void 0)})}}function Z(A){return A instanceof Uint8Array||ArrayBuffer.isView(A)&&"Uint8Array"===A.constructor.name}function DA(A,e){return!!Array.isArray(e)&&(0===e.length||e.every(A?t=>"string"==typeof t:t=>Number.isSafeInteger(t)))}function hA(A){if("function"!=typeof A)throw new Error("function expected");return!0}function cA(A,e){if("string"!=typeof e)throw new Error(`${A}: string expected`);return!0}function j(A){if(!Number.isSafeInteger(A))throw new Error(`invalid integer: ${A}`)}function CA(A){if(!Array.isArray(A))throw new Error("array expected")}function D(A,e){if(!DA(!0,e))throw new Error(`${A}: array of strings expected`)}function PA(A,e){if(!DA(!1,e))throw new Error(`${A}: array of numbers expected`)}function tA(...A){const e=I=>I,t=(I,r)=>o=>I(r(o));return{encode:A.map(I=>I.encode).reduceRight(t,e),decode:A.map(I=>I.decode).reduce(t,e)}}function rA(A){const e="string"==typeof A?A.split(""):A,t=e.length;D("alphabet",e);const i=new Map(e.map((n,I)=>[n,I]));return{encode:n=>(CA(n),n.map(I=>{if(!Number.isSafeInteger(I)||I<0||I>=t)throw new Error(`alphabet.encode: digit index outside alphabet "${I}". Allowed: ${A}`);return e[I]})),decode:n=>(CA(n),n.map(I=>{cA("alphabet.decode",I);const r=i.get(I);if(void 0===r)throw new Error(`Unknown letter: "${I}". Allowed: ${A}`);return r}))}}function fA(A=""){return cA("join",A),{encode:e=>(D("join.decode",e),e.join(A)),decode:e=>(cA("join.decode",e),e.split(A))}}he.r(pA),he.d(pA,{OG:()=>CI,My:()=>Gt,Ph:()=>ce,lX:()=>aI,Id:()=>Et,fg:()=>zo,qj:()=>jA,aT:()=>Nt,lq:()=>$e,z:()=>QI,Q5:()=>oi});const FA=(A,e)=>0===e?A:FA(e,A%e),bA=(A,e)=>A+(e-FA(A,e)),lA=(()=>{let A=[];for(let e=0;e<40;e++)A.push(2**e);return A})();function MA(A,e,t,i){if(CA(A),e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(t<=0||t>32)throw new Error(`convertRadix2: wrong to=${t}`);if(bA(e,t)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${t} carryBits=${bA(e,t)}`);let n=0,I=0;const r=lA[e],o=lA[t]-1,s=[];for(const c of A){if(j(c),c>=r)throw new Error(`convertRadix2: invalid data word=${c} from=${e}`);if(n=n<<e|c,I+e>32)throw new Error(`convertRadix2: carry overflow pos=${I} from=${e}`);for(I+=e;I>=t;I-=t)s.push((n>>I-t&o)>>>0);const C=lA[I];if(void 0===C)throw new Error("invalid carry");n&=C-1}if(n=n<<t-I&o,!i&&I>=e)throw new Error("Excess padding");if(!i&&n>0)throw new Error(`Non-zero padding: ${n}`);return i&&I>0&&s.push(n>>>0),s}function EA(A,e=!1){if(j(A),A<=0||A>32)throw new Error("radix2: bits should be in (0..32]");if(bA(8,A)>32||bA(A,8)>32)throw new Error("radix2: carry overflow");return{encode:t=>{if(!Z(t))throw new Error("radix2.encode input should be Uint8Array");return MA(Array.from(t),8,A,!e)},decode:t=>(PA("radix2.decode",t),Uint8Array.from(MA(t,A,8,e)))}}function Be(A){return hA(A),function(...e){try{return A.apply(null,e)}catch{}}}"function"==typeof Uint8Array.from([]).toBase64&&Uint8Array;const Ue=tA(rA("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),fA("")),mt=[996825010,642813549,513874426,1027748829,705979059];function We(A){const e=A>>25;let t=(33554431&A)<<5;for(let i=0;i<mt.length;i++)1==(e>>i&1)&&(t^=mt[i]);return t}function Ni(A,e,t=1){const i=A.length;let n=1;for(let I=0;I<i;I++){const r=A.charCodeAt(I);if(r<33||r>126)throw new Error(`Invalid prefix (${A})`);n=We(n)^r>>5}n=We(n);for(let I=0;I<i;I++)n=We(n)^31&A.charCodeAt(I);for(let I of e)n=We(n)^I;for(let I=0;I<6;I++)n=We(n);return n^=t,Ue.encode(MA([n%lA[30]],30,5,!1))}function Ai(A){const e="bech32"===A?1:734539939,t=EA(5),i=t.decode,n=t.encode,I=Be(i);function r(a,h,d=90){cA("bech32.encode prefix",a),Z(h)&&(h=Array.from(h)),PA("bech32.encode",h);const l=a.length;if(0===l)throw new TypeError(`Invalid prefix length ${l}`);const E=l+7+h.length;if(!1!==d&&E>d)throw new TypeError(`Length ${E} exceeds limit ${d}`);const u=a.toLowerCase(),y=Ni(u,h,e);return`${u}1${Ue.encode(h)}${y}`}function o(a,h=90){cA("bech32.decode input",a);const d=a.length;if(d<8||!1!==h&&d>h)throw new TypeError(`invalid string length: ${d} (${a}). Expected (8..${h})`);const l=a.toLowerCase();if(a!==l&&a!==a.toUpperCase())throw new Error("String must be lowercase or uppercase");const E=l.lastIndexOf("1");if(0===E||-1===E)throw new Error('Letter "1" must be present between prefix and data only');const u=l.slice(0,E),y=l.slice(E+1);if(y.length<6)throw new Error("Data must be at least 6 characters long");const p=Ue.decode(y).slice(0,-6),S=Ni(u,p,e);if(!y.endsWith(S))throw new Error(`Invalid checksum in ${a}: expected "${S}"`);return{prefix:u,words:p}}return{encode:r,decode:o,encodeFromBytes:function C(a,h){return r(a,n(h))},decodeToBytes:function c(a){const{prefix:h,words:d}=o(a,!1);return{prefix:h,words:d,bytes:i(d)}},decodeUnsafe:Be(o),fromWords:i,fromWordsUnsafe:I,toWords:n}}const fe=Ai("bech32");function B(A,...e){if(!function Q(A){return A instanceof Uint8Array||ArrayBuffer.isView(A)&&"Uint8Array"===A.constructor.name}(A))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(A.length))throw new Error("Uint8Array expected of length "+e+", got length="+A.length)}"function"==typeof Uint8Array.from([]).toHex&&Uint8Array,"object"==typeof globalThis&&"crypto"in globalThis&&globalThis;const Uo="function"==typeof Uint8Array.from([]).toHex&&"function"==typeof Uint8Array.fromHex,_s=Array.from({length:256},(A,e)=>e.toString(16).padStart(2,"0"));function Go(A){return A>=48&&A<=57?A-48:A>=65&&A<=70?A-55:A>=97&&A<=102?A-87:void 0}const wc=function $n(A){if(B(A),Uo)return A.toHex();let e="";for(let t=0;t<A.length;t++)e+=_s[A[t]];return e},ni=function Ji(A){if("string"!=typeof A)throw new Error("hex string expected, got "+typeof A);if(Uo)return Uint8Array.fromHex(A);const e=A.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(t);for(let n=0,I=0;n<t;n++,I+=2){const r=Go(A.charCodeAt(I)),o=Go(A.charCodeAt(I+1));if(void 0===r||void 0===o)throw new Error('hex string expected, got non-hex character "'+(A[I]+A[I+1])+'" at index '+I);i[n]=16*r+o}return i};function II(A){if(!Number.isSafeInteger(A)||A<0)throw new Error(`Wrong positive integer: ${A}`)}function rI(A,...e){if(!(A instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(A.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${A.length}`)}function Ii(A,e=!0){if(A.destroyed)throw new Error("Hash instance has been destroyed");if(e&&A.finished)throw new Error("Hash#digest() has already been called")}const oI="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,gI=A=>A instanceof Uint8Array,BI=A=>new DataView(A.buffer,A.byteOffset,A.byteLength),Ge=(A,e)=>A<<32-e|A>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");function ri(A){if("string"==typeof A&&(A=function mc(A){if("string"!=typeof A)throw new Error("utf8ToBytes expected string, got "+typeof A);return new Uint8Array((new TextEncoder).encode(A))}(A)),!gI(A))throw new Error("expected Uint8Array, got "+typeof A);return A}class Mo{clone(){return this._cloneInto()}}function Gc(A){const e=i=>A().update(ri(i)).digest(),t=A();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>A(),e}function Ro(A=32){if(oI&&"function"==typeof oI.getRandomValues)return oI.getRandomValues(new Uint8Array(A));throw new Error("crypto.getRandomValues must be defined")}class Hc extends Mo{constructor(e,t,i,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=BI(this.buffer)}update(e){Ii(this);const{view:t,buffer:i,blockLen:n}=this,I=(e=ri(e)).length;for(let r=0;r<I;){const o=Math.min(n-this.pos,I-r);if(o!==n)i.set(e.subarray(r,r+o),this.pos),this.pos+=o,r+=o,this.pos===n&&(this.process(t,0),this.pos=0);else{const s=BI(e);for(;n<=I-r;r+=n)this.process(s,r)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ii(this),function bo(A,e){rI(A);const t=e.outputLen;if(A.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}(e,this),this.finished=!0;const{buffer:t,view:i,blockLen:n,isLE:I}=this;let{pos:r}=this;t[r++]=128,this.buffer.subarray(r).fill(0),this.padOffset>n-r&&(this.process(i,0),r=0);for(let a=r;a<n;a++)t[a]=0;(function Nc(A,e,t,i){if("function"==typeof A.setBigUint64)return A.setBigUint64(e,t,i);const n=BigInt(32),I=BigInt(4294967295),r=Number(t>>n&I),o=Number(t&I),c=i?0:4;A.setUint32(e+(i?4:0),r,i),A.setUint32(e+c,o,i)})(i,n-8,BigInt(8*this.length),I),this.process(i,0);const o=BI(e),s=this.outputLen;if(s%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=s/4,C=this.get();if(c>C.length)throw new Error("_sha2: outputLen bigger than state");for(let a=0;a<c;a++)o.setUint32(4*a,C[a],I)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:i,length:n,finished:I,destroyed:r,pos:o}=this;return e.length=n,e.pos=o,e.finished=I,e.destroyed=r,n%t&&e.buffer.set(i),e}}const xc=(A,e,t)=>A&e^~A&t,Jc=(A,e,t)=>A&e^A&t^e&t,qc=new Uint32Array([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]),_e=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),je=new Uint32Array(64);class Ko extends Hc{constructor(){super(64,32,8,!1),this.A=0|_e[0],this.B=0|_e[1],this.C=0|_e[2],this.D=0|_e[3],this.E=0|_e[4],this.F=0|_e[5],this.G=0|_e[6],this.H=0|_e[7]}get(){const{A:e,B:t,C:i,D:n,E:I,F:r,G:o,H:s}=this;return[e,t,i,n,I,r,o,s]}set(e,t,i,n,I,r,o,s){this.A=0|e,this.B=0|t,this.C=0|i,this.D=0|n,this.E=0|I,this.F=0|r,this.G=0|o,this.H=0|s}process(e,t){for(let a=0;a<16;a++,t+=4)je[a]=e.getUint32(t,!1);for(let a=16;a<64;a++){const h=je[a-15],d=je[a-2],l=Ge(h,7)^Ge(h,18)^h>>>3,E=Ge(d,17)^Ge(d,19)^d>>>10;je[a]=E+je[a-7]+l+je[a-16]|0}let{A:i,B:n,C:I,D:r,E:o,F:s,G:c,H:C}=this;for(let a=0;a<64;a++){const d=C+(Ge(o,6)^Ge(o,11)^Ge(o,25))+xc(o,s,c)+qc[a]+je[a]|0,E=(Ge(i,2)^Ge(i,13)^Ge(i,22))+Jc(i,n,I)|0;C=c,c=s,s=o,o=r+d|0,r=I,I=n,n=i,i=d+E|0}i=i+this.A|0,n=n+this.B|0,I=I+this.C|0,r=r+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,C=C+this.H|0,this.set(i,n,I,r,o,s,c,C)}roundClean(){je.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const cI=Gc(()=>new Ko),bi=(BigInt(0),BigInt(1)),bc=BigInt(2),Mi=A=>A instanceof Uint8Array,Mc=Array.from({length:256},(A,e)=>e.toString(16).padStart(2,"0"));function Gt(A){if(!Mi(A))throw new Error("Uint8Array expected");let e="";for(let t=0;t<A.length;t++)e+=Mc[A[t]];return e}function vo(A){if("string"!=typeof A)throw new Error("hex string expected, got "+typeof A);return BigInt(""===A?"0":`0x${A}`)}function Nt(A){if("string"!=typeof A)throw new Error("hex string expected, got "+typeof A);const e=A.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const t=new Uint8Array(e/2);for(let i=0;i<t.length;i++){const n=2*i,I=A.slice(n,n+2),r=Number.parseInt(I,16);if(Number.isNaN(r)||r<0)throw new Error("Invalid byte sequence");t[i]=r}return t}function ce(A){return vo(Gt(A))}function aI(A){if(!Mi(A))throw new Error("Uint8Array expected");return vo(Gt(Uint8Array.from(A).reverse()))}function $e(A,e){return Nt(A.toString(16).padStart(2*e,"0"))}function QI(A,e){return $e(A,e).reverse()}function jA(A,e,t){let i;if("string"==typeof e)try{i=Nt(e)}catch(I){throw new Error(`${A} must be valid hex string, got "${e}". Cause: ${I}`)}else{if(!Mi(e))throw new Error(`${A} must be hex string or Uint8Array`);i=Uint8Array.from(e)}const n=i.length;if("number"==typeof t&&n!==t)throw new Error(`${A} expected ${t} bytes, got ${n}`);return i}function Et(...A){const e=new Uint8Array(A.reduce((i,n)=>i+n.length,0));let t=0;return A.forEach(i=>{if(!Mi(i))throw new Error("Uint8Array expected");e.set(i,t),t+=i.length}),e}const CI=A=>(bc<<BigInt(A-1))-bi,EI=A=>new Uint8Array(A),Lo=A=>Uint8Array.from(A);function zo(A,e,t){if("number"!=typeof A||A<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");if("function"!=typeof t)throw new Error("hmacFn must be a function");let i=EI(A),n=EI(A),I=0;const r=()=>{i.fill(1),n.fill(0),I=0},o=(...a)=>t(n,i,...a),s=(a=EI())=>{n=o(Lo([0]),a),i=o(),0!==a.length&&(n=o(Lo([1]),a),i=o())},c=()=>{if(I++>=1e3)throw new Error("drbg: tried 1000 values");let a=0;const h=[];for(;a<e;){i=o();const d=i.slice();h.push(d),a+=i.length}return Et(...h)};return(a,h)=>{let d;for(r(),s(a);!(d=h(c()));)s();return r(),d}}const Kc={bigint:A=>"bigint"==typeof A,function:A=>"function"==typeof A,boolean:A=>"boolean"==typeof A,string:A=>"string"==typeof A,stringOrUint8Array:A=>"string"==typeof A||A instanceof Uint8Array,isSafeInteger:A=>Number.isSafeInteger(A),array:A=>Array.isArray(A),field:(A,e)=>e.Fp.isValid(A),hash:A=>"function"==typeof A&&Number.isSafeInteger(A.outputLen)};function oi(A,e,t={}){const i=(n,I,r)=>{const o=Kc[I];if("function"!=typeof o)throw new Error(`Invalid validator "${I}", expected function`);const s=A[n];if(!(r&&void 0===s||o(s,A)))throw new Error(`Invalid param ${String(n)}=${s} (${typeof s}), expected ${I}`)};for(const[n,I]of Object.entries(e))i(n,I,!1);for(const[n,I]of Object.entries(t))i(n,I,!0);return A}const zA=BigInt(0),yA=BigInt(1),At=BigInt(2),zc=BigInt(3),hI=BigInt(4),Oo=BigInt(5),Po=BigInt(8);function OA(A,e){const t=A%e;return t>=zA?t:e+t}function Xc(A,e,t){if(t<=zA||e<zA)throw new Error("Expected power/modulo > 0");if(t===yA)return zA;let i=yA;for(;e>zA;)e&yA&&(i=i*A%t),A=A*A%t,e>>=yA;return i}function de(A,e,t){let i=A;for(;e-- >zA;)i*=i,i%=t;return i}function Ri(A,e){if(A===zA||e<=zA)throw new Error(`invert: expected positive integers, got n=${A} mod=${e}`);let t=OA(A,e),i=e,n=zA,I=yA,r=yA,o=zA;for(;t!==zA;){const c=i/t,C=i%t,a=n-r*c,h=I-o*c;i=t,t=C,n=r,I=o,r=a,o=h}if(i!==yA)throw new Error("invert: does not exist");return OA(n,e)}BigInt(9),BigInt(16);const Tc=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function fI(A,e){const t=void 0!==e?e:A.toString(2).length;return{nBitLength:t,nByteLength:Math.ceil(t/8)}}function Xo(A){if("bigint"!=typeof A)throw new Error("field order must be bigint");const e=A.toString(2).length;return Math.ceil(e/8)}function Vo(A){const e=Xo(A);return e+Math.ceil(e/2)}class Zo extends Mo{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,function qo(A){if("function"!=typeof A||"function"!=typeof A.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");II(A.outputLen),II(A.blockLen)}(e);const i=ri(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,I=new Uint8Array(n);I.set(i.length>n?e.create().update(i).digest():i);for(let r=0;r<I.length;r++)I[r]^=54;this.iHash.update(I),this.oHash=e.create();for(let r=0;r<I.length;r++)I[r]^=106;this.oHash.update(I),I.fill(0)}update(e){return Ii(this),this.iHash.update(e),this}digestInto(e){Ii(this),rI(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:i,finished:n,destroyed:I,blockLen:r,outputLen:o}=this;return e.finished=n,e.destroyed=I,e.blockLen=r,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const To=(A,e,t)=>new Zo(A,e).update(t).digest();To.create=(A,e)=>new Zo(A,e);const ea=BigInt(0),lI=BigInt(1);function Wo(A){return function Wc(A){oi(A,Tc.reduce((i,n)=>(i[n]="function",i),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"}))}(A.Fp),oi(A,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...fI(A.n,A.nBitLength),...A,p:A.Fp.ORDER})}const{Ph:Ia,aT:ra}=pA,ht={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(A){const{Err:e}=ht;if(A.length<2||2!==A[0])throw new e("Invalid signature integer tag");const t=A[1],i=A.subarray(2,t+2);if(!t||i.length!==t)throw new e("Invalid signature integer: wrong length");if(128&i[0])throw new e("Invalid signature integer: negative");if(0===i[0]&&!(128&i[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Ia(i),l:A.subarray(t+2)}},toSig(A){const{Err:e}=ht,t="string"==typeof A?ra(A):A;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let i=t.length;if(i<2||48!=t[0])throw new e("Invalid signature tag");if(t[1]!==i-2)throw new e("Invalid signature: incorrect length");const{d:n,l:I}=ht._parseInt(t.subarray(2)),{d:r,l:o}=ht._parseInt(I);if(o.length)throw new e("Invalid signature: left bytes after parsing");return{r:n,s:r}},hexFromSig(A){const e=c=>8&Number.parseInt(c[0],16)?"00"+c:c,t=c=>{const C=c.toString(16);return 1&C.length?`0${C}`:C},i=e(t(A.s)),n=e(t(A.r)),I=i.length/2,r=n.length/2,o=t(I),s=t(r);return`30${t(r+I+4)}02${s}${n}02${o}${i}`}},Fe=BigInt(0),xA=BigInt(1),Ki=(BigInt(2),BigInt(3));function Ba(A){const e=function ga(A){const e=Wo(A);return oi(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(A),{Fp:t,n:i}=e,n=t.BYTES+1,I=2*t.BYTES+1;function o(H){return OA(H,i)}function s(H){return Ri(H,i)}const{ProjectivePoint:c,normPrivateKeyToScalar:C,weierstrassEquation:a,isWithinCurveOrder:h}=function oa(A){const e=function na(A){const e=Wo(A);oi(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:i,a:n}=e;if(t){if(!i.eql(n,i.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof t||"bigint"!=typeof t.beta||"function"!=typeof t.splitScalar)throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(A),{Fp:t}=e,i=e.toBytes||((l,E,u)=>{const y=E.toAffine();return Et(Uint8Array.from([4]),t.toBytes(y.x),t.toBytes(y.y))}),n=e.fromBytes||(l=>{const E=l.subarray(1);return{x:t.fromBytes(E.subarray(0,t.BYTES)),y:t.fromBytes(E.subarray(t.BYTES,2*t.BYTES))}});function I(l){const{a:E,b:u}=e,y=t.sqr(l),p=t.mul(y,l);return t.add(t.add(p,t.mul(l,E)),u)}if(!t.eql(t.sqr(e.Gy),I(e.Gx)))throw new Error("bad generator point: equation left != right");function r(l){return"bigint"==typeof l&&Fe<l&&l<e.n}function o(l){if(!r(l))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function s(l){const{allowedPrivateKeyLengths:E,nByteLength:u,wrapPrivateKey:y,n:p}=e;if(E&&"bigint"!=typeof l){if(l instanceof Uint8Array&&(l=Gt(l)),"string"!=typeof l||!E.includes(l.length))throw new Error("Invalid key");l=l.padStart(2*u,"0")}let S;try{S="bigint"==typeof l?l:ce(jA("private key",l,u))}catch{throw new Error(`private key must be ${u} bytes, hex or bigint, not ${typeof l}`)}return y&&(S=OA(S,p)),o(S),S}const c=new Map;function C(l){if(!(l instanceof a))throw new Error("ProjectivePoint expected")}class a{constructor(E,u,y){if(this.px=E,this.py=u,this.pz=y,null==E||!t.isValid(E))throw new Error("x required");if(null==u||!t.isValid(u))throw new Error("y required");if(null==y||!t.isValid(y))throw new Error("z required")}static fromAffine(E){const{x:u,y}=E||{};if(!E||!t.isValid(u)||!t.isValid(y))throw new Error("invalid affine point");if(E instanceof a)throw new Error("projective point not allowed");const p=S=>t.eql(S,t.ZERO);return p(u)&&p(y)?a.ZERO:new a(u,y,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(E){const u=t.invertBatch(E.map(y=>y.pz));return E.map((y,p)=>y.toAffine(u[p])).map(a.fromAffine)}static fromHex(E){const u=a.fromAffine(n(jA("pointHex",E)));return u.assertValidity(),u}static fromPrivateKey(E){return a.BASE.multiply(s(E))}_setWindowSize(E){this._WINDOW_SIZE=E,c.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:E,y:u}=this.toAffine();if(!t.isValid(E)||!t.isValid(u))throw new Error("bad point: x or y not FE");const y=t.sqr(u),p=I(E);if(!t.eql(y,p))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:E}=this.toAffine();if(t.isOdd)return!t.isOdd(E);throw new Error("Field doesn't support isOdd")}equals(E){C(E);const{px:u,py:y,pz:p}=this,{px:S,py:N,pz:b}=E,m=t.eql(t.mul(u,b),t.mul(S,p)),G=t.eql(t.mul(y,b),t.mul(N,p));return m&&G}negate(){return new a(this.px,t.neg(this.py),this.pz)}double(){const{a:E,b:u}=e,y=t.mul(u,Ki),{px:p,py:S,pz:N}=this;let b=t.ZERO,m=t.ZERO,G=t.ZERO,J=t.mul(p,p),v=t.mul(S,S),R=t.mul(N,N),Y=t.mul(p,S);return Y=t.add(Y,Y),G=t.mul(p,N),G=t.add(G,G),b=t.mul(E,G),m=t.mul(y,R),m=t.add(b,m),b=t.sub(v,m),m=t.add(v,m),m=t.mul(b,m),b=t.mul(Y,b),G=t.mul(y,G),R=t.mul(E,R),Y=t.sub(J,R),Y=t.mul(E,Y),Y=t.add(Y,G),G=t.add(J,J),J=t.add(G,J),J=t.add(J,R),J=t.mul(J,Y),m=t.add(m,J),R=t.mul(S,N),R=t.add(R,R),J=t.mul(R,Y),b=t.sub(b,J),G=t.mul(R,v),G=t.add(G,G),G=t.add(G,G),new a(b,m,G)}add(E){C(E);const{px:u,py:y,pz:p}=this,{px:S,py:N,pz:b}=E;let m=t.ZERO,G=t.ZERO,J=t.ZERO;const v=e.a,R=t.mul(e.b,Ki);let Y=t.mul(u,S),T=t.mul(y,N),W=t.mul(p,b),AA=t.add(u,y),H=t.add(S,N);AA=t.mul(AA,H),H=t.add(Y,T),AA=t.sub(AA,H),H=t.add(u,p);let x=t.add(S,b);return H=t.mul(H,x),x=t.add(Y,W),H=t.sub(H,x),x=t.add(y,p),m=t.add(N,b),x=t.mul(x,m),m=t.add(T,W),x=t.sub(x,m),J=t.mul(v,H),m=t.mul(R,W),J=t.add(m,J),m=t.sub(T,J),J=t.add(T,J),G=t.mul(m,J),T=t.add(Y,Y),T=t.add(T,Y),W=t.mul(v,W),H=t.mul(R,H),T=t.add(T,W),W=t.sub(Y,W),W=t.mul(v,W),H=t.add(H,W),Y=t.mul(T,H),G=t.add(G,Y),Y=t.mul(x,H),m=t.mul(AA,m),m=t.sub(m,Y),Y=t.mul(AA,T),J=t.mul(x,J),J=t.add(J,Y),new a(m,G,J)}subtract(E){return this.add(E.negate())}is0(){return this.equals(a.ZERO)}wNAF(E){return d.wNAFCached(this,c,E,u=>{const y=t.invertBatch(u.map(p=>p.pz));return u.map((p,S)=>p.toAffine(y[S])).map(a.fromAffine)})}multiplyUnsafe(E){const u=a.ZERO;if(E===Fe)return u;if(o(E),E===xA)return this;const{endo:y}=e;if(!y)return d.unsafeLadder(this,E);let{k1neg:p,k1:S,k2neg:N,k2:b}=y.splitScalar(E),m=u,G=u,J=this;for(;S>Fe||b>Fe;)S&xA&&(m=m.add(J)),b&xA&&(G=G.add(J)),J=J.double(),S>>=xA,b>>=xA;return p&&(m=m.negate()),N&&(G=G.negate()),G=new a(t.mul(G.px,y.beta),G.py,G.pz),m.add(G)}multiply(E){o(E);let y,p,u=E;const{endo:S}=e;if(S){const{k1neg:N,k1:b,k2neg:m,k2:G}=S.splitScalar(u);let{p:J,f:v}=this.wNAF(b),{p:R,f:Y}=this.wNAF(G);J=d.constTimeNegate(N,J),R=d.constTimeNegate(m,R),R=new a(t.mul(R.px,S.beta),R.py,R.pz),y=J.add(R),p=v.add(Y)}else{const{p:N,f:b}=this.wNAF(u);y=N,p=b}return a.normalizeZ([y,p])[0]}multiplyAndAddUnsafe(E,u,y){const p=a.BASE,S=(b,m)=>m!==Fe&&m!==xA&&b.equals(p)?b.multiply(m):b.multiplyUnsafe(m),N=S(this,u).add(S(E,y));return N.is0()?void 0:N}toAffine(E){const{px:u,py:y,pz:p}=this,S=this.is0();null==E&&(E=S?t.ONE:t.inv(p));const N=t.mul(u,E),b=t.mul(y,E),m=t.mul(p,E);if(S)return{x:t.ZERO,y:t.ZERO};if(!t.eql(m,t.ONE))throw new Error("invZ was invalid");return{x:N,y:b}}isTorsionFree(){const{h:E,isTorsionFree:u}=e;if(E===xA)return!0;if(u)return u(a,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:E,clearCofactor:u}=e;return E===xA?this:u?u(a,this):this.multiplyUnsafe(e.h)}toRawBytes(E=!0){return this.assertValidity(),i(a,this,E)}toHex(E=!0){return Gt(this.toRawBytes(E))}}a.BASE=new a(e.Gx,e.Gy,t.ONE),a.ZERO=new a(t.ZERO,t.ONE,t.ZERO);const h=e.nBitLength,d=function ta(A,e){const t=(n,I)=>{const r=I.negate();return n?r:I},i=n=>({windows:Math.ceil(e/n)+1,windowSize:2**(n-1)});return{constTimeNegate:t,unsafeLadder(n,I){let r=A.ZERO,o=n;for(;I>ea;)I&lI&&(r=r.add(o)),o=o.double(),I>>=lI;return r},precomputeWindow(n,I){const{windows:r,windowSize:o}=i(I),s=[];let c=n,C=c;for(let a=0;a<r;a++){C=c,s.push(C);for(let h=1;h<o;h++)C=C.add(c),s.push(C);c=C.double()}return s},wNAF(n,I,r){const{windows:o,windowSize:s}=i(n);let c=A.ZERO,C=A.BASE;const a=BigInt(2**n-1),h=2**n,d=BigInt(n);for(let l=0;l<o;l++){const E=l*s;let u=Number(r&a);r>>=d,u>s&&(u-=h,r+=lI);const y=E,p=E+Math.abs(u)-1,N=u<0;0===u?C=C.add(t(l%2!=0,I[y])):c=c.add(t(N,I[p]))}return{p:c,f:C}},wNAFCached(n,I,r,o){const s=n._WINDOW_SIZE||1;let c=I.get(n);return c||(c=this.precomputeWindow(n,s),1!==s&&I.set(n,o(c))),this.wNAF(s,c,r)}}}(a,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:a,normPrivateKeyToScalar:s,weierstrassEquation:I,isWithinCurveOrder:r}}({...e,toBytes(H,x,M){const L=x.toAffine(),q=t.toBytes(L.x),V=Et;return M?V(Uint8Array.from([x.hasEvenY()?2:3]),q):V(Uint8Array.from([4]),q,t.toBytes(L.y))},fromBytes(H){const x=H.length,M=H[0],L=H.subarray(1);if(x!==n||2!==M&&3!==M){if(x===I&&4===M)return{x:t.fromBytes(L.subarray(0,t.BYTES)),y:t.fromBytes(L.subarray(t.BYTES,2*t.BYTES))};throw new Error(`Point of length ${x} was invalid. Expected ${n} compressed bytes or ${I} uncompressed bytes`)}{const q=ce(L);if(!function r(H){return Fe<H&&H<t.ORDER}(q))throw new Error("Point is not on curve");const V=a(q);let $=t.sqrt(V);return!(1&~M)!=(($&xA)===xA)&&($=t.neg($)),{x:q,y:$}}}}),d=H=>Gt($e(H,e.nByteLength));function l(H){return H>i>>xA}const u=(H,x,M)=>ce(H.slice(x,M));class y{constructor(x,M,L){this.r=x,this.s=M,this.recovery=L,this.assertValidity()}static fromCompact(x){const M=e.nByteLength;return x=jA("compactSignature",x,2*M),new y(u(x,0,M),u(x,M,2*M))}static fromDER(x){const{r:M,s:L}=ht.toSig(jA("DER",x));return new y(M,L)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(x){return new y(this.r,this.s,x)}recoverPublicKey(x){const{r:M,s:L,recovery:q}=this,V=G(jA("msgHash",x));if(null==q||![0,1,2,3].includes(q))throw new Error("recovery id invalid");const $=2===q||3===q?M+e.n:M;if($>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const ZA=c.fromHex((1&q?"03":"02")+d($)),re=s($),ue=o(-V*re),we=o(L*re),oe=c.BASE.multiplyAndAddUnsafe(ZA,ue,we);if(!oe)throw new Error("point at infinify");return oe.assertValidity(),oe}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Nt(this.toDERHex())}toDERHex(){return ht.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Nt(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}const p={isValidPrivateKey(H){try{return C(H),!0}catch{return!1}},normPrivateKeyToScalar:C,randomPrivateKey:()=>{const H=Vo(e.n);return function Aa(A,e,t=!1){const i=A.length,n=Xo(e),I=Vo(e);if(i<16||i<I||i>1024)throw new Error(`expected ${I}-1024 bytes of input, got ${i}`);const o=OA(t?ce(A):aI(A),e-yA)+yA;return t?QI(o,n):$e(o,n)}(e.randomBytes(H),e.n)},precompute:(H=8,x=c.BASE)=>(x._setWindowSize(H),x.multiply(BigInt(3)),x)};function N(H){const x=H instanceof Uint8Array,M="string"==typeof H,L=(x||M)&&H.length;return x?L===n||L===I:M?L===2*n||L===2*I:H instanceof c}const m=e.bits2int||function(H){const x=ce(H),M=8*H.length-e.nBitLength;return M>0?x>>BigInt(M):x},G=e.bits2int_modN||function(H){return o(m(H))},J=CI(e.nBitLength);function v(H){if("bigint"!=typeof H)throw new Error("bigint expected");if(!(Fe<=H&&H<J))throw new Error(`bigint expected < 2^${e.nBitLength}`);return $e(H,e.nByteLength)}const Y={lowS:e.lowS,prehash:!1},T={lowS:e.lowS,prehash:!1};return c.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function S(H,x=!0){return c.fromPrivateKey(H).toRawBytes(x)},getSharedSecret:function b(H,x,M=!0){if(N(H))throw new Error("first arg must be private key");if(!N(x))throw new Error("second arg must be public key");return c.fromHex(x).multiply(C(H)).toRawBytes(M)},sign:function W(H,x,M=Y){const{seed:L,k2sig:q}=function R(H,x,M=Y){if(["recovered","canonical"].some(Ee=>Ee in M))throw new Error("sign() legacy options not supported");const{hash:L,randomBytes:q}=e;let{lowS:V,prehash:$,extraEntropy:eA}=M;null==V&&(V=!0),H=jA("msgHash",H),$&&(H=jA("prehashed msgHash",L(H)));const ZA=G(H),re=C(x),ue=[v(re),v(ZA)];if(null!=eA){const Ee=!0===eA?q(t.BYTES):eA;ue.push(jA("extraEntropy",Ee))}const we=Et(...ue),oe=ZA;return{seed:we,k2sig:function Ke(Ee){const Wt=m(Ee);if(!h(Wt))return;const Xs=s(Wt),Ye=c.BASE.multiply(Wt).toAffine(),_t=o(Ye.x);if(_t===Fe)return;const Zn=o(Xs*o(oe+_t*re));if(Zn===Fe)return;let Vs=(Ye.x===_t?0:2)|Number(Ye.y&xA),Zs=Zn;return V&&l(Zn)&&(Zs=function E(H){return l(H)?o(-H):H}(Zn),Vs^=1),new y(_t,Zs,Vs)}}}(H,x,M);return zo(e.hash.outputLen,e.nByteLength,e.hmac)(L,q)},verify:function AA(H,x,M,L=T){const q=H;if(x=jA("msgHash",x),M=jA("publicKey",M),"strict"in L)throw new Error("options.strict was renamed to lowS");const{lowS:V,prehash:$}=L;let eA,ZA;try{if("string"==typeof q||q instanceof Uint8Array)try{eA=y.fromDER(q)}catch(Ye){if(!(Ye instanceof ht.Err))throw Ye;eA=y.fromCompact(q)}else{if("object"!=typeof q||"bigint"!=typeof q.r||"bigint"!=typeof q.s)throw new Error("PARSE");{const{r:Ye,s:_t}=q;eA=new y(Ye,_t)}}ZA=c.fromHex(M)}catch(Ye){if("PARSE"===Ye.message)throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(V&&eA.hasHighS())return!1;$&&(x=e.hash(x));const{r:re,s:ue}=eA,we=G(x),oe=s(ue),Ke=o(we*oe),Ee=o(re*oe),Wt=c.BASE.multiplyAndAddUnsafe(ZA,Ke,Ee)?.toAffine();return!!Wt&&o(Wt.x)===re},ProjectivePoint:c,Signature:y,utils:p}}function ca(A){return{hash:A,hmac:(e,...t)=>To(A,e,function Sc(...A){const e=new Uint8Array(A.reduce((i,n)=>i+n.length,0));let t=0;return A.forEach(i=>{if(!gI(i))throw new Error("Uint8Array expected");e.set(i,t),t+=i.length}),e}(...t)),randomBytes:Ro}}BigInt(4);const Yi=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),vi=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),jo=BigInt(1),Li=BigInt(2),$o=(A,e)=>(A+e/Li)/e;function Ag(A){const e=Yi,t=BigInt(3),i=BigInt(6),n=BigInt(11),I=BigInt(22),r=BigInt(23),o=BigInt(44),s=BigInt(88),c=A*A*A%e,C=c*c*A%e,a=de(C,t,e)*C%e,h=de(a,t,e)*C%e,d=de(h,Li,e)*c%e,l=de(d,n,e)*d%e,E=de(l,I,e)*l%e,u=de(E,o,e)*E%e,y=de(u,s,e)*u%e,p=de(y,o,e)*E%e,S=de(p,t,e)*C%e,N=de(S,r,e)*l%e,b=de(N,i,e)*c%e,m=de(b,Li,e);if(!uI.eql(uI.sqr(m),A))throw new Error("Cannot find square root");return m}const uI=function $c(A,e,t=!1,i={}){if(A<=zA)throw new Error(`Expected Field ORDER > 0, got ${A}`);const{nBitLength:n,nByteLength:I}=fI(A,e);if(I>2048)throw new Error("Field lengths over 2048 bytes are not supported");const r=function Zc(A){if(A%hI===zc){const e=(A+yA)/hI;return function(i,n){const I=i.pow(n,e);if(!i.eql(i.sqr(I),n))throw new Error("Cannot find square root");return I}}if(A%Po===Oo){const e=(A-Oo)/Po;return function(i,n){const I=i.mul(n,At),r=i.pow(I,e),o=i.mul(n,r),s=i.mul(i.mul(o,At),r),c=i.mul(o,i.sub(s,i.ONE));if(!i.eql(i.sqr(c),n))throw new Error("Cannot find square root");return c}}return function Vc(A){const e=(A-yA)/At;let t,i,n;for(t=A-yA,i=0;t%At===zA;t/=At,i++);for(n=At;n<A&&Xc(n,e,A)!==A-yA;n++);if(1===i){const r=(A+yA)/hI;return function(s,c){const C=s.pow(c,r);if(!s.eql(s.sqr(C),c))throw new Error("Cannot find square root");return C}}const I=(t+yA)/At;return function(o,s){if(o.pow(s,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=i,C=o.pow(o.mul(o.ONE,n),t),a=o.pow(s,I),h=o.pow(s,t);for(;!o.eql(h,o.ONE);){if(o.eql(h,o.ZERO))return o.ZERO;let d=1;for(let E=o.sqr(h);d<c&&!o.eql(E,o.ONE);d++)E=o.sqr(E);const l=o.pow(C,yA<<BigInt(c-d-1));C=o.sqr(l),a=o.mul(a,l),h=o.mul(h,C),c=d}return a}}(A)}(A),o=Object.freeze({ORDER:A,BITS:n,BYTES:I,MASK:CI(n),ZERO:zA,ONE:yA,create:s=>OA(s,A),isValid:s=>{if("bigint"!=typeof s)throw new Error("Invalid field element: expected bigint, got "+typeof s);return zA<=s&&s<A},is0:s=>s===zA,isOdd:s=>(s&yA)===yA,neg:s=>OA(-s,A),eql:(s,c)=>s===c,sqr:s=>OA(s*s,A),add:(s,c)=>OA(s+c,A),sub:(s,c)=>OA(s-c,A),mul:(s,c)=>OA(s*c,A),pow:(s,c)=>function _c(A,e,t){if(t<zA)throw new Error("Expected power > 0");if(t===zA)return A.ONE;if(t===yA)return e;let i=A.ONE,n=e;for(;t>zA;)t&yA&&(i=A.mul(i,n)),n=A.sqr(n),t>>=yA;return i}(o,s,c),div:(s,c)=>OA(s*Ri(c,A),A),sqrN:s=>s*s,addN:(s,c)=>s+c,subN:(s,c)=>s-c,mulN:(s,c)=>s*c,inv:s=>Ri(s,A),sqrt:i.sqrt||(s=>r(o,s)),invertBatch:s=>function jc(A,e){const t=new Array(e.length),i=e.reduce((I,r,o)=>A.is0(r)?I:(t[o]=I,A.mul(I,r)),A.ONE),n=A.inv(i);return e.reduceRight((I,r,o)=>A.is0(r)?I:(t[o]=A.mul(I,t[o]),A.mul(I,r)),n),t}(o,s),cmov:(s,c,C)=>C?c:s,toBytes:s=>t?QI(s,I):$e(s,I),fromBytes:s=>{if(s.length!==I)throw new Error(`Fp.fromBytes: expected ${I}, got ${s.length}`);return t?aI(s):ce(s)}});return Object.freeze(o)}(Yi,void 0,void 0,{sqrt:Ag}),Ht=function aa(A,e){const t=i=>Ba({...A,...ca(i)});return Object.freeze({...t(e),create:t})}({a:BigInt(0),b:BigInt(7),Fp:uI,n:vi,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:A=>{const e=vi,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),i=-jo*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),I=t,r=BigInt("0x100000000000000000000000000000000"),o=$o(I*A,e),s=$o(-i*A,e);let c=OA(A-o*t-s*n,e),C=OA(-o*i-s*I,e);const a=c>r,h=C>r;if(a&&(c=e-c),h&&(C=e-C),c>r||C>r)throw new Error("splitScalar: Endomorphism failed, k="+A);return{k1neg:a,k1:c,k2neg:h,k2:C}}}},cI),zi=BigInt(0),eg=A=>"bigint"==typeof A&&zi<A&&A<Yi,tg={};function Oi(A,...e){let t=tg[A];if(void 0===t){const i=cI(Uint8Array.from(A,n=>n.charCodeAt(0)));t=Et(i,i),tg[A]=t}return cI(Et(t,...e))}const dI=A=>A.toRawBytes(!0).slice(1),yI=A=>$e(A,32),wI=A=>OA(A,Yi),gi=A=>OA(A,vi),pI=Ht.ProjectivePoint;function FI(A){let e=Ht.utils.normPrivateKeyToScalar(A),t=pI.fromPrivateKey(e);return{scalar:t.hasEvenY()?e:gi(-e),bytes:dI(t)}}function ig(A){if(!eg(A))throw new Error("bad x: need 0 < x < p");const e=wI(A*A);let i=Ag(wI(e*A+BigInt(7)));i%Li!==zi&&(i=wI(-i));const n=new pI(A,i,jo);return n.assertValidity(),n}function ng(...A){return gi(ce(Oi("BIP0340/challenge",...A)))}function Ig(A,e,t){const i=jA("signature",A,64),n=jA("message",e),I=jA("publicKey",t,32);try{const r=ig(ce(I)),o=ce(i.subarray(0,32));if(!eg(o))return!1;const s=ce(i.subarray(32,64));if(!(A=>"bigint"==typeof A&&zi<A&&A<vi)(s))return!1;const c=ng(yI(o),dI(r),n),C=((A,e,t)=>pI.BASE.multiplyAndAddUnsafe(A,e,t))(r,s,gi(-c));return!(!C||!C.hasEvenY()||C.toAffine().x!==o)}catch{return!1}}const Bi={getPublicKey:function Ea(A){return FI(A).bytes},sign:function ha(A,e,t=Ro(32)){const i=jA("message",A),{bytes:n,scalar:I}=FI(e),r=jA("auxRand",t,32),o=yI(I^ce(Oi("BIP0340/aux",r))),s=Oi("BIP0340/nonce",o,n,i),c=gi(ce(s));if(c===zi)throw new Error("sign failed: k is zero");const{bytes:C,scalar:a}=FI(c),h=ng(C,n,i),d=new Uint8Array(64);if(d.set(C,0),d.set(yI(gi(a+h*I)),32),!Ig(d,i,n))throw new Error("sign: Invalid signature produced");return d},verify:Ig,utils:{randomPrivateKey:Ht.utils.randomPrivateKey,lift_x:ig,pointToBytes:dI,numberToBytesBE:$e,bytesToNumberBE:ce,taggedHash:Oi,mod:OA}},DI="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,kI=A=>A instanceof Uint8Array,mI=A=>new Uint32Array(A.buffer,A.byteOffset,Math.floor(A.byteLength/4)),Pi=A=>new DataView(A.buffer,A.byteOffset,A.byteLength),Ne=(A,e)=>A<<32-e|A>>>e;if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");const la=Array.from({length:256},(A,e)=>e.toString(16).padStart(2,"0"));function ae(A){if(!kI(A))throw new Error("Uint8Array expected");let e="";for(let t=0;t<A.length;t++)e+=la[A[t]];return e}function xt(A){if("string"!=typeof A)throw new Error("hex string expected, got "+typeof A);const e=A.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const t=new Uint8Array(e/2);for(let i=0;i<t.length;i++){const n=2*i,I=A.slice(n,n+2),r=Number.parseInt(I,16);if(Number.isNaN(r)||r<0)throw new Error("Invalid byte sequence");t[i]=r}return t}function Le(A){if("string"==typeof A&&(A=function da(A){if("string"!=typeof A)throw new Error("utf8ToBytes expected string, got "+typeof A);return new Uint8Array((new TextEncoder).encode(A))}(A)),!kI(A))throw new Error("expected Uint8Array, got "+typeof A);return A}function si(...A){const e=new Uint8Array(A.reduce((i,n)=>i+n.length,0));let t=0;return A.forEach(i=>{if(!kI(i))throw new Error("Uint8Array expected");e.set(i,t),t+=i.length}),e}class rg{clone(){return this._cloneInto()}}function og(A,e){if(void 0!==e&&("object"!=typeof e||!(A=>"[object Object]"===Object.prototype.toString.call(A)&&A.constructor===Object)(e)))throw new Error("Options should be object or undefined");return Object.assign(A,e)}function gg(A){const e=i=>A().update(Le(i)).digest(),t=A();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>A(),e}function Xi(A=32){if(DI&&"function"==typeof DI.getRandomValues)return DI.getRandomValues(new Uint8Array(A));throw new Error("crypto.getRandomValues must be defined")}function UI(A){if(!Number.isSafeInteger(A)||A<0)throw new Error(`Wrong positive integer: ${A}`)}function Bg(A,...e){if(!(A instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(A.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${A.length}`)}const vA={number:UI,bool:function wa(A){if("boolean"!=typeof A)throw new Error(`Expected boolean, not ${A}`)},bytes:Bg,hash:function pa(A){if("function"!=typeof A||"function"!=typeof A.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");UI(A.outputLen),UI(A.blockLen)},exists:function Fa(A,e=!0){if(A.destroyed)throw new Error("Hash instance has been destroyed");if(e&&A.finished)throw new Error("Hash#digest() has already been called")},output:function Da(A,e){Bg(A);const t=e.outputLen;if(A.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}};class ma extends rg{constructor(e,t,i,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Pi(this.buffer)}update(e){vA.exists(this);const{view:t,buffer:i,blockLen:n}=this,I=(e=Le(e)).length;for(let r=0;r<I;){const o=Math.min(n-this.pos,I-r);if(o!==n)i.set(e.subarray(r,r+o),this.pos),this.pos+=o,r+=o,this.pos===n&&(this.process(t,0),this.pos=0);else{const s=Pi(e);for(;n<=I-r;r+=n)this.process(s,r)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){vA.exists(this),vA.output(e,this),this.finished=!0;const{buffer:t,view:i,blockLen:n,isLE:I}=this;let{pos:r}=this;t[r++]=128,this.buffer.subarray(r).fill(0),this.padOffset>n-r&&(this.process(i,0),r=0);for(let a=r;a<n;a++)t[a]=0;(function ka(A,e,t,i){if("function"==typeof A.setBigUint64)return A.setBigUint64(e,t,i);const n=BigInt(32),I=BigInt(4294967295),r=Number(t>>n&I),o=Number(t&I),c=i?0:4;A.setUint32(e+(i?4:0),r,i),A.setUint32(e+c,o,i)})(i,n-8,BigInt(8*this.length),I),this.process(i,0);const o=Pi(e),s=this.outputLen;if(s%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=s/4,C=this.get();if(c>C.length)throw new Error("_sha2: outputLen bigger than state");for(let a=0;a<c;a++)o.setUint32(4*a,C[a],I)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:i,length:n,finished:I,destroyed:r,pos:o}=this;return e.length=n,e.pos=o,e.finished=I,e.destroyed=r,n%t&&e.buffer.set(i),e}}const Sa=(A,e,t)=>A&e^~A&t,Ua=(A,e,t)=>A&e^A&t^e&t,Ga=new Uint32Array([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]),tt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),it=new Uint32Array(64);class sg extends ma{constructor(){super(64,32,8,!1),this.A=0|tt[0],this.B=0|tt[1],this.C=0|tt[2],this.D=0|tt[3],this.E=0|tt[4],this.F=0|tt[5],this.G=0|tt[6],this.H=0|tt[7]}get(){const{A:e,B:t,C:i,D:n,E:I,F:r,G:o,H:s}=this;return[e,t,i,n,I,r,o,s]}set(e,t,i,n,I,r,o,s){this.A=0|e,this.B=0|t,this.C=0|i,this.D=0|n,this.E=0|I,this.F=0|r,this.G=0|o,this.H=0|s}process(e,t){for(let a=0;a<16;a++,t+=4)it[a]=e.getUint32(t,!1);for(let a=16;a<64;a++){const h=it[a-15],d=it[a-2],l=Ne(h,7)^Ne(h,18)^h>>>3,E=Ne(d,17)^Ne(d,19)^d>>>10;it[a]=E+it[a-7]+l+it[a-16]|0}let{A:i,B:n,C:I,D:r,E:o,F:s,G:c,H:C}=this;for(let a=0;a<64;a++){const d=C+(Ne(o,6)^Ne(o,11)^Ne(o,25))+Sa(o,s,c)+Ga[a]+it[a]|0,E=(Ne(i,2)^Ne(i,13)^Ne(i,22))+Ua(i,n,I)|0;C=c,c=s,s=o,o=r+d|0,r=I,I=n,n=i,i=d+E|0}i=i+this.A|0,n=n+this.B|0,I=I+this.C|0,r=r+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,C=C+this.H|0,this.set(i,n,I,r,o,s,c,C)}roundClean(){it.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class Na extends sg{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const ft=gg(()=>new sg);function lt(A){if(!Number.isSafeInteger(A))throw new Error(`Wrong integer: ${A}`)}function De(...A){const e=(n,I)=>r=>n(I(r));return{encode:Array.from(A).reverse().reduce((n,I)=>n?e(n,I.encode):I.encode,void 0),decode:A.reduce((n,I)=>n?e(n,I.decode):I.decode,void 0)}}function He(A){return{encode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("alphabet.encode input should be an array of numbers");return e.map(t=>{if(lt(t),t<0||t>=A.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${A.length})`);return A[t]})},decode:e=>{if(!Array.isArray(e)||e.length&&"string"!=typeof e[0])throw new Error("alphabet.decode input should be array of strings");return e.map(t=>{if("string"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const i=A.indexOf(t);if(-1===i)throw new Error(`Unknown letter: "${t}". Allowed: ${A}`);return i})}}}function xe(A=""){if("string"!=typeof A)throw new Error("join separator should be string");return{encode:e=>{if(!Array.isArray(e)||e.length&&"string"!=typeof e[0])throw new Error("join.encode input should be array of strings");for(let t of e)if("string"!=typeof t)throw new Error(`join.encode: non-string input=${t}`);return e.join(A)},decode:e=>{if("string"!=typeof e)throw new Error("join.decode input should be string");return e.split(A)}}}function ci(A,e="="){if(lt(A),"string"!=typeof e)throw new Error("padding chr should be string");return{encode(t){if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("padding.encode input should be array of strings");for(let i of t)if("string"!=typeof i)throw new Error(`padding.encode: non-string input=${i}`);for(;t.length*A%8;)t.push(e);return t},decode(t){if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("padding.encode input should be array of strings");for(let n of t)if("string"!=typeof n)throw new Error(`padding.decode: non-string input=${n}`);let i=t.length;if(i*A%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;i>0&&t[i-1]===e;i--)if(!((i-1)*A%8))throw new Error("Invalid padding: string has too much padding");return t.slice(0,i)}}}function cg(A){if("function"!=typeof A)throw new Error("normalize fn should be function");return{encode:e=>e,decode:e=>A(e)}}function ag(A,e,t){if(e<2)throw new Error(`convertRadix: wrong from=${e}, base cannot be less than 2`);if(t<2)throw new Error(`convertRadix: wrong to=${t}, base cannot be less than 2`);if(!Array.isArray(A))throw new Error("convertRadix: data should be array");if(!A.length)return[];let i=0;const n=[],I=Array.from(A);for(I.forEach(r=>{if(lt(r),r<0||r>=e)throw new Error(`Wrong integer: ${r}`)});;){let r=0,o=!0;for(let s=i;s<I.length;s++){const c=I[s],C=e*r+c;if(!Number.isSafeInteger(C)||e*r/e!==r||C-c!=e*r)throw new Error("convertRadix: carry overflow");if(r=C%t,I[s]=Math.floor(C/t),!Number.isSafeInteger(I[s])||I[s]*t+r!==C)throw new Error("convertRadix: carry overflow");o&&(I[s]?o=!1:i=s)}if(n.push(r),o)break}for(let r=0;r<A.length-1&&0===A[r];r++)n.push(0);return n.reverse()}gg(()=>new Na);const Qg=(A,e)=>e?Qg(e,A%e):A,Vi=(A,e)=>A+(e-Qg(A,e));function GI(A,e,t,i){if(!Array.isArray(A))throw new Error("convertRadix2: data should be array");if(e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(t<=0||t>32)throw new Error(`convertRadix2: wrong to=${t}`);if(Vi(e,t)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${t} carryBits=${Vi(e,t)}`);let n=0,I=0;const r=2**t-1,o=[];for(const s of A){if(lt(s),s>=2**e)throw new Error(`convertRadix2: invalid data word=${s} from=${e}`);if(n=n<<e|s,I+e>32)throw new Error(`convertRadix2: carry overflow pos=${I} from=${e}`);for(I+=e;I>=t;I-=t)o.push((n>>I-t&r)>>>0);n&=2**I-1}if(n=n<<t-I&r,!i&&I>=e)throw new Error("Excess padding");if(!i&&n)throw new Error(`Non-zero padding: ${n}`);return i&&I>0&&o.push(n>>>0),o}function ze(A,e=!1){if(lt(A),A<=0||A>32)throw new Error("radix2: bits should be in (0..32]");if(Vi(8,A)>32||Vi(A,8)>32)throw new Error("radix2: carry overflow");return{encode:t=>{if(!(t instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return GI(Array.from(t),8,A,!e)},decode:t=>{if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(GI(t,A,8,e))}}}function Eg(A){if("function"!=typeof A)throw new Error("unsafeWrapper fn should be function");return function(...e){try{return A.apply(null,e)}catch{}}}De(ze(4),He("0123456789ABCDEF"),xe("")),De(ze(5),He("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),ci(5),xe(""));const Oe=(De(ze(5),He("0123456789ABCDEFGHIJKLMNOPQRSTUV"),ci(5),xe("")),De(ze(5),He("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),xe(""),cg(A=>A.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),De(ze(6),He("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),ci(6),xe(""))),NI=(De(ze(6),He("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),ci(6),xe("")),A=>De(function Cg(A){return lt(A),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return ag(Array.from(e),256,A)},decode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(ag(e,A,256))}}}(58),He(A),xe(""))),HI=(NI("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),NI("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),NI("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"),De(He("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),xe(""))),lg=[996825010,642813549,513874426,1027748829,705979059];function ai(A){const e=A>>25;let t=(33554431&A)<<5;for(let i=0;i<lg.length;i++)1==(e>>i&1)&&(t^=lg[i]);return t}function ug(A,e,t=1){const i=A.length;let n=1;for(let I=0;I<i;I++){const r=A.charCodeAt(I);if(r<33||r>126)throw new Error(`Invalid prefix (${A})`);n=ai(n)^r>>5}n=ai(n);for(let I=0;I<i;I++)n=ai(n)^31&A.charCodeAt(I);for(let I of e)n=ai(n)^I;for(let I=0;I<6;I++)n=ai(n);return n^=t,HI.encode(GI([n%2**30],30,5,!1))}function dg(A){const e="bech32"===A?1:734539939,t=ze(5),i=t.decode,n=t.encode,I=Eg(i);function o(C,a=90){if("string"!=typeof C)throw new Error("bech32.decode input should be string, not "+typeof C);if(C.length<8||!1!==a&&C.length>a)throw new TypeError(`Wrong string length: ${C.length} (${C}). Expected (8..${a})`);const h=C.toLowerCase();if(C!==h&&C!==C.toUpperCase())throw new Error("String must be lowercase or uppercase");const d=(C=h).lastIndexOf("1");if(0===d||-1===d)throw new Error('Letter "1" must be present between prefix and data only');const l=C.slice(0,d),E=C.slice(d+1);if(E.length<6)throw new Error("Data must be at least 6 characters long");const u=HI.decode(E).slice(0,-6),y=ug(l,u,e);if(!E.endsWith(y))throw new Error(`Invalid checksum in ${C}: expected "${y}"`);return{prefix:l,words:u}}return{encode:function r(C,a,h=90){if("string"!=typeof C)throw new Error("bech32.encode prefix should be string, not "+typeof C);if(!Array.isArray(a)||a.length&&"number"!=typeof a[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof a);const d=C.length+7+a.length;if(!1!==h&&d>h)throw new TypeError(`Length ${d} exceeds limit ${h}`);return`${C=C.toLowerCase()}1${HI.encode(a)}${ug(C,a,e)}`},decode:o,decodeToBytes:function c(C){const{prefix:a,words:h}=o(C,!1);return{prefix:a,words:h,bytes:i(h)}},decodeUnsafe:Eg(o),fromWords:i,fromWordsUnsafe:I,toWords:n}}const nt=dg("bech32");function Jt(A){if(!Number.isSafeInteger(A)||A<0)throw new Error(`positive integer expected, not ${A}`)}function xI(A){if("boolean"!=typeof A)throw new Error(`boolean expected, not ${A}`)}function wg(A){return A instanceof Uint8Array||null!=A&&"object"==typeof A&&"Uint8Array"===A.constructor.name}function gA(A,...e){if(!wg(A))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(A.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${A.length}`)}function ut(A,e=!0){if(A.destroyed)throw new Error("Hash instance has been destroyed");if(e&&A.finished)throw new Error("Hash#digest() has already been called")}function Wi(A,e){gA(A);const t=e.outputLen;if(A.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}dg("bech32m"),De(ze(4),He("0123456789abcdef"),xe(""),cg(A=>{if("string"!=typeof A||A.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof A} with length ${A.length}`);return A.toLowerCase()}));const IA=A=>new Uint32Array(A.buffer,A.byteOffset,Math.floor(A.byteLength/4)),qt=A=>new DataView(A.buffer,A.byteOffset,A.byteLength);if(68!==new Uint8Array(new Uint32Array([287454020]).buffer)[0])throw new Error("Non little-endian hardware is not supported");function It(A){if("string"==typeof A)A=function Pa(A){if("string"!=typeof A)throw new Error("string expected, got "+typeof A);return new Uint8Array((new TextEncoder).encode(A))}(A);else{if(!wg(A))throw new Error("Uint8Array expected, got "+typeof A);A=A.slice()}return A}function _i(A,e){if(A.length!==e.length)return!1;let t=0;for(let i=0;i<A.length;i++)t|=A[i]^e[i];return 0===t}const rt=(A,e)=>(Object.assign(e,A),e);function dt(A,e,t,i){if("function"==typeof A.setBigUint64)return A.setBigUint64(e,t,i);const n=BigInt(32),I=BigInt(4294967295),r=Number(t>>n&I),o=Number(t&I),c=i?0:4;A.setUint32(e+(i?4:0),r,i),A.setUint32(e+c,o,i)}const bI=new Uint8Array(16),Je=IA(bI),Za=(A,e,t,i)=>({s3:t<<31|i>>>1,s2:e<<31|t>>>1,s1:A<<31|e>>>1,s0:A>>>1^225<<24&-(1&i)}),ye=A=>(A>>>0&255)<<24|(A>>>8&255)<<16|(A>>>16&255)<<8|A>>>24&255;class Dg{constructor(e,t){this.blockLen=16,this.outputLen=16,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,gA(e=It(e),16);const i=qt(e);let n=i.getUint32(0,!1),I=i.getUint32(4,!1),r=i.getUint32(8,!1),o=i.getUint32(12,!1);const s=[];for(let l=0;l<128;l++)s.push({s0:ye(n),s1:ye(I),s2:ye(r),s3:ye(o)}),({s0:n,s1:I,s2:r,s3:o}=Za(n,I,r,o));const c=(A=t||1024)>65536?8:A>1024?4:2;var A;if(![1,2,4,8].includes(c))throw new Error(`ghash: wrong window size=${c}, should be 2, 4 or 8`);this.W=c;const a=128/c,h=this.windowSize=2**c,d=[];for(let l=0;l<a;l++)for(let E=0;E<h;E++){let u=0,y=0,p=0,S=0;for(let N=0;N<c;N++){if(!(E>>>c-N-1&1))continue;const{s0:m,s1:G,s2:J,s3:v}=s[c*l+N];u^=m,y^=G,p^=J,S^=v}d.push({s0:u,s1:y,s2:p,s3:S})}this.t=d}_updateBlock(e,t,i,n){e^=this.s0,t^=this.s1,i^=this.s2,n^=this.s3;const{W:I,t:r,windowSize:o}=this;let s=0,c=0,C=0,a=0;const h=(1<<I)-1;let d=0;for(const l of[e,t,i,n])for(let E=0;E<4;E++){const u=l>>>8*E&255;for(let y=8/I-1;y>=0;y--){const p=u>>>I*y&h,{s0:S,s1:N,s2:b,s3:m}=r[d*o+p];s^=S,c^=N,C^=b,a^=m,d+=1}}this.s0=s,this.s1=c,this.s2=C,this.s3=a}update(e){e=It(e),ut(this);const t=IA(e),i=Math.floor(e.length/16),n=e.length%16;for(let I=0;I<i;I++)this._updateBlock(t[4*I+0],t[4*I+1],t[4*I+2],t[4*I+3]);return n&&(bI.set(e.subarray(16*i)),this._updateBlock(Je[0],Je[1],Je[2],Je[3]),Je.fill(0)),this}destroy(){const{t:e}=this;for(const t of e)t.s0=0,t.s1=0,t.s2=0,t.s3=0}digestInto(e){ut(this),Wi(e,this),this.finished=!0;const{s0:t,s1:i,s2:n,s3:I}=this,r=IA(e);return r[0]=t,r[1]=i,r[2]=n,r[3]=I,e}digest(){const e=new Uint8Array(16);return this.digestInto(e),this.destroy(),e}}class _a extends Dg{constructor(e,t){const i=function Ta(A){A.reverse();const e=1&A[15];let t=0;for(let i=0;i<A.length;i++){const n=A[i];A[i]=n>>>1|t,t=(1&n)<<7}return A[0]^=225&-e,A}((e=It(e)).slice());super(i,t),i.fill(0)}update(e){e=It(e),ut(this);const t=IA(e),i=e.length%16,n=Math.floor(e.length/16);for(let I=0;I<n;I++)this._updateBlock(ye(t[4*I+3]),ye(t[4*I+2]),ye(t[4*I+1]),ye(t[4*I+0]));return i&&(bI.set(e.subarray(16*n)),this._updateBlock(ye(Je[3]),ye(Je[2]),ye(Je[1]),ye(Je[0])),Je.fill(0)),this}digestInto(e){ut(this),Wi(e,this),this.finished=!0;const{s0:t,s1:i,s2:n,s3:I}=this,r=IA(e);return r[0]=t,r[1]=i,r[2]=n,r[3]=I,e.reverse()}}function kg(A){const e=(i,n)=>A(n,i.length).update(It(i)).digest(),t=A(new Uint8Array(16),0);return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=(i,n)=>A(i,n),e}function RI(A){return A<<1^283&-(A>>7)}function bt(A,e){let t=0;for(;e>0;e>>=1)t^=A&-(1&e),A=RI(A);return t}kg((A,e)=>new Dg(A,e)),kg((A,e)=>new _a(A,e)),new Uint8Array(16);const KI=(()=>{let A=new Uint8Array(256);for(let t=0,i=1;t<256;t++,i^=RI(i))A[t]=i;const e=new Uint8Array(256);e[0]=99;for(let t=0;t<255;t++){let i=A[255-t];i|=i<<8,e[A[t]]=255&(i^i>>4^i>>5^i>>6^i>>7^99)}return e})(),AQ=KI.map((A,e)=>KI.indexOf(e)),eQ=A=>A<<24|A>>>8,YI=A=>A<<8|A>>>24;function Sg(A,e){if(256!==A.length)throw new Error("Wrong sbox length");const t=new Uint32Array(256).map((c,C)=>e(A[C])),i=t.map(YI),n=i.map(YI),I=n.map(YI),r=new Uint32Array(65536),o=new Uint32Array(65536),s=new Uint16Array(65536);for(let c=0;c<256;c++)for(let C=0;C<256;C++){const a=256*c+C;r[a]=t[c]^i[C],o[a]=n[c]^I[C],s[a]=A[c]<<8|A[C]}return{sbox:A,sbox2:s,T0:t,T1:i,T2:n,T3:I,T01:r,T23:o}}const vI=Sg(KI,A=>bt(A,3)<<24|A<<16|A<<8|bt(A,2)),Ug=Sg(AQ,A=>bt(A,11)<<24|bt(A,13)<<16|bt(A,9)<<8|bt(A,14)),tQ=(()=>{const A=new Uint8Array(16);for(let e=0,t=1;e<16;e++,t=RI(t))A[e]=t;return A})();function Ve(A){gA(A);const e=A.length;if(![16,24,32].includes(e))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${e}`);const{sbox2:t}=vI,i=IA(A),n=i.length,I=o=>qe(t,o,o,o,o),r=new Uint32Array(e+28);r.set(i);for(let o=n;o<r.length;o++){let s=r[o-1];o%n==0?s=I(eQ(s))^tQ[o/n-1]:n>6&&o%n==4&&(s=I(s)),r[o]=r[o-n]^s}return r}function ot(A,e,t,i,n,I){return A[t<<8&65280|i>>>8&255]^e[n>>>8&65280|I>>>24&255]}function qe(A,e,t,i,n){return A[255&e|65280&t]|A[i>>>16&255|n>>>16&65280]<<16}function Qe(A,e,t,i,n){const{sbox2:I,T01:r,T23:o}=vI;let s=0;e^=A[s++],t^=A[s++],i^=A[s++],n^=A[s++];const c=A.length/4-2;for(let l=0;l<c;l++){const E=A[s++]^ot(r,o,e,t,i,n),u=A[s++]^ot(r,o,t,i,n,e),y=A[s++]^ot(r,o,i,n,e,t),p=A[s++]^ot(r,o,n,e,t,i);e=E,t=u,i=y,n=p}return{s0:A[s++]^qe(I,e,t,i,n),s1:A[s++]^qe(I,t,i,n,e),s2:A[s++]^qe(I,i,n,e,t),s3:A[s++]^qe(I,n,e,t,i)}}function $i(A,e,t,i,n){const{sbox2:I,T01:r,T23:o}=Ug;let s=0;e^=A[s++],t^=A[s++],i^=A[s++],n^=A[s++];const c=A.length/4-2;for(let l=0;l<c;l++){const E=A[s++]^ot(r,o,e,n,i,t),u=A[s++]^ot(r,o,t,e,n,i),y=A[s++]^ot(r,o,i,t,e,n),p=A[s++]^ot(r,o,n,i,t,e);e=E,t=u,i=y,n=p}return{s0:A[s++]^qe(I,e,n,i,t),s1:A[s++]^qe(I,t,e,n,i),s2:A[s++]^qe(I,i,t,e,n),s3:A[s++]^qe(I,n,i,t,e)}}function Mt(A,e){if(!e)return new Uint8Array(A);if(gA(e),e.length<A)throw new Error(`aes: wrong destination length, expected at least ${A}, got: ${e.length}`);return e}const qg=rt({blockSize:16,nonceLength:16},function(e,t,i={}){gA(e),gA(t,16);const n=!i.disablePadding;return{encrypt:(I,r)=>{const o=Ve(e),{b:s,o:c,out:C}=function Hg(A,e,t){let i=A.length;const n=i%16;if(!e&&0!==n)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");const I=IA(A);if(e){let s=16-n;s||(s=16),i+=s}const r=Mt(i,t);return{b:I,o:IA(r),out:r}}(I,n,r),a=IA(t);let h=a[0],d=a[1],l=a[2],E=a[3],u=0;for(;u+4<=s.length;)h^=s[u+0],d^=s[u+1],l^=s[u+2],E^=s[u+3],({s0:h,s1:d,s2:l,s3:E}=Qe(o,h,d,l,E)),c[u++]=h,c[u++]=d,c[u++]=l,c[u++]=E;if(n){const y=function Jg(A){const e=new Uint8Array(16),t=IA(e);e.set(A);const i=16-A.length;for(let n=16-i;n<16;n++)e[n]=i;return t}(I.subarray(4*u));h^=y[0],d^=y[1],l^=y[2],E^=y[3],({s0:h,s1:d,s2:l,s3:E}=Qe(o,h,d,l,E)),c[u++]=h,c[u++]=d,c[u++]=l,c[u++]=E}return o.fill(0),C},decrypt:(I,r)=>{!function Ng(A){if(gA(A),A.length%16!=0)throw new Error("aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size 16")}(I);const o=function LI(A){const e=Ve(A),t=e.slice(),i=e.length,{sbox2:n}=vI,{T0:I,T1:r,T2:o,T3:s}=Ug;for(let c=0;c<i;c+=4)for(let C=0;C<4;C++)t[c+C]=e[i-c-4+C];e.fill(0);for(let c=4;c<i-4;c++){const C=t[c],a=qe(n,C,C,C,C);t[c]=I[255&a]^r[a>>>8&255]^o[a>>>16&255]^s[a>>>24]}return t}(e),s=IA(t),c=Mt(I.length,r),C=IA(I),a=IA(c);let h=s[0],d=s[1],l=s[2],E=s[3];for(let u=0;u+4<=C.length;){const y=h,p=d,S=l,N=E;h=C[u+0],d=C[u+1],l=C[u+2],E=C[u+3];const{s0:b,s1:m,s2:G,s3:J}=$i(o,h,d,l,E);a[u++]=b^y,a[u++]=m^p,a[u++]=G^S,a[u++]=J^N}return o.fill(0),function xg(A,e){if(!e)return A;const t=A.length;if(!t)throw new Error("aes/pcks5: empty ciphertext not allowed");const i=A[t-1];if(i<=0||i>16)throw new Error(`aes/pcks5: wrong padding byte: ${i}`);const n=A.subarray(0,-i);for(let I=0;I<i;I++)if(A[t-I-1]!==i)throw new Error("aes/pcks5: wrong padding");return n}(c,n)}}}),TA=(A,e)=>255&A[e++]|(255&A[e++])<<8;class IQ{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,gA(e=It(e),32);const t=TA(e,0),i=TA(e,2),n=TA(e,4),I=TA(e,6),r=TA(e,8),o=TA(e,10),s=TA(e,12),c=TA(e,14);this.r[0]=8191&t,this.r[1]=8191&(t>>>13|i<<3),this.r[2]=7939&(i>>>10|n<<6),this.r[3]=8191&(n>>>7|I<<9),this.r[4]=255&(I>>>4|r<<12),this.r[5]=r>>>1&8190,this.r[6]=8191&(r>>>14|o<<2),this.r[7]=8065&(o>>>11|s<<5),this.r[8]=8191&(s>>>8|c<<8),this.r[9]=c>>>5&127;for(let C=0;C<8;C++)this.pad[C]=TA(e,16+2*C)}process(e,t,i=!1){const n=i?0:2048,{h:I,r}=this,o=r[0],s=r[1],c=r[2],C=r[3],a=r[4],h=r[5],d=r[6],l=r[7],E=r[8],u=r[9],y=TA(e,t+0),p=TA(e,t+2),S=TA(e,t+4),N=TA(e,t+6),b=TA(e,t+8),m=TA(e,t+10),G=TA(e,t+12),J=TA(e,t+14);let v=I[0]+(8191&y),R=I[1]+(8191&(y>>>13|p<<3)),Y=I[2]+(8191&(p>>>10|S<<6)),T=I[3]+(8191&(S>>>7|N<<9)),W=I[4]+(8191&(N>>>4|b<<12)),AA=I[5]+(b>>>1&8191),H=I[6]+(8191&(b>>>14|m<<2)),x=I[7]+(8191&(m>>>11|G<<5)),M=I[8]+(8191&(G>>>8|J<<8)),L=I[9]+(J>>>5|n),q=0,V=q+v*o+R*(5*u)+Y*(5*E)+T*(5*l)+W*(5*d);q=V>>>13,V&=8191,V+=AA*(5*h)+H*(5*a)+x*(5*C)+M*(5*c)+L*(5*s),q+=V>>>13,V&=8191;let $=q+v*s+R*o+Y*(5*u)+T*(5*E)+W*(5*l);q=$>>>13,$&=8191,$+=AA*(5*d)+H*(5*h)+x*(5*a)+M*(5*C)+L*(5*c),q+=$>>>13,$&=8191;let eA=q+v*c+R*s+Y*o+T*(5*u)+W*(5*E);q=eA>>>13,eA&=8191,eA+=AA*(5*l)+H*(5*d)+x*(5*h)+M*(5*a)+L*(5*C),q+=eA>>>13,eA&=8191;let ZA=q+v*C+R*c+Y*s+T*o+W*(5*u);q=ZA>>>13,ZA&=8191,ZA+=AA*(5*E)+H*(5*l)+x*(5*d)+M*(5*h)+L*(5*a),q+=ZA>>>13,ZA&=8191;let re=q+v*a+R*C+Y*c+T*s+W*o;q=re>>>13,re&=8191,re+=AA*(5*u)+H*(5*E)+x*(5*l)+M*(5*d)+L*(5*h),q+=re>>>13,re&=8191;let ue=q+v*h+R*a+Y*C+T*c+W*s;q=ue>>>13,ue&=8191,ue+=AA*o+H*(5*u)+x*(5*E)+M*(5*l)+L*(5*d),q+=ue>>>13,ue&=8191;let we=q+v*d+R*h+Y*a+T*C+W*c;q=we>>>13,we&=8191,we+=AA*s+H*o+x*(5*u)+M*(5*E)+L*(5*l),q+=we>>>13,we&=8191;let oe=q+v*l+R*d+Y*h+T*a+W*C;q=oe>>>13,oe&=8191,oe+=AA*c+H*s+x*o+M*(5*u)+L*(5*E),q+=oe>>>13,oe&=8191;let Ke=q+v*E+R*l+Y*d+T*h+W*a;q=Ke>>>13,Ke&=8191,Ke+=AA*C+H*c+x*s+M*o+L*(5*u),q+=Ke>>>13,Ke&=8191;let Ee=q+v*u+R*E+Y*l+T*d+W*h;q=Ee>>>13,Ee&=8191,Ee+=AA*a+H*C+x*c+M*s+L*o,q+=Ee>>>13,Ee&=8191,q=(q<<2)+q|0,q=q+V|0,V=8191&q,q>>>=13,$+=q,I[0]=V,I[1]=$,I[2]=eA,I[3]=ZA,I[4]=re,I[5]=ue,I[6]=we,I[7]=oe,I[8]=Ke,I[9]=Ee}finalize(){const{h:e,pad:t}=this,i=new Uint16Array(10);let n=e[1]>>>13;e[1]&=8191;for(let o=2;o<10;o++)e[o]+=n,n=e[o]>>>13,e[o]&=8191;e[0]+=5*n,n=e[0]>>>13,e[0]&=8191,e[1]+=n,n=e[1]>>>13,e[1]&=8191,e[2]+=n,i[0]=e[0]+5,n=i[0]>>>13,i[0]&=8191;for(let o=1;o<10;o++)i[o]=e[o]+n,n=i[o]>>>13,i[o]&=8191;i[9]-=8192;let I=(1^n)-1;for(let o=0;o<10;o++)i[o]&=I;I=~I;for(let o=0;o<10;o++)e[o]=e[o]&I|i[o];e[0]=65535&(e[0]|e[1]<<13),e[1]=65535&(e[1]>>>3|e[2]<<10),e[2]=65535&(e[2]>>>6|e[3]<<7),e[3]=65535&(e[3]>>>9|e[4]<<4),e[4]=65535&(e[4]>>>12|e[5]<<1|e[6]<<14),e[5]=65535&(e[6]>>>2|e[7]<<11),e[6]=65535&(e[7]>>>5|e[8]<<8),e[7]=65535&(e[8]>>>8|e[9]<<5);let r=e[0]+t[0];e[0]=65535&r;for(let o=1;o<8;o++)r=(e[o]+t[o]|0)+(r>>>16)|0,e[o]=65535&r}update(e){ut(this);const{buffer:t,blockLen:i}=this,n=(e=It(e)).length;for(let I=0;I<n;){const r=Math.min(i-this.pos,n-I);if(r!==i)t.set(e.subarray(I,I+r),this.pos),this.pos+=r,I+=r,this.pos===i&&(this.process(t,0,!1),this.pos=0);else for(;i<=n-I;I+=i)this.process(e,I)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(e){ut(this),Wi(e,this),this.finished=!0;const{buffer:t,h:i}=this;let{pos:n}=this;if(n){for(t[n++]=1;n<16;n++)t[n]=0;this.process(t,0,!0)}this.finalize();let I=0;for(let r=0;r<8;r++)e[I++]=i[r]>>>0,e[I++]=i[r]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}}const oQ=function rQ(A){const e=(i,n)=>A(n).update(It(i)).digest(),t=A(new Uint8Array(32));return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=i=>A(i),e}(A=>new IQ(A)),Rg=A=>Uint8Array.from(A.split("").map(e=>e.charCodeAt(0))),gQ=Rg("expand 16-byte k"),BQ=Rg("expand 32-byte k"),sQ=IA(gQ),Kg=IA(BQ);function K(A,e){return A<<e|A>>>32-e}function zI(A){return A.byteOffset%4==0}Kg.slice();const Yg=2**32-1,vg=new Uint32Array;function Qi(A,e){const{allowShortKeys:t,extendNonceFn:i,counterLength:n,counterRight:I,rounds:r}=function Xa(A,e){if(null==e||"object"!=typeof e)throw new Error("options must be defined");return Object.assign(A,e)}({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if("function"!=typeof A)throw new Error("core must be a function");return Jt(n),Jt(r),xI(I),xI(t),(o,s,c,C,a=0)=>{gA(o),gA(s),gA(c);const h=c.length;if(C||(C=new Uint8Array(h)),gA(C),Jt(a),a<0||a>=Yg)throw new Error("arx: counter overflow");if(C.length<h)throw new Error(`arx: output (${C.length}) is shorter than data (${h})`);const d=[];let E,u,l=o.length;if(32===l)E=o.slice(),d.push(E),u=Kg;else{if(16!==l||!t)throw new Error(`arx: invalid 32-byte key, got length=${l}`);E=new Uint8Array(32),E.set(o),E.set(o,16),u=sQ,d.push(E)}zI(s)||(s=s.slice(),d.push(s));const y=IA(E);if(i){if(24!==s.length)throw new Error("arx: extended nonce must be 24 bytes");i(u,y,IA(s.subarray(0,16)),y),s=s.subarray(16)}const p=16-n;if(p!==s.length)throw new Error(`arx: nonce must be ${p} or 16 bytes`);if(12!==p){const N=new Uint8Array(12);N.set(s,I?0:12-s.length),d.push(s=N)}const S=IA(s);for(function aQ(A,e,t,i,n,I,r,o){const s=n.length,c=new Uint8Array(64),C=IA(c),a=zI(n)&&zI(I),h=a?IA(n):vg,d=a?IA(I):vg;for(let l=0;l<s;r++){if(A(e,t,i,C,r,o),r>=Yg)throw new Error("arx: counter overflow");const E=Math.min(64,s-l);if(a&&64===E){const u=l/4;if(l%4!=0)throw new Error("arx: invalid block position");for(let p,y=0;y<16;y++)p=u+y,d[p]=h[p]^C[y];l+=64}else{for(let y,u=0;u<E;u++)y=l+u,I[y]=n[y]^c[u];l+=E}}}(A,u,y,S,c,C,a,r);d.length>0;)d.pop().fill(0);return C}}function Ci(A,e,t,i,n,I=20){let r=A[0],o=A[1],s=A[2],c=A[3],C=e[0],a=e[1],h=e[2],d=e[3],l=e[4],E=e[5],u=e[6],y=e[7],p=n,S=t[0],N=t[1],b=t[2],m=r,G=o,J=s,v=c,R=C,Y=a,T=h,W=d,AA=l,H=E,x=u,M=y,L=p,q=S,V=N,$=b;for(let ZA=0;ZA<I;ZA+=2)m=m+R|0,L=K(L^m,16),AA=AA+L|0,R=K(R^AA,12),m=m+R|0,L=K(L^m,8),AA=AA+L|0,R=K(R^AA,7),G=G+Y|0,q=K(q^G,16),H=H+q|0,Y=K(Y^H,12),G=G+Y|0,q=K(q^G,8),H=H+q|0,Y=K(Y^H,7),J=J+T|0,V=K(V^J,16),x=x+V|0,T=K(T^x,12),J=J+T|0,V=K(V^J,8),x=x+V|0,T=K(T^x,7),v=v+W|0,$=K($^v,16),M=M+$|0,W=K(W^M,12),v=v+W|0,$=K($^v,8),M=M+$|0,W=K(W^M,7),m=m+Y|0,$=K($^m,16),x=x+$|0,Y=K(Y^x,12),m=m+Y|0,$=K($^m,8),x=x+$|0,Y=K(Y^x,7),G=G+T|0,L=K(L^G,16),M=M+L|0,T=K(T^M,12),G=G+T|0,L=K(L^G,8),M=M+L|0,T=K(T^M,7),J=J+W|0,q=K(q^J,16),AA=AA+q|0,W=K(W^AA,12),J=J+W|0,q=K(q^J,8),AA=AA+q|0,W=K(W^AA,7),v=v+R|0,V=K(V^v,16),H=H+V|0,R=K(R^H,12),v=v+R|0,V=K(V^v,8),H=H+V|0,R=K(R^H,7);let eA=0;i[eA++]=r+m|0,i[eA++]=o+G|0,i[eA++]=s+J|0,i[eA++]=c+v|0,i[eA++]=C+R|0,i[eA++]=a+Y|0,i[eA++]=h+T|0,i[eA++]=d+W|0,i[eA++]=l+AA|0,i[eA++]=E+H|0,i[eA++]=u+x|0,i[eA++]=y+M|0,i[eA++]=p+L|0,i[eA++]=S+q|0,i[eA++]=N+V|0,i[eA++]=b+$|0}const OI=Qi(Ci,{counterRight:!1,counterLength:4,allowShortKeys:!1}),CQ=Qi(Ci,{counterRight:!1,counterLength:8,extendNonceFn:function QQ(A,e,t,i){let n=A[0],I=A[1],r=A[2],o=A[3],s=e[0],c=e[1],C=e[2],a=e[3],h=e[4],d=e[5],l=e[6],E=e[7],u=t[0],y=t[1],p=t[2],S=t[3];for(let b=0;b<20;b+=2)n=n+s|0,u=K(u^n,16),h=h+u|0,s=K(s^h,12),n=n+s|0,u=K(u^n,8),h=h+u|0,s=K(s^h,7),I=I+c|0,y=K(y^I,16),d=d+y|0,c=K(c^d,12),I=I+c|0,y=K(y^I,8),d=d+y|0,c=K(c^d,7),r=r+C|0,p=K(p^r,16),l=l+p|0,C=K(C^l,12),r=r+C|0,p=K(p^r,8),l=l+p|0,C=K(C^l,7),o=o+a|0,S=K(S^o,16),E=E+S|0,a=K(a^E,12),o=o+a|0,S=K(S^o,8),E=E+S|0,a=K(a^E,7),n=n+c|0,S=K(S^n,16),l=l+S|0,c=K(c^l,12),n=n+c|0,S=K(S^n,8),l=l+S|0,c=K(c^l,7),I=I+C|0,u=K(u^I,16),E=E+u|0,C=K(C^E,12),I=I+C|0,u=K(u^I,8),E=E+u|0,C=K(C^E,7),r=r+a|0,y=K(y^r,16),h=h+y|0,a=K(a^h,12),r=r+a|0,y=K(y^r,8),h=h+y|0,a=K(a^h,7),o=o+s|0,p=K(p^o,16),d=d+p|0,s=K(s^d,12),o=o+s|0,p=K(p^o,8),d=d+p|0,s=K(s^d,7);let N=0;i[N++]=n,i[N++]=I,i[N++]=r,i[N++]=o,i[N++]=u,i[N++]=y,i[N++]=p,i[N++]=S},allowShortKeys:!1}),EQ=new Uint8Array(16),Lg=(A,e)=>{A.update(e);const t=e.length%16;t&&A.update(EQ.subarray(t))},hQ=new Uint8Array(32);function zg(A,e,t,i,n){const I=A(e,t,hQ),r=oQ.create(I);n&&Lg(r,n),Lg(r,i);const o=new Uint8Array(16),s=qt(o);dt(s,0,BigInt(n?n.length:0),!0),dt(s,8,BigInt(i.length),!0),r.update(o);const c=r.digest();return I.fill(0),c}const Og=A=>(e,t,i)=>(gA(e,32),gA(t),{encrypt:(I,r)=>{const o=I.length,s=o+16;r?gA(r,s):r=new Uint8Array(s),A(e,t,I,r,1);const c=zg(A,e,t,r.subarray(0,-16),i);return r.set(c,o),r},decrypt:(I,r)=>{const o=I.length,s=o-16;if(o<16)throw new Error("encrypted data must be at least 16 bytes");r?gA(r,s):r=new Uint8Array(s);const c=I.subarray(0,-16);if(!_i(I.subarray(-16),zg(A,e,t,c,i)))throw new Error("invalid tag");return A(e,t,c,r,1),r}}),fQ=(Og(OI),rt({blockSize:64,nonceLength:24,tagLength:16},Og(CQ)));class Pg extends rg{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,vA.hash(e);const i=Le(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const n=this.blockLen,I=new Uint8Array(n);I.set(i.length>n?e.create().update(i).digest():i);for(let r=0;r<I.length;r++)I[r]^=54;this.iHash.update(I),this.oHash=e.create();for(let r=0;r<I.length;r++)I[r]^=106;this.oHash.update(I),I.fill(0)}update(e){return vA.exists(this),this.iHash.update(e),this}digestInto(e){vA.exists(this),vA.bytes(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:i,finished:n,destroyed:I,blockLen:r,outputLen:o}=this;return e.finished=n,e.destroyed=I,e.blockLen=r,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Ei=(A,e,t)=>new Pg(A,e).update(t).digest();Ei.create=(A,e)=>new Pg(A,e);const PI=new Uint8Array([0]),Vg=new Uint8Array;var lQ=Object.defineProperty,RA=(A,e)=>{for(var t in e)lQ(A,t,{get:e[t],enumerable:!0})},yt=Symbol("verified");function Tg(A){if(!(A=>A instanceof Object)(A)||"number"!=typeof A.kind||"string"!=typeof A.content||"number"!=typeof A.created_at||"string"!=typeof A.pubkey||!A.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(A.tags))return!1;for(let e=0;e<A.tags.length;e++){let t=A.tags[e];if(!Array.isArray(t))return!1;for(let i=0;i<t.length;i++)if("object"==typeof t[i])return!1}return!0}RA({},{Queue:()=>_g,QueueNode:()=>Wg,binarySearch:()=>XI,insertEventIntoAscendingList:()=>wQ,insertEventIntoDescendingList:()=>yQ,normalizeURL:()=>Kt,utf8Decoder:()=>be,utf8Encoder:()=>ke});var be=new TextDecoder("utf-8"),ke=new TextEncoder;function Kt(A){-1===A.indexOf("://")&&(A="wss://"+A);let e=new URL(A);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),("80"===e.port&&"ws:"===e.protocol||"443"===e.port&&"wss:"===e.protocol)&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}function yQ(A,e){const[t,i]=XI(A,n=>e.id===n.id?0:e.created_at===n.created_at?-1:n.created_at-e.created_at);return i||A.splice(t,0,e),A}function wQ(A,e){const[t,i]=XI(A,n=>e.id===n.id?0:e.created_at===n.created_at?-1:e.created_at-n.created_at);return i||A.splice(t,0,e),A}function XI(A,e){let t=0,i=A.length-1;for(;t<=i;){const n=Math.floor((t+i)/2),I=e(A[n]);if(0===I)return[n,!0];I<0?i=n-1:t=n+1}return[t,!1]}var Wg=class{value;next=null;prev=null;constructor(A){this.value=A}},_g=class{first;last;constructor(){this.first=null,this.last=null}enqueue(A){const e=new Wg(A);return this.last?this.last===this.first?(this.last=e,this.last.prev=this.first,this.first.next=e):(e.prev=this.last,this.last.next=e,this.last=e):(this.first=e,this.last=e),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const e=this.first;return this.first=null,this.last=null,e.value}const A=this.first;return this.first=A.next,A.value}};function tn(A){let e=ft(ke.encode(function FQ(A){if(!Tg(A))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,A.pubkey,A.created_at,A.kind,A.tags,A.content])}(A)));return ae(e)}var nn=new class{generateSecretKey(){return Bi.utils.randomPrivateKey()}getPublicKey(A){return ae(Bi.getPublicKey(A))}finalizeEvent(A,e){const t=A;return t.pubkey=ae(Bi.getPublicKey(e)),t.id=tn(t),t.sig=ae(Bi.sign(tn(t),e)),t[yt]=!0,t}verifyEvent(A){if("boolean"==typeof A[yt])return A[yt];const e=tn(A);if(e!==A.id)return A[yt]=!1,!1;try{const t=Bi.verify(A.sig,e,A.pubkey);return A[yt]=t,t}catch{return A[yt]=!1,!1}}},jg=nn.getPublicKey,Me=nn.finalizeEvent,hi=nn.verifyEvent;function $g(A){return 1e3<=A&&A<1e4||[1,2,4,5,6,7,8,16,40,41,42,43,44].includes(A)}function VI(A){return[0,3].includes(A)||1e4<=A&&A<2e4}function AB(A){return 2e4<=A&&A<3e4}function eB(A){return 3e4<=A&&A<4e4}function kQ(A){return $g(A)?"regular":VI(A)?"replaceable":AB(A)?"ephemeral":eB(A)?"parameterized":"unknown"}RA({},{Application:()=>DC,BadgeAward:()=>JQ,BadgeDefinition:()=>lC,BlockedRelaysList:()=>iC,BookmarkList:()=>AC,Bookmarksets:()=>EC,Calendar:()=>HC,CalendarEventRSVP:()=>xC,ChannelCreation:()=>tB,ChannelHideMessage:()=>IB,ChannelMessage:()=>nB,ChannelMetadata:()=>iB,ChannelMuteUser:()=>rB,ClassifiedListing:()=>SC,ClientAuth:()=>oB,CommunitiesList:()=>eC,CommunityDefinition:()=>bC,CommunityPostApproval:()=>zQ,Contacts:()=>GQ,CreateOrUpdateProduct:()=>yC,CreateOrUpdateStall:()=>dC,Curationsets:()=>hC,Date:()=>GC,DraftClassifiedListing:()=>UC,DraftLong:()=>pC,Emojisets:()=>FC,EncryptedDirectMessage:()=>NQ,EncryptedDirectMessages:()=>HQ,EventDeletion:()=>xQ,FileMetadata:()=>MQ,FileServerPreference:()=>oC,Followsets:()=>aC,GenericRepost:()=>qQ,Genericlists:()=>QC,HTTPAuth:()=>WI,Handlerinformation:()=>qC,Handlerrecommendation:()=>JC,Highlights:()=>WQ,InterestsList:()=>IC,Interestsets:()=>uC,JobFeedback:()=>XQ,JobRequest:()=>OQ,JobResult:()=>PQ,Label:()=>LQ,LightningPubRPC:()=>BC,LiveChatMessage:()=>RQ,LiveEvent:()=>kC,LongFormArticle:()=>wC,Metadata:()=>mQ,Mutelist:()=>_Q,NWCWalletInfo:()=>gC,NWCWalletRequest:()=>gB,NWCWalletResponse:()=>sC,NostrConnect:()=>cC,OpenTimestamps:()=>bQ,Pinlist:()=>jQ,ProblemTracker:()=>KQ,ProfileBadges:()=>fC,PublicChatsList:()=>tC,Reaction:()=>TI,RecommendRelay:()=>UQ,RelayList:()=>$Q,Relaysets:()=>CC,Report:()=>YQ,Reporting:()=>vQ,Repost:()=>ZI,SearchRelaysList:()=>nC,ShortTextNote:()=>SQ,Time:()=>NC,UserEmojiList:()=>rC,UserStatuses:()=>mC,Zap:()=>TQ,ZapGoal:()=>VQ,ZapRequest:()=>ZQ,classifyKind:()=>kQ,isEphemeralKind:()=>AB,isParameterizedReplaceableKind:()=>eB,isRegularKind:()=>$g,isReplaceableKind:()=>VI});var mQ=0,SQ=1,UQ=2,GQ=3,NQ=4,HQ=4,xQ=5,ZI=6,TI=7,JQ=8,qQ=16,tB=40,iB=41,nB=42,IB=43,rB=44,bQ=1040,MQ=1063,RQ=1311,KQ=1971,YQ=1984,vQ=1984,LQ=1985,zQ=4550,OQ=5999,PQ=6999,XQ=7e3,VQ=9041,ZQ=9734,TQ=9735,WQ=9802,_Q=1e4,jQ=10001,$Q=10002,AC=10003,eC=10004,tC=10005,iC=10006,nC=10007,IC=10015,rC=10030,oC=10096,gC=13194,BC=21e3,oB=22242,gB=23194,sC=23195,cC=24133,WI=27235,aC=3e4,QC=30001,CC=30002,EC=30003,hC=30004,fC=30008,lC=30009,uC=30015,dC=30017,yC=30018,wC=30023,pC=30024,FC=30030,DC=30078,kC=30311,mC=30315,SC=30402,UC=30403,GC=31922,NC=31923,HC=31924,xC=31925,JC=31989,qC=31990,bC=34550;function In(A,e){let t=e.length+3,i=A.indexOf(`"${e}":`)+t,n=A.slice(i).indexOf('"')+i+1;return A.slice(n,n+64)}function BB(A,e){let t=e.length,i=A.indexOf(`"${e}":`)+t+3,n=A.slice(i),I=Math.min(n.indexOf(","),n.indexOf("}"));return parseInt(n.slice(0,I),10)}function sB(A){let e=A.slice(0,22).indexOf('"EVENT"');if(-1===e)return null;let t=A.slice(e+7+1).indexOf('"');if(-1===t)return null;let i=e+7+1+t,n=A.slice(i+1,80).indexOf('"');return-1===n?null:A.slice(i+1,i+1+n)}function YC(A,e){return e===In(A,"id")}function vC(A,e){return e===In(A,"pubkey")}function LC(A,e){return e===BB(A,"kind")}function cB(A,e){return{kind:oB,created_at:Math.floor(Date.now()/1e3),tags:[["relay",A],["challenge",e]],content:""}}RA({},{getHex64:()=>In,getInt:()=>BB,getSubscriptionId:()=>sB,matchEventId:()=>YC,matchEventKind:()=>LC,matchEventPubkey:()=>vC}),RA({},{makeAuthEvent:()=>cB});try{WebSocket}catch{}try{WebSocket}catch{}RA({},{BECH32_REGEX:()=>CB,Bech32MaxSize:()=>$I,decode:()=>fi,encodeBytes:()=>on,naddrEncode:()=>tE,neventEncode:()=>eE,noteEncode:()=>$C,nprofileEncode:()=>AE,npubEncode:()=>jC,nrelayEncode:()=>iE,nsecEncode:()=>_C});var $I=5e3,CB=/[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;function fi(A){let{prefix:e,words:t}=nt.decode(A,$I),i=new Uint8Array(nt.fromWords(t));switch(e){case"nprofile":{let n=rn(i);if(!n[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(32!==n[0][0].length)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:ae(n[0][0]),relays:n[1]?n[1].map(I=>be.decode(I)):[]}}}case"nevent":{let n=rn(i);if(!n[0]?.[0])throw new Error("missing TLV 0 for nevent");if(32!==n[0][0].length)throw new Error("TLV 0 should be 32 bytes");if(n[2]&&32!==n[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(n[3]&&4!==n[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:ae(n[0][0]),relays:n[1]?n[1].map(I=>be.decode(I)):[],author:n[2]?.[0]?ae(n[2][0]):void 0,kind:n[3]?.[0]?parseInt(ae(n[3][0]),16):void 0}}}case"naddr":{let n=rn(i);if(!n[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!n[2]?.[0])throw new Error("missing TLV 2 for naddr");if(32!==n[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(!n[3]?.[0])throw new Error("missing TLV 3 for naddr");if(4!==n[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:be.decode(n[0][0]),pubkey:ae(n[2][0]),kind:parseInt(ae(n[3][0]),16),relays:n[1]?n[1].map(I=>be.decode(I)):[]}}}case"nrelay":{let n=rn(i);if(!n[0]?.[0])throw new Error("missing TLV 0 for nrelay");return{type:"nrelay",data:be.decode(n[0][0])}}case"nsec":return{type:e,data:i};case"npub":case"note":return{type:e,data:ae(i)};default:throw new Error(`unknown prefix ${e}`)}}function rn(A){let e={},t=A;for(;t.length>0;){let i=t[0],n=t[1],I=t.slice(2,2+n);if(t=t.slice(2+n),I.length<n)throw new Error(`not enough data to read on TLV ${i}`);e[i]=e[i]||[],e[i].push(I)}return e}function _C(A){return on("nsec",A)}function jC(A){return on("npub",xt(A))}function $C(A){return on("note",xt(A))}function li(A,e){let t=nt.toWords(e);return nt.encode(A,t,$I)}function on(A,e){return li(A,e)}function AE(A){return li("nprofile",gn({0:[xt(A.pubkey)],1:(A.relays||[]).map(t=>ke.encode(t))}))}function eE(A){let e;return void 0!==A.kind&&(e=function WC(A){const e=new Uint8Array(4);return e[0]=A>>24&255,e[1]=A>>16&255,e[2]=A>>8&255,e[3]=255&A,e}(A.kind)),li("nevent",gn({0:[xt(A.id)],1:(A.relays||[]).map(i=>ke.encode(i)),2:A.author?[xt(A.author)]:[],3:e?[new Uint8Array(e)]:[]}))}function tE(A){let e=new ArrayBuffer(4);return new DataView(e).setUint32(0,A.kind,!1),li("naddr",gn({0:[ke.encode(A.identifier)],1:(A.relays||[]).map(i=>ke.encode(i)),2:[xt(A.pubkey)],3:[new Uint8Array(e)]}))}function iE(A){return li("nrelay",gn({0:[ke.encode(A)]}))}function gn(A){let e=[];return Object.entries(A).reverse().forEach(([t,i])=>{i.forEach(n=>{let I=new Uint8Array(n.length+2);I.set([parseInt(t)],0),I.set([n.length],1),I.set(n,2),e.push(I)})}),si(...e)}var Yt={};function EB(A,e,t){return Ar.apply(this,arguments)}function Ar(){return(Ar=F(function*(A,e,t){const i=A instanceof Uint8Array?ae(A):A,I=hB(Ht.getSharedSecret(i,"02"+e));let r=Uint8Array.from(Xi(16)),o=ke.encode(t),s=qg(I,r).encrypt(o);return`${Oe.encode(new Uint8Array(s))}?iv=${Oe.encode(new Uint8Array(r.buffer))}`})).apply(this,arguments)}function IE(A,e,t){return er.apply(this,arguments)}function er(){return(er=F(function*(A,e,t){const i=A instanceof Uint8Array?ae(A):A;let[n,I]=t.split("?iv="),o=hB(Ht.getSharedSecret(i,"02"+e)),s=Oe.decode(I),c=Oe.decode(n),C=qg(o,s).decrypt(c);return be.decode(C)})).apply(this,arguments)}function hB(A){return A.slice(1,33)}RA(Yt,{decrypt:()=>IE,encrypt:()=>EB}),RA({},{NIP05_REGEX:()=>fB,isValid:()=>BE,queryProfile:()=>lB,searchDomain:()=>gE,useFetchImplementation:()=>oE});var Bn,fB=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/;try{Bn=fetch}catch{}function oE(A){Bn=A}function gE(A){return tr.apply(this,arguments)}function tr(){return(tr=F(function*(A,e=""){try{const t=`https://${A}/.well-known/nostr.json?name=${e}`;return(yield(yield Bn(t,{redirect:"error"})).json()).names}catch{return{}}})).apply(this,arguments)}function lB(A){return ir.apply(this,arguments)}function ir(){return(ir=F(function*(A){const e=A.match(fB);if(!e)return null;const[t,i="_",n]=e;try{const I=`https://${n}/.well-known/nostr.json?name=${i}`,r=yield(yield Bn(I,{redirect:"error"})).json();let o=r.names[i];return o?{pubkey:o,relays:r.relays?.[o]}:null}catch{return null}})).apply(this,arguments)}function BE(A,e){return nr.apply(this,arguments)}function nr(){return(nr=F(function*(A,e){let t=yield lB(e);return!!t&&t.pubkey===A})).apply(this,arguments)}function cE(A){const e={reply:void 0,root:void 0,mentions:[],profiles:[]},t=[];for(const i of A.tags)"e"===i[0]&&i[1]&&t.push(i),"p"===i[0]&&i[1]&&e.profiles.push({pubkey:i[1],relays:i[2]?[i[2]]:[]});for(let i=0;i<t.length;i++){const n=t[i],[I,r,o,s]=n,c={id:r,relays:o?[o]:[]},a=i===t.length-1;"root"!==s?"reply"!==s?"mention"!==s?0===i?e.root=c:a?e.reply=c:e.mentions.push(c):e.mentions.push(c):e.reply=c:e.root=c}return e}RA({},{parse:()=>cE}),RA({},{fetchRelayInformation:()=>CE,useFetchImplementation:()=>QE});try{fetch}catch{}function QE(A){}function CE(A){return Ir.apply(this,arguments)}function Ir(){return(Ir=F(function*(A){return yield(yield fetch(A.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()})).apply(this,arguments)}function dB(A){let e=0;for(let t=0;t<A.length;t++){const i=parseInt(A[t],16);if(0!==i){e+=Math.clz32(i)-28;break}e+=4}return e}function hE(A,e){let t=0;const i=A,n=["nonce",t.toString(),e.toString()];for(i.tags.push(n);;){const I=Math.floor((new Date).getTime()/1e3);if(I!==i.created_at&&(t=0,i.created_at=I),n[1]=(++t).toString(),i.id=tn(i),dB(i.id)>=e)break}return i}function lE(A,e,t,i){return Me({kind:ZI,tags:[...A.tags??[],["e",e.id,t],["p",e.pubkey]],content:""===A.content?"":JSON.stringify(e),created_at:A.created_at},i)}function yB(A){if(A.kind!==ZI)return;let e,t;for(let i=A.tags.length-1;i>=0&&(void 0===e||void 0===t);i--){const n=A.tags[i];n.length>=2&&("e"===n[0]&&void 0===e?e=n:"p"===n[0]&&void 0===t&&(t=n))}return void 0!==e?{id:e[1],relays:[e[2],t?.[2]].filter(i=>"string"==typeof i),author:t?.[1]}:void 0}function uE(A,{skipVerification:e}={}){const t=yB(A);if(void 0===t||""===A.content)return;let i;try{i=JSON.parse(A.content)}catch{return}return i.id===t.id&&(e||hi(i))?i:void 0}RA({},{getPow:()=>dB,minePow:()=>hE}),RA({},{finishRepostEvent:()=>lE,getRepostedEvent:()=>uE,getRepostedEventPointer:()=>yB}),RA({},{NOSTR_URI_REGEX:()=>sn,parse:()=>wE,test:()=>yE});var sn=new RegExp(`nostr:(${CB.source})`);function yE(A){return"string"==typeof A&&new RegExp(`^${sn.source}$`).test(A)}function wE(A){const e=A.match(new RegExp(`^${sn.source}$`));if(!e)throw new Error(`Invalid Nostr URI: ${A}`);return{uri:e[0],value:e[1],decoded:fi(e[1])}}function FE(A,e,t){const i=e.tags.filter(n=>n.length>=2&&("e"===n[0]||"p"===n[0]));return Me({...A,kind:TI,tags:[...A.tags??[],...i,["e",e.id],["p",e.pubkey]],content:A.content??"+"},t)}function DE(A){if(A.kind!==TI)return;let e,t;for(let i=A.tags.length-1;i>=0&&(void 0===e||void 0===t);i--){const n=A.tags[i];n.length>=2&&("e"===n[0]&&void 0===e?e=n:"p"===n[0]&&void 0===t&&(t=n))}return void 0!==e&&void 0!==t?{id:e[1],relays:[e[2],t[2]].filter(i=>void 0!==i),author:t[1]}:void 0}RA({},{finishReactionEvent:()=>FE,getReactedEventPointer:()=>DE}),RA({},{matchAll:()=>mE,regex:()=>rr,replaceAll:()=>SE});var rr=()=>new RegExp(`\\b${sn.source}\\b`,"g");function*mE(A){const e=A.matchAll(rr());for(const t of e)try{const[i,n]=t;yield{uri:i,value:n,decoded:fi(n),start:t.index,end:t.index+i.length}}catch{}}function SE(A,e){return A.replaceAll(rr(),(t,i)=>e({uri:t,value:i,decoded:fi(i)}))}RA({},{channelCreateEvent:()=>GE,channelHideMessageEvent:()=>xE,channelMessageEvent:()=>HE,channelMetadataEvent:()=>NE,channelMuteUserEvent:()=>JE});var GE=(A,e)=>{let t;if("object"==typeof A.content)t=JSON.stringify(A.content);else{if("string"!=typeof A.content)return;t=A.content}return Me({kind:tB,tags:[...A.tags??[]],content:t,created_at:A.created_at},e)},NE=(A,e)=>{let t;if("object"==typeof A.content)t=JSON.stringify(A.content);else{if("string"!=typeof A.content)return;t=A.content}return Me({kind:iB,tags:[["e",A.channel_create_event_id],...A.tags??[]],content:t,created_at:A.created_at},e)},HE=(A,e)=>{const t=[["e",A.channel_create_event_id,A.relay_url,"root"]];return A.reply_to_channel_message_event_id&&t.push(["e",A.reply_to_channel_message_event_id,A.relay_url,"reply"]),Me({kind:nB,tags:[...t,...A.tags??[]],content:A.content,created_at:A.created_at},e)},xE=(A,e)=>{let t;if("object"==typeof A.content)t=JSON.stringify(A.content);else{if("string"!=typeof A.content)return;t=A.content}return Me({kind:IB,tags:[["e",A.channel_message_event_id],...A.tags??[]],content:t,created_at:A.created_at},e)},JE=(A,e)=>{let t;if("object"==typeof A.content)t=JSON.stringify(A.content);else{if("string"!=typeof A.content)return;t=A.content}return Me({kind:rB,tags:[["p",A.pubkey_to_mute],...A.tags??[]],content:t,created_at:A.created_at},e)};RA({},{EMOJI_SHORTCODE_REGEX:()=>wB,matchAll:()=>bE,regex:()=>or,replaceAll:()=>ME});var gr,wB=/:(\w+):/,or=()=>new RegExp(`\\B${wB.source}\\B`,"g");function*bE(A){const e=A.matchAll(or());for(const t of e)try{const[i,n]=t;yield{shortcode:i,name:n,start:t.index,end:t.index+i.length}}catch{}}function ME(A,e){return A.replaceAll(or(),(t,i)=>e({shortcode:t,name:i}))}RA({},{useFetchImplementation:()=>KE,validateGithub:()=>YE});try{gr=fetch}catch{}function KE(A){gr=A}function YE(A,e,t){return Br.apply(this,arguments)}function Br(){return(Br=F(function*(A,e,t){try{return(yield(yield gr(`https://gist.github.com/${e}/${t}/raw`)).text())===`Verifying that I control the following Nostr public key: ${A}`}catch{return!1}})).apply(this,arguments)}var gt={};RA(gt,{decrypt:()=>UB,encrypt:()=>SB,getConversationKey:()=>DB,v2:()=>PE});var pB=1,FB=65535;function DB(A,e){const t=Ht.getSharedSecret(A,"02"+e).subarray(1,33);return function Xg(A,e,t){return vA.hash(A),void 0===t&&(t=new Uint8Array(A.outputLen)),Ei(A,Le(t),Le(e))}(ft,t,"nip44-v2")}function kB(A,e){const t=function Zg(A,e,t,i=32){if(vA.hash(A),vA.number(i),i>255*A.outputLen)throw new Error("Length should be <= 255*HashLen");const n=Math.ceil(i/A.outputLen);void 0===t&&(t=Vg);const I=new Uint8Array(n*A.outputLen),r=Ei.create(A,e),o=r._cloneInto(),s=new Uint8Array(r.outputLen);for(let c=0;c<n;c++)PI[0]=c+1,o.update(0===c?Vg:s).update(t).update(PI).digestInto(s),I.set(s,A.outputLen*c),r._cloneInto(o);return r.destroy(),o.destroy(),s.fill(0),PI.fill(0),I.slice(0,i)}(ft,A,e,76);return{chacha_key:t.subarray(0,32),chacha_nonce:t.subarray(32,44),hmac_key:t.subarray(44,76)}}function sr(A){if(!Number.isSafeInteger(A)||A<1)throw new Error("expected positive integer");if(A<=32)return 32;const e=1<<Math.floor(Math.log2(A-1))+1,t=e<=256?32:e/8;return t*(Math.floor((A-1)/t)+1)}function mB(A,e,t){if(32!==t.length)throw new Error("AAD associated data must be 32 bytes");const i=si(t,e);return Ei(ft,A,i)}function SB(A,e,t=Xi(32)){const{chacha_key:i,chacha_nonce:n,hmac_key:I}=kB(e,t),r=function LE(A){const e=ke.encode(A),t=e.length,i=function vE(A){if(!Number.isSafeInteger(A)||A<pB||A>FB)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const e=new Uint8Array(2);return new DataView(e.buffer).setUint16(0,A,!1),e}(t);return si(i,e,new Uint8Array(sr(t)-t))}(A),o=OI(i,n,r),s=mB(I,o,t);return Oe.encode(si(new Uint8Array([2]),t,o,s))}function UB(A,e){const{nonce:t,ciphertext:i,mac:n}=function OE(A){if("string"!=typeof A)throw new Error("payload must be a valid string");const e=A.length;if(e<132||e>87472)throw new Error("invalid payload length: "+e);if("#"===A[0])throw new Error("unknown encryption version");let t;try{t=Oe.decode(A)}catch(I){throw new Error("invalid base64: "+I.message)}const i=t.length;if(i<99||i>65603)throw new Error("invalid data length: "+i);const n=t[0];if(2!==n)throw new Error("unknown encryption version "+n);return{nonce:t.subarray(1,33),ciphertext:t.subarray(33,-32),mac:t.subarray(-32)}}(A),{chacha_key:I,chacha_nonce:r,hmac_key:o}=kB(e,t);if(!_i(mB(o,i,t),n))throw new Error("invalid MAC");return function zE(A){const e=new DataView(A.buffer).getUint16(0),t=A.subarray(2,2+e);if(e<pB||e>FB||t.length!==e||A.length!==2+sr(e))throw new Error("invalid padding");return be.decode(t)}(OI(I,r,i))}var ar,PE={utils:{getConversationKey:DB,calcPaddedLen:sr},encrypt:SB,decrypt:UB};function VE(A){const{pathname:e,searchParams:t}=new URL(A),i=e,n=t.get("relay"),I=t.get("secret");if(!i||!n||!I)throw new Error("invalid connection string");return{pubkey:i,relay:n,secret:I}}function ZE(A,e,t){return cr.apply(this,arguments)}function cr(){return(cr=F(function*(A,e,t){const n=yield EB(e,A,JSON.stringify({method:"pay_invoice",params:{invoice:t}})),I={kind:gB,created_at:Math.round(Date.now()/1e3),content:n,tags:[["p",A]]};return Me(I,e)})).apply(this,arguments)}RA({},{makeNwcRequestEvent:()=>ZE,parseConnectionString:()=>VE}),RA({},{getZapEndpoint:()=>_E,makeZapReceipt:()=>Ah,makeZapRequest:()=>jE,useFetchImplementation:()=>WE,validateZapRequest:()=>$E});try{ar=fetch}catch{}function WE(A){ar=A}function _E(A){return Qr.apply(this,arguments)}function Qr(){return(Qr=F(function*(A){try{let e="",{lud06:t,lud16:i}=JSON.parse(A.content);if(t){let{words:r}=nt.decode(t,1e3),o=nt.fromWords(r);e=be.decode(o)}else{if(!i)return null;{let[r,o]=i.split("@");e=new URL(`/.well-known/lnurlp/${r}`,`https://${o}`).toString()}}let I=yield(yield ar(e)).json();if(I.allowsNostr&&I.nostrPubkey)return I.callback}catch{}return null})).apply(this,arguments)}function jE({profile:A,event:e,amount:t,relays:i,comment:n=""}){if(!t)throw new Error("amount not given");if(!A)throw new Error("profile not given");let I={kind:9734,created_at:Math.round(Date.now()/1e3),content:n,tags:[["p",A],["amount",t.toString()],["relays",...i]]};return e&&I.tags.push(["e",e]),I}function $E(A){let e;try{e=JSON.parse(A)}catch{return"Invalid zap request JSON."}if(!Tg(e))return"Zap request is not a valid Nostr event.";if(!hi(e))return"Invalid signature on zap request.";let t=e.tags.find(([I,r])=>"p"===I&&r);if(!t)return"Zap request doesn't have a 'p' tag.";if(!t[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let i=e.tags.find(([I,r])=>"e"===I&&r);return i&&!i[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":e.tags.find(([I,r])=>"relays"===I&&r)?null:"Zap request doesn't have a 'relays' tag."}function Ah({zapRequest:A,preimage:e,bolt11:t,paidAt:i}){let n=JSON.parse(A),I=n.tags.filter(([o])=>"e"===o||"p"===o||"a"===o),r={kind:9735,created_at:Math.round(i.getTime()/1e3),content:"",tags:[...I,["P",n.pubkey],["bolt11",t],["description",A]]};return e&&r.tags.push(["preimage",e]),r}function th(A,e,t){return Cr.apply(this,arguments)}function Cr(){return(Cr=F(function*(A,e,t,i=!1,n){const I={kind:WI,tags:[["u",A],["method",e]],created_at:Math.round((new Date).getTime()/1e3),content:""};n&&I.tags.push(["payload",fr(n)]);const r=yield t(I);return(i?"Nostr ":"")+Oe.encode(ke.encode(JSON.stringify(r)))})).apply(this,arguments)}function ih(A,e,t){return Er.apply(this,arguments)}function Er(){return(Er=F(function*(A,e,t){const i=yield NB(A).catch(I=>{throw I});return yield MB(i,e,t).catch(I=>{throw I})})).apply(this,arguments)}function NB(A){return hr.apply(this,arguments)}function hr(){return(hr=F(function*(A){if(!A)throw new Error("Missing token");A=A.replace("Nostr ","");const e=be.decode(Oe.decode(A));if(!e||0===e.length||!e.startsWith("{"))throw new Error("Invalid token");return JSON.parse(e)})).apply(this,arguments)}function HB(A){return!!A.created_at&&Math.round((new Date).getTime()/1e3)-A.created_at<60}function xB(A){return A.kind===WI}function JB(A,e){const t=A.tags.find(i=>"u"===i[0]);return!!t&&t.length>0&&t[1]===e}function qB(A,e){const t=A.tags.find(i=>"method"===i[0]);return!!t&&t.length>0&&t[1].toLowerCase()===e.toLowerCase()}function fr(A){return ae(ft(ke.encode(JSON.stringify(A))))}function bB(A,e){const t=A.tags.find(n=>"payload"===n[0]);if(!t)return!1;const i=fr(e);return t.length>0&&t[1]===i}function MB(A,e,t,i){return lr.apply(this,arguments)}function lr(){return(lr=F(function*(A,e,t,i){if(!hi(A))throw new Error("Invalid nostr event, signature invalid");if(!xB(A))throw new Error("Invalid nostr event, kind invalid");if(!HB(A))throw new Error("Invalid nostr event, created_at timestamp invalid");if(!JB(A,e))throw new Error("Invalid nostr event, url tag invalid");if(!qB(A,t))throw new Error("Invalid nostr event, method tag invalid");if(i&&"object"==typeof i&&Object.keys(i).length>0&&!bB(A,i))throw new Error("Invalid nostr event, payload tag does not match request body hash");return!0})).apply(this,arguments)}function YB(A,e,t,i){const{c:n,dkLen:I,DK:r,PRF:o,PRFSalt:s}=function RB(A,e,t,i){vA.hash(A);const n=og({dkLen:32,asyncTick:10},i),{c:I,dkLen:r,asyncTick:o}=n;if(vA.number(I),vA.number(r),vA.number(o),I<1)throw new Error("PBKDF2: iterations (c) should be >= 1");const s=Le(e),c=Le(t),C=new Uint8Array(r),a=Ei.create(A,s),h=a._cloneInto().update(c);return{c:I,dkLen:r,asyncTick:o,DK:C,PRF:a,PRFSalt:h}}(A,e,t,i);let c;const C=new Uint8Array(4),a=Pi(C),h=new Uint8Array(o.outputLen);for(let d=1,l=0;l<I;d++,l+=o.outputLen){const E=r.subarray(l,l+o.outputLen);a.setInt32(0,d,!1),(c=s._cloneInto(c)).update(C).digestInto(h),E.set(h.subarray(0,E.length));for(let u=1;u<n;u++){o._cloneInto(c).update(h).digestInto(h);for(let y=0;y<E.length;y++)E[y]^=h[y]}}return function KB(A,e,t,i,n){return A.destroy(),e.destroy(),i&&i.destroy(),n.fill(0),t}(o,s,r,c,h)}RA({},{getToken:()=>th,hashPayload:()=>fr,unpackEventFromToken:()=>NB,validateEvent:()=>MB,validateEventKind:()=>xB,validateEventMethodTag:()=>qB,validateEventPayloadTag:()=>bB,validateEventTimestamp:()=>HB,validateEventUrlTag:()=>JB,validateToken:()=>ih});const QA=(A,e)=>A<<e|A>>>32-e;function LB(A,e,t,i,n,I){let r=A[e++]^t[i++],o=A[e++]^t[i++],s=A[e++]^t[i++],c=A[e++]^t[i++],C=A[e++]^t[i++],a=A[e++]^t[i++],h=A[e++]^t[i++],d=A[e++]^t[i++],l=A[e++]^t[i++],E=A[e++]^t[i++],u=A[e++]^t[i++],y=A[e++]^t[i++],p=A[e++]^t[i++],S=A[e++]^t[i++],N=A[e++]^t[i++],b=A[e++]^t[i++],m=r,G=o,J=s,v=c,R=C,Y=a,T=h,W=d,AA=l,H=E,x=u,M=y,L=p,q=S,V=N,$=b;for(let eA=0;eA<8;eA+=2)R^=QA(m+L|0,7),AA^=QA(R+m|0,9),L^=QA(AA+R|0,13),m^=QA(L+AA|0,18),H^=QA(Y+G|0,7),q^=QA(H+Y|0,9),G^=QA(q+H|0,13),Y^=QA(G+q|0,18),V^=QA(x+T|0,7),J^=QA(V+x|0,9),T^=QA(J+V|0,13),x^=QA(T+J|0,18),v^=QA($+M|0,7),W^=QA(v+$|0,9),M^=QA(W+v|0,13),$^=QA(M+W|0,18),G^=QA(m+v|0,7),J^=QA(G+m|0,9),v^=QA(J+G|0,13),m^=QA(v+J|0,18),T^=QA(Y+R|0,7),W^=QA(T+Y|0,9),R^=QA(W+T|0,13),Y^=QA(R+W|0,18),M^=QA(x+H|0,7),AA^=QA(M+x|0,9),H^=QA(AA+M|0,13),x^=QA(H+AA|0,18),L^=QA($+V|0,7),q^=QA(L+$|0,9),V^=QA(q+L|0,13),$^=QA(V+q|0,18);n[I++]=r+m|0,n[I++]=o+G|0,n[I++]=s+J|0,n[I++]=c+v|0,n[I++]=C+R|0,n[I++]=a+Y|0,n[I++]=h+T|0,n[I++]=d+W|0,n[I++]=l+AA|0,n[I++]=E+H|0,n[I++]=u+x|0,n[I++]=y+M|0,n[I++]=p+L|0,n[I++]=S+q|0,n[I++]=N+V|0,n[I++]=b+$|0}function vt(A,e,t,i,n){let I=i+0,r=i+16*n;for(let o=0;o<16;o++)t[r+o]=A[e+16*(2*n-1)+o];for(let o=0;o<n;o++,I+=16,e+=16)LB(t,r,A,e,t,I),o>0&&(r+=16),LB(t,I,A,e+=16,t,r)}function Qh(A,e,t=16,i=2){let n=Xi(16),I=2**t,r=function gh(A,e,t){const{N:i,r:n,p:I,dkLen:r,blockSize32:o,V:s,B32:c,B:C,tmp:a,blockMixCb:h}=function zB(A,e,t){const i=og({dkLen:32,asyncTick:10,maxmem:1073742848},t),{N:n,r:I,p:r,dkLen:o,asyncTick:s,maxmem:c,onProgress:C}=i;if(vA.number(n),vA.number(I),vA.number(r),vA.number(o),vA.number(s),vA.number(c),void 0!==C&&"function"!=typeof C)throw new Error("progressCb should be function");const a=128*I,h=a/4;if(n<=1||n&n-1||n>=2**(a/8)||n>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(r<0||r>137438953440/a)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(o<0||o>137438953440)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");const d=a*(n+r);if(d>c)throw new Error(`Scrypt: parameters too large, ${d} (128 * r * (N + p)) > ${c} (maxmem)`);const l=YB(ft,A,e,{c:1,dkLen:a*r}),E=mI(l),u=mI(new Uint8Array(a*n)),y=mI(new Uint8Array(a));let p=()=>{};if(C){const S=2*n*r,N=Math.max(Math.floor(S/1e4),1);let b=0;p=()=>{b++,C&&(!(b%N)||b===S)&&C(b/S)}}return{N:n,r:I,p:r,dkLen:o,blockSize32:h,V:u,B32:E,B:l,tmp:y,blockMixCb:p,asyncTick:s}}(A,e,t);for(let d=0;d<I;d++){const l=o*d;for(let E=0;E<o;E++)s[E]=c[l+E];for(let E=0,u=0;E<i-1;E++)vt(s,u,s,u+=o,n),h();vt(s,(i-1)*o,c,l,n),h();for(let E=0;E<i;E++){const u=c[l+o-16]%i;for(let y=0;y<o;y++)a[y]=c[l+y]^s[u*o+y];vt(a,0,c,l,n),h()}}return function OB(A,e,t,i,n){const I=YB(ft,A,t,{c:1,dkLen:e});return t.fill(0),i.fill(0),n.fill(0),I}(A,r,C,s,a)}(e.normalize("NFKC"),n,{N:I,r:8,p:1,dkLen:32}),o=Xi(24),s=Uint8Array.from([i]),C=fQ(r,o,s).encrypt(A);return function ah(A,e){return function ch(A,e){let t=nt.toWords(e);return nt.encode(A,t,5e3)}(A,e)}("ncryptsec",si(Uint8Array.from([2]),Uint8Array.from([t]),n,o,s,C))}class le{static getNostrPrivkeyObject(e){try{const t=this.#A(e);if("nsec"!==t.represents)throw new Error("The provided string is NOT an nsec.");return{hex:t.hex,nsec:e}}catch{}try{return{hex:e,nsec:le.privkey2nsec(e)}}catch{}throw new Error("Could not convert the provided string into nsec/hex.")}static getNostrPubkeyObject(e){try{const t=this.#A(e);if("npub"!==t.represents)throw new Error("The provided string is NOT an npub.");return{hex:t.hex,npub:e}}catch{}try{return{hex:e,npub:le.pubkey2npub(e)}}catch{}throw new Error("Could not convert the provided string into npub/hex.")}static pubkey2npub(e){const t=ni(e),i=fe.toWords(t);return fe.encode("npub",i,5e3)}static privkey2nsec(e){const t=ni(e),i=fe.toWords(t);return fe.encode("nsec",i,5e3)}static pubkeyFromPrivkey(e){const t=ni(e);return jg(t)}static hex2bytes(e){return ni(e)}static splitKey(e,t,i){return`${e.slice(0,t)}...${e.slice(-i)}`}static#A(e){const{prefix:t,words:i}=fe.decode(e,5e3),n=new Uint8Array(fe.fromWords(i));return{represents:t,hex:wc(n)}}static privkeyToNcryptsec(e,t){return F(function*(i,n,I=16){return Qh(ni(i),n,I)}).apply(this,arguments)}}class Ch{connectionData;ws=null;connected=!1;pendingRequests=new Map;subscriptionId=null;conversationKey;clientPubkey;encryptionMode="nip44";logCallback=null;constructor(e,t){this.connectionData=e,this.logCallback=t??null,this.conversationKey=gt.v2.utils.getConversationKey(le.hex2bytes(e.secret),e.walletPubkey),this.clientPubkey=jg(le.hex2bytes(e.secret))}log(e,t){this.logCallback&&this.logCallback(e,t)}connect(){var e=this;return F(function*(){if(!e.connected)return new Promise((t,i)=>{try{e.log("info",`Connecting to ${e.connectionData.relayUrl}...`),e.ws=new WebSocket(e.connectionData.relayUrl);const n=setTimeout(()=>{e.log("error","Connection timeout"),i(new Error("Connection timeout")),e.disconnect()},1e4);e.ws.onopen=()=>{clearTimeout(n),e.connected=!0,e.log("info","Connected to relay"),e.subscribe(),t()},e.ws.onerror=()=>{clearTimeout(n),e.log("error","WebSocket error"),i(new Error("WebSocket error"))},e.ws.onclose=()=>{e.connected=!1,e.subscriptionId=null;for(const[,I]of e.pendingRequests)clearTimeout(I.timeout),I.reject(new Error("Connection closed"));e.pendingRequests.clear()},e.ws.onmessage=I=>{e.handleMessage(I.data)}}catch(n){i(n)}})})()}disconnect(){this.ws&&(this.subscriptionId&&this.ws.send(JSON.stringify(["CLOSE",this.subscriptionId])),this.ws.close(),this.ws=null),this.connected=!1,this.subscriptionId=null}isConnected(){return this.connected&&this.ws?.readyState===WebSocket.OPEN}getInfo(){var e=this;return F(function*(){const t=yield e.sendRequest({method:"get_info"});if(t.error)throw new Error(t.error.message);return t.result})()}getBalance(){var e=this;return F(function*(){const t=yield e.sendRequest({method:"get_balance"});if(t.error)throw new Error(t.error.message);return t.result})()}payInvoice(e){var t=this;return F(function*(){const i=yield t.sendRequest({method:"pay_invoice",params:e});if(i.error)throw new Error(i.error.message);return i.result})()}makeInvoice(e){var t=this;return F(function*(){const i=yield t.sendRequest({method:"make_invoice",params:e});if(i.error)throw new Error(i.error.message);return i.result})()}listTransactions(e){var t=this;return F(function*(){const i=yield t.sendRequest({method:"list_transactions",params:e});if(i.error)throw new Error(i.error.message);return i.result})()}encryptContent(e){var t=this;return F(function*(){return"nip04"===t.encryptionMode?Yt.encrypt(t.connectionData.secret,t.connectionData.walletPubkey,e):gt.v2.encrypt(e,t.conversationKey)})()}sendRequest(e){var t=this;return F(function*(i,n=3e4,I=!1){t.isConnected()||(yield t.connect());const r=JSON.stringify(i);t.log("info",`Sending ${i.method} request (using ${t.encryptionMode.toUpperCase()})`);const o=yield t.encryptContent(r),s={kind:23194,created_at:Math.floor(Date.now()/1e3),tags:[["p",t.connectionData.walletPubkey]],content:o},c=Me(s,le.hex2bytes(t.connectionData.secret));return new Promise((C,a)=>{const h=setTimeout(()=>{t.pendingRequests.delete(c.id),t.log("error",`Request timeout for ${i.method}`),a(new Error("Request timeout"))},n);t.pendingRequests.set(c.id,{resolve:C,reject:a,timeout:h,request:i,isRetry:I}),t.ws.send(JSON.stringify(["EVENT",c]))})}).apply(this,arguments)}retryWithNip04(e){var t=this;return F(function*(){return t.log("warn","Retrying with NIP-04 encryption..."),t.encryptionMode="nip04",t.sendRequest(e,3e4,!0)})()}subscribe(){if(!this.ws||!this.connected)return;this.subscriptionId=Math.random().toString(36).substring(2,15);const e={kinds:[23195],"#p":[this.clientPubkey],since:Math.floor(Date.now()/1e3)-10};this.ws.send(JSON.stringify(["REQ",this.subscriptionId,e]))}handleMessage(e){try{const t=JSON.parse(e);if(!Array.isArray(t))return;const[i,...n]=t;switch(i){case"EVENT":this.handleEvent(n[1]);break;case"OK":case"EOSE":break;case"NOTICE":this.log("warn",`Relay notice: ${n[0]}`)}}catch(t){this.log("error",`Error parsing message: ${t.message}`)}}isEncryptionError(e){const t=e.toLowerCase();return t.includes("decrypt")||t.includes("initialization vector")||t.includes("iv")||t.includes("encrypt")||t.includes("cipher")||t.includes("parse")}handleEvent(e){var t=this;return F(function*(){if(!e||23195!==e.kind||e.pubkey!==t.connectionData.walletPubkey)return;const i=e.tags?.find(r=>"e"===r[0]);if(!i)return;const n=i[1],I=t.pendingRequests.get(n);if(I){clearTimeout(I.timeout),t.pendingRequests.delete(n);try{let r;if(e.content.startsWith("{")||e.content.startsWith('"'))try{const s=JSON.parse(e.content);if(s.error){t.log("error",`Wallet error: ${s.error.message||JSON.stringify(s.error)}`);const c=s.error.message||JSON.stringify(s.error);if(!I.isRetry&&"nip44"===t.encryptionMode&&t.isEncryptionError(c)){t.log("warn","Wallet returned encryption error, switching to NIP-04");try{const C=yield t.retryWithNip04(I.request);return void I.resolve(C)}catch(C){return void I.reject(C)}}return void I.resolve(s)}}catch{}if(e.content.includes("?iv="))t.log("info","Decrypting response (NIP-04 format)"),r=yield Yt.decrypt(t.connectionData.secret,t.connectionData.walletPubkey,e.content);else{t.log("info","Decrypting response (NIP-44 format)");try{r=gt.v2.decrypt(e.content,t.conversationKey)}catch(s){t.log("warn",`NIP-44 decryption failed: ${s.message}, trying NIP-04...`);try{r=yield Yt.decrypt(t.connectionData.secret,t.connectionData.walletPubkey,e.content)}catch{throw s}}}const o=JSON.parse(r);if(o.error){const s=o.error.message||"";if(!I.isRetry&&"nip44"===t.encryptionMode&&t.isEncryptionError(s)){t.log("warn",`Wallet returned encryption error: ${s}, retrying with NIP-04`);try{const c=yield t.retryWithNip04(I.request);return void I.resolve(c)}catch(c){return void I.reject(c)}}t.log("error",`Wallet error: ${s}`)}else t.log("info","Request successful");I.resolve(o)}catch(r){const o=r.message;if(t.log("error",`Failed to decrypt response: ${o}`),!I.isRetry&&"nip44"===t.encryptionMode&&t.isEncryptionError(o)){t.log("warn","Decryption failed, retrying with NIP-04 encryption");try{const s=yield t.retryWithNip04(I.request);return void I.resolve(s)}catch(s){return void I.reject(s)}}I.reject(new Error(`Failed to decrypt response: ${o}`))}}})()}}const yr="extensionLogs";function VB(A,e,t,i,n){return wr.apply(this,arguments)}function wr(){return(wr=F(function*(A,e,t,i,n){try{if(typeof chrome>"u"||!chrome.storage?.session)return void console.log(`[Background] ${i}`);const r=(yield chrome.storage.session.get(yr))[yr]||[],s=[{timestamp:(new Date).toISOString(),level:t,category:A,icon:e,message:i,data:n},...r].slice(0,500);yield chrome.storage.session.set({[yr]:s})}catch(I){console.error("Failed to add background log:",I)}})).apply(this,arguments)}function Bt(A,e,t,i,n){return pr.apply(this,arguments)}function pr(){return(pr=F(function*(A,e,t,i,n){const r=t?"\u2705":"\u{1f6ab}";let o=`${A} from ${e} - ${i?"auto-approved":t?"approved":"denied"}`;void 0!==n?.kind&&(o+=` (kind: ${n.kind})`),yield VB("nip07",r,"log",o,{method:A,host:e,approved:t,autoApproved:i,...n})})).apply(this,arguments)}function di(A,e,t,i){return Fr.apply(this,arguments)}function Fr(){return(Fr=F(function*(A,e,t,i){const n="allow"===t?"\u{1f513}":"\u{1f512}";let I=`Permission stored: ${e} for ${A} - ${t}`;void 0!==i&&(I+=` (kind: ${i})`),yield VB("permission",n,"log",I,{host:A,method:e,policy:t,kind:i})})).apply(this,arguments)}var ZB=function(A){return A[A.NO_SYNC=0]="NO_SYNC",A[A.BROWSER_SYNC=1]="BROWSER_SYNC",A[A.SIGNER_SYNC=2]="SIGNER_SYNC",A[A.CUSTOM_SYNC=3]="CUSTOM_SYNC",A}(ZB||{});const cn=ZB;var Dr,ie=he(3838);class Lt{static generateIV(){const e=crypto.getRandomValues(new Uint8Array(12));return ie.Buffer.from(e).toString("base64")}static hash(e){return F(function*(){const t=(new TextEncoder).encode(e),i=yield crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(i)).map(r=>r.toString(16).padStart(2,"0")).join("")})()}static v4(){return crypto.randomUUID()}static deriveKey(e){return F(function*(){const t={name:"PBKDF2",hash:"SHA-256",salt:(new TextEncoder).encode("3e7cdebd-3b4c-4125-a18c-05750cad8ec3"),iterations:1e3};return crypto.subtle.deriveKey(t,yield crypto.subtle.importKey("raw",(new TextEncoder).encode(e),{name:t.name},!1,["deriveKey"]),{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])})()}static encrypt(e,t,i){return F(function*(){const n={name:"AES-GCM",length:256,iv:ie.Buffer.from(t,"base64")},I=yield crypto.subtle.encrypt(n,yield Lt.deriveKey(i),(new TextEncoder).encode(e));return ie.Buffer.from(I).toString("base64")})()}static decrypt(e,t,i){return F(function*(){const n={name:"AES-GCM",length:256,iv:ie.Buffer.from(t,"base64")};return(new TextDecoder).decode(yield crypto.subtle.decrypt(n,yield Lt.deriveKey(i),ie.Buffer.from(e,"base64")))})()}}function VA(A,e,t,i){return new(t||(t=Promise))(function(I,r){function o(C){try{c(i.next(C))}catch(a){r(a)}}function s(C){try{c(i.throw(C))}catch(a){r(a)}}function c(C){C.done?I(C.value):function n(I){return I instanceof t?I:new t(function(r){r(I)})}(C.value).then(o,s)}c((i=i.apply(A,e||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;class NA{constructor(){this.mutex=Promise.resolve()}lock(){let e=()=>{};return this.mutex=this.mutex.then(()=>new Promise(e)),new Promise(t=>{e=t})}dispatch(e){return VA(this,void 0,void 0,function*(){const t=yield this.lock();try{return yield Promise.resolve(e())}finally{t()}})}}const kr=function lh(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global}(),mr=null!==(Dr=kr.Buffer)&&void 0!==Dr?Dr:null,uh=kr.TextEncoder?new kr.TextEncoder:null;function WB(A,e){return(15&A)+(A>>6|A>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}function _B(A,e){const t=e.length>>1;for(let i=0;i<t;i++){const n=i<<1;A[i]=WB(e.charCodeAt(n),e.charCodeAt(n+1))}}function zt(A,e,t){let i=0;for(let n=0;n<t;n++){let I=e[n]>>>4;A[i++]=I>9?I+87:I+48,I=15&e[n],A[i++]=I>9?I+87:I+48}return String.fromCharCode.apply(null,A)}const HA=null!==mr?A=>{if("string"==typeof A){const e=mr.from(A,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(mr.isBuffer(A))return new Uint8Array(A.buffer,A.byteOffset,A.length);if(ArrayBuffer.isView(A))return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);throw new Error("Invalid data type!")}:A=>{if("string"==typeof A)return uh.encode(A);if(ArrayBuffer.isView(A))return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);throw new Error("Invalid data type!")},me="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",yi=new Uint8Array(256);for(let A=0;A<64;A++)yi[me.charCodeAt(A)]=A;function As(A,e=!0){const t=A.length,i=t%3,n=[],I=t-i;for(let r=0;r<I;r+=3){const o=(A[r]<<16&16711680)+(A[r+1]<<8&65280)+(255&A[r+2]),s=me.charAt(o>>18&63)+me.charAt(o>>12&63)+me.charAt(o>>6&63)+me.charAt(63&o);n.push(s)}if(1===i){const r=A[t-1],o=me.charAt(r>>2),s=me.charAt(r<<4&63);n.push(`${o}${s}`),e&&n.push("==")}else if(2===i){const r=(A[t-2]<<8)+A[t-1],o=me.charAt(r>>10),s=me.charAt(r>>4&63),c=me.charAt(r<<2&63);n.push(`${o}${s}${c}`),e&&n.push("=")}return n.join("")}function ts(A){const e=function es(A){let e=Math.floor(.75*A.length);const t=A.length;return"="===A[t-1]&&(e-=1,"="===A[t-2]&&(e-=1)),e}(A),t=A.length,i=new Uint8Array(e);let n=0;for(let I=0;I<t;I+=4){const r=yi[A.charCodeAt(I)],o=yi[A.charCodeAt(I+1)],s=yi[A.charCodeAt(I+2)],c=yi[A.charCodeAt(I+3)];i[n]=r<<2|o>>4,n+=1,i[n]=(15&o)<<4|s>>2,n+=1,i[n]=(3&s)<<6|63&c,n+=1}return i}const wh=new NA,Sr=new Map;function wA(A,e){return VA(this,void 0,void 0,function*(){let t=null,i=null,n=!1;if(typeof WebAssembly>"u")throw new Error("WebAssembly is not supported in this environment!");const c=()=>new DataView(t.exports.memory.buffer).getUint32(t.exports.STATE_SIZE,!0),C=wh.dispatch(()=>VA(this,void 0,void 0,function*(){if(!Sr.has(A.name)){const G=ts(A.data),J=WebAssembly.compile(G);Sr.set(A.name,J)}const m=yield Sr.get(A.name);t=yield WebAssembly.instantiate(m,{})})),h=(m=null)=>{n=!0,t.exports.Hash_Init(m)},l=m=>{if(!n)throw new Error("update() called before init()");(m=>{let G=0;for(;G<m.length;){const J=m.subarray(G,G+16384);G+=J.length,i.set(J),t.exports.Hash_Update(J.length)}})(HA(m))},E=new Uint8Array(2*e),u=(m,G=null)=>{if(!n)throw new Error("digest() called before init()");return n=!1,t.exports.Hash_Final(G),"binary"===m?i.slice(0,e):zt(E,i,e)},S=m=>"string"==typeof m?m.length<4096:m.byteLength<16384;let N=S;switch(A.name){case"argon2":case"scrypt":N=()=>!0;break;case"blake2b":case"blake2s":N=(m,G)=>G<=512&&S(m);break;case"blake3":N=(m,G)=>0===G&&S(m);break;case"xxhash64":case"xxhash3":case"xxhash128":case"crc64":N=()=>!1}return yield(()=>VA(this,void 0,void 0,function*(){t||(yield C);const m=t.exports.Hash_GetBuffer();i=new Uint8Array(t.exports.memory.buffer,m,16384)}))(),{getMemory:()=>i,writeMemory:(m,G=0)=>{i.set(m,G)},getExports:()=>t.exports,setMemorySize:m=>{t.exports.Hash_SetMemorySize(m);const G=t.exports.Hash_GetBuffer();i=new Uint8Array(t.exports.memory.buffer,G,m)},init:h,update:l,digest:u,save:()=>{if(!n)throw new Error("save() can only be called after init() and before digest()");const m=t.exports.Hash_GetState(),G=c(),v=new Uint8Array(t.exports.memory.buffer,m,G),R=new Uint8Array(4+G);return _B(R,A.hash),R.set(v,4),R},load:m=>{if(!(m instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");const G=t.exports.Hash_GetState(),J=c(),v=4+J,R=t.exports.memory.buffer;if(m.length!==v)throw new Error(`Bad state length (expected ${v} bytes, got ${m.length})`);if(!function yh(A,e){if(A.length!==2*e.length)return!1;for(let t=0;t<e.length;t++){const i=t<<1;if(e[t]!==WB(A.charCodeAt(i),A.charCodeAt(i+1)))return!1}return!0}(A.hash,m.subarray(0,4)))throw new Error("This state was written by an incompatible hash implementation");const Y=m.subarray(4);new Uint8Array(R,G,J).set(Y),n=!0},calculate:(m,G=null,J=null)=>{if(!N(m,G))return h(G),l(m),u("hex",J);const v=HA(m);return i.set(v),t.exports.Hash_Calculate(v.length,G,J),zt(E,i,e)},hashLength:e}})}new NA;var mh={name:"argon2",data:"AGFzbQEAAAABKQVgAX8Bf2AAAX9gEH9/f39/f39/f39/f39/f38AYAR/f39/AGACf38AAwYFAAECAwQFBgEBAoCAAgYIAX8BQZCoBAsHQQQGbWVtb3J5AgASSGFzaF9TZXRNZW1vcnlTaXplAAAOSGFzaF9HZXRCdWZmZXIAAQ5IYXNoX0NhbGN1bGF0ZQAECvEyBVgBAn9BACEBAkAgAEEAKAKICCICRg0AAkAgACACayIAQRB2IABBgIB8cSAASWoiAEAAQX9HDQBB/wHADwtBACEBQQBBACkDiAggAEEQdK18NwOICAsgAcALcAECfwJAQQAoAoAIIgANAEEAPwBBEHQiADYCgAhBACgCiAgiAUGAgCBGDQACQEGAgCAgAWsiAEEQdiAAQYCAfHEgAElqIgBAAEF/Rw0AQQAPC0EAQQApA4gIIABBEHStfDcDiAhBACgCgAghAAsgAAvcDgECfiAAIAQpAwAiECAAKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAMIBAgDCkDAIVCIIkiEDcDACAIIBAgCCkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgBCAQIAQpAwCFQiiJIhA3AwAgACAQIAApAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAwgECAMKQMAhUIwiSIQNwMAIAggECAIKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAEIBAgBCkDAIVCAYk3AwAgASAFKQMAIhAgASkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDSAQIA0pAwCFQiCJIhA3AwAgCSAQIAkpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAUgECAFKQMAhUIoiSIQNwMAIAEgECABKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACANIBAgDSkDAIVCMIkiEDcDACAJIBAgCSkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBSAQIAUpAwCFQgGJNwMAIAIgBikDACIQIAIpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIA4gECAOKQMAhUIgiSIQNwMAIAogECAKKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAGIBAgBikDAIVCKIkiEDcDACACIBAgAikDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgDiAQIA4pAwCFQjCJIhA3AwAgCiAQIAopAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAYgECAGKQMAhUIBiTcDACADIAcpAwAiECADKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAPIBAgDykDAIVCIIkiEDcDACALIBAgCykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgByAQIAcpAwCFQiiJIhA3AwAgAyAQIAMpAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIA8gECAPKQMAhUIwiSIQNwMAIAsgECALKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgACAFKQMAIhAgACkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDyAQIA8pAwCFQiCJIhA3AwAgCiAQIAopAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAUgECAFKQMAhUIoiSIQNwMAIAAgECAAKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAPIBAgDykDAIVCMIkiEDcDACAKIBAgCikDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBSAQIAUpAwCFQgGJNwMAIAEgBikDACIQIAEpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAwgECAMKQMAhUIgiSIQNwMAIAsgECALKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACAGIBAgBikDAIVCKIkiEDcDACABIBAgASkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgDCAQIAwpAwCFQjCJIhA3AwAgCyAQIAspAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIAYgECAGKQMAhUIBiTcDACACIAcpAwAiECACKQMAIhF8IBFCAYZC/v///x+DIBBC/////w+DfnwiEDcDACANIBAgDSkDAIVCIIkiEDcDACAIIBAgCCkDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgByAQIAcpAwCFQiiJIhA3AwAgAiAQIAIpAwAiEXwgEEL/////D4MgEUIBhkL+////H4N+fCIQNwMAIA0gECANKQMAhUIwiSIQNwMAIAggECAIKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAHIBAgBykDAIVCAYk3AwAgAyAEKQMAIhAgAykDACIRfCARQgGGQv7///8fgyAQQv////8Pg358IhA3AwAgDiAQIA4pAwCFQiCJIhA3AwAgCSAQIAkpAwAiEXwgEUIBhkL+////H4MgEEL/////D4N+fCIQNwMAIAQgECAEKQMAhUIoiSIQNwMAIAMgECADKQMAIhF8IBBC/////w+DIBFCAYZC/v///x+DfnwiEDcDACAOIBAgDikDAIVCMIkiEDcDACAJIBAgCSkDACIRfCAQQv////8PgyARQgGGQv7///8fg358IhA3AwAgBCAQIAQpAwCFQgGJNwMAC98aAQN/QQAhBEEAIAIpAwAgASkDAIU3A5AIQQAgAikDCCABKQMIhTcDmAhBACACKQMQIAEpAxCFNwOgCEEAIAIpAxggASkDGIU3A6gIQQAgAikDICABKQMghTcDsAhBACACKQMoIAEpAyiFNwO4CEEAIAIpAzAgASkDMIU3A8AIQQAgAikDOCABKQM4hTcDyAhBACACKQNAIAEpA0CFNwPQCEEAIAIpA0ggASkDSIU3A9gIQQAgAikDUCABKQNQhTcD4AhBACACKQNYIAEpA1iFNwPoCEEAIAIpA2AgASkDYIU3A/AIQQAgAikDaCABKQNohTcD+AhBACACKQNwIAEpA3CFNwOACUEAIAIpA3ggASkDeIU3A4gJQQAgAikDgAEgASkDgAGFNwOQCUEAIAIpA4gBIAEpA4gBhTcDmAlBACACKQOQASABKQOQAYU3A6AJQQAgAikDmAEgASkDmAGFNwOoCUEAIAIpA6ABIAEpA6ABhTcDsAlBACACKQOoASABKQOoAYU3A7gJQQAgAikDsAEgASkDsAGFNwPACUEAIAIpA7gBIAEpA7gBhTcDyAlBACACKQPAASABKQPAAYU3A9AJQQAgAikDyAEgASkD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",hash:"e4cdc523"},is={name:"blake2b",data:"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",hash:"c6f286e6"};function Cn(A){return!Number.isInteger(A)||A<8||A>512||A%8!=0?new Error("Invalid variant! Valid values: 8, 16, ..., 512"):null}function Ur(A=512,e=null){if(Cn(A))return Promise.reject(Cn(A));let t=null,i=A;if(null!==e){if(t=HA(e),t.length>64)return Promise.reject(new Error("Max key length is 64 bytes"));i=function ns(A,e){return A|e<<16}(A,t.length)}const n=A/8;return wA(is,n).then(I=>{i>512&&I.writeMemory(t),I.init(i);const r={init:i>512?()=>(I.writeMemory(t),I.init(i),r):()=>(I.init(i),r),update:o=>(I.update(o),r),digest:o=>I.digest(o),save:()=>I.save(),load:o=>(I.load(o),r),blockSize:128,digestSize:n};return r})}new NA;const Is=new DataView(new ArrayBuffer(4));function Ze(A){return Is.setInt32(0,A,!0),new Uint8Array(Is.buffer)}function Gr(A,e,t){return VA(this,void 0,void 0,function*(){if(t<=64){const s=yield Ur(8*t);return s.update(Ze(t)),s.update(e),s.digest("binary")}const i=Math.ceil(t/32)-2,n=new Uint8Array(t);A.init(),A.update(Ze(t)),A.update(e);let I=A.digest("binary");n.set(I.subarray(0,32),0);for(let s=1;s<i;s++)A.init(),A.update(I),I=A.digest("binary"),n.set(I.subarray(0,32),32*s);const r=t-32*i;let o;return 64===r?(o=A,o.init()):o=yield Ur(8*r),o.update(I),I=o.digest("binary"),n.set(I.subarray(0,r),32*i),n})}new NA,new NA,new NA,new NA,new Uint8Array(8),new NA,new NA,new NA,new NA,new NA,new NA,new NA,new NA,new NA,new NA,new NA,new Uint8Array(8),new NA,new Uint8Array(8),new NA,new Uint8Array(8),new NA,new NA,new NA;const yl={parallelism:4,iterations:8,memorySize:262144,hashLength:32,outputType:"binary"};function br(){return(br=F(function*(A,e){return yield function Jh(A){return VA(this,void 0,void 0,function*(){return(A=>{var e;if(!A||"object"!=typeof A)throw new Error("Invalid options parameter. It requires an object.");if(!A.password)throw new Error("Password must be specified");if(A.password=HA(A.password),A.password.length<1)throw new Error("Password must be specified");if(!A.salt)throw new Error("Salt must be specified");if(A.salt=HA(A.salt),A.salt.length<8)throw new Error("Salt should be at least 8 bytes long");if(A.secret=HA(null!==(e=A.secret)&&void 0!==e?e:""),!Number.isInteger(A.iterations)||A.iterations<1)throw new Error("Iterations should be a positive number");if(!Number.isInteger(A.parallelism)||A.parallelism<1)throw new Error("Parallelism should be a positive number");if(!Number.isInteger(A.hashLength)||A.hashLength<4)throw new Error("Hash length should be at least 4 bytes.");if(!Number.isInteger(A.memorySize))throw new Error("Memory size should be specified.");if(A.memorySize<8*A.parallelism)throw new Error("Memory size should be at least 8 * parallelism.");if(void 0===A.outputType&&(A.outputType="hex"),!["hex","binary","encoded"].includes(A.outputType))throw new Error(`Insupported output type ${A.outputType}. Valid values: ['hex', 'binary', 'encoded']`)})(A),function En(A){return VA(this,void 0,void 0,function*(){var e;const{parallelism:t,iterations:i,hashLength:n}=A,I=HA(A.password),r=HA(A.salt),s=function xh(A){switch(A){case"d":return 0;case"i":return 1;default:return 2}}(A.hashType),{memorySize:c}=A,C=HA(null!==(e=A.secret)&&void 0!==e?e:""),[a,h]=yield Promise.all([wA(mh,1024),Ur(512)]);a.setMemorySize(1024*c+1024);const d=new Uint8Array(24),l=new DataView(d.buffer);l.setInt32(0,t,!0),l.setInt32(4,n,!0),l.setInt32(8,c,!0),l.setInt32(12,i,!0),l.setInt32(16,19,!0),l.setInt32(20,s,!0),a.writeMemory(d,1024*c),h.init(),h.update(d),h.update(Ze(I.length)),h.update(I),h.update(Ze(r.length)),h.update(r),h.update(Ze(C.length)),h.update(C),h.update(Ze(0));const u=4*Math.floor(c/(4*t)),y=new Uint8Array(72),p=h.digest("binary");y.set(p);for(let b=0;b<t;b++){y.set(Ze(0),64),y.set(Ze(b),68);let m=b*u,G=yield Gr(h,y,1024);a.writeMemory(G,1024*m),m+=1,y.set(Ze(1),64),G=yield Gr(h,y,1024),a.writeMemory(G,1024*m)}const S=new Uint8Array(1024);_B(S,a.calculate(new Uint8Array([]),c));const N=yield Gr(h,S,n);return"hex"===A.outputType?zt(new Uint8Array(2*n),N,n):"encoded"===A.outputType?function Hh(A,e,t){const i=[`m=${e.memorySize}`,`t=${e.iterations}`,`p=${e.parallelism}`].join(",");return`$argon2${e.hashType}$v=19$${i}$${As(A,!1)}$${As(t,!1)}`}(r,A,N):N})}(Object.assign(Object.assign({},A),{hashType:"id"}))})}({password:A,salt:e,...yl})})).apply(this,arguments)}const Ds={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let Ln;const wl=new Uint8Array(16);function pl(){if(!Ln&&(Ln=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Ln))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Ln(wl)}const WA=[];for(let A=0;A<256;++A)WA.push((A+256).toString(16).slice(1));const kl=function Dl(A,e,t){if(Ds.randomUUID&&!e&&!A)return Ds.randomUUID();const i=(A=A||{}).random||(A.rng||pl)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e){t=t||0;for(let n=0;n<16;++n)e[t+n]=i[n];return e}return function ks(A,e=0){return WA[A[e+0]]+WA[A[e+1]]+WA[A[e+2]]+WA[A[e+3]]+"-"+WA[A[e+4]]+WA[A[e+5]]+"-"+WA[A[e+6]]+WA[A[e+7]]+"-"+WA[A[e+8]]+WA[A[e+9]]+"-"+WA[A[e+10]]+WA[A[e+11]]+WA[A[e+12]]+WA[A[e+13]]+WA[A[e+14]]+WA[A[e+15]]}(i)};class ml{get extensionSettings(){return this.#A}get signerMetaData(){return this.#A}#A;metaProperties=["syncFlow","vaultSnapshots","maxBackups","recklessMode","whitelistedHosts","bookmarks","devMode"];DEFAULT_MAX_BACKUPS=5;setFullData(e){this.#A=e}setSyncFlow(e){var t=this;return F(function*(){t.#A?t.#A.syncFlow=e:t.#A={syncFlow:e},yield t.saveFullData(t.#A)})()}setBrowserSyncFlow(e){var t=this;return F(function*(){return t.setSyncFlow(e)})()}setRecklessMode(e){var t=this;return F(function*(){t.#A?t.#A.recklessMode=e:t.#A={recklessMode:e},yield t.saveFullData(t.#A)})()}setDevMode(e){var t=this;return F(function*(){t.#A?t.#A.devMode=e:t.#A={devMode:e},yield t.saveFullData(t.#A)})()}addWhitelistedHost(e){var t=this;return F(function*(){if(t.#A){const i=t.#A.whitelistedHosts??[];i.includes(e)||(i.push(e),t.#A.whitelistedHosts=i)}else t.#A={whitelistedHosts:[e]};yield t.saveFullData(t.#A)})()}removeWhitelistedHost(e){var t=this;return F(function*(){t.#A?.whitelistedHosts&&(t.#A.whitelistedHosts=t.#A.whitelistedHosts.filter(i=>i!==e),yield t.saveFullData(t.#A))})()}setBookmarks(e){var t=this;return F(function*(){t.#A?t.#A.bookmarks=e:t.#A={bookmarks:e},yield t.saveFullData(t.#A)})()}getBookmarks(){return this.#A?.bookmarks??[]}getMaxBackups(){return this.#A?.maxBackups??this.DEFAULT_MAX_BACKUPS}setMaxBackups(e){var t=this;return F(function*(){const i=Math.max(1,Math.min(20,e));t.#A?t.#A.maxBackups=i:t.#A={maxBackups:i},yield t.saveFullData(t.#A)})()}getBackups(){return[...this.#A?.vaultSnapshots??[]].sort((t,i)=>new Date(i.createdAt).getTime()-new Date(t.createdAt).getTime())}getBackupById(e){return this.#A?.vaultSnapshots?.find(t=>t.id===e)}createBackup(e){var t=this;return F(function*(i,n="manual"){const I=new Date,r=I.toISOString().replace(/[:.]/g,"-").slice(0,19),o=i.identities?.length??0,s={id:kl(),fileName:`Vault Backup - ${r}`,createdAt:I.toISOString(),data:JSON.parse(JSON.stringify(i)),identityCount:o,reason:n};if(t.#A){const c=t.#A.vaultSnapshots??[];c.push(s);const C=t.getMaxBackups(),a=c.filter(l=>"auto"===l.reason),h=c.filter(l=>"auto"!==l.reason);a.sort((l,E)=>new Date(E.createdAt).getTime()-new Date(l.createdAt).getTime());const d=a.slice(0,C);t.#A.vaultSnapshots=[...h,...d]}else t.#A={vaultSnapshots:[s]};return yield t.saveFullData(t.#A),s}).apply(this,arguments)}deleteBackup(e){var t=this;return F(function*(){if(!t.#A?.vaultSnapshots)return!1;const i=t.#A.vaultSnapshots.length;return t.#A.vaultSnapshots=t.#A.vaultSnapshots.filter(n=>n.id!==e),t.#A.vaultSnapshots.length<i&&(yield t.saveFullData(t.#A),!0)})()}getBackupData(e){return this.getBackupById(e)?.data}}var Sl=he(8244),qA=he.n(Sl);class Kr extends ml{loadFullData(){var e=this;return F(function*(){const t=yield qA().storage.local.get(null);if(0===Object.keys(t).length)return t;const i={};return e.metaProperties.forEach(n=>{i[n]=t[n]}),i})()}saveFullData(e){return F(function*(){yield qA().storage.local.set(e)})()}clearData(e){var t=this;return F(function*(){const i=[];for(const n of t.metaProperties)e.includes(n)||i.push(n);yield qA().storage.local.remove(t.metaProperties)})()}}const Zt=function(){var A=F(function*(){const e=yield qA().storage.session.get(null);if(e&&e.iv&&e.identities)return e});return function(){return A.apply(this,arguments)}}(),Ul=function(){var A=F(function*(){return yield(new Kr).loadFullData()});return function(){return A.apply(this,arguments)}}(),ms=function(){var A=F(function*(e){const t=yield Ul();if(JSON.stringify(t),!t.recklessMode)return!1;const i=t.whitelistedHosts??[];return 0===i.length||i.includes(e)});return function(t){return A.apply(this,arguments)}}(),Ss=function(){var A=F(function*(){const t=yield(new Kr).loadFullData();let i;return t.syncFlow===cn.NO_SYNC?i=yield qA().storage.local.get(null):t.syncFlow===cn.BROWSER_SYNC&&(i=yield qA().storage.sync.get(null)),i});return function(){return A.apply(this,arguments)}}(),Gl=function(){var A=F(function*(e){const i=yield(new Kr).loadFullData();i.syncFlow===cn.NO_SYNC?yield qA().storage.local.set({permissions:e}):i.syncFlow===cn.BROWSER_SYNC&&(yield qA().storage.sync.set({permissions:e}))});return function(t){return A.apply(this,arguments)}}(),Us=function(A,e,t,i,n){if(i.startsWith("mls.")){const r=A.permissions.filter(o=>o.identityId===e.id&&o.host===t&&"mls.*"===o.method);return 0===r.length?void 0:r.every(o=>"allow"===o.methodPolicy)}const I=A.permissions.filter(r=>r.identityId===e.id&&r.host===t&&r.method===i);if(0!==I.length){if("getPublicKey"===i)return I.every(r=>"allow"===r.methodPolicy);if("getRelays"===i)return I.every(r=>"allow"===r.methodPolicy);if("signEvent"===i){const r=n;return!(!I.find(o=>"allow"===o.methodPolicy&&typeof o.kind>"u")&&!I.some(o=>"allow"===o.methodPolicy&&o.kind===r.kind))||!I.some(o=>"deny"===o.methodPolicy&&o.kind===r.kind)&&void 0}if("nip04.encrypt"===i)return I.every(r=>"allow"===r.methodPolicy);if("nip44.encrypt"===i)return I.every(r=>"allow"===r.methodPolicy);if("nip04.decrypt"===i)return I.every(r=>"allow"===r.methodPolicy);if("nip44.decrypt"===i)return I.every(r=>"allow"===r.methodPolicy)}},Di=function(){var A=F(function*(e,t,i,n,I,r){const s=(yield Zt())?.permissions??e.permissions,c=yield Ss();if(!c)throw new Error("Could not retrieve sync data");const C=t?.id??"webln",a={id:crypto.randomUUID(),identityId:C,host:i,method:n,methodPolicy:I,kind:r};yield qA().storage.session.set({permissions:[...s,a]});const h=yield xl(a,e);yield Gl([...c.permissions,h])});return function(t,i,n,I,r,o){return A.apply(this,arguments)}}(),Gs=function(){var A=F(function*(e,t){let i=0,n=0;try{const I=yield qA().windows.getLastFocused();I&&void 0!==I.top&&void 0!==I.left&&void 0!==I.width&&void 0!==I.height?(n=Math.round(I.top+(I.height-t)/2),i=Math.round(I.left+(I.width-e)/2)):console.error("Last focused window properties are undefined.")}catch(I){console.error("Error getting window position:",I)}return{top:n,left:i}});return function(t,i){return A.apply(this,arguments)}}(),Ns=function(A,e){return Me(A,le.hex2bytes(e))},Hs=function(){var A=F(function*(e,t,i){return yield Yt.encrypt(le.hex2bytes(e),t,i)});return function(t,i,n){return A.apply(this,arguments)}}(),xs=function(){var A=F(function*(e,t,i){const n=gt.v2.utils.getConversationKey(le.hex2bytes(e),t);return gt.v2.encrypt(i,n)});return function(t,i,n){return A.apply(this,arguments)}}(),Js=function(){var A=F(function*(e,t,i){return yield Yt.decrypt(le.hex2bytes(e),t,i)});return function(t,i,n){return A.apply(this,arguments)}}(),qs=function(){var A=F(function*(e,t,i){const n=gt.v2.utils.getConversationKey(le.hex2bytes(e),t);return gt.v2.decrypt(i,n)});return function(t,i,n){return A.apply(this,arguments)}}(),xl=function(){var A=F(function*(e,t){const i={id:yield Tt(e.id,t),identityId:yield Tt(e.identityId,t),host:yield Tt(e.host,t),method:yield Tt(e.method,t),methodPolicy:yield Tt(e.methodPolicy,t)};return typeof e.kind<"u"&&(i.kind=yield Tt(e.kind.toString(),t)),i});return function(t,i){return A.apply(this,arguments)}}(),Tt=function(){var A=F(function*(e,t){if(t.vaultKey){const i=ie.Buffer.from(t.vaultKey,"base64"),n=ie.Buffer.from(t.iv,"base64"),I=yield crypto.subtle.importKey("raw",i,{name:"AES-GCM"},!1,["encrypt"]),r=yield crypto.subtle.encrypt({name:"AES-GCM",iv:n},I,(new TextEncoder).encode(e));return ie.Buffer.from(r).toString("base64")}return yield Lt.encrypt(e,t.iv,t.vaultPassword)});return function(t,i){return A.apply(this,arguments)}}();function Yr(){return(Yr=F(function*(A,e,t){const i=ie.Buffer.from(t,"base64"),n=ie.Buffer.from(e,"base64"),I=ie.Buffer.from(A,"base64"),r=yield crypto.subtle.importKey("raw",i,{name:"AES-GCM"},!1,["decrypt"]),o=yield crypto.subtle.decrypt({name:"AES-GCM",iv:n},r,I);return(new TextDecoder).decode(o)})).apply(this,arguments)}function vr(){return(vr=F(function*(A,e,t){return Lt.decrypt(A,e,t)})).apply(this,arguments)}function sA(A,e,t,i){return Lr.apply(this,arguments)}function Lr(){return Lr=F(function*(A,e,t,i){return i?function Jl(A,e,t){return Yr.apply(this,arguments)}(A,e,t):function ql(A,e,t){return vr.apply(this,arguments)}(A,e,t)}),Lr.apply(this,arguments)}function ki(A,e){switch(e){case"number":return parseInt(A);case"boolean":return"true"===A;default:return A}}function bl(A,e,t,i){return zr.apply(this,arguments)}function zr(){return(zr=F(function*(A,e,t,i){return{id:yield sA(A.id,e,t,i),nick:yield sA(A.nick,e,t,i),createdAt:yield sA(A.createdAt,e,t,i),privkey:yield sA(A.privkey,e,t,i)}})).apply(this,arguments)}function Ml(A,e,t,i){return Or.apply(this,arguments)}function Or(){return(Or=F(function*(A,e,t,i){const n={id:yield sA(A.id,e,t,i),identityId:yield sA(A.identityId,e,t,i),host:yield sA(A.host,e,t,i),method:yield sA(A.method,e,t,i),methodPolicy:yield sA(A.methodPolicy,e,t,i)};return A.kind&&(n.kind=ki(yield sA(A.kind,e,t,i),"number")),n})).apply(this,arguments)}function Rl(A,e,t,i){return Pr.apply(this,arguments)}function Pr(){return(Pr=F(function*(A,e,t,i){return{id:yield sA(A.id,e,t,i),identityId:yield sA(A.identityId,e,t,i),url:yield sA(A.url,e,t,i),read:ki(yield sA(A.read,e,t,i),"boolean"),write:ki(yield sA(A.write,e,t,i),"boolean")}})).apply(this,arguments)}function Kl(A,e,t,i){return Xr.apply(this,arguments)}function Xr(){return(Xr=F(function*(A,e,t,i){const n={id:yield sA(A.id,e,t,i),name:yield sA(A.name,e,t,i),connectionUrl:yield sA(A.connectionUrl,e,t,i),walletPubkey:yield sA(A.walletPubkey,e,t,i),relayUrl:yield sA(A.relayUrl,e,t,i),secret:yield sA(A.secret,e,t,i),createdAt:yield sA(A.createdAt,e,t,i)};return A.lud16&&(n.lud16=yield sA(A.lud16,e,t,i)),A.cachedBalance&&(n.cachedBalance=ki(yield sA(A.cachedBalance,e,t,i),"number")),A.cachedBalanceAt&&(n.cachedBalanceAt=yield sA(A.cachedBalanceAt,e,t,i)),n})).apply(this,arguments)}function Yl(A,e,t,i){return Vr.apply(this,arguments)}function Vr(){return(Vr=F(function*(A,e,t,i){const n=yield sA(A.proofs,e,t,i),I={id:yield sA(A.id,e,t,i),name:yield sA(A.name,e,t,i),mintUrl:yield sA(A.mintUrl,e,t,i),unit:yield sA(A.unit,e,t,i),createdAt:yield sA(A.createdAt,e,t,i),proofs:JSON.parse(n)};return A.cachedBalance&&(I.cachedBalance=ki(yield sA(A.cachedBalance,e,t,i),"number")),A.cachedBalanceAt&&(I.cachedBalanceAt=yield sA(A.cachedBalanceAt,e,t,i)),I})).apply(this,arguments)}function Zr(){return(Zr=F(function*(A){try{if(yield Zt())return{success:!0};const t=yield Ss();if(!t)return{success:!1,error:"No vault data found"};if((yield Lt.hash(A))!==t.vaultHash)return{success:!1,error:"Invalid password"};const n=!!t.salt;let I,r,o;if(n){const E=ie.Buffer.from(t.salt,"base64"),u=yield function qr(A,e){return br.apply(this,arguments)}(A,E);r=ie.Buffer.from(u).toString("base64"),I=r}else o=A,I=A;const s=[];for(const E of t.identities){const u=yield bl(E,t.iv,I,n);s.push(u)}const c=[];for(const E of t.permissions)try{const u=yield Ml(E,t.iv,I,n);c.push(u)}catch(u){}const C=[];for(const E of t.relays){const u=yield Rl(E,t.iv,I,n);C.push(u)}const a=[];for(const E of t.nwcConnections??[]){const u=yield Kl(E,t.iv,I,n);a.push(u)}const h=[];for(const E of t.cashuMints??[]){const u=yield Yl(E,t.iv,I,n);h.push(u)}let d=null;null!==t.selectedIdentityId&&(d=yield sA(t.selectedIdentityId,t.iv,I,n));const l={vaultPassword:n?void 0:o,vaultKey:n?r:void 0,iv:t.iv,salt:t.salt,permissions:c,identities:s,selectedIdentityId:d,relays:C,nwcConnections:a,cashuMints:h};return yield qA().storage.session.set(l),{success:!0}}catch(e){return{success:!1,error:e.message||"Unlock failed"}}})).apply(this,arguments)}function Tr(){return(Tr=F(function*(A){const{top:i,left:n}=yield Gs(375,500);let r=`unlock.html?id=${crypto.randomUUID()}`;return A&&(r+=`&host=${encodeURIComponent(A)}`),(yield qA().windows.create({type:"popup",url:r,height:500,width:375,top:i,left:n})).id})).apply(this,arguments)}let zn=!1;const Ct=new Set;let Dt="",LA=null,mi=null,Wr=null,_r=!1;const bs=[],jr="_mls_init_params";function $r(){return($r=F(function*(A){try{yield qA().storage.session.set({[jr]:A})}catch{}})).apply(this,arguments)}function Ao(){return(Ao=F(function*(){try{return(yield qA().storage.session.get(jr))[jr]||null}catch{return null}})).apply(this,arguments)}function eo(){return to.apply(this,arguments)}function to(){return to=F(function*(){if(globalThis._marmot)return!0;const A=yield function Ol(){return Ao.apply(this,arguments)}();return!!A&&(Dt=A.privkey,LA=F(function*(){yield Ks(),Ys(A.lastEventTS);const e=globalThis._marmot_init;if(!e)return"error: wasm bridge not ready";const t=yield e(A.pubkey,...A.relayURLs);if(!t||"ok"===t){const i=globalThis._marmot;i&&(i.publishKP(),"[]"===String(i.listGroups()||"[]")&&i.restoreGroups(),i.subscribe())}return _r=!0,String(t||"ok")})().catch(e=>{throw LA=null,e}),yield LA,!!globalThis._marmot)}),to.apply(this,arguments)}const Ms="marmot-groups",ne="groups";function Rs(){return new Promise((A,e)=>{const t=indexedDB.open(Ms,1);t.onupgradeneeded=i=>{const n=i.target.result;n.objectStoreNames.contains(ne)||n.createObjectStore(ne)},t.onsuccess=()=>A(t.result),t.onerror=()=>e(t.error)})}function io(){return new Promise(A=>{const e=indexedDB.open(Ms);e.onupgradeneeded=()=>{e.result.close(),e.transaction?.abort()},e.onsuccess=()=>{const t=e.result;if(!t.objectStoreNames.contains(ne))return t.close(),void A(null);A(t)},e.onerror=()=>A(null),e.onblocked=()=>A(null)})}function Ie(A,e,t){const i=globalThis._marmot;i?.storeResult&&i.storeResult(A,e||"",t||"")}function no(){return(no=F(function*(A){try{const e=yield Rs(),i=e.transaction(ne,"readonly").objectStore(ne).get("__version__"),n=yield new Promise(o=>{i.onsuccess=()=>o(i.result),i.onerror=()=>o(void 0)});if(n===A)return void e.close();console.warn("[mls-engine] version epoch mismatch: stored="+(n||"none")+" running="+A+" \u2014 flushing marmot groups");const I=e.transaction(ne,"readwrite"),r=I.objectStore(ne);r.clear(),r.put(A,"__version__"),yield new Promise(o=>{I.oncomplete=()=>o(),I.onerror=()=>o()}),e.close()}catch(e){console.warn("[mls-engine] epoch check failed:",e)}})).apply(this,arguments)}function Ks(){return Io.apply(this,arguments)}function Io(){return Io=F(function*(){if(!zn){if(mi)return mi;mi=function Zl(){return ro.apply(this,arguments)}();try{yield mi}catch(A){throw mi=null,A}}}),Io.apply(this,arguments)}function ro(){return ro=F(function*(){const A=globalThis.Go;if(!A)throw new Error("Go WASM runtime not loaded (wasm_exec.js missing from background scripts)");const e=new A,t=qA().runtime.getURL("marmot.wasm"),n=yield(yield fetch(t)).arrayBuffer(),I=yield WebAssembly.instantiate(n,e.importObject);if(e.run(I.instance).then(()=>{console.error("[mls-engine] Go program exited unexpectedly"),zn=!1},o=>{console.error("[mls-engine] Go program crashed:",o),zn=!1}),!globalThis._marmot)throw new Error("Go WASM started but _marmot global not registered");!function Xl(){const A=globalThis;A._marmot_store_save=(e,t,i)=>{Rs().then(n=>{const I=n.transaction(ne,"readwrite");I.objectStore(ne).put(i,t),I.oncomplete=()=>Ie(e,"",""),I.onerror=()=>Ie(e,"",I.error?.message||"save failed")}).catch(n=>Ie(e,"",n.message))},A._marmot_store_load=(e,t)=>{io().then(i=>{if(!i)return void Ie(e,"","");const I=i.transaction(ne,"readonly").objectStore(ne).get(t);I.onsuccess=()=>Ie(e,I.result||"",""),I.onerror=()=>Ie(e,"",I.error?.message||"load failed")}).catch(i=>Ie(e,"",i.message))},A._marmot_store_list=e=>{io().then(t=>{if(!t)return void Ie(e,"","");const n=t.transaction(ne,"readonly").objectStore(ne).getAllKeys();n.onsuccess=()=>Ie(e,(n.result||[]).join(","),""),n.onerror=()=>Ie(e,"",n.error?.message||"list failed")}).catch(t=>Ie(e,"",t.message))},A._marmot_store_delete=(e,t)=>{io().then(i=>{if(!i)return void Ie(e,"","");const n=i.transaction(ne,"readwrite");n.objectStore(ne).delete(t),n.oncomplete=()=>Ie(e,"",""),n.onerror=()=>Ie(e,"",n.error?.message||"delete failed")}).catch(i=>Ie(e,"",i.message))}}();const r=globalThis._marmot?.version;r&&(yield function Vl(A){return no.apply(this,arguments)}(r)),zn=!0}),ro.apply(this,arguments)}function Ys(A){const e=globalThis;e._marmot_init=function(){var t=F(function*(i,...n){const I=e._marmot;if(!I)return"error: wasm not loaded";const r=a=>{Si({cmd:"publish",event:a})},o=(a,h)=>{Si({cmd:"subscribe",subId:a,filter:h})},s=(a,h,d,l)=>{!function Tl(A,e,t,i){const n=globalThis._marmot;if(!n)return;const I=(r,o)=>{n.cryptoResult(i,r,o)};try{switch(A){case"signEvent":{const r=JSON.parse(t),o=Ns(r,Dt);I(JSON.stringify(o),"");break}case"nip44.encrypt":case"nip44Encrypt":xs(Dt,e,t).then(r=>I(r,""),r=>I("",r.message));break;case"nip44.decrypt":case"nip44Decrypt":qs(Dt,e,t).then(r=>I(r,""),r=>I("",r.message));break;case"nip04.encrypt":case"nip04Encrypt":Hs(Dt,e,t).then(r=>I(r,""),r=>I("",r.message));break;case"nip04.decrypt":case"nip04Decrypt":Js(Dt,e,t).then(r=>I(r,""),r=>I("",r.message));break;default:I("","unsupported crypto op: "+A)}}catch(r){I("",r.message)}}(a,h,d,l)},c=(a,h)=>{Si({cmd:"dm",peer:a,sender:a,content:h,ts:Math.floor(Date.now()/1e3),source:"marmot",eventId:""})},C=a=>{Si({cmd:"status",msg:a})};return Wr&&clearInterval(Wr),Wr=setInterval(()=>{try{const a=I.lastEventTS?.();a>0&&Si({cmd:"mls_ts",ts:a})}catch{}},3e4),new Promise(a=>{I.init(i,r,o,s,c,C,d=>{a(d||"ok")},A,...n)})});return function(i){return t.apply(this,arguments)}}()}function oo(){return(oo=F(function*(){try{const A=yield qA().tabs.query({url:["*://smesh.lol/*","*://127.0.0.1:*/*","*://localhost:*/*"]});Ct.clear();for(const e of A)e.id&&Ct.add(e.id)}catch{}})).apply(this,arguments)}function Si(A){return go.apply(this,arguments)}function go(){return go=F(function*(A){if(0===Ct.size&&(yield function Wl(){return oo.apply(this,arguments)}()),0===Ct.size)return;const e={ext:"smesh-signer",type:"mls-push",data:A};for(const t of Ct)qA().tabs.sendMessage(t,e).catch(()=>{Ct.delete(t)})}),go.apply(this,arguments)}function Bo(){return Bo=F(function*(A,e,t,i,n=0){return Ct.add(i),Dt=A,function zl(A){$r.apply(this,arguments)}({privkey:A,pubkey:e,relayURLs:t,lastEventTS:n}),LA=F(function*(){yield Ks(),Ys(n);const I=globalThis._marmot_init;if(!I)return"error: wasm bridge not ready";const r=yield I(e,...t);if(!r||"ok"===r){const s=globalThis._marmot;s&&(s.publishKP(),"[]"===String(s.listGroups()||"[]")&&s.restoreGroups(),s.subscribe())}_r=!0;const o=bs.splice(0);for(const s of o){const c=globalThis._marmot;c&&c.deliverEvent(s.subId,s.eventJSON)}return String(r||"ok")})().catch(I=>{throw LA=null,I}),LA}),Bo.apply(this,arguments)}function so(){return(so=F(function*(A,e){LA&&(yield LA),globalThis._marmot||(yield eo());const t=globalThis._marmot;return t?String(t.sendDM(A,e)||"ok"):"error: not initialized"})).apply(this,arguments)}function co(){return(co=F(function*(){LA&&(yield LA),globalThis._marmot||(yield eo());const A=globalThis._marmot;return A?String(A.subscribe()||"ok"):"error: not initialized"})).apply(this,arguments)}function ao(){return(ao=F(function*(){LA&&(yield LA),globalThis._marmot||(yield eo());const A=globalThis._marmot;return A?String(A.publishKP()||"ok"):"error: not initialized"})).apply(this,arguments)}function Qo(){return(Qo=F(function*(){LA&&(yield LA);const A=globalThis._marmot;return A?String(A.listGroups()||"[]"):"[]"})).apply(this,arguments)}function Co(){return(Co=F(function*(){LA&&(yield LA);const A=globalThis._marmot;A?.backupGroups&&A.backupGroups()})).apply(this,arguments)}function Eo(){return(Eo=F(function*(){LA&&(yield LA);const A=globalThis._marmot;A?.restoreGroups&&A.restoreGroups()})).apply(this,arguments)}function ho(){return(ho=F(function*(A){LA&&(yield LA);const e=globalThis._marmot;e?.ratchetGroup&&e.ratchetGroup(A)})).apply(this,arguments)}qA().runtime.onInstalled.addListener(F(function*(){yield qA().storage.session.clear()}));const vs=new Map;function fo(){return(fo=F(function*(A){const e=vs.get(A.id);if(e&&e.isConnected())return e;const t=new Ch({walletPubkey:A.walletPubkey,relayUrl:A.relayUrl,secret:A.secret});return yield t.connect(),vs.set(A.id,t),t})).apply(this,arguments)}const Re=new Map;let Pn,On=!1;const Ui=[],Ce=[];let Xn=null;function zs(){return lo.apply(this,arguments)}function lo(){return(lo=F(function*(){for(;!Xn&&Ce.length>0;){const A=Ce[0],e=yield cu(A);if(void 0!==e){Ce.shift();const n=Re.get(A.id);n&&(n.timeoutId&&clearTimeout(n.timeoutId),n.resolve(e?"approve-once":"reject-once"),Re.delete(A.id));continue}Xn=A.id;const{top:t,left:i}=yield Gs(A.width,A.height);try{const n=yield qA().windows.create({type:"popup",url:A.url,height:A.height,width:A.width,top:t,left:i}),I=Re.get(A.id);I&&n.id&&(I.windowId=n.id,I.timeoutId=setTimeout(()=>{Vn(A.id,"timeout")},3e4))}catch(n){Vn(A.id,"error")}break}})).apply(this,arguments)}function cu(A){return uo.apply(this,arguments)}function uo(){return(uo=F(function*(A){const e=yield Zt();if(!e)return;const t=e.identities.find(i=>i.id===e.selectedIdentityId);if(t)try{const i=new URL(A.url,"http://ext"),n=i.searchParams.get("host"),I=i.searchParams.get("method");return n&&I?Us(e,t,n,I,{}):void 0}catch{return}})).apply(this,arguments)}function Vn(A,e){const t=Re.get(A);t&&(t.timeoutId&&clearTimeout(t.timeoutId),"response"!==e&&t.reject(new Error(`Permission prompt ${e}`)),Re.delete(A));const i=Ce.findIndex(n=>n.id===A);-1!==i&&Ce.splice(i,1),Xn===A&&(Xn=null),zs()}qA().windows.onRemoved.addListener(A=>{if(Pn===A)for(On=!1,Pn=void 0;Ui.length>0;)Ui.shift().reject(new Error("Vault unlock cancelled"));for(const[e,t]of Re.entries())if(t.windowId===A){Vn(e,"closed");break}});const yo=new Map;function Os(A,e,t,i,n,I){const r=function Qu(A,e,t){return"signEvent"===e&&void 0!==t?.kind?`${A}:${e}:kind${t.kind}`:`${A}:${e}`}(A,e,t),o=yo.get(r);if(o)return o;const s=function au(A,e,t){return new Promise((i,n)=>{if(Ce.length>=100)return void n(new Error("Too many pending permission requests. Please try again later."));const I=crypto.randomUUID(),r=A.includes("?")?"&":"?",o=`${A}${r}id=${I}`;Re.set(I,{resolve:i,reject:n}),Ce.push({id:I,url:o,width:e,height:t,resolve:i,reject:n}),zs()})}(i,n,I).finally(()=>{yo.delete(r)});return yo.set(r,s),s}function Ps(A,e){return wo.apply(this,arguments)}function wo(){return wo=F(function*(A,e){const t=yield Zt();if(!t)throw new Error("Smesh Signer vault not unlocked by the user.");const i=t.identities.find(o=>o.id===t.selectedIdentityId);if(!i)throw new Error("No Nostr identity available at endpoint.");const n=yield ms(A.host);if(n);else{const o=Us(t,i,A.host,A.method,A.params);if(!1===o)throw new Error("Permission denied");if(void 0===o){const a=A.method.startsWith("mls.")?"mls.*":A.method,h=ie.Buffer.from(JSON.stringify(A.params??{},void 0,2)).toString("base64"),d=Ce.length,l=`prompt.html?method=${a}&host=${A.host}&nick=${encodeURIComponent(i.nick)}&event=${h}&queue=${d}`,E=yield Os(A.host,a,A.params,l,375,600);if("approve"===E||"reject"===E){const u="approve"===E?"allow":"deny";yield Di(t,i,A.host,a,u,A.params?.kind),yield di(A.host,a,u,A.params?.kind)}else"approve-all"===E?(yield Di(t,i,A.host,a,"allow",void 0),yield di(A.host,a,"allow",void 0)):"reject-all"===E&&(yield Di(t,i,A.host,a,"deny",void 0),yield di(A.host,a,"deny",void 0));if(["reject","reject-once","reject-all"].includes(E))throw yield Bt(A.method,A.host,!1,!1,{kind:A.params?.kind,peerPubkey:A.params?.peerPubkey}),new Error("Permission denied")}}const I={};let r;switch(A.method){case"getPublicKey":return r=le.pubkeyFromPrivkey(i.privkey),yield Bt(A.method,A.host,!0,n),r;case"signEvent":return r=Ns(A.params,i.privkey),yield Bt(A.method,A.host,!0,n,{kind:A.params?.kind}),r;case"getRelays":return t.relays.forEach(o=>{I[o.url]={read:o.read,write:o.write}}),yield Bt(A.method,A.host,!0,n),I;case"nip04.encrypt":return r=yield Hs(i.privkey,A.params.peerPubkey,A.params.plaintext),yield Bt(A.method,A.host,!0,n,{peerPubkey:A.params.peerPubkey}),r;case"nip44.encrypt":return r=yield xs(i.privkey,A.params.peerPubkey,A.params.plaintext),yield Bt(A.method,A.host,!0,n,{peerPubkey:A.params.peerPubkey}),r;case"nip04.decrypt":return r=yield Js(i.privkey,A.params.peerPubkey,A.params.ciphertext),yield Bt(A.method,A.host,!0,n,{peerPubkey:A.params.peerPubkey}),r;case"nip44.decrypt":return r=yield qs(i.privkey,A.params.peerPubkey,A.params.ciphertext),yield Bt(A.method,A.host,!0,n,{peerPubkey:A.params.peerPubkey}),r;case"mls.init":if(void 0===e)throw new Error("MLS requires tab context");return r=yield function _l(A,e,t,i){return Bo.apply(this,arguments)}(i.privkey,le.pubkeyFromPrivkey(i.privkey),A.params.relayURLs||[],e,A.params.lastEventTS||0),r;case"mls.sendDM":return function $l(A,e){return so.apply(this,arguments)}(A.params.recipient,A.params.content);case"mls.subscribe":return function Au(){return co.apply(this,arguments)}();case"mls.publishKP":return function eu(){return ao.apply(this,arguments)}();case"mls.listGroups":return JSON.parse(yield function tu(){return Qo.apply(this,arguments)}());case"mls.deliverEvent":return function iu(A,e){if(!_r)return void bs.push({subId:A,eventJSON:e});const t=globalThis._marmot;t&&t.deliverEvent(A,e)}(A.params.subId,A.params.eventJSON),"ok";case"mls.backupGroups":return yield function nu(){return Co.apply(this,arguments)}(),"ok";case"mls.restoreGroups":return yield function Iu(){return Eo.apply(this,arguments)}(),"ok";case"mls.ratchetGroup":return yield function ru(A){return ho.apply(this,arguments)}(A.params.peerHex),"ok";default:throw new Error(`Not supported request method '${A.method}'.`)}}),wo.apply(this,arguments)}function po(){return po=F(function*(A){const e=yield Zt();if(!e)throw new Error("Smesh Signer vault not unlocked by the user.");const t=e.nwcConnections??[],i=A.method;if("webln.enable"===i){if(0===t.length)throw new Error("No wallet configured. Please add an NWC connection in Smesh Signer settings.");return{enabled:!0}}const n=t[0];if(!n)throw new Error("No wallet configured. Please add an NWC connection in Smesh Signer settings.");const r=!(!(yield ms(A.host))||"webln.sendPayment"===i||"webln.keysend"===i)||function(A,e,t){if("webln.sendPayment"===t||"webln.keysend"===t)return;const i=A.permissions.filter(n=>"webln"===n.identityId&&n.host===e&&n.method===t);return 0!==i.length?i.every(n=>"allow"===n.methodPolicy):void 0}(e,A.host,i);if(!1===r)throw new Error("Permission denied");if(void 0===r){let a=A.params??{};if("webln.sendPayment"===i&&A.params?.paymentRequest){const u=function Bu(A){try{const e=A.toLowerCase().match(/^ln(bc|tb|tbs|bcrt)(\d+)([munp])?1/);if(!e)return;const i=e[3];let n=parseInt(e[2],10);switch(i){case"m":n*=1e5;break;case"u":n*=100;break;case"n":n=Math.floor(n/10);break;case"p":n=Math.floor(n/1e4);break;default:n*=1e8}return n}catch{return}}(A.params.paymentRequest);a={...a,amountSats:u}}const h=ie.Buffer.from(JSON.stringify(a,void 0,2)).toString("base64"),l=`prompt.html?method=${i}&host=${A.host}&nick=WebLN&event=${h}&queue=${Ce.length}`,E=yield Os(A.host,i,A.params,l,375,600);if("approve"!==E&&"reject"!==E||"webln.sendPayment"===i||"webln.keysend"===i)"approve-all"===E&&"webln.sendPayment"!==i&&"webln.keysend"!==i&&(yield Di(e,null,A.host,i,"allow"),yield di(A.host,i,"allow"));else{const u="approve"===E?"allow":"deny";yield Di(e,null,A.host,i,u),yield di(A.host,i,u)}if(["reject","reject-once","reject-all"].includes(E))throw new Error("Permission denied")}let o;const s=yield function gu(A){return fo.apply(this,arguments)}(n);switch(i){case"webln.getInfo":{const c=yield s.getInfo();return o={node:{alias:c.alias,pubkey:c.pubkey,color:c.color}},o}case"webln.sendPayment":{const c=A.params.paymentRequest;return o={preimage:(yield s.payInvoice({invoice:c})).preimage},o}case"webln.makeInvoice":{const C=1e3*("string"==typeof A.params.amount?parseInt(A.params.amount,10):A.params.amount??A.params.defaultAmount??0);return o={paymentRequest:(yield s.makeInvoice({amount:C,description:A.params.defaultMemo})).invoice},o}case"webln.keysend":throw new Error("keysend is not yet supported");default:throw new Error(`Not supported WebLN method '${i}'.`)}}),po.apply(this,arguments)}qA().runtime.onMessage.addListener(function(){var A=F(function*(e,t){if("unlock-request"===e?.type){const o=e,s=yield function vl(A){return Zr.apply(this,arguments)}(o.password),c={type:"unlock-response",id:o.id,success:s.success,error:s.error};if(s.success){On=!1,Pn=void 0;const C=[...Ui];Ui.length=0,C.length>0&&setTimeout(F(function*(){for(const a of C)try{const h=yield Ps(a.request);a.resolve(h)}catch(h){a.reject(h)}}),0)}return c}const i=e;if(i?.id){const o=i,s=Re.get(o.id);if(!s)return;if(s.resolve(o.response),["approve","reject","approve-all","reject-all"].includes(o.response)){const c=Ce.find(C=>C.id===o.id);if(c)try{const C=new URL(c.url,"http://ext"),a=C.searchParams.get("host"),h=C.searchParams.get("method");if(a&&h){const d=["approve","approve-all"].includes(o.response)?"approve-once":"reject-once";for(let l=Ce.length-1;l>=0;l--){const E=Ce[l];if(E.id!==o.id)try{const u=new URL(E.url,"http://ext");if(u.searchParams.get("host")===a&&u.searchParams.get("method")===h){const y=Re.get(E.id);y&&(y.timeoutId&&clearTimeout(y.timeoutId),y.resolve(d),Re.delete(E.id)),Ce.splice(l,1)}}catch{}}}}catch{}}return void Vn(o.id,"response")}if(!(yield Zt())){const o=i;return On||(On=!0,Pn=yield function Ll(A){return Tr.apply(this,arguments)}(o.host)),new Promise((s,c)=>{Ui.push({request:o,resolve:s,reject:c})})}const I=i;if(function(A){return A.startsWith("webln.")}(I.method))return function Cu(A){return po.apply(this,arguments)}(I);const r=t?.tab?.id;return function ou(A){return A.startsWith("mls.")}(I.method)&&void 0!==r&&function jl(A){Ct.add(A)}(r),Ps(I,r)});return function(e,t){return A.apply(this,arguments)}}())})()})();