@libp2p/keychain 5.2.8-cb1c14e62 → 5.2.8-cf9aab5c8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +3 -3
- package/dist/index.min.js.map +3 -3
- package/package.json +5 -5
package/dist/index.min.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PKeychain = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PKeychain=(()=>{var Zu=Object.create;var xn=Object.defineProperty;var Yu=Object.getOwnPropertyDescriptor;var zu=Object.getOwnPropertyNames;var Wu=Object.getPrototypeOf,Ju=Object.prototype.hasOwnProperty;var Tr=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),ut=(r,t)=>{for(var e in t)xn(r,e,{get:t[e],enumerable:!0})},ki=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of zu(t))!Ju.call(r,s)&&s!==e&&xn(r,s,{get:()=>t[s],enumerable:!(n=Yu(t,s))||n.enumerable});return r};var Ii=(r,t,e)=>(e=r!=null?Zu(Wu(r)):{},ki(t||!r||!r.__esModule?xn(e,"default",{value:r,enumerable:!0}):e,r)),Xu=r=>ki(xn({},"__esModule",{value:!0}),r);var zc=Tr((Qm,Yc)=>{"use strict";function Mh(r){return r>=55296&&r<=56319}function Fh(r){return r>=56320&&r<=57343}Yc.exports=function(t,e,n){if(typeof e!="string")throw new Error("Input must be string");for(var s=e.length,o=0,i,a,c=0;c<s;c+=1){if(i=e.charCodeAt(c),a=e[c],Mh(i)&&Fh(e.charCodeAt(c+1))&&(c+=1,a+=e[c]),o+=t(a),o===n)return e.slice(0,c+1);if(o>n)return e.slice(0,c-a.length+1)}return e}});var Jc=Tr((tb,Wc)=>{"use strict";function qh(r){return r>=55296&&r<=56319}function jh(r){return r>=56320&&r<=57343}Wc.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var e=t.length,n=0,s=null,o=null,i=0;i<e;i++)s=t.charCodeAt(i),jh(s)?o!=null&&qh(o)?n+=1:n+=3:s<=127?n+=1:s>=128&&s<=2047?n+=2:s>=2048&&s<=65535&&(n+=3),o=s;return n}});var Qc=Tr((eb,Xc)=>{"use strict";var $h=zc(),Gh=Jc();Xc.exports=$h.bind(null,Gh)});var ru=Tr((rb,eu)=>{"use strict";var Zh=Qc(),Yh=/[\/\?<>\\:\*\|"]/g,zh=/[\x00-\x1f\x80-\x9f]/g,Wh=/^\.+$/,Jh=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Xh=/[\. ]+$/;function tu(r,t){if(typeof r!="string")throw new Error("Input must be string");var e=r.replace(Yh,t).replace(zh,t).replace(Wh,t).replace(Jh,t).replace(Xh,t);return Zh(e,255)}eu.exports=function(r,t){var e=t&&t.replacement||"",n=tu(r,e);return e===""?n:tu(n,"")}});var nu=Tr(Ar=>{"use strict";var td="[object ArrayBuffer]",re=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===td}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let o=0;o<n.length;o++)if(n[o]!==s[o])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let i of e)n+=i.byteLength;let s=new Uint8Array(n),o=0;for(let i of e){let a=this.toUint8Array(i);s.set(a,o),o+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},gi="string",ed=/^[0-9a-f\s]+$/i,rd=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,nd=/^[a-zA-Z0-9-_]+$/,ss=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=re.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return decodeURIComponent(escape(n))}},Nt=class{static toString(t,e=!1){let n=re.toArrayBuffer(t),s=new DataView(n),o="";for(let i=0;i<n.byteLength;i+=2){let a=s.getUint16(i,e);o+=String.fromCharCode(a)}return o}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let o=0;o<t.length;o++)s.setUint16(o*2,t.charCodeAt(o),e);return n}},os=class r{static isHex(t){return typeof t===gi&&ed.test(t)}static isBase64(t){return typeof t===gi&&rd.test(t)}static isBase64Url(t){return typeof t===gi&&nd.test(t)}static ToString(t,e="utf8"){let n=re.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return Nt.toString(n,!0);case"utf16":case"utf16be":return Nt.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return Nt.fromString(t,!0);case"utf16":case"utf16be":return Nt.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=re.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return ss.fromString(t);case"utf16":case"utf16be":return Nt.fromString(t);case"utf16le":case"usc2":return Nt.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return ss.toString(t);case"utf16":case"utf16be":return Nt.toString(t);case"utf16le":case"usc2":return Nt.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=re.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=re.toUint8Array(t),n="",s=e.length;for(let o=0;o<s;o++){let i=e[o];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let o=e.slice(s,s+2);n[s/2]=parseInt(o,16)}return n.buffer}static ToUtf16String(t,e=!1){return Nt.toString(t,e)}static FromUtf16String(t,e=!1){return Nt.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};os.DEFAULT_UTF8_ENCODING="utf8";function sd(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let o in s)e[o]=s[o]}return e}function od(...r){let t=r.map(s=>s.byteLength).reduce((s,o)=>s+o),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let o of s)e[n++]=o}),e.buffer}function id(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}Ar.BufferSourceConverter=re;Ar.Convert=os;Ar.assign=sd;Ar.combine=od;Ar.isEqual=id});var Bd={};ut(Bd,{keychain:()=>Ed});var _r=class extends Error{constructor(t="An error occurred while signing a message"){super(t),this.name="SigningError"}},Ur=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},vn=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Ci={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new vn("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var X=Ci;var U=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Ge=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}},Lr=class extends Error{static name="InvalidPrivateKeyError";constructor(t="Invalid private key"){super(t),this.name="InvalidPrivateKeyError"}};var En=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var Ze=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Ni=Symbol.for("@libp2p/service-capabilities"),_d=Symbol.for("@libp2p/service-dependencies");var to={};ut(to,{base58btc:()=>Q,base58flickr:()=>ol});var Qd=new Uint8Array(0);function Ti(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Mt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function _i(r){return new TextEncoder().encode(r)}function Ui(r){return new TextDecoder().decode(r)}function Qu(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var o=r.charAt(s),i=o.charCodeAt(0);if(e[i]!==255)throw new TypeError(o+" is ambiguous");e[i]=s}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var y=0,g=0,v=0,k=p.length;v!==k&&p[v]===0;)v++,y++;for(var B=(k-v)*h+1>>>0,N=new Uint8Array(B);v!==k;){for(var H=p[v],I=0,O=B-1;(H!==0||I<g)&&O!==-1;O--,I++)H+=256*N[O]>>>0,N[O]=H%a>>>0,H=H/a>>>0;if(H!==0)throw new Error("Non-zero carry");g=I,v++}for(var V=B-g;V!==B&&N[V]===0;)V++;for(var _=c.repeat(y);V<B;++V)_+=r.charAt(N[V]);return _}function f(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var y=0;if(p[y]!==" "){for(var g=0,v=0;p[y]===c;)g++,y++;for(var k=(p.length-y)*l+1>>>0,B=new Uint8Array(k);p[y];){var N=e[p.charCodeAt(y)];if(N===255)return;for(var H=0,I=k-1;(N!==0||H<v)&&I!==-1;I--,H++)N+=a*B[I]>>>0,B[I]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");v=H,y++}if(p[y]!==" "){for(var O=k-v;O!==k&&B[O]===0;)O++;for(var V=new Uint8Array(g+(k-O)),_=g;O!==k;)V[_++]=B[O++];return V}}}function d(p){var y=f(p);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:f,decode:d}}var tl=Qu,el=tl,Ri=el;var Ws=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Js=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let s=e.codePointAt(0);if(s===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Di(this,t)}},Xs=class{decoders;constructor(t){this.decoders=t}or(t){return Di(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Di(r,t){return new Xs({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Qs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Ws(t,e,n),this.decoder=new Js(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ye({name:r,prefix:t,encode:e,decode:n}){return new Qs(r,t,e,n)}function le({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Ri(e,r);return Ye({prefix:t,name:r,encode:n,decode:o=>Mt(s(o))})}function rl(r,t,e,n){let s=r.length;for(;r[s-1]==="=";)--s;let o=new Uint8Array(s*e/8|0),i=0,a=0,c=0;for(let l=0;l<s;++l){let h=t[r[l]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|h,i+=e,i>=8&&(i-=8,o[c++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return o}function nl(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,o="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,o+=t[s&a>>i];if(i!==0&&(o+=t[s&a<<e-i]),n)for(;(o.length*e&7)!==0;)o+="=";return o}function sl(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function W({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let s=sl(n);return Ye({prefix:t,name:r,encode(o){return nl(o,n,e)},decode(o){return rl(o,s,e,r)}})}var Q=le({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ol=le({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var eo={};ut(eo,{base32:()=>ze,base32hex:()=>ul,base32hexpad:()=>fl,base32hexpadupper:()=>hl,base32hexupper:()=>ll,base32pad:()=>al,base32padupper:()=>cl,base32upper:()=>il,base32z:()=>dl});var ze=W({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),il=W({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),al=W({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),cl=W({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ul=W({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ll=W({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),fl=W({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),hl=W({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),dl=W({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ro={};ut(ro,{base36:()=>Rr,base36upper:()=>pl});var Rr=le({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),pl=le({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var gl=Oi,Hi=128,yl=127,ml=~yl,bl=Math.pow(2,31);function Oi(r,t,e){t=t||[],e=e||0;for(var n=e;r>=bl;)t[e++]=r&255|Hi,r/=128;for(;r&ml;)t[e++]=r&255|Hi,r>>>=7;return t[e]=r|0,Oi.bytes=e-n+1,t}var wl=no,xl=128,Ki=127;function no(r,n){var e=0,n=n||0,s=0,o=n,i,a=r.length;do{if(o>=a)throw no.bytes=0,new RangeError("Could not decode varint");i=r[o++],e+=s<28?(i&Ki)<<s:(i&Ki)*Math.pow(2,s),s+=7}while(i>=xl);return no.bytes=o-n,e}var vl=Math.pow(2,7),El=Math.pow(2,14),Bl=Math.pow(2,21),Al=Math.pow(2,28),Sl=Math.pow(2,35),kl=Math.pow(2,42),Il=Math.pow(2,49),Cl=Math.pow(2,56),Nl=Math.pow(2,63),Tl=function(r){return r<vl?1:r<El?2:r<Bl?3:r<Al?4:r<Sl?5:r<kl?6:r<Il?7:r<Cl?8:r<Nl?9:10},_l={encode:gl,decode:wl,encodingLength:Tl},Ul=_l,Dr=Ul;function Hr(r,t=0){return[Dr.decode(r,t),Dr.decode.bytes]}function We(r,t,e=0){return Dr.encode(r,t,e),t}function Je(r){return Dr.encodingLength(r)}function Tt(r,t){let e=t.byteLength,n=Je(r),s=n+Je(e),o=new Uint8Array(s+e);return We(r,o,0),We(e,o,n),o.set(t,s),new Xe(r,e,t,o)}function Vi(r){let t=Mt(r),[e,n]=Hr(t),[s,o]=Hr(t.subarray(n)),i=t.subarray(n+o);if(i.byteLength!==s)throw new Error("Incorrect length");return new Xe(e,s,i,t)}function Pi(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ti(r.bytes,e.bytes)}}var Xe=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};function Mi(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Rl(e,so(r),t??Q.encoder);default:return Dl(e,so(r),t??ze.encoder)}}var Fi=new WeakMap;function so(r){let t=Fi.get(r);if(t==null){let e=new Map;return Fi.set(r,e),e}return t}var kt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Or)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Hl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Tt(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Pi(t.multihash,n.multihash)}toString(t){return Mi(this,t)}toJSON(){return{"/":Mi(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:o,bytes:i}=e;return new r(n,s,o,i??qi(n,s,o.bytes))}else if(e[Kl]===!0){let{version:n,multihash:s,code:o}=e,i=Vi(s);return r.create(n,o,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Or)throw new Error(`Version 0 CID must use dag-pb (code: ${Or}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=qi(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Or,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,s=Mt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=s.subarray(e.multihashSize-e.digestSize),i=new Xe(e.multihashCode,e.digestSize,o,s);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,f]=Hr(t.subarray(e));return e+=f,u},s=n(),o=Or;if(s===18?(s=0,e=0):o=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let i=e,a=n(),c=n(),l=e+c,h=l-i;return{version:s,codec:o,multihashCode:a,digestSize:c,multihashSize:h,size:l}}static parse(t,e){let[n,s]=Ll(t,e),o=r.decode(s);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return so(o).set(n,t),o}};function Ll(r,t){switch(r[0]){case"Q":{let e=t??Q;return[Q.prefix,e.decode(`${Q.prefix}${r}`)]}case Q.prefix:{let e=t??Q;return[Q.prefix,e.decode(r)]}case ze.prefix:{let e=t??ze;return[ze.prefix,e.decode(r)]}case Rr.prefix:{let e=t??Rr;return[Rr.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Rl(r,t,e){let{prefix:n}=e;if(n!==Q.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return s}function Dl(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let o=e.encode(r);return t.set(n,o),o}else return s}var Or=112,Hl=18;function qi(r,t,e){let n=Je(r),s=n+Je(t),o=new Uint8Array(s+e.byteLength);return We(r,o,0),We(t,o,n),o.set(e,s),o}var Kl=Symbol.for("@ipld/js-cid/CID");var oo={};ut(oo,{identity:()=>Se});var ji=0,Ol="identity",$i=Mt;function Vl(r){return Tt(ji,$i(r))}var Se={code:ji,name:Ol,encode:$i,digest:Vl};function gt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Ft(r=0){return new Uint8Array(r)}function Bt(r=0){return new Uint8Array(r)}function Qe(r,t){t==null&&(t=r.reduce((s,o)=>s+o.length,0));let e=Bt(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}var Zi=Symbol.for("@achingbrain/uint8arraylist");function Gi(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function An(r){return!!r?.[Zi]}var lt=class r{bufs;length;[Zi]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(An(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(An(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Gi(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Gi(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(An(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:s}=this._subList(t,e);return Qe(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Qe(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),o=new r;return o.length=s,o.bufs=[...n],o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let o=0;o<this.bufs.length;o++){let i=this.bufs[o],a=s,c=a+i.byteLength;if(s=c,t>=c)continue;let l=t>=a&&t<c,h=e>a&&e<=c;if(l&&h){if(t===a&&e===c){n.push(i);break}let u=t-a;n.push(i.subarray(u,u+(e-t)));break}if(l){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(h){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!An(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let o=256,i=new Int32Array(o);for(let u=0;u<o;u++)i[u]=-1;for(let u=0;u<s;u++)i[n[u]]=u;let a=i,c=this.byteLength-n.byteLength,l=n.byteLength-1,h;for(let u=e;u<=c;u+=h){h=0;for(let f=l;f>=0;f--){let d=this.get(u+f);if(n[f]!==d){h=Math.max(1,f-a[d]);break}}if(h===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=Ft(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=Ft(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=Ft(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=Ft(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=Ft(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=Ft(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=Ft(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=Ft(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!gt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,o)=>s+o.byteLength,0)),n.length=e,n}};var io={};ut(io,{base10:()=>Pl});var Pl=le({prefix:"9",name:"base10",alphabet:"0123456789"});var ao={};ut(ao,{base16:()=>Ml,base16upper:()=>Fl});var Ml=W({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Fl=W({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var co={};ut(co,{base2:()=>ql});var ql=W({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var uo={};ut(uo,{base256emoji:()=>Yl});var Yi=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),jl=Yi.reduce((r,t,e)=>(r[e]=t,r),[]),$l=Yi.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Gl(r){return r.reduce((t,e)=>(t+=jl[e],t),"")}function Zl(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let s=$l[n];if(s==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(s)}return new Uint8Array(t)}var Yl=Ye({prefix:"\u{1F680}",name:"base256emoji",encode:Gl,decode:Zl});var lo={};ut(lo,{base64:()=>ke,base64pad:()=>zl,base64url:()=>Wl,base64urlpad:()=>Jl});var ke=W({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),zl=W({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Wl=W({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Jl=W({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fo={};ut(fo,{base8:()=>Xl});var Xl=W({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ho={};ut(ho,{identity:()=>Ql});var Ql=Ye({prefix:"\0",name:"identity",encode:r=>Ui(r),decode:r=>_i(r)});var H0=new TextEncoder,K0=new TextDecoder;var yo={};ut(yo,{sha256:()=>tr,sha512:()=>rf});function go({name:r,code:t,encode:e}){return new po(r,t,e)}var po=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Tt(this.code,e):e.then(n=>Tt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Wi(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var tr=go({name:"sha2-256",code:18,encode:Wi("SHA-256")}),rf=go({name:"sha2-512",code:19,encode:Wi("SHA-512")});var mo={...ho,...co,...fo,...io,...ao,...eo,...ro,...to,...lo,...uo},z0={...yo,...oo};function Xi(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ji=Xi("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),bo=Xi("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Bt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),nf={utf8:Ji,"utf-8":Ji,hex:mo.base16,latin1:bo,ascii:bo,binary:bo,...mo},Sn=nf;function M(r,t="utf8"){let e=Sn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function q(r,t="utf8"){let e=Sn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var sf=parseInt("11111",2),wo=parseInt("10000000",2),of=parseInt("01111111",2),Qi={0:Vr,1:Vr,2:af,3:lf,4:ff,5:uf,6:cf,16:Vr,22:Vr,48:Vr};function _t(r,t={offset:0}){let e=r[t.offset]&sf;if(t.offset++,Qi[e]!=null)return Qi[e](r,t);throw new Error("No decoder for tag "+e)}function Pr(r,t){let e=0;if((r[t.offset]&wo)===wo){let n=r[t.offset]&of,s="0x";t.offset++;for(let o=0;o<n;o++,t.offset++)s+=r[t.offset].toString(16).padStart(2,"0");e=parseInt(s,16)}else e=r[t.offset],t.offset++;return e}function Vr(r,t){Pr(r,t);let e=[];for(;!(t.offset>=r.byteLength);){let n=_t(r,t);if(n===null)break;e.push(n)}return e}function af(r,t){let e=Pr(r,t),n=t.offset,s=t.offset+e,o=[];for(let i=n;i<s;i++)i===n&&r[i]===0||o.push(r[i]);return t.offset+=e,Uint8Array.from(o)}function cf(r,t){let e=Pr(r,t),n=t.offset+e,s=r[t.offset];t.offset++;let o=0,i=0;s<40?(o=0,i=s):s<80?(o=1,i=s-40):(o=2,i=s-80);let a=`${o}.${i}`,c=[];for(;t.offset<n;){let l=r[t.offset];if(t.offset++,c.push(l&127),l<128){c.reverse();let h=0;for(let u=0;u<c.length;u++)h+=c[u]<<u*7;a+=`.${h}`,c=[]}}return a}function uf(r,t){return t.offset++,null}function lf(r,t){let e=Pr(r,t),n=r[t.offset];t.offset++;let s=r.subarray(t.offset,t.offset+e-1);if(t.offset+=e,n!==0)throw new Error("Unused bits in bit string is unimplemented");return s}function ff(r,t){let e=Pr(r,t),n=r.subarray(t.offset,t.offset+e);return t.offset+=e,n}function hf(r){let t=r.toString(16);t.length%2===1&&(t="0"+t);let e=new lt;for(let n=0;n<t.length;n+=2)e.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return e}function kn(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let t=hf(r.byteLength);return new lt(Uint8Array.from([t.byteLength|wo]),t)}function ft(r){let t=new lt,e=128;return(r.subarray()[0]&e)===e&&t.append(Uint8Array.from([0])),t.append(r),new lt(Uint8Array.from([2]),kn(t),t)}function Mr(r){let t=Uint8Array.from([0]),e=new lt(t,r);return new lt(Uint8Array.from([3]),kn(e),e)}function ta(r){return new lt(Uint8Array.from([4]),kn(r),r)}function Ut(r,t=48){let e=new lt;for(let n of r)e.append(n);return new lt(Uint8Array.from([t]),kn(e),e)}var ea="1.2.840.10045.3.1.7",ra="1.3.132.0.34",na="1.3.132.0.35";async function sa(r,t,e){let n=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["sign"]);e?.signal?.throwIfAborted();let s=await crypto.subtle.sign({name:"ECDSA",hash:{name:"SHA-256"}},n,t.subarray());return e?.signal?.throwIfAborted(),new Uint8Array(s,0,s.byteLength)}async function oa(r,t,e,n){let s=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let o=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},s,t,e.subarray());return n?.signal?.throwIfAborted(),o}var df=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),pf=Uint8Array.from([6,5,43,129,4,0,34]),gf=Uint8Array.from([6,5,43,129,4,0,35]),yf={ext:!0,kty:"EC",crv:"P-256"},mf={ext:!0,kty:"EC",crv:"P-384"},bf={ext:!0,kty:"EC",crv:"P-521"},xo=32,vo=48,Eo=66;function ia(r){let t=_t(r);return Bo(t)}function Bo(r){let t=r[1],e=q(t,"base64url"),n=r[2][1][0],s=1,o,i;if(t.byteLength===xo)return o=q(n.subarray(s,s+xo),"base64url"),i=q(n.subarray(s+xo),"base64url"),new er({...yf,key_ops:["sign"],d:e,x:o,y:i});if(t.byteLength===vo)return o=q(n.subarray(s,s+vo),"base64url"),i=q(n.subarray(s+vo),"base64url"),new er({...mf,key_ops:["sign"],d:e,x:o,y:i});if(t.byteLength===Eo)return o=q(n.subarray(s,s+Eo),"base64url"),i=q(n.subarray(s+Eo),"base64url"),new er({...bf,key_ops:["sign"],d:e,x:o,y:i});throw new U(`Private key length was wrong length, got ${t.byteLength}, expected 32, 48 or 66`)}function aa(r){return Ut([ft(Uint8Array.from([1])),ta(M(r.d??"","base64url")),Ut([ua(r.crv)],160),Ut([Mr(new lt(Uint8Array.from([4]),M(r.x??"","base64url"),M(r.y??"","base64url")))],161)]).subarray()}function ca(r){return Ut([ft(Uint8Array.from([1])),Ut([ua(r.crv)],160),Ut([Mr(new lt(Uint8Array.from([4]),M(r.x??"","base64url"),M(r.y??"","base64url")))],161)]).subarray()}function ua(r){if(r==="P-256")return df;if(r==="P-384")return pf;if(r==="P-521")return gf;throw new U(`Invalid curve ${r}`)}var In=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=ca(this.jwk)),this._raw}toMultihash(){return Se.digest(rr(this))}toCID(){return kt.createV1(114,this.toMultihash())}toString(){return Q.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:gt(this.raw,t.raw)}async verify(t,e,n){return oa(this.jwk,e,t,n)}},er=class{type="ECDSA";jwk;publicKey;_raw;constructor(t){this.jwk=t,this.publicKey=new In({crv:t.crv,ext:t.ext,key_ops:["verify"],kty:"EC",x:t.x,y:t.y})}get raw(){return this._raw==null&&(this._raw=aa(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:gt(this.raw,t.raw)}async sign(t,e){return sa(this.jwk,t,e)}};var Ie=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Ce(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function jt(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function z(r,...t){if(!Ce(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error("Uint8Array expected of length "+t+", got length="+r.length)}function sr(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");jt(r.outputLen),jt(r.blockLen)}function or(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function fa(r,t){z(r);let e=t.outputLen;if(r.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}function yt(...r){for(let t=0;t<r.length;t++)r[t].fill(0)}function Ne(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Lt(r,t){return r<<32-t|r>>>t}function Cn(r,t){return r<<t|r>>>32-t>>>0}var ha=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",wf=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function It(r){if(z(r),ha)return r.toHex();let t="";for(let e=0;e<r.length;e++)t+=wf[r[e]];return t}var qt={_0:48,_9:57,A:65,F:70,a:97,f:102};function la(r){if(r>=qt._0&&r<=qt._9)return r-qt._0;if(r>=qt.A&&r<=qt.F)return r-(qt.A-10);if(r>=qt.a&&r<=qt.f)return r-(qt.a-10)}function Te(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);if(ha)return Uint8Array.fromHex(r);let t=r.length,e=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,o=0;s<e;s++,o+=2){let i=la(r.charCodeAt(o)),a=la(r.charCodeAt(o+1));if(i===void 0||a===void 0){let c=r[o]+r[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[s]=i*16+a}return n}var xf=async()=>{};async function da(r,t,e){let n=Date.now();for(let s=0;s<r;s++){e(s);let o=Date.now()-n;o>=0&&o<t||(await xf(),n+=o)}}function Nn(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}function Fr(r){return typeof r=="string"&&(r=Nn(r)),z(r),r}function Ao(r){return typeof r=="string"&&(r=Nn(r)),z(r),r}function mt(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];z(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let o=r[n];e.set(o,s),s+=o.length}return e}function pa(r,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(r,t)}var nr=class{};function qr(r){let t=n=>r().update(Fr(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function _e(r=32){if(Ie&&typeof Ie.getRandomValues=="function")return Ie.getRandomValues(new Uint8Array(r));if(Ie&&typeof Ie.randomBytes=="function")return Uint8Array.from(Ie.randomBytes(r));throw new Error("crypto.getRandomValues must be defined")}function vf(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),o=BigInt(4294967295),i=Number(e>>s&o),a=Number(e&o),c=n?4:0,l=n?0:4;r.setUint32(t+c,i,n),r.setUint32(t+l,a,n)}function Tn(r,t,e){return r&t^~r&e}function _n(r,t,e){return r&t^r&e^t&e}var Ue=class extends nr{constructor(t,e,n,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.buffer=new Uint8Array(t),this.view=Ne(this.buffer)}update(t){or(this),t=Fr(t),z(t);let{view:e,buffer:n,blockLen:s}=this,o=t.length;for(let i=0;i<o;){let a=Math.min(s-this.pos,o-i);if(a===s){let c=Ne(t);for(;s<=o-i;i+=s)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){or(this),fa(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:o}=this,{pos:i}=this;e[i++]=128,yt(this.buffer.subarray(i)),this.padOffset>s-i&&(this.process(n,0),i=0);for(let u=i;u<s;u++)e[u]=0;vf(n,s-8,BigInt(this.length*8),o),this.process(n,0);let a=Ne(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,h=this.get();if(l>h.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,h[u],o)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:o,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=o,t.length=s,t.pos=a,s%e&&t.buffer.set(n),t}clone(){return this._cloneInto()}},$t=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var st=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Un=BigInt(4294967295),ga=BigInt(32);function Ef(r,t=!1){return t?{h:Number(r&Un),l:Number(r>>ga&Un)}:{h:Number(r>>ga&Un)|0,l:Number(r&Un)|0}}function ya(r,t=!1){let e=r.length,n=new Uint32Array(e),s=new Uint32Array(e);for(let o=0;o<e;o++){let{h:i,l:a}=Ef(r[o],t);[n[o],s[o]]=[i,a]}return[n,s]}var So=(r,t,e)=>r>>>e,ko=(r,t,e)=>r<<32-e|t>>>e,Le=(r,t,e)=>r>>>e|t<<32-e,Re=(r,t,e)=>r<<32-e|t>>>e,jr=(r,t,e)=>r<<64-e|t>>>e-32,$r=(r,t,e)=>r>>>e-32|t<<64-e;function Ht(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var ma=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),ba=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,wa=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),xa=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,va=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),Ea=(r,t,e,n,s,o)=>t+e+n+s+o+(r/2**32|0)|0;var Af=Uint32Array.from([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]),fe=new Uint32Array(64),Ln=class extends Ue{constructor(t=32){super(64,t,8,!1),this.A=$t[0]|0,this.B=$t[1]|0,this.C=$t[2]|0,this.D=$t[3]|0,this.E=$t[4]|0,this.F=$t[5]|0,this.G=$t[6]|0,this.H=$t[7]|0}get(){let{A:t,B:e,C:n,D:s,E:o,F:i,G:a,H:c}=this;return[t,e,n,s,o,i,a,c]}set(t,e,n,s,o,i,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=o|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)fe[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let f=fe[u-15],d=fe[u-2],p=Lt(f,7)^Lt(f,18)^f>>>3,y=Lt(d,17)^Lt(d,19)^d>>>10;fe[u]=y+fe[u-7]+p+fe[u-16]|0}let{A:n,B:s,C:o,D:i,E:a,F:c,G:l,H:h}=this;for(let u=0;u<64;u++){let f=Lt(a,6)^Lt(a,11)^Lt(a,25),d=h+f+Tn(a,c,l)+Af[u]+fe[u]|0,y=(Lt(n,2)^Lt(n,13)^Lt(n,22))+_n(n,s,o)|0;h=l,l=c,c=a,a=i+d|0,i=o,o=s,s=n,n=d+y|0}n=n+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,h=h+this.H|0,this.set(n,s,o,i,a,c,l,h)}roundClean(){yt(fe)}destroy(){this.set(0,0,0,0,0,0,0,0),yt(this.buffer)}};var Ba=ya(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),Sf=Ba[0],kf=Ba[1],he=new Uint32Array(80),de=new Uint32Array(80),Rn=class extends Ue{constructor(t=64){super(128,t,16,!1),this.Ah=st[0]|0,this.Al=st[1]|0,this.Bh=st[2]|0,this.Bl=st[3]|0,this.Ch=st[4]|0,this.Cl=st[5]|0,this.Dh=st[6]|0,this.Dl=st[7]|0,this.Eh=st[8]|0,this.El=st[9]|0,this.Fh=st[10]|0,this.Fl=st[11]|0,this.Gh=st[12]|0,this.Gl=st[13]|0,this.Hh=st[14]|0,this.Hl=st[15]|0}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:o,Cl:i,Dh:a,Dl:c,Eh:l,El:h,Fh:u,Fl:f,Gh:d,Gl:p,Hh:y,Hl:g}=this;return[t,e,n,s,o,i,a,c,l,h,u,f,d,p,y,g]}set(t,e,n,s,o,i,a,c,l,h,u,f,d,p,y,g){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=o|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=h|0,this.Fh=u|0,this.Fl=f|0,this.Gh=d|0,this.Gl=p|0,this.Hh=y|0,this.Hl=g|0}process(t,e){for(let B=0;B<16;B++,e+=4)he[B]=t.getUint32(e),de[B]=t.getUint32(e+=4);for(let B=16;B<80;B++){let N=he[B-15]|0,H=de[B-15]|0,I=Le(N,H,1)^Le(N,H,8)^So(N,H,7),O=Re(N,H,1)^Re(N,H,8)^ko(N,H,7),V=he[B-2]|0,_=de[B-2]|0,b=Le(V,_,19)^jr(V,_,61)^So(V,_,6),m=Re(V,_,19)^$r(V,_,61)^ko(V,_,6),E=wa(O,m,de[B-7],de[B-16]),A=xa(E,I,b,he[B-7],he[B-16]);he[B]=A|0,de[B]=E|0}let{Ah:n,Al:s,Bh:o,Bl:i,Ch:a,Cl:c,Dh:l,Dl:h,Eh:u,El:f,Fh:d,Fl:p,Gh:y,Gl:g,Hh:v,Hl:k}=this;for(let B=0;B<80;B++){let N=Le(u,f,14)^Le(u,f,18)^jr(u,f,41),H=Re(u,f,14)^Re(u,f,18)^$r(u,f,41),I=u&d^~u&y,O=f&p^~f&g,V=va(k,H,O,kf[B],de[B]),_=Ea(V,v,N,I,Sf[B],he[B]),b=V|0,m=Le(n,s,28)^jr(n,s,34)^jr(n,s,39),E=Re(n,s,28)^$r(n,s,34)^$r(n,s,39),A=n&o^n&a^o&a,L=s&i^s&c^i&c;v=y|0,k=g|0,y=d|0,g=p|0,d=u|0,p=f|0,{h:u,l:f}=Ht(l|0,h|0,_|0,b|0),l=a|0,h=c|0,a=o|0,c=i|0,o=n|0,i=s|0;let R=ma(b,E,L);n=ba(R,_,m,A),s=R|0}({h:n,l:s}=Ht(this.Ah|0,this.Al|0,n|0,s|0)),{h:o,l:i}=Ht(this.Bh|0,this.Bl|0,o|0,i|0),{h:a,l:c}=Ht(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:h}=Ht(this.Dh|0,this.Dl|0,l|0,h|0),{h:u,l:f}=Ht(this.Eh|0,this.El|0,u|0,f|0),{h:d,l:p}=Ht(this.Fh|0,this.Fl|0,d|0,p|0),{h:y,l:g}=Ht(this.Gh|0,this.Gl|0,y|0,g|0),{h:v,l:k}=Ht(this.Hh|0,this.Hl|0,v|0,k|0),this.set(n,s,o,i,a,c,l,h,u,f,d,p,y,g,v,k)}roundClean(){yt(he,de)}destroy(){yt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Dn=qr(()=>new Ln);var Hn=qr(()=>new Rn);var No=BigInt(0),Co=BigInt(1);function Gt(r,t){if(typeof t!="boolean")throw new Error(r+" boolean expected, got "+t)}function Gr(r){let t=r.toString(16);return t.length&1?"0"+t:t}function Aa(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?No:BigInt("0x"+r)}function ir(r){return Aa(It(r))}function Zt(r){return z(r),Aa(It(Uint8Array.from(r).reverse()))}function Kn(r,t){return Te(r.toString(16).padStart(t*2,"0"))}function Yt(r,t){return Kn(r,t).reverse()}function $(r,t,e){let n;if(typeof t=="string")try{n=Te(t)}catch(o){throw new Error(r+" must be hex string or Uint8Array, cause: "+o)}else if(Ce(t))n=Uint8Array.from(t);else throw new Error(r+" must be hex string or Uint8Array");let s=n.length;if(typeof e=="number"&&s!==e)throw new Error(r+" of length "+e+" expected, got "+s);return n}function Sa(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}var Io=r=>typeof r=="bigint"&&No<=r;function ka(r,t,e){return Io(r)&&Io(t)&&Io(e)&&t<=r&&r<e}function pe(r,t,e,n){if(!ka(t,e,n))throw new Error("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function On(r){let t;for(t=0;r>No;r>>=Co,t+=1);return t}var ge=r=>(Co<<BigInt(r))-Co;function Ia(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=d=>new Uint8Array(d),s=d=>Uint8Array.of(d),o=n(r),i=n(r),a=0,c=()=>{o.fill(1),i.fill(0),a=0},l=(...d)=>e(i,o,...d),h=(d=n(0))=>{i=l(s(0),d),o=l(),d.length!==0&&(i=l(s(1),d),o=l())},u=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let d=0,p=[];for(;d<t;){o=l();let y=o.slice();p.push(y),d+=o.length}return mt(...p)};return(d,p)=>{c(),h(d);let y;for(;!(y=p(u()));)h();return c(),y}}function ye(r,t,e={}){if(!r||typeof r!="object")throw new Error("expected valid options object");function n(s,o,i){let a=r[s];if(i&&a===void 0)return;let c=typeof a;if(c!==o||a===null)throw new Error(`param "${s}" is invalid: expected ${o}, got ${c}`)}Object.entries(t).forEach(([s,o])=>n(s,o,!1)),Object.entries(e).forEach(([s,o])=>n(s,o,!0))}function ar(r){let t=new WeakMap;return(e,...n)=>{let s=t.get(e);if(s!==void 0)return s;let o=r(e,...n);return t.set(e,o),o}}var ht=BigInt(0),nt=BigInt(1),De=BigInt(2),Ta=BigInt(3),_a=BigInt(4),Ua=BigInt(5),If=BigInt(7),La=BigInt(8),Cf=BigInt(9),Ra=BigInt(16);function J(r,t){let e=r%t;return e>=ht?e:t+e}function Y(r,t,e){let n=r;for(;t-- >ht;)n*=n,n%=e;return n}function Ca(r,t){if(r===ht)throw new Error("invert: expected non-zero number");if(t<=ht)throw new Error("invert: expected positive modulus, got "+t);let e=J(r,t),n=t,s=ht,o=nt,i=nt,a=ht;for(;e!==ht;){let l=n/e,h=n%e,u=s-i*l,f=o-a*l;n=e,e=h,s=i,o=a,i=u,a=f}if(n!==nt)throw new Error("invert: does not exist");return J(s,t)}function To(r,t,e){if(!r.eql(r.sqr(t),e))throw new Error("Cannot find square root")}function Da(r,t){let e=(r.ORDER+nt)/_a,n=r.pow(t,e);return To(r,n,t),n}function Nf(r,t){let e=(r.ORDER-Ua)/La,n=r.mul(t,De),s=r.pow(n,e),o=r.mul(t,s),i=r.mul(r.mul(o,De),s),a=r.mul(o,r.sub(i,r.ONE));return To(r,a,t),a}function Tf(r){let t=At(r),e=Ha(r),n=e(t,t.neg(t.ONE)),s=e(t,n),o=e(t,t.neg(n)),i=(r+If)/Ra;return(a,c)=>{let l=a.pow(c,i),h=a.mul(l,n),u=a.mul(l,s),f=a.mul(l,o),d=a.eql(a.sqr(h),c),p=a.eql(a.sqr(u),c);l=a.cmov(l,h,d),h=a.cmov(f,u,p);let y=a.eql(a.sqr(h),c),g=a.cmov(l,h,y);return To(a,g,c),g}}function Ha(r){if(r<Ta)throw new Error("sqrt is not defined for small field");let t=r-nt,e=0;for(;t%De===ht;)t/=De,e++;let n=De,s=At(r);for(;Na(s,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(e===1)return Da;let o=s.pow(n,t),i=(t+nt)/De;return function(c,l){if(c.is0(l))return l;if(Na(c,l)!==1)throw new Error("Cannot find square root");let h=e,u=c.mul(c.ONE,o),f=c.pow(l,t),d=c.pow(l,i);for(;!c.eql(f,c.ONE);){if(c.is0(f))return c.ZERO;let p=1,y=c.sqr(f);for(;!c.eql(y,c.ONE);)if(p++,y=c.sqr(y),p===h)throw new Error("Cannot find square root");let g=nt<<BigInt(h-p-1),v=c.pow(u,g);h=p,u=c.sqr(v),f=c.mul(f,u),d=c.mul(d,v)}return d}}function _f(r){return r%_a===Ta?Da:r%La===Ua?Nf:r%Ra===Cf?Tf(r):Ha(r)}var zt=(r,t)=>(J(r,t)&nt)===nt,Uf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function _o(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},e=Uf.reduce((n,s)=>(n[s]="function",n),t);return ye(r,e),r}function Lf(r,t,e){if(e<ht)throw new Error("invalid exponent, negatives unsupported");if(e===ht)return r.ONE;if(e===nt)return t;let n=r.ONE,s=t;for(;e>ht;)e&nt&&(n=r.mul(n,s)),s=r.sqr(s),e>>=nt;return n}function Zr(r,t,e=!1){let n=new Array(t.length).fill(e?r.ZERO:void 0),s=t.reduce((i,a,c)=>r.is0(a)?i:(n[c]=i,r.mul(i,a)),r.ONE),o=r.inv(s);return t.reduceRight((i,a,c)=>r.is0(a)?i:(n[c]=r.mul(i,n[c]),r.mul(i,a)),o),n}function Na(r,t){let e=(r.ORDER-nt)/De,n=r.pow(t,e),s=r.eql(n,r.ONE),o=r.eql(n,r.ZERO),i=r.eql(n,r.neg(r.ONE));if(!s&&!o&&!i)throw new Error("invalid Legendre symbol result");return s?1:o?0:-1}function Ka(r,t){t!==void 0&&jt(t);let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function At(r,t,e=!1,n={}){if(r<=ht)throw new Error("invalid field: expected ORDER > 0, got "+r);let s,o,i=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||e)throw new Error("cannot specify opts in two arguments");let f=t;f.BITS&&(s=f.BITS),f.sqrt&&(o=f.sqrt),typeof f.isLE=="boolean"&&(e=f.isLE),typeof f.modOnDecode=="boolean"&&(i=f.modOnDecode),a=f.allowedLengths}else typeof t=="number"&&(s=t),n.sqrt&&(o=n.sqrt);let{nBitLength:c,nByteLength:l}=Ka(r,s);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let h,u=Object.freeze({ORDER:r,isLE:e,BITS:c,BYTES:l,MASK:ge(c),ZERO:ht,ONE:nt,allowedLengths:a,create:f=>J(f,r),isValid:f=>{if(typeof f!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof f);return ht<=f&&f<r},is0:f=>f===ht,isValidNot0:f=>!u.is0(f)&&u.isValid(f),isOdd:f=>(f&nt)===nt,neg:f=>J(-f,r),eql:(f,d)=>f===d,sqr:f=>J(f*f,r),add:(f,d)=>J(f+d,r),sub:(f,d)=>J(f-d,r),mul:(f,d)=>J(f*d,r),pow:(f,d)=>Lf(u,f,d),div:(f,d)=>J(f*Ca(d,r),r),sqrN:f=>f*f,addN:(f,d)=>f+d,subN:(f,d)=>f-d,mulN:(f,d)=>f*d,inv:f=>Ca(f,r),sqrt:o||(f=>(h||(h=_f(r)),h(u,f))),toBytes:f=>e?Yt(f,l):Kn(f,l),fromBytes:(f,d=!0)=>{if(a){if(!a.includes(f.length)||f.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+f.length);let y=new Uint8Array(l);y.set(f,e?0:y.length-f.length),f=y}if(f.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+f.length);let p=e?Zt(f):ir(f);if(i&&(p=J(p,r)),!d&&!u.isValid(p))throw new Error("invalid field element: outside of range 0..ORDER");return p},invertBatch:f=>Zr(u,f),cmov:(f,d,p)=>p?d:f});return Object.freeze(u)}function Oa(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Uo(r){let t=Oa(r);return t+Math.ceil(t/2)}function Lo(r,t,e=!1){let n=r.length,s=Oa(t),o=Uo(t);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);let i=e?Zt(r):ir(r),a=J(i,t-nt)+nt;return e?Yt(a,s):Kn(a,s)}var cr=BigInt(0),He=BigInt(1);function Yr(r,t){let e=t.negate();return r?e:t}function Wt(r,t){let e=Zr(r.Fp,t.map(n=>n.Z));return t.map((n,s)=>r.fromAffine(n.toAffine(e[s])))}function Fa(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function Ro(r,t){Fa(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1),s=2**r,o=ge(r),i=BigInt(r);return{windows:e,windowSize:n,mask:o,maxNumber:s,shiftBy:i}}function Va(r,t,e){let{windowSize:n,mask:s,maxNumber:o,shiftBy:i}=e,a=Number(r&s),c=r>>i;a>n&&(a-=o,c+=He);let l=t*n,h=l+Math.abs(a)-1,u=a===0,f=a<0,d=t%2!==0;return{nextN:c,offset:h,isZero:u,isNeg:f,isNegF:d,offsetF:l}}function Rf(r,t){if(!Array.isArray(r))throw new Error("array expected");r.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}function Df(r,t){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}var Do=new WeakMap,qa=new WeakMap;function Ho(r){return qa.get(r)||1}function Pa(r){if(r!==cr)throw new Error("invalid wNAF")}var ur=class{constructor(t,e){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=e}_unsafeLadder(t,e,n=this.ZERO){let s=t;for(;e>cr;)e&He&&(n=n.add(s)),s=s.double(),e>>=He;return n}precomputeWindow(t,e){let{windows:n,windowSize:s}=Ro(e,this.bits),o=[],i=t,a=i;for(let c=0;c<n;c++){a=i,o.push(a);for(let l=1;l<s;l++)a=a.add(i),o.push(a);i=a.double()}return o}wNAF(t,e,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let s=this.ZERO,o=this.BASE,i=Ro(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:l,isZero:h,isNeg:u,isNegF:f,offsetF:d}=Va(n,a,i);n=c,h?o=o.add(Yr(f,e[d])):s=s.add(Yr(u,e[l]))}return Pa(n),{p:s,f:o}}wNAFUnsafe(t,e,n,s=this.ZERO){let o=Ro(t,this.bits);for(let i=0;i<o.windows&&n!==cr;i++){let{nextN:a,offset:c,isZero:l,isNeg:h}=Va(n,i,o);if(n=a,!l){let u=e[c];s=s.add(h?u.negate():u)}}return Pa(n),s}getPrecomputes(t,e,n){let s=Do.get(e);return s||(s=this.precomputeWindow(e,t),t!==1&&(typeof n=="function"&&(s=n(s)),Do.set(e,s))),s}cached(t,e,n){let s=Ho(t);return this.wNAF(s,this.getPrecomputes(s,t,n),e)}unsafe(t,e,n,s){let o=Ho(t);return o===1?this._unsafeLadder(t,e,s):this.wNAFUnsafe(o,this.getPrecomputes(o,t,n),e,s)}createCache(t,e){Fa(e,this.bits),qa.set(t,e),Do.delete(t)}hasCache(t){return Ho(t)!==1}};function ja(r,t,e,n){let s=t,o=r.ZERO,i=r.ZERO;for(;e>cr||n>cr;)e&He&&(o=o.add(s)),n&He&&(i=i.add(s)),s=s.double(),e>>=He,n>>=He;return{p1:o,p2:i}}function lr(r,t,e,n){Rf(e,r),Df(n,t);let s=e.length,o=n.length;if(s!==o)throw new Error("arrays of points and scalars must have equal length");let i=r.ZERO,a=On(BigInt(s)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let l=ge(c),h=new Array(Number(l)+1).fill(i),u=Math.floor((t.BITS-1)/c)*c,f=i;for(let d=u;d>=0;d-=c){h.fill(i);for(let y=0;y<o;y++){let g=n[y],v=Number(g>>BigInt(d)&l);h[v]=h[v].add(e[y])}let p=i;for(let y=h.length-1,g=i;y>0;y--)g=g.add(h[y]),p=p.add(g);if(f=f.add(p),d!==0)for(let y=0;y<c;y++)f=f.double()}return f}function Ma(r,t){if(t){if(t.ORDER!==r)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return _o(t),t}else return At(r)}function Vn(r,t,e={}){if(!t||typeof t!="object")throw new Error(`expected valid ${r} CURVE object`);for(let a of["p","n","h"]){let c=t[a];if(!(typeof c=="bigint"&&c>cr))throw new Error(`CURVE.${a} must be positive bigint`)}let n=Ma(t.p,e.Fp),s=Ma(t.n,e.Fn),i=["Gx","Gy","a",r==="weierstrass"?"b":"d"];for(let a of i)if(!n.isValid(t[a]))throw new Error(`CURVE.${a} must be valid field element of CURVE.Fp`);return{Fp:n,Fn:s}}var Kt=BigInt(0),et=BigInt(1),Ko=BigInt(2),Hf=BigInt(8);function Kf(r,t,e,n){let s=r.sqr(e),o=r.sqr(n),i=r.add(r.mul(t.a,s),o),a=r.add(r.ONE,r.mul(t.d,r.mul(s,o)));return r.eql(i,a)}function Of(r,t={}){let{Fp:e,Fn:n}=Vn("edwards",r,t),{h:s,n:o}=r;ye(t,{},{uvRatio:"function"});let i=Ko<<BigInt(n.BYTES*8)-et,a=y=>e.create(y),c=t.uvRatio||((y,g)=>{try{return{isValid:!0,value:e.sqrt(e.div(y,g))}}catch{return{isValid:!1,value:Kt}}});if(!Kf(e,r,r.Gx,r.Gy))throw new Error("bad curve params: generator point");function l(y,g,v=!1){let k=v?et:Kt;return pe("coordinate "+y,g,k,i),g}function h(y){if(!(y instanceof d))throw new Error("ExtendedPoint expected")}let u=ar((y,g)=>{let{X:v,Y:k,Z:B}=y,N=y.is0();g==null&&(g=N?Hf:e.inv(B));let H=a(v*g),I=a(k*g),O=e.mul(B,g);if(N)return{x:Kt,y:et};if(O!==et)throw new Error("invZ was invalid");return{x:H,y:I}}),f=ar(y=>{let{a:g,d:v}=r;if(y.is0())throw new Error("bad point: ZERO");let{X:k,Y:B,Z:N,T:H}=y,I=a(k*k),O=a(B*B),V=a(N*N),_=a(V*V),b=a(I*g),m=a(V*a(b+O)),E=a(_+a(v*a(I*O)));if(m!==E)throw new Error("bad point: equation left != right (1)");let A=a(k*B),L=a(N*H);if(A!==L)throw new Error("bad point: equation left != right (2)");return!0});class d{constructor(g,v,k,B){this.X=l("x",g),this.Y=l("y",v),this.Z=l("z",k,!0),this.T=l("t",B),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(g){return Wt(d,g)}static msm(g,v){return lr(d,n,g,v)}_setWindowSize(g){this.precompute(g)}static fromAffine(g){if(g instanceof d)throw new Error("extended point not allowed");let{x:v,y:k}=g||{};return l("x",v),l("y",k),new d(v,k,et,a(v*k))}precompute(g=8,v=!0){return p.createCache(this,g),v||this.multiply(Ko),this}assertValidity(){f(this)}equals(g){h(g);let{X:v,Y:k,Z:B}=this,{X:N,Y:H,Z:I}=g,O=a(v*I),V=a(N*B),_=a(k*I),b=a(H*B);return O===V&&_===b}is0(){return this.equals(d.ZERO)}negate(){return new d(a(-this.X),this.Y,this.Z,a(-this.T))}double(){let{a:g}=r,{X:v,Y:k,Z:B}=this,N=a(v*v),H=a(k*k),I=a(Ko*a(B*B)),O=a(g*N),V=v+k,_=a(a(V*V)-N-H),b=O+H,m=b-I,E=O-H,A=a(_*m),L=a(b*E),R=a(_*E),x=a(m*b);return new d(A,L,x,R)}add(g){h(g);let{a:v,d:k}=r,{X:B,Y:N,Z:H,T:I}=this,{X:O,Y:V,Z:_,T:b}=g,m=a(B*O),E=a(N*V),A=a(I*k*b),L=a(H*_),R=a((B+N)*(O+V)-m-E),x=L-A,w=L+A,S=a(E-v*m),T=a(R*x),D=a(w*S),K=a(R*S),P=a(x*w);return new d(T,D,P,K)}subtract(g){return this.add(g.negate())}multiply(g){let v=g;pe("scalar",v,et,o);let{p:k,f:B}=p.cached(this,v,N=>Wt(d,N));return Wt(d,[k,B])[0]}multiplyUnsafe(g,v=d.ZERO){let k=g;return pe("scalar",k,Kt,o),k===Kt?d.ZERO:this.is0()||k===et?this:p.unsafe(this,k,B=>Wt(d,B),v)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return p.unsafe(this,o).is0()}toAffine(g){return u(this,g)}clearCofactor(){return s===et?this:this.multiplyUnsafe(s)}static fromBytes(g,v=!1){return z(g),d.fromHex(g,v)}static fromHex(g,v=!1){let{d:k,a:B}=r,N=e.BYTES;g=$("pointHex",g,N),Gt("zip215",v);let H=g.slice(),I=g[N-1];H[N-1]=I&-129;let O=Zt(H),V=v?i:e.ORDER;pe("pointHex.y",O,Kt,V);let _=a(O*O),b=a(_-et),m=a(k*_-B),{isValid:E,value:A}=c(b,m);if(!E)throw new Error("Point.fromHex: invalid y coordinate");let L=(A&et)===et,R=(I&128)!==0;if(!v&&A===Kt&&R)throw new Error("Point.fromHex: x=0 and x_0=1");return R!==L&&(A=a(-A)),d.fromAffine({x:A,y:O})}toBytes(){let{x:g,y:v}=this.toAffine(),k=Yt(v,e.BYTES);return k[k.length-1]|=g&et?128:0,k}toRawBytes(){return this.toBytes()}toHex(){return It(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}d.BASE=new d(r.Gx,r.Gy,et,a(r.Gx*r.Gy)),d.ZERO=new d(Kt,et,et,Kt),d.Fp=e,d.Fn=n;let p=new ur(d,n.BYTES*8);return d}var Pn=class{constructor(t){this.ep=t}static fromBytes(t){throw new Error("fromBytes must be implemented by subclass")}static fromHex(t){throw new Error("fromHex must be implemented by subclass")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toRawBytes(){return this.toBytes()}toHex(){return It(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,e){return this.init(this.ep.precompute(t,e))}};function Vf(r,t,e){if(typeof t!="function")throw new Error('"hash" function param is required');ye(e,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=e,{BASE:s,Fp:o,Fn:i}=r,a=i.ORDER,c=e.randomBytes||_e,l=e.adjustScalarBytes||(m=>m),h=e.domain||((m,E,A)=>{if(Gt("phflag",A),E.length||A)throw new Error("Contexts/pre-hash are not supported");return m});function u(m){return i.create(m)}function f(m){return u(Zt(m))}function d(m){let E=o.BYTES;m=$("private key",m,E);let A=$("hashed private key",t(m),2*E),L=l(A.slice(0,E)),R=A.slice(E,2*E),x=f(L);return{head:L,prefix:R,scalar:x}}function p(m){let{head:E,prefix:A,scalar:L}=d(m),R=s.multiply(L),x=R.toBytes();return{head:E,prefix:A,scalar:L,point:R,pointBytes:x}}function y(m){return p(m).pointBytes}function g(m=Uint8Array.of(),...E){let A=mt(...E);return f(t(h(A,$("context",m),!!n)))}function v(m,E,A={}){m=$("message",m),n&&(m=n(m));let{prefix:L,scalar:R,pointBytes:x}=p(E),w=g(A.context,L,m),S=s.multiply(w).toBytes(),T=g(A.context,S,x,m),D=u(w+T*R);pe("signature.s",D,Kt,a);let K=o.BYTES,P=mt(S,Yt(D,K));return $("result",P,K*2)}let k={zip215:!0};function B(m,E,A,L=k){let{context:R,zip215:x}=L,w=o.BYTES;m=$("signature",m,2*w),E=$("message",E),A=$("publicKey",A,w),x!==void 0&&Gt("zip215",x),n&&(E=n(E));let S=Zt(m.slice(w,2*w)),T,D,K;try{T=r.fromHex(A,x),D=r.fromHex(m.slice(0,w),x),K=s.multiplyUnsafe(S)}catch{return!1}if(!x&&T.isSmallOrder())return!1;let P=g(R,D.toBytes(),T.toBytes(),E);return D.add(T.multiplyUnsafe(P)).subtract(K).clearCofactor().is0()}s.precompute(8);let N=o.BYTES,H={secret:N,public:N,signature:2*N,seed:N};function I(m=c(H.seed)){return m}let O={getExtendedPublicKey:p,randomSecretKey:I,isValidSecretKey:_,isValidPublicKey:b,randomPrivateKey:I,toMontgomery(m){let{y:E}=r.fromBytes(m),A=N===32;if(!A&&N!==57)throw new Error("only defined for 25519 and 448");let L=A?o.div(et+E,et-E):o.div(E-et,E+et);return o.toBytes(L)},toMontgomeryPriv(m){z(m,N);let E=t(m.subarray(0,N));return l(E).subarray(0,N)},precompute(m=8,E=r.BASE){return E.precompute(m,!1)}};function V(m){let E=O.randomSecretKey(m);return{secretKey:E,publicKey:y(E)}}function _(m){try{return!!i.fromBytes(m,!1)}catch{return!1}}function b(m,E){try{return!!r.fromBytes(m,E)}catch{return!1}}return Object.freeze({keygen:V,getPublicKey:y,sign:v,verify:B,utils:O,Point:r,info:{type:"edwards",lengths:H}})}function Pf(r){let t={a:r.a,d:r.d,p:r.Fp.ORDER,n:r.n,h:r.h,Gx:r.Gx,Gy:r.Gy},e=r.Fp,n=At(t.n,r.nBitLength,!0),s={Fp:e,Fn:n,uvRatio:r.uvRatio},o={randomBytes:r.randomBytes,adjustScalarBytes:r.adjustScalarBytes,domain:r.domain,prehash:r.prehash,mapToCurve:r.mapToCurve};return{CURVE:t,curveOpts:s,hash:r.hash,eddsaOpts:o}}function Mf(r,t){return Object.assign({},t,{ExtendedPoint:t.Point,CURVE:r})}function $a(r){let{CURVE:t,curveOpts:e,hash:n,eddsaOpts:s}=Pf(r),o=Of(t,e),i=Vf(o,n,s);return Mf(r,i)}var Ff=BigInt(0),Jt=BigInt(1),Ga=BigInt(2),Qp=BigInt(3),qf=BigInt(5),jf=BigInt(8),zr={p:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:jf,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function $f(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),s=BigInt(80),o=zr.p,a=r*r%o*r%o,c=Y(a,Ga,o)*a%o,l=Y(c,Jt,o)*r%o,h=Y(l,qf,o)*l%o,u=Y(h,t,o)*h%o,f=Y(u,e,o)*u%o,d=Y(f,n,o)*f%o,p=Y(d,s,o)*d%o,y=Y(p,s,o)*d%o,g=Y(y,t,o)*h%o;return{pow_p_5_8:Y(g,Ga,o)*r%o,b2:a}}function Gf(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}var Oo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function Mo(r,t){let e=zr.p,n=J(t*t*t,e),s=J(n*n*t,e),o=$f(r*s).pow_p_5_8,i=J(r*n*o,e),a=J(t*i*i,e),c=i,l=J(i*Oo,e),h=a===r,u=a===J(-r,e),f=a===J(-r*Oo,e);return h&&(i=c),(u||f)&&(i=l),zt(i,e)&&(i=J(-i,e)),{isValid:h||u,value:i}}var Ke=At(zr.p,{isLE:!0}),Zf=At(zr.n,{isLE:!0}),Yf={...zr,Fp:Ke,hash:Hn,adjustScalarBytes:Gf,uvRatio:Mo},bt=$a(Yf);var Vo=Oo,zf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Wf=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Jf=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Xf=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Za=r=>Mo(Jt,r),Qf=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Po=r=>bt.CURVE.Fp.create(Zt(r)&Qf);function Ya(r){let{d:t}=bt.CURVE,e=bt.CURVE.Fp.ORDER,n=bt.CURVE.Fp.create,s=n(Vo*r*r),o=n((s+Jt)*Jf),i=BigInt(-1),a=n((i-t*s)*n(s+t)),{isValid:c,value:l}=Mo(o,a),h=n(l*r);zt(h,e)||(h=n(-h)),c||(l=h),c||(i=s);let u=n(i*(s-Jt)*Xf-a),f=l*l,d=n((l+l)*a),p=n(u*zf),y=n(Jt-f),g=n(Jt+f);return new bt.Point(n(d*g),n(y*p),n(p*g),n(d*y))}function th(r){z(r,64);let t=Po(r.subarray(0,32)),e=Ya(t),n=Po(r.subarray(32,64)),s=Ya(n);return new Xt(e.add(s))}var Xt=class r extends Pn{constructor(t){super(t)}static fromAffine(t){return new r(bt.Point.fromAffine(t))}assertSame(t){if(!(t instanceof r))throw new Error("RistrettoPoint expected")}init(t){return new r(t)}static hashToCurve(t){return th($("ristrettoHash",t,64))}static fromBytes(t){z(t,32);let{a:e,d:n}=bt.CURVE,s=Ke.ORDER,o=Ke.create,i=Po(t);if(!Sa(Yt(i,32),t)||zt(i,s))throw new Error("invalid ristretto255 encoding 1");let a=o(i*i),c=o(Jt+e*a),l=o(Jt-e*a),h=o(c*c),u=o(l*l),f=o(e*n*h-u),{isValid:d,value:p}=Za(o(f*u)),y=o(p*l),g=o(p*y*f),v=o((i+i)*y);zt(v,s)&&(v=o(-v));let k=o(c*g),B=o(v*k);if(!d||zt(B,s)||k===Ff)throw new Error("invalid ristretto255 encoding 2");return new r(new bt.Point(v,k,Jt,B))}static fromHex(t){return r.fromBytes($("ristrettoHex",t,32))}static msm(t,e){return lr(r,bt.Point.Fn,t,e)}toBytes(){let{X:t,Y:e,Z:n,T:s}=this.ep,o=Ke.ORDER,i=Ke.create,a=i(i(n+e)*i(n-e)),c=i(t*e),l=i(c*c),{value:h}=Za(i(a*l)),u=i(h*a),f=i(h*c),d=i(u*f*s),p;if(zt(s*d,o)){let g=i(e*Vo),v=i(t*Vo);t=g,e=v,p=i(u*Wf)}else p=f;zt(t*d,o)&&(e=i(-e));let y=i((n-e)*p);return zt(y,o)&&(y=i(-y)),Yt(y,32)}equals(t){this.assertSame(t);let{X:e,Y:n}=this.ep,{X:s,Y:o}=t.ep,i=Ke.create,a=i(e*o)===i(n*s),c=i(n*o)===i(e*s);return a||c}is0(){return this.equals(r.ZERO)}};Xt.BASE=new Xt(bt.Point.BASE);Xt.ZERO=new Xt(bt.Point.ZERO);Xt.Fp=Ke;Xt.Fn=Zf;var hr=32,Ct=64,eh=32;var fr,za=(async()=>{try{return await X.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function rh(r,t){let e;r.length===Ct?e=r.subarray(0,32):e=r;let n={crv:"Ed25519",kty:"OKP",x:q(r.subarray(32),"base64url"),d:q(e,"base64url"),ext:!0,key_ops:["sign"]},s=await X.get().subtle.importKey("jwk",n,{name:"Ed25519"},!0,["sign"]),o=await X.get().subtle.sign({name:"Ed25519"},s,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(o,0,o.byteLength)}function nh(r,t){let e=r.subarray(0,eh);return bt.sign(t instanceof Uint8Array?t:t.subarray(),e)}async function Wa(r,t){return fr==null&&(fr=await za),fr?rh(r,t):nh(r,t)}async function sh(r,t,e){if(r.buffer instanceof ArrayBuffer){let n=await X.get().subtle.importKey("raw",r.buffer,{name:"Ed25519"},!1,["verify"]);return await X.get().subtle.verify({name:"Ed25519"},n,t,e instanceof Uint8Array?e:e.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function oh(r,t,e){return bt.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}async function Ja(r,t,e){return fr==null&&(fr=await za),fr?sh(r,t,e):oh(r,t,e)}function dr(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var Mn=class{type="Ed25519";raw;constructor(t){this.raw=Jr(t,hr)}toMultihash(){return Se.digest(rr(this))}toCID(){return kt.createV1(114,this.toMultihash())}toString(){return Q.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:gt(this.raw,t.raw)}verify(t,e,n){n?.signal?.throwIfAborted();let s=Ja(this.raw,e,t);return dr(s)?s.then(o=>(n?.signal?.throwIfAborted(),o)):s}},Wr=class{type="Ed25519";raw;publicKey;constructor(t,e){this.raw=Jr(t,Ct),this.publicKey=new Mn(e)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:gt(this.raw,t.raw)}sign(t,e){e?.signal?.throwIfAborted();let n=Wa(this.raw,t);return dr(n)?n.then(s=>(e?.signal?.throwIfAborted(),s)):(e?.signal?.throwIfAborted(),n)}};function Fo(r){if(r.length>Ct){r=Jr(r,Ct+hr);let n=r.subarray(0,Ct),s=r.subarray(Ct,r.length);return new Wr(n,s)}r=Jr(r,Ct);let t=r.subarray(0,Ct),e=r.subarray(hr);return new Wr(t,e)}function Jr(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new U(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var ih=Math.pow(2,7),ah=Math.pow(2,14),ch=Math.pow(2,21),Qa=Math.pow(2,28),tc=Math.pow(2,35),ec=Math.pow(2,42),rc=Math.pow(2,49),dt=128,me=127;function Xr(r){if(r<ih)return 1;if(r<ah)return 2;if(r<ch)return 3;if(r<Qa)return 4;if(r<tc)return 5;if(r<ec)return 6;if(r<rc)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function nc(r,t,e=0){switch(Xr(r)){case 8:t[e++]=r&255|dt,r/=128;case 7:t[e++]=r&255|dt,r/=128;case 6:t[e++]=r&255|dt,r/=128;case 5:t[e++]=r&255|dt,r/=128;case 4:t[e++]=r&255|dt,r>>>=7;case 3:t[e++]=r&255|dt,r>>>=7;case 2:t[e++]=r&255|dt,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function sc(r,t){let e=r[t],n=0;if(n+=e&me,e<dt||(e=r[t+1],n+=(e&me)<<7,e<dt)||(e=r[t+2],n+=(e&me)<<14,e<dt)||(e=r[t+3],n+=(e&me)<<21,e<dt)||(e=r[t+4],n+=(e&me)*Qa,e<dt)||(e=r[t+5],n+=(e&me)*tc,e<dt)||(e=r[t+6],n+=(e&me)*ec,e<dt)||(e=r[t+7],n+=(e&me)*rc,e<dt))return n;throw new RangeError("Could not decode varint")}var qo=new Float32Array([-0]),be=new Uint8Array(qo.buffer);function oc(r,t,e){qo[0]=r,t[e]=be[0],t[e+1]=be[1],t[e+2]=be[2],t[e+3]=be[3]}function ic(r,t){return be[0]=r[t],be[1]=r[t+1],be[2]=r[t+2],be[3]=r[t+3],qo[0]}var jo=new Float64Array([-0]),at=new Uint8Array(jo.buffer);function ac(r,t,e){jo[0]=r,t[e]=at[0],t[e+1]=at[1],t[e+2]=at[2],t[e+3]=at[3],t[e+4]=at[4],t[e+5]=at[5],t[e+6]=at[6],t[e+7]=at[7]}function cc(r,t){return at[0]=r[t],at[1]=r[t+1],at[2]=r[t+2],at[3]=r[t+3],at[4]=r[t+4],at[5]=r[t+5],at[6]=r[t+6],at[7]=r[t+7],jo[0]}var uh=BigInt(Number.MAX_SAFE_INTEGER),lh=BigInt(Number.MIN_SAFE_INTEGER),St=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Oe;if(t<uh&&t>lh)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,s=t-(n<<32n);return e&&(n=~n|0n,s=~s|0n,++s>uc&&(s=0n,++n>uc&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return Oe;let e=t<0;e&&(t=-t);let n=t>>>0,s=(t-n)/4294967296>>>0;return e&&(s=~s>>>0,n=~n>>>0,++n>4294967295&&(n=0,++s>4294967295&&(s=0))),new r(n,s)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Oe}},Oe=new St(0,0);Oe.toBigInt=function(){return 0n};Oe.zzEncode=Oe.zzDecode=function(){return this};Oe.length=function(){return 1};var uc=4294967296n;function lc(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function fc(r,t,e){if(e-t<1)return"";let s,o=[],i=0,a;for(;t<e;)a=r[t++],a<128?o[i++]=a:a>191&&a<224?o[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,o[i++]=55296+(a>>10),o[i++]=56320+(a&1023)):o[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((s??(s=[])).push(String.fromCharCode.apply(String,o)),i=0);return s!=null?(i>0&&s.push(String.fromCharCode.apply(String,o.slice(0,i))),s.join("")):String.fromCharCode.apply(String,o.slice(0,i))}function $o(r,t,e){let n=e,s,o;for(let i=0;i<r.length;++i)s=r.charCodeAt(i),s<128?t[e++]=s:s<2048?(t[e++]=s>>6|192,t[e++]=s&63|128):(s&64512)===55296&&((o=r.charCodeAt(i+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++i,t[e++]=s>>18|240,t[e++]=s>>12&63|128,t[e++]=s>>6&63|128,t[e++]=s&63|128):(t[e++]=s>>12|224,t[e++]=s>>6&63|128,t[e++]=s&63|128);return e-n}function Rt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Fn(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Go=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Rt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Rt(this,4);return Fn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Rt(this,4);return Fn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Rt(this,4);let t=ic(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Rt(this,4);let t=cc(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Rt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return fc(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Rt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Rt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new St(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Rt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Rt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Rt(this,8);let t=Fn(this.buf,this.pos+=4),e=Fn(this.buf,this.pos+=4);return new St(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=sc(this.buf,this.pos);return this.pos+=Xr(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Zo(r){return new Go(r instanceof Uint8Array?r:r.subarray())}function qn(r,t,e){let n=Zo(r);return t.decode(n,void 0,e)}function Yo(r){let t=r??8192,e=t>>>1,n,s=t;return function(i){if(i<1||i>e)return Bt(i);s+i>t&&(n=Bt(t),s=0);let a=n.subarray(s,s+=i);return(s&7)!==0&&(s=(s|7)+1),a}}var Ve=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function zo(){}var Jo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},fh=Yo();function hh(r){return globalThis.Buffer!=null?Bt(r):fh(r)}var tn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ve(zo,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new Ve(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Xo((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(jn,10,St.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=St.fromBigInt(t);return this._push(jn,e.length(),e)}uint64Number(t){return this._push(nc,Xr(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=St.fromBigInt(t).zzEncode();return this._push(jn,e.length(),e)}sint64Number(t){let e=St.fromNumber(t).zzEncode();return this._push(jn,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Wo,1,t?1:0)}fixed32(t){return this._push(Qr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=St.fromBigInt(t);return this._push(Qr,4,e.lo)._push(Qr,4,e.hi)}fixed64Number(t){let e=St.fromNumber(t);return this._push(Qr,4,e.lo)._push(Qr,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(oc,4,t)}double(t){return this._push(ac,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Wo,1,0):this.uint32(e)._push(ph,e,t)}string(t){let e=lc(t);return e!==0?this.uint32(e)._push($o,e,t):this._push(Wo,1,0)}fork(){return this.states=new Jo(this),this.head=this.tail=new Ve(zo,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Ve(zo,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=hh(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Wo(r,t,e){t[e]=r&255}function dh(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Xo=class extends Ve{next;constructor(t,e){super(dh,t,e),this.next=void 0}};function jn(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Qr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function ph(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(tn.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(gh,t,r),this},tn.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(yh,t,r),this});function gh(r,t,e){t.set(r,e)}function yh(r,t,e){r.length<40?$o(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(M(r),e)}function Qo(){return new tn}function $n(r,t){let e=Qo();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var pr;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(pr||(pr={}));function Gn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function ti(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(o,i){let a=t(o);i.int32(a)},n=function(o){let i=o.int32();return t(i)};return Gn("enum",pr.VARINT,e,n)}function Zn(r,t){return Gn("message",pr.LENGTH_DELIMITED,r,t)}var rt;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1",r.ECDSA="ECDSA"})(rt||(rt={}));var ei;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1",r[r.ECDSA=3]="ECDSA"})(ei||(ei={}));(function(r){r.codec=()=>ti(ei)})(rt||(rt={}));var we;(function(r){let t;r.codec=()=>(t==null&&(t=Zn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),rt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let o={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let a=e.uint32();switch(a>>>3){case 1:{o.Type=rt.codec().decode(e);break}case 2:{o.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return o})),t),r.encode=e=>$n(e,r.codec()),r.decode=(e,n)=>qn(e,r.codec(),n)})(we||(we={}));var en;(function(r){let t;r.codec=()=>(t==null&&(t=Zn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),rt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let o={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let a=e.uint32();switch(a>>>3){case 1:{o.Type=rt.codec().decode(e);break}case 2:{o.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return o})),t),r.encode=e=>$n(e,r.codec()),r.decode=(e,n)=>qn(e,r.codec(),n)})(en||(en={}));function Pe(r){if(isNaN(r)||r<=0)throw new U("random bytes length must be a Number bigger than 0");return _e(r)}var nn={};ut(nn,{MAX_RSA_KEY_SIZE:()=>ri,generateRSAKeyPair:()=>mc,jwkToJWKKeyPair:()=>bc,jwkToPkcs1:()=>xh,jwkToPkix:()=>ii,jwkToRSAPrivateKey:()=>ui,pkcs1MessageToJwk:()=>si,pkcs1MessageToRSAPrivateKey:()=>Yn,pkcs1ToJwk:()=>wh,pkcs1ToRSAPrivateKey:()=>ai,pkixMessageToJwk:()=>oi,pkixMessageToRSAPublicKey:()=>ci,pkixToJwk:()=>vh,pkixToRSAPublicKey:()=>yc});var gr=Dn;var yr=class{type="RSA";jwk;_raw;_multihash;constructor(t,e){this.jwk=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=nn.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return kt.createV1(114,this._multihash)}toString(){return Q.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:gt(this.raw,t.raw)}verify(t,e,n){return gc(this.jwk,e,t,n)}},rn=class{type="RSA";jwk;_raw;publicKey;constructor(t,e){this.jwk=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=nn.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:gt(this.raw,t.raw)}sign(t,e){return pc(this.jwk,t,e)}};var ri=8192,ni=18,mh=1062,bh=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function wh(r){let t=_t(r);return si(t)}function si(r){return{n:q(r[1],"base64url"),e:q(r[2],"base64url"),d:q(r[3],"base64url"),p:q(r[4],"base64url"),q:q(r[5],"base64url"),dp:q(r[6],"base64url"),dq:q(r[7],"base64url"),qi:q(r[8],"base64url"),kty:"RSA"}}function xh(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new U("JWK was missing components");return Ut([ft(Uint8Array.from([0])),ft(M(r.n,"base64url")),ft(M(r.e,"base64url")),ft(M(r.d,"base64url")),ft(M(r.p,"base64url")),ft(M(r.q,"base64url")),ft(M(r.dp,"base64url")),ft(M(r.dq,"base64url")),ft(M(r.qi,"base64url"))]).subarray()}function vh(r){let t=_t(r,{offset:0});return oi(t)}function oi(r){let t=_t(r[1],{offset:0});return{kty:"RSA",n:q(t[0],"base64url"),e:q(t[1],"base64url")}}function ii(r){if(r.n==null||r.e==null)throw new U("JWK was missing components");return Ut([bh,Mr(Ut([ft(M(r.n,"base64url")),ft(M(r.e,"base64url"))]))]).subarray()}function ai(r){let t=_t(r);return Yn(t)}function Yn(r){let t=si(r);return ui(t)}function yc(r,t){if(r.byteLength>=mh)throw new Ge("Key size is too large");let e=_t(r,{offset:0});return ci(e,r,t)}function ci(r,t,e){let n=oi(r);if(e==null){let s=gr(we.encode({Type:rt.RSA,Data:t}));e=Tt(ni,s)}return new yr(n,e)}function ui(r){if(xc(r)>ri)throw new U("Key size is too large");let t=bc(r),e=gr(we.encode({Type:rt.RSA,Data:ii(t.publicKey)})),n=Tt(ni,e);return new rn(t.privateKey,new yr(t.publicKey,n))}async function mc(r){if(r>ri)throw new U("Key size is too large");let t=await wc(r),e=gr(we.encode({Type:rt.RSA,Data:ii(t.publicKey)})),n=Tt(ni,e);return new rn(t.privateKey,new yr(t.publicKey,n))}function bc(r){if(r==null)throw new U("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}async function wc(r,t){let e=await X.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await Eh(e,t);return{privateKey:n[0],publicKey:n[1]}}async function pc(r,t,e){let n=await X.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);e?.signal?.throwIfAborted();let s=await X.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,t instanceof Uint8Array?t:t.subarray());return e?.signal?.throwIfAborted(),new Uint8Array(s,0,s.byteLength)}async function gc(r,t,e,n){let s=await X.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let o=await X.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},s,t,e instanceof Uint8Array?e:e.subarray());return n?.signal?.throwIfAborted(),o}async function Eh(r,t){if(r.privateKey==null||r.publicKey==null)throw new U("Private and public key are required");let e=await Promise.all([X.get().subtle.exportKey("jwk",r.privateKey),X.get().subtle.exportKey("jwk",r.publicKey)]);return t?.signal?.throwIfAborted(),e}function xc(r){if(r.kty!=="RSA")throw new U("invalid key type");if(r.n==null)throw new U("invalid key modulus");return M(r.n,"base64url").length*8}var zn=class extends nr{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,sr(t);let n=Fr(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,o=new Uint8Array(s);o.set(n.length>s?t.create().update(n).digest():n);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),yt(o)}update(t){return or(this),this.iHash.update(t),this}digestInto(t){or(this),z(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:o,blockLen:i,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=o,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},sn=(r,t,e)=>new zn(r,t).update(e).digest();sn.create=(r,t)=>new zn(r,t);var vc=(r,t)=>(r+(r>=0?t:-t)/Bc)/t;function Bh(r,t,e){let[[n,s],[o,i]]=t,a=vc(i*r,e),c=vc(-s*r,e),l=r-a*n-c*o,h=-a*s-c*i,u=l<te,f=h<te;u&&(l=-l),f&&(h=-h);let d=ge(Math.ceil(On(e)/2))+br;if(l<te||l>=d||h<te||h>=d)throw new Error("splitScalar (endomorphism): failed, k="+r);return{k1neg:u,k1:l,k2neg:f,k2:h}}function Ec(r){r.lowS!==void 0&&Gt("lowS",r.lowS),r.prehash!==void 0&&Gt("prehash",r.prehash)}var li=class extends Error{constructor(t=""){super(t)}},Qt={Err:li,_tlv:{encode:(r,t)=>{let{Err:e}=Qt;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=Gr(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let o=n>127?Gr(s.length/2|128):"";return Gr(r)+o+s+t},decode(r,t){let{Err:e}=Qt,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],o=!!(s&128),i=0;if(!o)i=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let l=t.subarray(n,n+c);if(l.length!==c)throw new e("tlv.decode: length bytes not complete");if(l[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let h of l)i=i<<8|h;if(n+=c,i<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(r){let{Err:t}=Qt;if(r<te)throw new t("integer: negative integers are not allowed");let e=Gr(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=Qt;if(r[0]&128)throw new t("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return ir(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=Qt,s=$("signature",r),{v:o,l:i}=n.decode(48,s);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,o),{v:l,l:h}=n.decode(2,c);if(h.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(l)}},hexFromSig(r){let{_tlv:t,_int:e}=Qt,n=t.encode(2,e.encode(r.r)),s=t.encode(2,e.encode(r.s)),o=n+s;return t.encode(48,o)}},te=BigInt(0),br=BigInt(1),Bc=BigInt(2),Wn=BigInt(3),Ah=BigInt(4);function Sh(r,t,e){function n(s){let o=r.sqr(s),i=r.mul(o,s);return r.add(r.add(i,r.mul(s,t)),e)}return n}function mr(r,t){let{BYTES:e}=r,n;if(typeof t=="bigint")n=t;else{let s=$("private key",t);try{n=r.fromBytes(s)}catch{throw new Error(`invalid private key: expected ui8a of size ${e}, got ${typeof t}`)}}if(!r.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function kh(r,t={}){let{Fp:e,Fn:n}=Vn("weierstrass",r,t),{h:s,n:o}=r;ye(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:i}=t;if(i&&(!e.is0(r.a)||typeof i.beta!="bigint"||!Array.isArray(i.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');function a(){if(!e.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function c(_,b,m){let{x:E,y:A}=b.toAffine(),L=e.toBytes(E);if(Gt("isCompressed",m),m){a();let R=!e.isOdd(A);return mt(Ac(R),L)}else return mt(Uint8Array.of(4),L,e.toBytes(A))}function l(_){z(_);let b=e.BYTES,m=b+1,E=2*b+1,A=_.length,L=_[0],R=_.subarray(1);if(A===m&&(L===2||L===3)){let x=e.fromBytes(R);if(!e.isValid(x))throw new Error("bad point: is not on curve, wrong x");let w=f(x),S;try{S=e.sqrt(w)}catch(K){let P=K instanceof Error?": "+K.message:"";throw new Error("bad point: is not on curve, sqrt error"+P)}a();let T=e.isOdd(S);return(L&1)===1!==T&&(S=e.neg(S)),{x,y:S}}else if(A===E&&L===4){let x=e.fromBytes(R.subarray(b*0,b*1)),w=e.fromBytes(R.subarray(b*1,b*2));if(!d(x,w))throw new Error("bad point: is not on curve");return{x,y:w}}else throw new Error(`bad point: got length ${A}, expected compressed=${m} or uncompressed=${E}`)}let h=t.toBytes||c,u=t.fromBytes||l,f=Sh(e,r.a,r.b);function d(_,b){let m=e.sqr(b),E=f(_);return e.eql(m,E)}if(!d(r.Gx,r.Gy))throw new Error("bad curve params: generator point");let p=e.mul(e.pow(r.a,Wn),Ah),y=e.mul(e.sqr(r.b),BigInt(27));if(e.is0(e.add(p,y)))throw new Error("bad curve params: a or b");function g(_,b,m=!1){if(!e.isValid(b)||m&&e.is0(b))throw new Error(`bad point coordinate ${_}`);return b}function v(_){if(!(_ instanceof I))throw new Error("ProjectivePoint expected")}function k(_){if(!i||!i.basises)throw new Error("no endo");return Bh(_,i.basises,n.ORDER)}let B=ar((_,b)=>{let{X:m,Y:E,Z:A}=_;if(e.eql(A,e.ONE))return{x:m,y:E};let L=_.is0();b==null&&(b=L?e.ONE:e.inv(A));let R=e.mul(m,b),x=e.mul(E,b),w=e.mul(A,b);if(L)return{x:e.ZERO,y:e.ZERO};if(!e.eql(w,e.ONE))throw new Error("invZ was invalid");return{x:R,y:x}}),N=ar(_=>{if(_.is0()){if(t.allowInfinityPoint&&!e.is0(_.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:m}=_.toAffine();if(!e.isValid(b)||!e.isValid(m))throw new Error("bad point: x or y not field elements");if(!d(b,m))throw new Error("bad point: equation left != right");if(!_.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function H(_,b,m,E,A){return m=new I(e.mul(m.X,_),m.Y,m.Z),b=Yr(E,b),m=Yr(A,m),b.add(m)}class I{constructor(b,m,E){this.X=g("x",b),this.Y=g("y",m,!0),this.Z=g("z",E),Object.freeze(this)}static fromAffine(b){let{x:m,y:E}=b||{};if(!b||!e.isValid(m)||!e.isValid(E))throw new Error("invalid affine point");if(b instanceof I)throw new Error("projective point not allowed");return e.is0(m)&&e.is0(E)?I.ZERO:new I(m,E,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}static normalizeZ(b){return Wt(I,b)}static fromBytes(b){return z(b),I.fromHex(b)}static fromHex(b){let m=I.fromAffine(u($("pointHex",b)));return m.assertValidity(),m}static fromPrivateKey(b){return I.BASE.multiply(mr(n,b))}static msm(b,m){return lr(I,n,b,m)}_setWindowSize(b){this.precompute(b)}precompute(b=8,m=!0){return V.createCache(this,b),m||this.multiply(Wn),this}assertValidity(){N(this)}hasEvenY(){let{y:b}=this.toAffine();if(!e.isOdd)throw new Error("Field doesn't support isOdd");return!e.isOdd(b)}equals(b){v(b);let{X:m,Y:E,Z:A}=this,{X:L,Y:R,Z:x}=b,w=e.eql(e.mul(m,x),e.mul(L,A)),S=e.eql(e.mul(E,x),e.mul(R,A));return w&&S}negate(){return new I(this.X,e.neg(this.Y),this.Z)}double(){let{a:b,b:m}=r,E=e.mul(m,Wn),{X:A,Y:L,Z:R}=this,x=e.ZERO,w=e.ZERO,S=e.ZERO,T=e.mul(A,A),D=e.mul(L,L),K=e.mul(R,R),P=e.mul(A,L);return P=e.add(P,P),S=e.mul(A,R),S=e.add(S,S),x=e.mul(b,S),w=e.mul(E,K),w=e.add(x,w),x=e.sub(D,w),w=e.add(D,w),w=e.mul(x,w),x=e.mul(P,x),S=e.mul(E,S),K=e.mul(b,K),P=e.sub(T,K),P=e.mul(b,P),P=e.add(P,S),S=e.add(T,T),T=e.add(S,T),T=e.add(T,K),T=e.mul(T,P),w=e.add(w,T),K=e.mul(L,R),K=e.add(K,K),T=e.mul(K,P),x=e.sub(x,T),S=e.mul(K,D),S=e.add(S,S),S=e.add(S,S),new I(x,w,S)}add(b){v(b);let{X:m,Y:E,Z:A}=this,{X:L,Y:R,Z:x}=b,w=e.ZERO,S=e.ZERO,T=e.ZERO,D=r.a,K=e.mul(r.b,Wn),P=e.mul(m,L),Z=e.mul(E,R),G=e.mul(A,x),vt=e.add(m,E),j=e.add(L,R);vt=e.mul(vt,j),j=e.add(P,Z),vt=e.sub(vt,j),j=e.add(m,A);let tt=e.add(L,x);return j=e.mul(j,tt),tt=e.add(P,G),j=e.sub(j,tt),tt=e.add(E,A),w=e.add(R,x),tt=e.mul(tt,w),w=e.add(Z,G),tt=e.sub(tt,w),T=e.mul(D,j),w=e.mul(K,G),T=e.add(w,T),w=e.sub(Z,T),T=e.add(Z,T),S=e.mul(w,T),Z=e.add(P,P),Z=e.add(Z,P),G=e.mul(D,G),j=e.mul(K,j),Z=e.add(Z,G),G=e.sub(P,G),G=e.mul(D,G),j=e.add(j,G),P=e.mul(Z,j),S=e.add(S,P),P=e.mul(tt,j),w=e.mul(vt,w),w=e.sub(w,P),P=e.mul(vt,Z),T=e.mul(tt,T),T=e.add(T,P),new I(w,S,T)}subtract(b){return this.add(b.negate())}is0(){return this.equals(I.ZERO)}multiply(b){let{endo:m}=t;if(!n.isValidNot0(b))throw new Error("invalid scalar: out of range");let E,A,L=R=>V.cached(this,R,x=>Wt(I,x));if(m){let{k1neg:R,k1:x,k2neg:w,k2:S}=k(b),{p:T,f:D}=L(x),{p:K,f:P}=L(S);A=D.add(P),E=H(m.beta,T,K,R,w)}else{let{p:R,f:x}=L(b);E=R,A=x}return Wt(I,[E,A])[0]}multiplyUnsafe(b){let{endo:m}=t,E=this;if(!n.isValid(b))throw new Error("invalid scalar: out of range");if(b===te||E.is0())return I.ZERO;if(b===br)return E;if(V.hasCache(this))return this.multiply(b);if(m){let{k1neg:A,k1:L,k2neg:R,k2:x}=k(b),{p1:w,p2:S}=ja(I,E,L,x);return H(m.beta,w,S,A,R)}else return V.unsafe(E,b)}multiplyAndAddUnsafe(b,m,E){let A=this.multiplyUnsafe(m).add(b.multiplyUnsafe(E));return A.is0()?void 0:A}toAffine(b){return B(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===br?!0:b?b(I,this):V.unsafe(this,o).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===br?this:b?b(I,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Gt("isCompressed",b),this.assertValidity(),h(I,this,b)}toRawBytes(b=!0){return this.toBytes(b)}toHex(b=!0){return It(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}I.BASE=new I(r.Gx,r.Gy,e.ONE),I.ZERO=new I(e.ZERO,e.ONE,e.ZERO),I.Fp=e,I.Fn=n;let O=n.BITS,V=new ur(I,t.endo?Math.ceil(O/2):O);return I}function Ac(r){return Uint8Array.of(r?2:3)}function Ih(r,t,e={}){sr(t),ye(e,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let n=e.randomBytes||_e,s=e.hmac||((x,...w)=>sn(t,x,mt(...w))),{Fp:o,Fn:i}=r,{ORDER:a,BITS:c}=i,l=Uo(a),h={secret:i.BYTES,public:1+o.BYTES,publicUncompressed:1+2*o.BYTES,signature:2*i.BYTES,seed:l};function u(x){let w=a>>br;return x>w}function f(x){return u(x)?i.neg(x):x}function d(x,w){if(!i.isValidNot0(w))throw new Error(`invalid signature ${x}: out of range 1..CURVE.n`)}class p{constructor(w,S,T){d("r",w),d("s",S),this.r=w,this.s=S,T!=null&&(this.recovery=T),Object.freeze(this)}static fromBytes(w,S="compact"){if(S==="compact"){let T=i.BYTES;z(w,T*2);let D=w.subarray(0,T),K=w.subarray(T,T*2);return new p(i.fromBytes(D),i.fromBytes(K))}if(S==="der"){z(w);let{r:T,s:D}=Qt.toSig(w);return new p(T,D)}throw new Error("invalid format")}static fromHex(w,S){return this.fromBytes(Te(w),S)}addRecoveryBit(w){return new p(this.r,this.s,w)}recoverPublicKey(w){let S=o.ORDER,{r:T,s:D,recovery:K}=this;if(K==null||![0,1,2,3].includes(K))throw new Error("recovery id invalid");if(a*Bc<S&&K>1)throw new Error("recovery id is ambiguous for h>1 curve");let Z=K===2||K===3?T+a:T;if(!o.isValid(Z))throw new Error("recovery id 2 or 3 invalid");let G=o.toBytes(Z),vt=r.fromHex(mt(Ac((K&1)===0),G)),j=i.inv(Z),tt=O($("msgHash",w)),Et=i.create(-tt*j),ue=i.create(D*j),Be=r.BASE.multiplyUnsafe(Et).add(vt.multiplyUnsafe(ue));if(Be.is0())throw new Error("point at infinify");return Be.assertValidity(),Be}hasHighS(){return u(this.s)}normalizeS(){return this.hasHighS()?new p(this.r,i.neg(this.s),this.recovery):this}toBytes(w="compact"){if(w==="compact")return mt(i.toBytes(this.r),i.toBytes(this.s));if(w==="der")return Te(Qt.hexFromSig(this));throw new Error("invalid format")}toHex(w){return It(this.toBytes(w))}assertValidity(){}static fromCompact(w){return p.fromBytes($("sig",w),"compact")}static fromDER(w){return p.fromBytes($("sig",w),"der")}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return It(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return It(this.toBytes("compact"))}}function y(x){try{return!!mr(i,x)}catch{return!1}}function g(x,w){try{let S=x.length;return w===!0&&S!==h.public||w===!1&&S!==h.publicUncompressed?!1:!!r.fromBytes(x)}catch{return!1}}function v(x=n(l)){return Lo(x,a)}let k={isValidSecretKey:y,isValidPublicKey:g,randomSecretKey:v,isValidPrivateKey:y,randomPrivateKey:v,normPrivateKeyToScalar:x=>mr(i,x),precompute(x=8,w=r.BASE){return w.precompute(x,!1)}};function B(x,w=!0){return r.BASE.multiply(mr(i,x)).toBytes(w)}function N(x){if(typeof x=="bigint")return!1;if(x instanceof r)return!0;if(i.allowedLengths||h.secret===h.public)return;let w=$("key",x).length;return w===h.public||w===h.publicUncompressed}function H(x,w,S=!0){if(N(x)===!0)throw new Error("first arg must be private key");if(N(w)===!1)throw new Error("second arg must be public key");let T=mr(i,x);return r.fromHex(w).multiply(T).toBytes(S)}let I=e.bits2int||function(x){if(x.length>8192)throw new Error("input is too large");let w=ir(x),S=x.length*8-c;return S>0?w>>BigInt(S):w},O=e.bits2int_modN||function(x){return i.create(I(x))},V=ge(c);function _(x){return pe("num < 2^"+c,x,te,V),i.toBytes(x)}function b(x,w,S=m){if(["recovered","canonical"].some(Et=>Et in S))throw new Error("sign() legacy options not supported");let{lowS:T,prehash:D,extraEntropy:K}=S;T==null&&(T=!0),x=$("msgHash",x),Ec(S),D&&(x=$("prehashed msgHash",t(x)));let P=O(x),Z=mr(i,w),G=[_(Z),_(P)];if(K!=null&&K!==!1){let Et=K===!0?n(h.secret):K;G.push($("extraEntropy",Et))}let vt=mt(...G),j=P;function tt(Et){let ue=I(Et);if(!i.isValidNot0(ue))return;let Be=i.inv(ue),Cr=r.BASE.multiply(ue).toAffine(),Ae=i.create(Cr.x);if(Ae===te)return;let Nr=i.create(Be*i.create(j+Ae*Z));if(Nr===te)return;let Ai=(Cr.x===Ae?0:2)|Number(Cr.y&br),Si=Nr;return T&&u(Nr)&&(Si=f(Nr),Ai^=1),new p(Ae,Si,Ai)}return{seed:vt,k2sig:tt}}let m={lowS:e.lowS,prehash:!1},E={lowS:e.lowS,prehash:!1};function A(x,w,S=m){let{seed:T,k2sig:D}=b(x,w,S);return Ia(t.outputLen,i.BYTES,s)(T,D)}r.BASE.precompute(8);function L(x,w,S,T=E){let D=x;w=$("msgHash",w),S=$("publicKey",S),Ec(T);let{lowS:K,prehash:P,format:Z}=T;if("strict"in T)throw new Error("options.strict was renamed to lowS");let G,vt;if(Z===void 0){let j=typeof D=="string"||Ce(D),tt=!j&&D!==null&&typeof D=="object"&&typeof D.r=="bigint"&&typeof D.s=="bigint";if(!j&&!tt)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(tt)G=new p(D.r,D.s);else if(j){try{G=p.fromDER(D)}catch(Et){if(!(Et instanceof Qt.Err))throw Et}if(!G)try{G=p.fromCompact(D)}catch{return!1}}}else if(Z==="compact"||Z==="der"){if(typeof D!="string"&&!Ce(D))throw new Error('"der" / "compact" format expects Uint8Array signature');G=p.fromBytes($("sig",D),Z)}else if(Z==="js"){if(!(D instanceof p))throw new Error('"js" format expects Signature instance');G=D}else throw new Error('format must be "compact", "der" or "js"');if(!G)return!1;try{if(vt=r.fromHex(S),K&&G.hasHighS())return!1;P&&(w=t(w));let{r:j,s:tt}=G,Et=O(w),ue=i.inv(tt),Be=i.create(Et*ue),Cr=i.create(j*ue),Ae=r.BASE.multiplyUnsafe(Be).add(vt.multiplyUnsafe(Cr));return Ae.is0()?!1:i.create(Ae.x)===j}catch{return!1}}function R(x){let w=k.randomSecretKey(x);return{secretKey:w,publicKey:B(w)}}return Object.freeze({keygen:R,getPublicKey:B,sign:A,verify:L,getSharedSecret:H,utils:k,Point:r,Signature:p,info:{type:"weierstrass",lengths:h,publicKeyHasPrefix:!0}})}function Ch(r){let t={a:r.a,b:r.b,p:r.Fp.ORDER,n:r.n,h:r.h,Gx:r.Gx,Gy:r.Gy},e=r.Fp,n=r.allowedPrivateKeyLengths?Array.from(new Set(r.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,s=At(t.n,{BITS:r.nBitLength,allowedLengths:n,modOnDecode:r.wrapPrivateKey}),o={Fp:e,Fn:s,allowInfinityPoint:r.allowInfinityPoint,endo:r.endo,isTorsionFree:r.isTorsionFree,clearCofactor:r.clearCofactor,fromBytes:r.fromBytes,toBytes:r.toBytes};return{CURVE:t,curveOpts:o}}function Nh(r){let{CURVE:t,curveOpts:e}=Ch(r),n={hmac:r.hmac,randomBytes:r.randomBytes,lowS:r.lowS,bits2int:r.bits2int,bits2int_modN:r.bits2int_modN};return{CURVE:t,curveOpts:e,hash:r.hash,ecdsaOpts:n}}function Th(r,t){return Object.assign({},t,{ProjectivePoint:t.Point,CURVE:r})}function Sc(r){let{CURVE:t,curveOpts:e,hash:n,ecdsaOpts:s}=Nh(r),o=kh(t,e),i=Ih(o,n,s);return Th(r,i)}function kc(r,t){let e=n=>Sc({...r,hash:n});return{...e(t),create:e}}var hi={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},_h={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var Ic=BigInt(2);function Uh(r){let t=hi.p,e=BigInt(3),n=BigInt(6),s=BigInt(11),o=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%t,h=l*l*r%t,u=Y(h,e,t)*h%t,f=Y(u,e,t)*h%t,d=Y(f,Ic,t)*l%t,p=Y(d,s,t)*d%t,y=Y(p,o,t)*p%t,g=Y(y,a,t)*y%t,v=Y(g,c,t)*g%t,k=Y(v,a,t)*y%t,B=Y(k,e,t)*h%t,N=Y(B,i,t)*p%t,H=Y(N,n,t)*l%t,I=Y(H,Ic,t);if(!fi.eql(fi.sqr(I),r))throw new Error("Cannot find square root");return I}var fi=At(hi.p,void 0,void 0,{sqrt:Uh}),Ot=kc({...hi,Fp:fi,lowS:!0,endo:_h},Dn);var Cc=32;function Nc(r,t,e){let n=tr.digest(t instanceof Uint8Array?t:t.subarray());if(dr(n))return n.then(({digest:s})=>(e?.signal?.throwIfAborted(),Ot.sign(s,r).toDERRawBytes())).catch(s=>{throw s.name==="AbortError"?s:new _r(String(s))});try{return Ot.sign(n.digest,r).toDERRawBytes()}catch(s){throw new _r(String(s))}}function Tc(r,t,e,n){let s=tr.digest(e instanceof Uint8Array?e:e.subarray());if(dr(s))return s.then(({digest:o})=>(n?.signal?.throwIfAborted(),Ot.verify(t,o,r))).catch(o=>{throw o.name==="AbortError"?o:new Ur(String(o))});try{return n?.signal?.throwIfAborted(),Ot.verify(t,s.digest,r)}catch(o){throw new Ur(String(o))}}var Jn=class{type="secp256k1";raw;_key;constructor(t){this._key=Lc(t),this.raw=_c(this._key)}toMultihash(){return Se.digest(rr(this))}toCID(){return kt.createV1(114,this.toMultihash())}toString(){return Q.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:gt(this.raw,t.raw)}verify(t,e,n){return Tc(this._key,e,t,n)}},Xn=class{type="secp256k1";raw;publicKey;constructor(t,e){this.raw=Uc(t),this.publicKey=new Jn(e??Rc(t))}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:gt(this.raw,t.raw)}sign(t,e){return Nc(this.raw,t,e)}};function di(r){return new Xn(r)}function _c(r){return Ot.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Uc(r){try{return Ot.getPublicKey(r,!0),r}catch(t){throw new Lr(String(t))}}function Lc(r){try{return Ot.ProjectivePoint.fromHex(r),r}catch(t){throw new Ge(String(t))}}function Rc(r){try{return Ot.getPublicKey(r,!0)}catch(t){throw new Lr(String(t))}}function rr(r){return we.encode({Type:rt[r.type],Data:r.raw})}function Dc(r){let t=en.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case rt.RSA:return ai(e);case rt.Ed25519:return Fo(e);case rt.secp256k1:return di(e);case rt.ECDSA:return ia(e);default:throw new Ze}}function Hc(r){if(r.byteLength===Ct)return Fo(r);if(r.byteLength===Cc)return di(r);let t=_t(r),e=t[2]?.[0];if(e===ea||e===ra||e===na)return Bo(t);if(t.length>8)return Yn(t);throw new U("Could not extract private key from raw bytes")}function Me(r){return en.encode({Type:rt[r.type],Data:r.raw})}function Kc(r,t,e,n){sr(r);let s=pa({dkLen:32,asyncTick:10},n),{c:o,dkLen:i,asyncTick:a}=s;if(jt(o),jt(i),jt(a),o<1)throw new Error("iterations (c) should be >= 1");let c=Ao(t),l=Ao(e),h=new Uint8Array(i),u=sn.create(r,c),f=u._cloneInto().update(l);return{c:o,dkLen:i,asyncTick:a,DK:h,PRF:u,PRFSalt:f}}function Oc(r,t,e,n,s){return r.destroy(),t.destroy(),n&&n.destroy(),yt(s),e}function Vc(r,t,e,n){let{c:s,dkLen:o,DK:i,PRF:a,PRFSalt:c}=Kc(r,t,e,n),l,h=new Uint8Array(4),u=Ne(h),f=new Uint8Array(a.outputLen);for(let d=1,p=0;p<o;d++,p+=a.outputLen){let y=i.subarray(p,p+a.outputLen);u.setInt32(0,d,!1),(l=c._cloneInto(l)).update(h).digestInto(f),y.set(f.subarray(0,y.length));for(let g=1;g<s;g++){a._cloneInto(l).update(f).digestInto(f);for(let v=0;v<y.length;v++)y[v]^=f[v]}}return Oc(a,c,i,l,f)}async function Qn(r,t,e,n){let{c:s,dkLen:o,asyncTick:i,DK:a,PRF:c,PRFSalt:l}=Kc(r,t,e,n),h,u=new Uint8Array(4),f=Ne(u),d=new Uint8Array(c.outputLen);for(let p=1,y=0;y<o;p++,y+=c.outputLen){let g=a.subarray(y,y+c.outputLen);f.setInt32(0,p,!1),(h=l._cloneInto(h)).update(u).digestInto(d),g.set(d.subarray(0,g.length)),await da(s-1,i,()=>{c._cloneInto(h).update(d).digestInto(d);for(let v=0;v<g.length;v++)g[v]^=d[v]})}return Oc(c,l,a,h,d)}var on=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),xe=new Uint32Array(80),ts=class extends Ue{constructor(){super(64,20,8,!1),this.A=on[0]|0,this.B=on[1]|0,this.C=on[2]|0,this.D=on[3]|0,this.E=on[4]|0}get(){let{A:t,B:e,C:n,D:s,E:o}=this;return[t,e,n,s,o]}set(t,e,n,s,o){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=o|0}process(t,e){for(let c=0;c<16;c++,e+=4)xe[c]=t.getUint32(e,!1);for(let c=16;c<80;c++)xe[c]=Cn(xe[c-3]^xe[c-8]^xe[c-14]^xe[c-16],1);let{A:n,B:s,C:o,D:i,E:a}=this;for(let c=0;c<80;c++){let l,h;c<20?(l=Tn(s,o,i),h=1518500249):c<40?(l=s^o^i,h=1859775393):c<60?(l=_n(s,o,i),h=2400959708):(l=s^o^i,h=3395469782);let u=Cn(n,5)+l+a+h+xe[c]|0;a=i,i=o,o=Cn(s,30),s=n,n=u}n=n+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,this.set(n,s,o,i,a)}roundClean(){yt(xe)}destroy(){this.set(0,0,0,0,0),yt(this.buffer)}},Pc=qr(()=>new ts);var Mc=Pc;var wr=Hn;var Fc={sha1:Mc,"sha2-256":gr,"sha2-512":wr};function an(r,t,e,n,s){if(s!=="sha1"&&s!=="sha2-256"&&s!=="sha2-512"){let a=Object.keys(Fc).join(" / ");throw new U(`Hash '${s}' is unknown or not supported. Must be ${a}`)}let o=Fc[s],i=Vc(o,r,t,{c:e,dkLen:n});return ke.encode(i).substring(1)}function xr(r){if(typeof r!="object"||r===null)return!1;let t=Object.getPrototypeOf(r);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)}var{hasOwnProperty:jc}=Object.prototype,{propertyIsEnumerable:Lh}=Object,vr=(r,t,e)=>{Object.defineProperty(r,t,{value:e,writable:!0,enumerable:!0,configurable:!0})},Rh=void 0,qc={concatArrays:!1,ignoreUndefined:!1},es=r=>{let t=[];for(let e in r)jc.call(r,e)&&t.push(e);if(Object.getOwnPropertySymbols){let e=Object.getOwnPropertySymbols(r);for(let n of e)Lh.call(r,n)&&t.push(n)}return t};function Er(r){return Array.isArray(r)?Dh(r):xr(r)?Hh(r):r}function Dh(r){let t=r.slice(0,0);return es(r).forEach(e=>{vr(t,e,Er(r[e]))}),t}function Hh(r){let t=Object.getPrototypeOf(r)===null?Object.create(null):{};return es(r).forEach(e=>{vr(t,e,Er(r[e]))}),t}var $c=(r,t,e,n)=>(e.forEach(s=>{typeof t[s]>"u"&&n.ignoreUndefined||(s in r&&r[s]!==Object.getPrototypeOf(r)?vr(r,s,pi(r[s],t[s],n)):vr(r,s,Er(t[s])))}),r),Kh=(r,t,e)=>{let n=r.slice(0,0),s=0;return[r,t].forEach(o=>{let i=[];for(let a=0;a<o.length;a++)jc.call(o,a)&&(i.push(String(a)),o===r?vr(n,s++,o[a]):vr(n,s++,Er(o[a])));n=$c(n,o,es(o).filter(a=>!i.includes(a)),e)}),n};function pi(r,t,e){return e.concatArrays&&Array.isArray(r)&&Array.isArray(t)?Kh(r,t,e):!xr(t)||!xr(r)?Er(t):$c(r,t,es(t),e)}function Gc(...r){let t=pi(Er(qc),this!==Rh&&this||{},qc),e={_:{}};for(let n of r)if(n!==void 0){if(!xr(n))throw new TypeError("`"+n+"` is not an Option Object");e=pi(e,{_:n},t)}return e._}var ee="/",Zc=new TextEncoder().encode(ee),rs=Zc[0],cn=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=M(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==rs)throw new Error("Invalid key")}toString(t="utf8"){return q(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(ee))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Zc),this._buf[0]!==rs){let t=new Uint8Array(this._buf.byteLength+1);t.fill(rs,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===rs;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let s=0;s<e.length;s++){if(n.length<s+1)return!1;let o=e[s],i=n[s];if(o<i)return!0;if(o>i)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(ee).slice(1)}type(){return Oh(this.baseNamespace())}name(){return Vh(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(ee)||(t+=ee),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(ee):new r(t.slice(0,-1).join(ee))}child(t){return this.toString()===ee?t:t.toString()===ee?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),...Ph(t.map(e=>e.namespaces()))])}};function Oh(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Vh(r){let t=r.split(":");return t[t.length-1]}function Ph(r){return[].concat(...r)}var Gu=Ii(ru(),1);var Br={};ut(Br,{create:()=>Qh,derivedEmptyPasswordKey:()=>ns});var ns={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Qh(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,s=r?.digest??"SHA-256",o=r?.saltLength??16,i=r?.iterations??32767,a=X.get();e*=8;async function c(u,f){let d=a.getRandomValues(new Uint8Array(o)),p=a.getRandomValues(new Uint8Array(n)),y={name:t,iv:p};typeof f=="string"&&(f=M(f));let g;if(f.length===0){g=await a.subtle.importKey("jwk",ns,{name:"AES-GCM"},!0,["encrypt"]);try{let k={name:"PBKDF2",salt:d,iterations:i,hash:{name:s}},B=await a.subtle.importKey("raw",f,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(k,B,{name:t,length:e},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",ns,{name:"AES-GCM"},!0,["encrypt"])}}else{let k={name:"PBKDF2",salt:d,iterations:i,hash:{name:s}},B=await a.subtle.importKey("raw",f,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(k,B,{name:t,length:e},!0,["encrypt"])}let v=await a.subtle.encrypt(y,g,u);return Qe([d,y.iv,new Uint8Array(v)])}async function l(u,f){let d=u.subarray(0,o),p=u.subarray(o,o+n),y=u.subarray(o+n),g={name:t,iv:p};typeof f=="string"&&(f=M(f));let v;if(f.length===0)try{let B={name:"PBKDF2",salt:d,iterations:i,hash:{name:s}},N=await a.subtle.importKey("raw",f,{name:"PBKDF2"},!1,["deriveKey"]);v=await a.subtle.deriveKey(B,N,{name:t,length:e},!0,["decrypt"])}catch{v=await a.subtle.importKey("jwk",ns,{name:"AES-GCM"},!0,["decrypt"])}else{let B={name:"PBKDF2",salt:d,iterations:i,hash:{name:s}},N=await a.subtle.importKey("raw",f,{name:"PBKDF2"},!1,["deriveKey"]);v=await a.subtle.deriveKey(B,N,{name:t,length:e},!0,["decrypt"])}let k=await a.subtle.decrypt(g,v,y);return new Uint8Array(k)}return{encrypt:c,decrypt:l}}var F=Ii(nu());function Fe(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function ve(r,t,e=-1){let n=e,s=r,o=0,i=Math.pow(2,t);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),o=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),o=n}let l=new Uint8Array(c);for(let h=a-1;h>=0;h--){let u=Math.pow(2,h*t);l[o-h-1]=Math.floor(s/u),s-=l[o-h-1]*u}return c}i*=Math.pow(2,t)}return new ArrayBuffer(0)}function is(...r){let t=0,e=0;for(let o of r)t+=o.length;let n=new ArrayBuffer(t),s=new Uint8Array(n);for(let o of r)s.set(o,e),e+=o.length;return s}function yi(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Fe(e,8),s=new ArrayBuffer(this.valueHex.byteLength),o=new Uint8Array(s);for(let a=0;a<this.valueHex.byteLength;a++)o[a]=r[a];return o[0]&=127,Fe(o,8)-n}function su(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let i=e-t,a=ve(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=ve(t,8,n),o=new Uint8Array(s);if(o[0]&128){let i=s.slice(0),a=new Uint8Array(i);s=new ArrayBuffer(s.byteLength+1),o=new Uint8Array(s);for(let c=0;c<i.byteLength;c++)o[c+1]=a[c];o[0]=0}return s}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function ou(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<e.length;s++)if(e[s]!==n[s])return!1;return!0}function wt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,s=new Array(n);for(let i=0;i<n;i++)s[i]="0";return s.join("").concat(e)}var cb=Math.log(2);function as(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function mi(r){let t=0,e=0;for(let s=0;s<r.length;s++){let o=r[s];t+=o.byteLength}let n=new Uint8Array(t);for(let s=0;s<r.length;s++){let o=r[s];n.set(new Uint8Array(o),e),e+=o.byteLength}return n.buffer}function ae(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var fn=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return mi(this.items)}},un=[new Uint8Array([1])],iu="0123456789";var Sr="",Dt=new ArrayBuffer(0),bi=new Uint8Array(0),hn="EndOfContent",cu="OCTET STRING",uu="BIT STRING";function ce(r){var t;return t=class extends r{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}constructor(...n){var s;super(...n);let o=n[0]||{};this.isHexOnly=(s=o.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=o.valueHex?F.BufferSourceConverter.toUint8Array(o.valueHex):bi}fromBER(n,s,o){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!ae(this,i,s,o))return-1;let a=s+o;return this.valueHexView=i.subarray(s,a),this.valueHexView.length?(this.blockLength=o,a):(this.warnings.push("Zero buffer length"),s)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Dt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:F.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var ne=class{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}constructor({blockLength:t=0,error:e=Sr,warnings:n=[],valueBeforeDecode:s=bi}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=F.BufferSourceConverter.toUint8Array(s)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:F.Convert.ToHex(this.valueBeforeDecodeView)}}};ne.NAME="baseBlock";var ct=class extends ne{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};ct.NAME="valueBlock";var cs=class extends ce(ne){constructor({idBlock:t={}}={}){var e,n,s,o;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?F.BufferSourceConverter.toUint8Array(t.valueHex):bi,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(s=t.tagNumber)!==null&&s!==void 0?s:-1,this.isConstructed=(o=t.isConstructed)!==null&&o!==void 0?o:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Dt}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let s=new Uint8Array(1);if(!t){let o=this.tagNumber;o&=31,e|=o,s[0]=e}return s.buffer}if(!this.isHexOnly){let s=ve(this.tagNumber,7),o=new Uint8Array(s),i=s.byteLength,a=new Uint8Array(i+1);if(a[0]=e|31,!t){for(let c=0;c<i-1;c++)a[c+1]=o[c]|128;a[i]=o[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let s=this.valueHexView;for(let o=0;o<s.length-1;o++)n[o+1]=s[o]|128;n[this.valueHexView.byteLength]=s[s.length-1]}return n.buffer}fromBER(t,e,n){let s=F.BufferSourceConverter.toUint8Array(t);if(!ae(this,s,e,n))return-1;let o=s.subarray(e,e+n);if(o.length===0)return this.error="Zero buffer length",-1;switch(o[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(o[0]&32)===32,this.isHexOnly=!1;let a=o[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,l=this.valueHexView=new Uint8Array(255),h=255;for(;o[c]&128;){if(l[c-1]=o[c]&127,c++,c>=o.length)return this.error="End of input reached before message was fully decoded",-1;if(c===h){h+=255;let f=new Uint8Array(h);for(let d=0;d<l.length;d++)f[d]=l[d];l=this.valueHexView=new Uint8Array(h)}}this.blockLength=c+1,l[c-1]=o[c]&127;let u=new Uint8Array(c);for(let f=0;f<c;f++)u[f]=l[f];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=Fe(l,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};cs.NAME="identificationBlock";var us=class extends ne{constructor({lenBlock:t={}}={}){var e,n,s;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(s=t.length)!==null&&s!==void 0?s:0}fromBER(t,e,n){let s=F.BufferSourceConverter.toUint8Array(t);if(!ae(this,s,e,n))return-1;let o=s.subarray(e,e+n);if(o.length===0)return this.error="Zero buffer length",-1;if(o[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=o[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(o[0]&128),this.longFormUsed===!1)return this.length=o[0],this.blockLength=1,e+this.blockLength;let i=o[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>o.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=s.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Fe(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let s=ve(this.length,8);if(s.byteLength>127)return this.error="Too big length",Dt;if(e=new ArrayBuffer(s.byteLength+1),t)return e;let o=new Uint8Array(s);n=new Uint8Array(e),n[0]=s.byteLength|128;for(let i=0;i<s.byteLength;i++)n[i+1]=o[i];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};us.NAME="lengthBlock";var C={},ot=class extends ne{constructor({name:t=Sr,optional:e=!1,primitiveSchema:n,...s}={},o){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new cs(s),this.lenBlock=new us(s),this.valueBlock=o?new o(s):new ct(s)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}toBER(t,e){let n=e||new fn;e||lu(this);let s=this.idBlock.toBER(t);if(n.write(s),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let o=this.valueBlock.toBER(t);this.lenBlock.length=o.byteLength;let i=this.lenBlock.toBER(t);n.write(i),n.write(o)}return e?Dt:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():F.Convert.ToHex(this.toBER())}onAsciiEncoding(){let t=this.constructor.NAME,e=F.Convert.ToHex(this.valueBlock.valueBeforeDecodeView);return`${t} : ${e}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return ou(e,n)}};ot.NAME="BaseBlock";function lu(r){var t;if(r instanceof C.Constructed)for(let e of r.valueBlock.value)lu(e)&&(r.lenBlock.isIndefiniteForm=!0);return!!(!((t=r.lenBlock)===null||t===void 0)&&t.isIndefiniteForm)}var ls=class extends ot{getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}constructor({value:t=Sr,...e}={},n){super(e,n),t&&this.fromString(t)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};ls.NAME="BaseStringBlock";var fs=class extends ce(ct){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};fs.NAME="PrimitiveValueBlock";var fu,hs=class extends ot{constructor(t={}){super(t,fs),this.idBlock.isConstructed=!1}};fu=hs;C.Primitive=fu;hs.NAME="PRIMITIVE";function cd(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function Gs(r,t=0,e=r.length){let n=t,s=new ot({},ct),o=new ne;if(!ae(o,r,t,e))return s.error=o.error,{offset:-1,result:s};if(!r.subarray(t,t+e).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(r,t,e);if(s.idBlock.warnings.length&&s.warnings.concat(s.idBlock.warnings),a===-1)return s.error=s.idBlock.error,{offset:-1,result:s};if(t=a,e-=s.idBlock.blockLength,a=s.lenBlock.fromBER(r,t,e),s.lenBlock.warnings.length&&s.warnings.concat(s.lenBlock.warnings),a===-1)return s.error=s.lenBlock.error,{offset:-1,result:s};if(t=a,e-=s.lenBlock.blockLength,!s.idBlock.isConstructed&&s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=ot;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&s.idBlock.isHexOnly===!1)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=C.EndOfContent;break;case 1:c=C.Boolean;break;case 2:c=C.Integer;break;case 3:c=C.BitString;break;case 4:c=C.OctetString;break;case 5:c=C.Null;break;case 6:c=C.ObjectIdentifier;break;case 10:c=C.Enumerated;break;case 12:c=C.Utf8String;break;case 13:c=C.RelativeObjectIdentifier;break;case 14:c=C.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=C.Sequence;break;case 17:c=C.Set;break;case 18:c=C.NumericString;break;case 19:c=C.PrintableString;break;case 20:c=C.TeletexString;break;case 21:c=C.VideotexString;break;case 22:c=C.IA5String;break;case 23:c=C.UTCTime;break;case 24:c=C.GeneralizedTime;break;case 25:c=C.GraphicString;break;case 26:c=C.VisibleString;break;case 27:c=C.GeneralString;break;case 28:c=C.UniversalString;break;case 29:c=C.CharacterString;break;case 30:c=C.BmpString;break;case 31:c=C.DATE;break;case 32:c=C.TimeOfDay;break;case 33:c=C.DateTime;break;case 34:c=C.Duration;break;default:{let l=s.idBlock.isConstructed?new C.Constructed:new C.Primitive;l.idBlock=s.idBlock,l.lenBlock=s.lenBlock,l.warnings=s.warnings,s=l}}break;case 2:case 3:case 4:default:c=s.idBlock.isConstructed?C.Constructed:C.Primitive}return s=cd(s,c),a=s.fromBER(r,t,s.lenBlock.isIndefiniteForm?e:s.lenBlock.length),s.valueBeforeDecodeView=r.subarray(n,n+s.blockLength),{offset:a,result:s}}function Zs(r){if(!r.byteLength){let t=new ot({},ct);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Gs(F.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function ud(r,t){return r?1:t}var Vt=class extends ct{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=F.BufferSourceConverter.toUint8Array(t);if(!ae(this,s,e,n))return-1;if(this.valueBeforeDecodeView=s.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let o=e;for(;ud(this.isIndefiniteForm,n)>0;){let i=Gs(s,o,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(o=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===hn)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===hn?this.value.pop():this.warnings.push("No EndOfContent block encoded")),o}toBER(t,e){let n=e||new fn;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Dt:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Vt.NAME="ConstructedValueBlock";var hu,Ee=class extends ot{constructor(t={}){super(t,Vt),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
|
2
|
+
"use strict";var Libp2PKeychain=(()=>{var Ju=Object.create;var wn=Object.defineProperty;var Xu=Object.getOwnPropertyDescriptor;var Qu=Object.getOwnPropertyNames;var tl=Object.getPrototypeOf,el=Object.prototype.hasOwnProperty;var Ir=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),ft=(r,t)=>{for(var e in t)wn(r,e,{get:t[e],enumerable:!0})},_i=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Qu(t))!el.call(r,s)&&s!==e&&wn(r,s,{get:()=>t[s],enumerable:!(n=Xu(t,s))||n.enumerable});return r};var Ti=(r,t,e)=>(e=r!=null?Ju(tl(r)):{},_i(t||!r||!r.__esModule?wn(e,"default",{value:r,enumerable:!0}):e,r)),rl=r=>_i(wn({},"__esModule",{value:!0}),r);var Qc=Ir((nb,Xc)=>{"use strict";function $h(r){return r>=55296&&r<=56319}function Gh(r){return r>=56320&&r<=57343}Xc.exports=function(t,e,n){if(typeof e!="string")throw new Error("Input must be string");for(var s=e.length,o=0,i,a,c=0;c<s;c+=1){if(i=e.charCodeAt(c),a=e[c],$h(i)&&Gh(e.charCodeAt(c+1))&&(c+=1,a+=e[c]),o+=t(a),o===n)return e.slice(0,c+1);if(o>n)return e.slice(0,c-a.length+1)}return e}});var eu=Ir((sb,tu)=>{"use strict";function Zh(r){return r>=55296&&r<=56319}function zh(r){return r>=56320&&r<=57343}tu.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var e=t.length,n=0,s=null,o=null,i=0;i<e;i++)s=t.charCodeAt(i),zh(s)?o!=null&&Zh(o)?n+=1:n+=3:s<=127?n+=1:s>=128&&s<=2047?n+=2:s>=2048&&s<=65535&&(n+=3),o=s;return n}});var nu=Ir((ob,ru)=>{"use strict";var Yh=Qc(),Wh=eu();ru.exports=Yh.bind(null,Wh)});var iu=Ir((ib,ou)=>{"use strict";var Jh=nu(),Xh=/[\/\?<>\\:\*\|"]/g,Qh=/[\x00-\x1f\x80-\x9f]/g,td=/^\.+$/,ed=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,rd=/[\. ]+$/;function su(r,t){if(typeof r!="string")throw new Error("Input must be string");var e=r.replace(Xh,t).replace(Qh,t).replace(td,t).replace(ed,t).replace(rd,t);return Jh(e,255)}ou.exports=function(r,t){var e=t&&t.replacement||"",n=su(r,e);return e===""?n:su(n,"")}});var au=Ir(Er=>{"use strict";var sd="[object ArrayBuffer]",se=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===sd}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let o=0;o<n.length;o++)if(n[o]!==s[o])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let i of e)n+=i.byteLength;let s=new Uint8Array(n),o=0;for(let i of e){let a=this.toUint8Array(i);s.set(a,o),o+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},xi="string",od=/^[0-9a-f\s]+$/i,id=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,ad=/^[a-zA-Z0-9-_]+$/,ss=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=se.toUint8Array(t),n="";for(let o=0;o<e.length;o++)n+=String.fromCharCode(e[o]);return decodeURIComponent(escape(n))}},_t=class{static toString(t,e=!1){let n=se.toArrayBuffer(t),s=new DataView(n),o="";for(let i=0;i<n.byteLength;i+=2){let a=s.getUint16(i,e);o+=String.fromCharCode(a)}return o}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let o=0;o<t.length;o++)s.setUint16(o*2,t.charCodeAt(o),e);return n}},os=class r{static isHex(t){return typeof t===xi&&od.test(t)}static isBase64(t){return typeof t===xi&&id.test(t)}static isBase64Url(t){return typeof t===xi&&ad.test(t)}static ToString(t,e="utf8"){let n=se.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return _t.toString(n,!0);case"utf16":case"utf16be":return _t.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return _t.fromString(t,!0);case"utf16":case"utf16be":return _t.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=se.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return ss.fromString(t);case"utf16":case"utf16be":return _t.fromString(t);case"utf16le":case"usc2":return _t.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return ss.toString(t);case"utf16":case"utf16be":return _t.toString(t);case"utf16le":case"usc2":return _t.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=se.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=se.toUint8Array(t),n="",s=e.length;for(let o=0;o<s;o++){let i=e[o];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let o=e.slice(s,s+2);n[s/2]=parseInt(o,16)}return n.buffer}static ToUtf16String(t,e=!1){return _t.toString(t,e)}static FromUtf16String(t,e=!1){return _t.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};os.DEFAULT_UTF8_ENCODING="utf8";function cd(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let o in s)e[o]=s[o]}return e}function ud(...r){let t=r.map(s=>s.byteLength).reduce((s,o)=>s+o),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let o of s)e[n++]=o}),e.buffer}function ld(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}Er.BufferSourceConverter=se;Er.Convert=os;Er.assign=cd;Er.combine=ud;Er.isEqual=ld});var Id={};ft(Id,{keychain:()=>kd});var Cr=class extends Error{constructor(t="An error occurred while signing a message"){super(t),this.name="SigningError"}},Nr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},xn=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var Li={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new xn("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var Q=Li;var L=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},je=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}},Ur=class extends Error{static name="InvalidPrivateKeyError";constructor(t="Invalid private key"){super(t),this.name="InvalidPrivateKeyError"}};var vn=class extends Error{static name="NotFoundError";constructor(t="Not found"){super(t),this.name="NotFoundError"}};var $e=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Ri=Symbol.for("@libp2p/service-capabilities"),Kd=Symbol.for("@libp2p/service-dependencies");var to={};ft(to,{base58btc:()=>tt,base58flickr:()=>ul});var n0=new Uint8Array(0);function Ki(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function qt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Di(r){return new TextEncoder().encode(r)}function Vi(r){return new TextDecoder().decode(r)}function nl(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var o=r.charAt(s),i=o.charCodeAt(0);if(e[i]!==255)throw new TypeError(o+" is ambiguous");e[i]=s}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var w=0,B=0,y=0,A=p.length;y!==A&&p[y]===0;)y++,w++;for(var x=(A-y)*h+1>>>0,I=new Uint8Array(x);y!==A;){for(var K=p[y],P=0,O=x-1;(K!==0||P<B)&&O!==-1;O--,P++)K+=256*I[O]>>>0,I[O]=K%a>>>0,K=K/a>>>0;if(K!==0)throw new Error("Non-zero carry");B=P,y++}for(var D=x-B;D!==x&&I[D]===0;)D++;for(var v=c.repeat(w);D<x;++D)v+=r.charAt(I[D]);return v}function f(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var w=0;if(p[w]!==" "){for(var B=0,y=0;p[w]===c;)B++,w++;for(var A=(p.length-w)*l+1>>>0,x=new Uint8Array(A);p[w];){var I=e[p.charCodeAt(w)];if(I===255)return;for(var K=0,P=A-1;(I!==0||K<y)&&P!==-1;P--,K++)I+=a*x[P]>>>0,x[P]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=K,w++}if(p[w]!==" "){for(var O=A-y;O!==A&&x[O]===0;)O++;for(var D=new Uint8Array(B+(A-O)),v=B;O!==A;)D[v++]=x[O++];return D}}}function d(p){var w=f(p);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:f,decode:d}}var sl=nl,ol=sl,Oi=ol;var Ws=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Js=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let s=e.codePointAt(0);if(s===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Pi(this,t)}},Xs=class{decoders;constructor(t){this.decoders=t}or(t){return Pi(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Pi(r,t){return new Xs({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Qs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Ws(t,e,n),this.decoder=new Js(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ge({name:r,prefix:t,encode:e,decode:n}){return new Qs(r,t,e,n)}function fe({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Oi(e,r);return Ge({prefix:t,name:r,encode:n,decode:o=>qt(s(o))})}function il(r,t,e,n){let s=r.length;for(;r[s-1]==="=";)--s;let o=new Uint8Array(s*e/8|0),i=0,a=0,c=0;for(let l=0;l<s;++l){let h=t[r[l]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|h,i+=e,i>=8&&(i-=8,o[c++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return o}function al(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,o="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,o+=t[s&a>>i];if(i!==0&&(o+=t[s&a<<e-i]),n)for(;(o.length*e&7)!==0;)o+="=";return o}function cl(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function J({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let s=cl(n);return Ge({prefix:t,name:r,encode(o){return al(o,n,e)},decode(o){return il(o,s,e,r)}})}var tt=fe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ul=fe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var eo={};ft(eo,{base32:()=>Ze,base32hex:()=>dl,base32hexpad:()=>yl,base32hexpadupper:()=>gl,base32hexupper:()=>pl,base32pad:()=>fl,base32padupper:()=>hl,base32upper:()=>ll,base32z:()=>ml});var Ze=J({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ll=J({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),fl=J({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),hl=J({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),dl=J({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),pl=J({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),yl=J({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),gl=J({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ml=J({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ro={};ft(ro,{base36:()=>_r,base36upper:()=>bl});var _r=fe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),bl=fe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var wl=qi,Mi=128,xl=127,vl=~xl,Bl=Math.pow(2,31);function qi(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Bl;)t[e++]=r&255|Mi,r/=128;for(;r&vl;)t[e++]=r&255|Mi,r>>>=7;return t[e]=r|0,qi.bytes=e-n+1,t}var El=no,Al=128,Fi=127;function no(r,n){var e=0,n=n||0,s=0,o=n,i,a=r.length;do{if(o>=a)throw no.bytes=0,new RangeError("Could not decode varint");i=r[o++],e+=s<28?(i&Fi)<<s:(i&Fi)*Math.pow(2,s),s+=7}while(i>=Al);return no.bytes=o-n,e}var Sl=Math.pow(2,7),kl=Math.pow(2,14),Il=Math.pow(2,21),Cl=Math.pow(2,28),Nl=Math.pow(2,35),Ul=Math.pow(2,42),_l=Math.pow(2,49),Tl=Math.pow(2,56),Ll=Math.pow(2,63),Rl=function(r){return r<Sl?1:r<kl?2:r<Il?3:r<Cl?4:r<Nl?5:r<Ul?6:r<_l?7:r<Tl?8:r<Ll?9:10},Kl={encode:wl,decode:El,encodingLength:Rl},Dl=Kl,Tr=Dl;function Lr(r,t=0){return[Tr.decode(r,t),Tr.decode.bytes]}function ze(r,t,e=0){return Tr.encode(r,t,e),t}function Ye(r){return Tr.encodingLength(r)}function Tt(r,t){let e=t.byteLength,n=Ye(r),s=n+Ye(e),o=new Uint8Array(s+e);return ze(r,o,0),ze(e,o,n),o.set(t,s),new We(r,e,t,o)}function ji(r){let t=qt(r),[e,n]=Lr(t),[s,o]=Lr(t.subarray(n)),i=t.subarray(n+o);if(i.byteLength!==s)throw new Error("Incorrect length");return new We(e,s,i,t)}function $i(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ki(r.bytes,e.bytes)}}var We=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};function Gi(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Hl(e,so(r),t??tt.encoder);default:return Ol(e,so(r),t??Ze.encoder)}}var Zi=new WeakMap;function so(r){let t=Zi.get(r);if(t==null){let e=new Map;return Zi.set(r,e),e}return t}var Ct=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Kr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Pl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=Tt(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&$i(t.multihash,n.multihash)}toString(t){return Gi(this,t)}toJSON(){return{"/":Gi(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:o,bytes:i}=e;return new r(n,s,o,i??zi(n,s,o.bytes))}else if(e[Ml]===!0){let{version:n,multihash:s,code:o}=e,i=ji(s);return r.create(n,o,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Kr)throw new Error(`Version 0 CID must use dag-pb (code: ${Kr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=zi(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Kr,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,s=qt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=s.subarray(e.multihashSize-e.digestSize),i=new We(e.multihashCode,e.digestSize,o,s);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,f]=Lr(t.subarray(e));return e+=f,u},s=n(),o=Kr;if(s===18?(s=0,e=0):o=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let i=e,a=n(),c=n(),l=e+c,h=l-i;return{version:s,codec:o,multihashCode:a,digestSize:c,multihashSize:h,size:l}}static parse(t,e){let[n,s]=Vl(t,e),o=r.decode(s);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return so(o).set(n,t),o}};function Vl(r,t){switch(r[0]){case"Q":{let e=t??tt;return[tt.prefix,e.decode(`${tt.prefix}${r}`)]}case tt.prefix:{let e=t??tt;return[tt.prefix,e.decode(r)]}case Ze.prefix:{let e=t??Ze;return[Ze.prefix,e.decode(r)]}case _r.prefix:{let e=t??_r;return[_r.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Hl(r,t,e){let{prefix:n}=e;if(n!==tt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return s}function Ol(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let o=e.encode(r);return t.set(n,o),o}else return s}var Kr=112,Pl=18;function zi(r,t,e){let n=Ye(r),s=n+Ye(t),o=new Uint8Array(s+e.byteLength);return ze(r,o,0),ze(t,o,n),o.set(e,s),o}var Ml=Symbol.for("@ipld/js-cid/CID");var oo={};ft(oo,{identity:()=>ke});var Yi=0,Fl="identity",Wi=qt;function ql(r){return Tt(Yi,Wi(r))}var ke={code:Yi,name:Fl,encode:Wi,digest:ql};function xt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function jt(r=0){return new Uint8Array(r)}function At(r=0){return new Uint8Array(r)}function Je(r,t){t==null&&(t=r.reduce((s,o)=>s+o.length,0));let e=At(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}var Xi=Symbol.for("@achingbrain/uint8arraylist");function Ji(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function En(r){return!!r?.[Xi]}var ht=class r{bufs;length;[Xi]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(En(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(En(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Ji(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Ji(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(En(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:s}=this._subList(t,e);return Je(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Je(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),o=new r;return o.length=s,o.bufs=[...n],o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let o=0;o<this.bufs.length;o++){let i=this.bufs[o],a=s,c=a+i.byteLength;if(s=c,t>=c)continue;let l=t>=a&&t<c,h=e>a&&e<=c;if(l&&h){if(t===a&&e===c){n.push(i);break}let u=t-a;n.push(i.subarray(u,u+(e-t)));break}if(l){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(h){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!En(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let o=256,i=new Int32Array(o);for(let u=0;u<o;u++)i[u]=-1;for(let u=0;u<s;u++)i[n[u]]=u;let a=i,c=this.byteLength-n.byteLength,l=n.byteLength-1,h;for(let u=e;u<=c;u+=h){h=0;for(let f=l;f>=0;f--){let d=this.get(u+f);if(n[f]!==d){h=Math.max(1,f-a[d]);break}}if(h===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=At(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=jt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=jt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=jt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=At(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=jt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=jt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=jt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=jt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=jt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!xt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,o)=>s+o.byteLength,0)),n.length=e,n}};var io={};ft(io,{base10:()=>jl});var jl=fe({prefix:"9",name:"base10",alphabet:"0123456789"});var ao={};ft(ao,{base16:()=>$l,base16upper:()=>Gl});var $l=J({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Gl=J({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var co={};ft(co,{base2:()=>Zl});var Zl=J({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var uo={};ft(uo,{base256emoji:()=>Xl});var Qi=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),zl=Qi.reduce((r,t,e)=>(r[e]=t,r),[]),Yl=Qi.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Wl(r){return r.reduce((t,e)=>(t+=zl[e],t),"")}function Jl(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let s=Yl[n];if(s==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(s)}return new Uint8Array(t)}var Xl=Ge({prefix:"\u{1F680}",name:"base256emoji",encode:Wl,decode:Jl});var lo={};ft(lo,{base64:()=>Ie,base64pad:()=>Ql,base64url:()=>tf,base64urlpad:()=>ef});var Ie=J({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ql=J({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tf=J({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ef=J({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fo={};ft(fo,{base8:()=>rf});var rf=J({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ho={};ft(ho,{identity:()=>nf});var nf=Ge({prefix:"\0",name:"identity",encode:r=>Vi(r),decode:r=>Di(r)});var P0=new TextEncoder,M0=new TextDecoder;var go={};ft(go,{sha256:()=>Xe,sha512:()=>af});function yo({name:r,code:t,encode:e}){return new po(r,t,e)}var po=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Tt(this.code,e):e.then(n=>Tt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function ea(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Xe=yo({name:"sha2-256",code:18,encode:ea("SHA-256")}),af=yo({name:"sha2-512",code:19,encode:ea("SHA-512")});var mo={...ho,...co,...fo,...io,...ao,...eo,...ro,...to,...lo,...uo},Q0={...go,...oo};function na(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var ra=na("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),bo=na("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=At(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),cf={utf8:ra,"utf-8":ra,hex:mo.base16,latin1:bo,ascii:bo,binary:bo,...mo},An=cf;function M(r,t="utf8"){let e=An[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function q(r,t="utf8"){let e=An[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var uf=parseInt("11111",2),wo=parseInt("10000000",2),lf=parseInt("01111111",2),sa={0:Dr,1:Dr,2:ff,3:pf,4:yf,5:df,6:hf,16:Dr,22:Dr,48:Dr};function Lt(r,t={offset:0}){let e=r[t.offset]&uf;if(t.offset++,sa[e]!=null)return sa[e](r,t);throw new Error("No decoder for tag "+e)}function Vr(r,t){let e=0;if((r[t.offset]&wo)===wo){let n=r[t.offset]&lf,s="0x";t.offset++;for(let o=0;o<n;o++,t.offset++)s+=r[t.offset].toString(16).padStart(2,"0");e=parseInt(s,16)}else e=r[t.offset],t.offset++;return e}function Dr(r,t){Vr(r,t);let e=[];for(;!(t.offset>=r.byteLength);){let n=Lt(r,t);if(n===null)break;e.push(n)}return e}function ff(r,t){let e=Vr(r,t),n=t.offset,s=t.offset+e,o=[];for(let i=n;i<s;i++)i===n&&r[i]===0||o.push(r[i]);return t.offset+=e,Uint8Array.from(o)}function hf(r,t){let e=Vr(r,t),n=t.offset+e,s=r[t.offset];t.offset++;let o=0,i=0;s<40?(o=0,i=s):s<80?(o=1,i=s-40):(o=2,i=s-80);let a=`${o}.${i}`,c=[];for(;t.offset<n;){let l=r[t.offset];if(t.offset++,c.push(l&127),l<128){c.reverse();let h=0;for(let u=0;u<c.length;u++)h+=c[u]<<u*7;a+=`.${h}`,c=[]}}return a}function df(r,t){return t.offset++,null}function pf(r,t){let e=Vr(r,t),n=r[t.offset];t.offset++;let s=r.subarray(t.offset,t.offset+e-1);if(t.offset+=e,n!==0)throw new Error("Unused bits in bit string is unimplemented");return s}function yf(r,t){let e=Vr(r,t),n=r.subarray(t.offset,t.offset+e);return t.offset+=e,n}function gf(r){let t=r.toString(16);t.length%2===1&&(t="0"+t);let e=new ht;for(let n=0;n<t.length;n+=2)e.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return e}function Sn(r){if(r.byteLength<128)return Uint8Array.from([r.byteLength]);let t=gf(r.byteLength);return new ht(Uint8Array.from([t.byteLength|wo]),t)}function dt(r){let t=new ht,e=128;return(r.subarray()[0]&e)===e&&t.append(Uint8Array.from([0])),t.append(r),new ht(Uint8Array.from([2]),Sn(t),t)}function Hr(r){let t=Uint8Array.from([0]),e=new ht(t,r);return new ht(Uint8Array.from([3]),Sn(e),e)}function oa(r){return new ht(Uint8Array.from([4]),Sn(r),r)}function Rt(r,t=48){let e=new ht;for(let n of r)e.append(n);return new ht(Uint8Array.from([t]),Sn(e),e)}var ia="1.2.840.10045.3.1.7",aa="1.3.132.0.34",ca="1.3.132.0.35";async function ua(r,t,e){let n=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["sign"]);e?.signal?.throwIfAborted();let s=await crypto.subtle.sign({name:"ECDSA",hash:{name:"SHA-256"}},n,t.subarray());return e?.signal?.throwIfAborted(),new Uint8Array(s,0,s.byteLength)}async function la(r,t,e,n){let s=await crypto.subtle.importKey("jwk",r,{name:"ECDSA",namedCurve:r.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let o=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},s,t,e.subarray());return n?.signal?.throwIfAborted(),o}var mf=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),bf=Uint8Array.from([6,5,43,129,4,0,34]),wf=Uint8Array.from([6,5,43,129,4,0,35]),xf={ext:!0,kty:"EC",crv:"P-256"},vf={ext:!0,kty:"EC",crv:"P-384"},Bf={ext:!0,kty:"EC",crv:"P-521"},xo=32,vo=48,Bo=66;function fa(r){let t=Lt(r);return Eo(t)}function Eo(r){let t=r[1],e=q(t,"base64url"),n=r[2][1][0],s=1,o,i;if(t.byteLength===xo)return o=q(n.subarray(s,s+xo),"base64url"),i=q(n.subarray(s+xo),"base64url"),new Qe({...xf,key_ops:["sign"],d:e,x:o,y:i});if(t.byteLength===vo)return o=q(n.subarray(s,s+vo),"base64url"),i=q(n.subarray(s+vo),"base64url"),new Qe({...vf,key_ops:["sign"],d:e,x:o,y:i});if(t.byteLength===Bo)return o=q(n.subarray(s,s+Bo),"base64url"),i=q(n.subarray(s+Bo),"base64url"),new Qe({...Bf,key_ops:["sign"],d:e,x:o,y:i});throw new L(`Private key length was wrong length, got ${t.byteLength}, expected 32, 48 or 66`)}function ha(r){return Rt([dt(Uint8Array.from([1])),oa(M(r.d??"","base64url")),Rt([pa(r.crv)],160),Rt([Hr(new ht(Uint8Array.from([4]),M(r.x??"","base64url"),M(r.y??"","base64url")))],161)]).subarray()}function da(r){return Rt([dt(Uint8Array.from([1])),Rt([pa(r.crv)],160),Rt([Hr(new ht(Uint8Array.from([4]),M(r.x??"","base64url"),M(r.y??"","base64url")))],161)]).subarray()}function pa(r){if(r==="P-256")return mf;if(r==="P-384")return bf;if(r==="P-521")return wf;throw new L(`Invalid curve ${r}`)}var kn=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=da(this.jwk)),this._raw}toMultihash(){return ke.digest(tr(this))}toCID(){return Ct.createV1(114,this.toMultihash())}toString(){return tt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}async verify(t,e,n){return la(this.jwk,e,t,n)}},Qe=class{type="ECDSA";jwk;publicKey;_raw;constructor(t){this.jwk=t,this.publicKey=new kn({crv:t.crv,ext:t.ext,key_ops:["verify"],kty:"EC",x:t.x,y:t.y})}get raw(){return this._raw==null&&(this._raw=ha(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}async sign(t,e){return ua(this.jwk,t,e)}};var Ce=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Zt(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Gt(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function pt(r,...t){if(!Zt(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error("Uint8Array expected of length "+t+", got length="+r.length)}function rr(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");Gt(r.outputLen),Gt(r.blockLen)}function nr(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function ga(r,t){pt(r);let e=t.outputLen;if(r.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}function vt(...r){for(let t=0;t<r.length;t++)r[t].fill(0)}function Ne(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Kt(r,t){return r<<32-t|r>>>t}function In(r,t){return r<<t|r>>>32-t>>>0}var ma=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Ef=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Nt(r){if(pt(r),ma)return r.toHex();let t="";for(let e=0;e<r.length;e++)t+=Ef[r[e]];return t}var $t={_0:48,_9:57,A:65,F:70,a:97,f:102};function ya(r){if(r>=$t._0&&r<=$t._9)return r-$t._0;if(r>=$t.A&&r<=$t.F)return r-($t.A-10);if(r>=$t.a&&r<=$t.f)return r-($t.a-10)}function Ue(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);if(ma)return Uint8Array.fromHex(r);let t=r.length,e=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,o=0;s<e;s++,o+=2){let i=ya(r.charCodeAt(o)),a=ya(r.charCodeAt(o+1));if(i===void 0||a===void 0){let c=r[o]+r[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[s]=i*16+a}return n}var Af=async()=>{};async function ba(r,t,e){let n=Date.now();for(let s=0;s<r;s++){e(s);let o=Date.now()-n;o>=0&&o<t||(await Af(),n+=o)}}function Cn(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}function Or(r){return typeof r=="string"&&(r=Cn(r)),pt(r),r}function Ao(r){return typeof r=="string"&&(r=Cn(r)),pt(r),r}function yt(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];pt(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let o=r[n];e.set(o,s),s+=o.length}return e}function wa(r,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("options should be object or undefined");return Object.assign(r,t)}var er=class{};function Pr(r){let t=n=>r().update(Or(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function he(r=32){if(Ce&&typeof Ce.getRandomValues=="function")return Ce.getRandomValues(new Uint8Array(r));if(Ce&&typeof Ce.randomBytes=="function")return Uint8Array.from(Ce.randomBytes(r));throw new Error("crypto.getRandomValues must be defined")}function Sf(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),o=BigInt(4294967295),i=Number(e>>s&o),a=Number(e&o),c=n?4:0,l=n?0:4;r.setUint32(t+c,i,n),r.setUint32(t+l,a,n)}function Nn(r,t,e){return r&t^~r&e}function Un(r,t,e){return r&t^r&e^t&e}var _e=class extends er{constructor(t,e,n,s){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.buffer=new Uint8Array(t),this.view=Ne(this.buffer)}update(t){nr(this),t=Or(t),pt(t);let{view:e,buffer:n,blockLen:s}=this,o=t.length;for(let i=0;i<o;){let a=Math.min(s-this.pos,o-i);if(a===s){let c=Ne(t);for(;s<=o-i;i+=s)this.process(c,i);continue}n.set(t.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){nr(this),ga(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:o}=this,{pos:i}=this;e[i++]=128,vt(this.buffer.subarray(i)),this.padOffset>s-i&&(this.process(n,0),i=0);for(let u=i;u<s;u++)e[u]=0;Sf(n,s-8,BigInt(this.length*8),o),this.process(n,0);let a=Ne(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,h=this.get();if(l>h.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,h[u],o)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:o,destroyed:i,pos:a}=this;return t.destroyed=i,t.finished=o,t.length=s,t.pos=a,s%e&&t.buffer.set(n),t}clone(){return this._cloneInto()}},zt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var ot=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var _n=BigInt(4294967295),xa=BigInt(32);function kf(r,t=!1){return t?{h:Number(r&_n),l:Number(r>>xa&_n)}:{h:Number(r>>xa&_n)|0,l:Number(r&_n)|0}}function va(r,t=!1){let e=r.length,n=new Uint32Array(e),s=new Uint32Array(e);for(let o=0;o<e;o++){let{h:i,l:a}=kf(r[o],t);[n[o],s[o]]=[i,a]}return[n,s]}var So=(r,t,e)=>r>>>e,ko=(r,t,e)=>r<<32-e|t>>>e,Te=(r,t,e)=>r>>>e|t<<32-e,Le=(r,t,e)=>r<<32-e|t>>>e,Mr=(r,t,e)=>r<<64-e|t>>>e-32,Fr=(r,t,e)=>r>>>e-32|t<<64-e;function Ht(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var Ba=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Ea=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Aa=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Sa=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,ka=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),Ia=(r,t,e,n,s,o)=>t+e+n+s+o+(r/2**32|0)|0;var Cf=Uint32Array.from([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]),de=new Uint32Array(64),Tn=class extends _e{constructor(t=32){super(64,t,8,!1),this.A=zt[0]|0,this.B=zt[1]|0,this.C=zt[2]|0,this.D=zt[3]|0,this.E=zt[4]|0,this.F=zt[5]|0,this.G=zt[6]|0,this.H=zt[7]|0}get(){let{A:t,B:e,C:n,D:s,E:o,F:i,G:a,H:c}=this;return[t,e,n,s,o,i,a,c]}set(t,e,n,s,o,i,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=o|0,this.F=i|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)de[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let f=de[u-15],d=de[u-2],p=Kt(f,7)^Kt(f,18)^f>>>3,w=Kt(d,17)^Kt(d,19)^d>>>10;de[u]=w+de[u-7]+p+de[u-16]|0}let{A:n,B:s,C:o,D:i,E:a,F:c,G:l,H:h}=this;for(let u=0;u<64;u++){let f=Kt(a,6)^Kt(a,11)^Kt(a,25),d=h+f+Nn(a,c,l)+Cf[u]+de[u]|0,w=(Kt(n,2)^Kt(n,13)^Kt(n,22))+Un(n,s,o)|0;h=l,l=c,c=a,a=i+d|0,i=o,o=s,s=n,n=d+w|0}n=n+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,h=h+this.H|0,this.set(n,s,o,i,a,c,l,h)}roundClean(){vt(de)}destroy(){this.set(0,0,0,0,0,0,0,0),vt(this.buffer)}};var Ca=va(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),Nf=Ca[0],Uf=Ca[1],pe=new Uint32Array(80),ye=new Uint32Array(80),Ln=class extends _e{constructor(t=64){super(128,t,16,!1),this.Ah=ot[0]|0,this.Al=ot[1]|0,this.Bh=ot[2]|0,this.Bl=ot[3]|0,this.Ch=ot[4]|0,this.Cl=ot[5]|0,this.Dh=ot[6]|0,this.Dl=ot[7]|0,this.Eh=ot[8]|0,this.El=ot[9]|0,this.Fh=ot[10]|0,this.Fl=ot[11]|0,this.Gh=ot[12]|0,this.Gl=ot[13]|0,this.Hh=ot[14]|0,this.Hl=ot[15]|0}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:o,Cl:i,Dh:a,Dl:c,Eh:l,El:h,Fh:u,Fl:f,Gh:d,Gl:p,Hh:w,Hl:B}=this;return[t,e,n,s,o,i,a,c,l,h,u,f,d,p,w,B]}set(t,e,n,s,o,i,a,c,l,h,u,f,d,p,w,B){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=o|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=h|0,this.Fh=u|0,this.Fl=f|0,this.Gh=d|0,this.Gl=p|0,this.Hh=w|0,this.Hl=B|0}process(t,e){for(let x=0;x<16;x++,e+=4)pe[x]=t.getUint32(e),ye[x]=t.getUint32(e+=4);for(let x=16;x<80;x++){let I=pe[x-15]|0,K=ye[x-15]|0,P=Te(I,K,1)^Te(I,K,8)^So(I,K,7),O=Le(I,K,1)^Le(I,K,8)^ko(I,K,7),D=pe[x-2]|0,v=ye[x-2]|0,U=Te(D,v,19)^Mr(D,v,61)^So(D,v,6),V=Le(D,v,19)^Fr(D,v,61)^ko(D,v,6),_=Aa(O,V,ye[x-7],ye[x-16]),b=Sa(_,P,U,pe[x-7],pe[x-16]);pe[x]=b|0,ye[x]=_|0}let{Ah:n,Al:s,Bh:o,Bl:i,Ch:a,Cl:c,Dh:l,Dl:h,Eh:u,El:f,Fh:d,Fl:p,Gh:w,Gl:B,Hh:y,Hl:A}=this;for(let x=0;x<80;x++){let I=Te(u,f,14)^Te(u,f,18)^Mr(u,f,41),K=Le(u,f,14)^Le(u,f,18)^Fr(u,f,41),P=u&d^~u&w,O=f&p^~f&B,D=ka(A,K,O,Uf[x],ye[x]),v=Ia(D,y,I,P,Nf[x],pe[x]),U=D|0,V=Te(n,s,28)^Mr(n,s,34)^Mr(n,s,39),_=Le(n,s,28)^Fr(n,s,34)^Fr(n,s,39),b=n&o^n&a^o&a,g=s&i^s&c^i&c;y=w|0,A=B|0,w=d|0,B=p|0,d=u|0,p=f|0,{h:u,l:f}=Ht(l|0,h|0,v|0,U|0),l=a|0,h=c|0,a=o|0,c=i|0,o=n|0,i=s|0;let m=Ba(U,_,g);n=Ea(m,v,V,b),s=m|0}({h:n,l:s}=Ht(this.Ah|0,this.Al|0,n|0,s|0)),{h:o,l:i}=Ht(this.Bh|0,this.Bl|0,o|0,i|0),{h:a,l:c}=Ht(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:h}=Ht(this.Dh|0,this.Dl|0,l|0,h|0),{h:u,l:f}=Ht(this.Eh|0,this.El|0,u|0,f|0),{h:d,l:p}=Ht(this.Fh|0,this.Fl|0,d|0,p|0),{h:w,l:B}=Ht(this.Gh|0,this.Gl|0,w|0,B|0),{h:y,l:A}=Ht(this.Hh|0,this.Hl|0,y|0,A|0),this.set(n,s,o,i,a,c,l,h,u,f,d,p,w,B,y,A)}roundClean(){vt(pe,ye)}destroy(){vt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Rn=Pr(()=>new Tn);var Kn=Pr(()=>new Ln);var No=BigInt(0),Co=BigInt(1);function Yt(r,t=""){if(typeof r!="boolean"){let e=t&&`"${t}"`;throw new Error(e+"expected boolean, got type="+typeof r)}return r}function St(r,t,e=""){let n=Zt(r),s=r?.length,o=t!==void 0;if(!n||o&&s!==t){let i=e&&`"${e}" `,a=o?` of length ${t}`:"",c=n?`length=${s}`:`type=${typeof r}`;throw new Error(i+"expected Uint8Array"+a+", got "+c)}return r}function qr(r){let t=r.toString(16);return t.length&1?"0"+t:t}function Na(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?No:BigInt("0x"+r)}function sr(r){return Na(Nt(r))}function Wt(r){return pt(r),Na(Nt(Uint8Array.from(r).reverse()))}function Dn(r,t){return Ue(r.toString(16).padStart(t*2,"0"))}function Uo(r,t){return Dn(r,t).reverse()}function $(r,t,e){let n;if(typeof t=="string")try{n=Ue(t)}catch(o){throw new Error(r+" must be hex string or Uint8Array, cause: "+o)}else if(Zt(t))n=Uint8Array.from(t);else throw new Error(r+" must be hex string or Uint8Array");let s=n.length;if(typeof e=="number"&&s!==e)throw new Error(r+" of length "+e+" expected, got "+s);return n}function Ua(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function _o(r){return Uint8Array.from(r)}var Io=r=>typeof r=="bigint"&&No<=r;function _a(r,t,e){return Io(r)&&Io(t)&&Io(e)&&t<=r&&r<e}function jr(r,t,e,n){if(!_a(t,e,n))throw new Error("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function Vn(r){let t;for(t=0;r>No;r>>=Co,t+=1);return t}var ge=r=>(Co<<BigInt(r))-Co;function Ta(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=d=>new Uint8Array(d),s=d=>Uint8Array.of(d),o=n(r),i=n(r),a=0,c=()=>{o.fill(1),i.fill(0),a=0},l=(...d)=>e(i,o,...d),h=(d=n(0))=>{i=l(s(0),d),o=l(),d.length!==0&&(i=l(s(1),d),o=l())},u=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let d=0,p=[];for(;d<t;){o=l();let w=o.slice();p.push(w),d+=o.length}return yt(...p)};return(d,p)=>{c(),h(d);let w;for(;!(w=p(u()));)h();return c(),w}}function me(r,t,e={}){if(!r||typeof r!="object")throw new Error("expected valid options object");function n(s,o,i){let a=r[s];if(i&&a===void 0)return;let c=typeof a;if(c!==o||a===null)throw new Error(`param "${s}" is invalid: expected ${o}, got ${c}`)}Object.entries(t).forEach(([s,o])=>n(s,o,!1)),Object.entries(e).forEach(([s,o])=>n(s,o,!0))}var To=()=>{throw new Error("not implemented")};function or(r){let t=new WeakMap;return(e,...n)=>{let s=t.get(e);if(s!==void 0)return s;let o=r(e,...n);return t.set(e,o),o}}var gt=BigInt(0),nt=BigInt(1),Re=BigInt(2),Ka=BigInt(3),Da=BigInt(4),Va=BigInt(5),_f=BigInt(7),Ha=BigInt(8),Tf=BigInt(9),Oa=BigInt(16);function X(r,t){let e=r%t;return e>=gt?e:t+e}function Z(r,t,e){let n=r;for(;t-- >gt;)n*=n,n%=e;return n}function La(r,t){if(r===gt)throw new Error("invert: expected non-zero number");if(t<=gt)throw new Error("invert: expected positive modulus, got "+t);let e=X(r,t),n=t,s=gt,o=nt,i=nt,a=gt;for(;e!==gt;){let l=n/e,h=n%e,u=s-i*l,f=o-a*l;n=e,e=h,s=i,o=a,i=u,a=f}if(n!==nt)throw new Error("invert: does not exist");return X(s,t)}function Lo(r,t,e){if(!r.eql(r.sqr(t),e))throw new Error("Cannot find square root")}function Pa(r,t){let e=(r.ORDER+nt)/Da,n=r.pow(t,e);return Lo(r,n,t),n}function Lf(r,t){let e=(r.ORDER-Va)/Ha,n=r.mul(t,Re),s=r.pow(n,e),o=r.mul(t,s),i=r.mul(r.mul(o,Re),s),a=r.mul(o,r.sub(i,r.ONE));return Lo(r,a,t),a}function Rf(r){let t=kt(r),e=Ma(r),n=e(t,t.neg(t.ONE)),s=e(t,n),o=e(t,t.neg(n)),i=(r+_f)/Oa;return(a,c)=>{let l=a.pow(c,i),h=a.mul(l,n),u=a.mul(l,s),f=a.mul(l,o),d=a.eql(a.sqr(h),c),p=a.eql(a.sqr(u),c);l=a.cmov(l,h,d),h=a.cmov(f,u,p);let w=a.eql(a.sqr(h),c),B=a.cmov(l,h,w);return Lo(a,B,c),B}}function Ma(r){if(r<Ka)throw new Error("sqrt is not defined for small field");let t=r-nt,e=0;for(;t%Re===gt;)t/=Re,e++;let n=Re,s=kt(r);for(;Ra(s,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(e===1)return Pa;let o=s.pow(n,t),i=(t+nt)/Re;return function(c,l){if(c.is0(l))return l;if(Ra(c,l)!==1)throw new Error("Cannot find square root");let h=e,u=c.mul(c.ONE,o),f=c.pow(l,t),d=c.pow(l,i);for(;!c.eql(f,c.ONE);){if(c.is0(f))return c.ZERO;let p=1,w=c.sqr(f);for(;!c.eql(w,c.ONE);)if(p++,w=c.sqr(w),p===h)throw new Error("Cannot find square root");let B=nt<<BigInt(h-p-1),y=c.pow(u,B);h=p,u=c.sqr(y),f=c.mul(f,u),d=c.mul(d,y)}return d}}function Kf(r){return r%Da===Ka?Pa:r%Ha===Va?Lf:r%Oa===Tf?Rf(r):Ma(r)}var Jt=(r,t)=>(X(r,t)&nt)===nt,Df=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ro(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},e=Df.reduce((n,s)=>(n[s]="function",n),t);return me(r,e),r}function Vf(r,t,e){if(e<gt)throw new Error("invalid exponent, negatives unsupported");if(e===gt)return r.ONE;if(e===nt)return t;let n=r.ONE,s=t;for(;e>gt;)e&nt&&(n=r.mul(n,s)),s=r.sqr(s),e>>=nt;return n}function $r(r,t,e=!1){let n=new Array(t.length).fill(e?r.ZERO:void 0),s=t.reduce((i,a,c)=>r.is0(a)?i:(n[c]=i,r.mul(i,a)),r.ONE),o=r.inv(s);return t.reduceRight((i,a,c)=>r.is0(a)?i:(n[c]=r.mul(i,n[c]),r.mul(i,a)),o),n}function Ra(r,t){let e=(r.ORDER-nt)/Re,n=r.pow(t,e),s=r.eql(n,r.ONE),o=r.eql(n,r.ZERO),i=r.eql(n,r.neg(r.ONE));if(!s&&!o&&!i)throw new Error("invalid Legendre symbol result");return s?1:o?0:-1}function Hn(r,t){t!==void 0&&Gt(t);let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function kt(r,t,e=!1,n={}){if(r<=gt)throw new Error("invalid field: expected ORDER > 0, got "+r);let s,o,i=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||e)throw new Error("cannot specify opts in two arguments");let f=t;f.BITS&&(s=f.BITS),f.sqrt&&(o=f.sqrt),typeof f.isLE=="boolean"&&(e=f.isLE),typeof f.modFromBytes=="boolean"&&(i=f.modFromBytes),a=f.allowedLengths}else typeof t=="number"&&(s=t),n.sqrt&&(o=n.sqrt);let{nBitLength:c,nByteLength:l}=Hn(r,s);if(l>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let h,u=Object.freeze({ORDER:r,isLE:e,BITS:c,BYTES:l,MASK:ge(c),ZERO:gt,ONE:nt,allowedLengths:a,create:f=>X(f,r),isValid:f=>{if(typeof f!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof f);return gt<=f&&f<r},is0:f=>f===gt,isValidNot0:f=>!u.is0(f)&&u.isValid(f),isOdd:f=>(f&nt)===nt,neg:f=>X(-f,r),eql:(f,d)=>f===d,sqr:f=>X(f*f,r),add:(f,d)=>X(f+d,r),sub:(f,d)=>X(f-d,r),mul:(f,d)=>X(f*d,r),pow:(f,d)=>Vf(u,f,d),div:(f,d)=>X(f*La(d,r),r),sqrN:f=>f*f,addN:(f,d)=>f+d,subN:(f,d)=>f-d,mulN:(f,d)=>f*d,inv:f=>La(f,r),sqrt:o||(f=>(h||(h=Kf(r)),h(u,f))),toBytes:f=>e?Uo(f,l):Dn(f,l),fromBytes:(f,d=!0)=>{if(a){if(!a.includes(f.length)||f.length>l)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+f.length);let w=new Uint8Array(l);w.set(f,e?0:w.length-f.length),f=w}if(f.length!==l)throw new Error("Field.fromBytes: expected "+l+" bytes, got "+f.length);let p=e?Wt(f):sr(f);if(i&&(p=X(p,r)),!d&&!u.isValid(p))throw new Error("invalid field element: outside of range 0..ORDER");return p},invertBatch:f=>$r(u,f),cmov:(f,d,p)=>p?d:f});return Object.freeze(u)}function Fa(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Ko(r){let t=Fa(r);return t+Math.ceil(t/2)}function Do(r,t,e=!1){let n=r.length,s=Fa(t),o=Ko(t);if(n<16||n<o||n>1024)throw new Error("expected "+o+"-1024 bytes of input, got "+n);let i=e?Wt(r):sr(r),a=X(i,t-nt)+nt;return e?Uo(a,s):Dn(a,s)}var ir=BigInt(0),Ke=BigInt(1);function Gr(r,t){let e=t.negate();return r?e:t}function Xt(r,t){let e=$r(r.Fp,t.map(n=>n.Z));return t.map((n,s)=>r.fromAffine(n.toAffine(e[s])))}function Ga(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function Vo(r,t){Ga(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1),s=2**r,o=ge(r),i=BigInt(r);return{windows:e,windowSize:n,mask:o,maxNumber:s,shiftBy:i}}function qa(r,t,e){let{windowSize:n,mask:s,maxNumber:o,shiftBy:i}=e,a=Number(r&s),c=r>>i;a>n&&(a-=o,c+=Ke);let l=t*n,h=l+Math.abs(a)-1,u=a===0,f=a<0,d=t%2!==0;return{nextN:c,offset:h,isZero:u,isNeg:f,isNegF:d,offsetF:l}}function Hf(r,t){if(!Array.isArray(r))throw new Error("array expected");r.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}function Of(r,t){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}var Ho=new WeakMap,Za=new WeakMap;function Oo(r){return Za.get(r)||1}function ja(r){if(r!==ir)throw new Error("invalid wNAF")}var ar=class{constructor(t,e){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=e}_unsafeLadder(t,e,n=this.ZERO){let s=t;for(;e>ir;)e&Ke&&(n=n.add(s)),s=s.double(),e>>=Ke;return n}precomputeWindow(t,e){let{windows:n,windowSize:s}=Vo(e,this.bits),o=[],i=t,a=i;for(let c=0;c<n;c++){a=i,o.push(a);for(let l=1;l<s;l++)a=a.add(i),o.push(a);i=a.double()}return o}wNAF(t,e,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let s=this.ZERO,o=this.BASE,i=Vo(t,this.bits);for(let a=0;a<i.windows;a++){let{nextN:c,offset:l,isZero:h,isNeg:u,isNegF:f,offsetF:d}=qa(n,a,i);n=c,h?o=o.add(Gr(f,e[d])):s=s.add(Gr(u,e[l]))}return ja(n),{p:s,f:o}}wNAFUnsafe(t,e,n,s=this.ZERO){let o=Vo(t,this.bits);for(let i=0;i<o.windows&&n!==ir;i++){let{nextN:a,offset:c,isZero:l,isNeg:h}=qa(n,i,o);if(n=a,!l){let u=e[c];s=s.add(h?u.negate():u)}}return ja(n),s}getPrecomputes(t,e,n){let s=Ho.get(e);return s||(s=this.precomputeWindow(e,t),t!==1&&(typeof n=="function"&&(s=n(s)),Ho.set(e,s))),s}cached(t,e,n){let s=Oo(t);return this.wNAF(s,this.getPrecomputes(s,t,n),e)}unsafe(t,e,n,s){let o=Oo(t);return o===1?this._unsafeLadder(t,e,s):this.wNAFUnsafe(o,this.getPrecomputes(o,t,n),e,s)}createCache(t,e){Ga(e,this.bits),Za.set(t,e),Ho.delete(t)}hasCache(t){return Oo(t)!==1}};function za(r,t,e,n){let s=t,o=r.ZERO,i=r.ZERO;for(;e>ir||n>ir;)e&Ke&&(o=o.add(s)),n&Ke&&(i=i.add(s)),s=s.double(),e>>=Ke,n>>=Ke;return{p1:o,p2:i}}function cr(r,t,e,n){Hf(e,r),Of(n,t);let s=e.length,o=n.length;if(s!==o)throw new Error("arrays of points and scalars must have equal length");let i=r.ZERO,a=Vn(BigInt(s)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let l=ge(c),h=new Array(Number(l)+1).fill(i),u=Math.floor((t.BITS-1)/c)*c,f=i;for(let d=u;d>=0;d-=c){h.fill(i);for(let w=0;w<o;w++){let B=n[w],y=Number(B>>BigInt(d)&l);h[y]=h[y].add(e[w])}let p=i;for(let w=h.length-1,B=i;w>0;w--)B=B.add(h[w]),p=p.add(B);if(f=f.add(p),d!==0)for(let w=0;w<c;w++)f=f.double()}return f}function $a(r,t,e){if(t){if(t.ORDER!==r)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Ro(t),t}else return kt(r,{isLE:e})}function On(r,t,e={},n){if(n===void 0&&(n=r==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${r} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l=="bigint"&&l>ir))throw new Error(`CURVE.${c} must be positive bigint`)}let s=$a(t.p,e.Fp,n),o=$a(t.n,e.Fn,n),a=["Gx","Gy","a",r==="weierstrass"?"b":"d"];for(let c of a)if(!s.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:s,Fn:o}}var be=BigInt(0),st=BigInt(1),Po=BigInt(2),Pf=BigInt(8);function Mf(r,t,e,n){let s=r.sqr(e),o=r.sqr(n),i=r.add(r.mul(t.a,s),o),a=r.add(r.ONE,r.mul(t.d,r.mul(s,o)));return r.eql(i,a)}function Ff(r,t={}){let e=On("edwards",r,t,t.FpFnLE),{Fp:n,Fn:s}=e,o=e.CURVE,{h:i}=o;me(t,{},{uvRatio:"function"});let a=Po<<BigInt(s.BYTES*8)-st,c=B=>n.create(B),l=t.uvRatio||((B,y)=>{try{return{isValid:!0,value:n.sqrt(n.div(B,y))}}catch{return{isValid:!1,value:be}}});if(!Mf(n,o,o.Gx,o.Gy))throw new Error("bad curve params: generator point");function h(B,y,A=!1){let x=A?st:be;return jr("coordinate "+B,y,x,a),y}function u(B){if(!(B instanceof p))throw new Error("ExtendedPoint expected")}let f=or((B,y)=>{let{X:A,Y:x,Z:I}=B,K=B.is0();y==null&&(y=K?Pf:n.inv(I));let P=c(A*y),O=c(x*y),D=n.mul(I,y);if(K)return{x:be,y:st};if(D!==st)throw new Error("invZ was invalid");return{x:P,y:O}}),d=or(B=>{let{a:y,d:A}=o;if(B.is0())throw new Error("bad point: ZERO");let{X:x,Y:I,Z:K,T:P}=B,O=c(x*x),D=c(I*I),v=c(K*K),U=c(v*v),V=c(O*y),_=c(v*c(V+D)),b=c(U+c(A*c(O*D)));if(_!==b)throw new Error("bad point: equation left != right (1)");let g=c(x*I),m=c(K*P);if(g!==m)throw new Error("bad point: equation left != right (2)");return!0});class p{constructor(y,A,x,I){this.X=h("x",y),this.Y=h("y",A),this.Z=h("z",x,!0),this.T=h("t",I),Object.freeze(this)}static CURVE(){return o}static fromAffine(y){if(y instanceof p)throw new Error("extended point not allowed");let{x:A,y:x}=y||{};return h("x",A),h("y",x),new p(A,x,st,c(A*x))}static fromBytes(y,A=!1){let x=n.BYTES,{a:I,d:K}=o;y=_o(St(y,x,"point")),Yt(A,"zip215");let P=_o(y),O=y[x-1];P[x-1]=O&-129;let D=Wt(P),v=A?a:n.ORDER;jr("point.y",D,be,v);let U=c(D*D),V=c(U-st),_=c(K*U-I),{isValid:b,value:g}=l(V,_);if(!b)throw new Error("bad point: invalid y coordinate");let m=(g&st)===st,E=(O&128)!==0;if(!A&&g===be&&E)throw new Error("bad point: x=0 and x_0=1");return E!==m&&(g=c(-g)),p.fromAffine({x:g,y:D})}static fromHex(y,A=!1){return p.fromBytes($("point",y),A)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(y=8,A=!0){return w.createCache(this,y),A||this.multiply(Po),this}assertValidity(){d(this)}equals(y){u(y);let{X:A,Y:x,Z:I}=this,{X:K,Y:P,Z:O}=y,D=c(A*O),v=c(K*I),U=c(x*O),V=c(P*I);return D===v&&U===V}is0(){return this.equals(p.ZERO)}negate(){return new p(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:y}=o,{X:A,Y:x,Z:I}=this,K=c(A*A),P=c(x*x),O=c(Po*c(I*I)),D=c(y*K),v=A+x,U=c(c(v*v)-K-P),V=D+P,_=V-O,b=D-P,g=c(U*_),m=c(V*b),E=c(U*b),k=c(_*V);return new p(g,m,k,E)}add(y){u(y);let{a:A,d:x}=o,{X:I,Y:K,Z:P,T:O}=this,{X:D,Y:v,Z:U,T:V}=y,_=c(I*D),b=c(K*v),g=c(O*x*V),m=c(P*U),E=c((I+K)*(D+v)-_-b),k=m-g,T=m+g,C=c(b-A*_),N=c(E*k),R=c(T*C),H=c(E*C),z=c(k*T);return new p(N,R,z,H)}subtract(y){return this.add(y.negate())}multiply(y){if(!s.isValidNot0(y))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:A,f:x}=w.cached(this,y,I=>Xt(p,I));return Xt(p,[A,x])[0]}multiplyUnsafe(y,A=p.ZERO){if(!s.isValid(y))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return y===be?p.ZERO:this.is0()||y===st?this:w.unsafe(this,y,x=>Xt(p,x),A)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}isTorsionFree(){return w.unsafe(this,o.n).is0()}toAffine(y){return f(this,y)}clearCofactor(){return i===st?this:this.multiplyUnsafe(i)}toBytes(){let{x:y,y:A}=this.toAffine(),x=n.toBytes(A);return x[x.length-1]|=y&st?128:0,x}toHex(){return Nt(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(y){return Xt(p,y)}static msm(y,A){return cr(p,s,y,A)}_setWindowSize(y){this.precompute(y)}toRawBytes(){return this.toBytes()}}p.BASE=new p(o.Gx,o.Gy,st,c(o.Gx*o.Gy)),p.ZERO=new p(be,st,st,be),p.Fp=n,p.Fn=s;let w=new ar(p,s.BITS);return p.BASE.precompute(8),p}var Pn=class{constructor(t){this.ep=t}static fromBytes(t){To()}static fromHex(t){To()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return Nt(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,e){return this.init(this.ep.precompute(t,e))}toRawBytes(){return this.toBytes()}};function qf(r,t,e={}){if(typeof t!="function")throw new Error('"hash" function param is required');me(e,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=e,{BASE:s,Fp:o,Fn:i}=r,a=e.randomBytes||he,c=e.adjustScalarBytes||(v=>v),l=e.domain||((v,U,V)=>{if(Yt(V,"phflag"),U.length||V)throw new Error("Contexts/pre-hash are not supported");return v});function h(v){return i.create(Wt(v))}function u(v){let U=x.secretKey;v=$("private key",v,U);let V=$("hashed private key",t(v),2*U),_=c(V.slice(0,U)),b=V.slice(U,2*U),g=h(_);return{head:_,prefix:b,scalar:g}}function f(v){let{head:U,prefix:V,scalar:_}=u(v),b=s.multiply(_),g=b.toBytes();return{head:U,prefix:V,scalar:_,point:b,pointBytes:g}}function d(v){return f(v).pointBytes}function p(v=Uint8Array.of(),...U){let V=yt(...U);return h(t(l(V,$("context",v),!!n)))}function w(v,U,V={}){v=$("message",v),n&&(v=n(v));let{prefix:_,scalar:b,pointBytes:g}=f(U),m=p(V.context,_,v),E=s.multiply(m).toBytes(),k=p(V.context,E,g,v),T=i.create(m+k*b);if(!i.isValid(T))throw new Error("sign failed: invalid s");let C=yt(E,i.toBytes(T));return St(C,x.signature,"result")}let B={zip215:!0};function y(v,U,V,_=B){let{context:b,zip215:g}=_,m=x.signature;v=$("signature",v,m),U=$("message",U),V=$("publicKey",V,x.publicKey),g!==void 0&&Yt(g,"zip215"),n&&(U=n(U));let E=m/2,k=v.subarray(0,E),T=Wt(v.subarray(E,m)),C,N,R;try{C=r.fromBytes(V,g),N=r.fromBytes(k,g),R=s.multiplyUnsafe(T)}catch{return!1}if(!g&&C.isSmallOrder())return!1;let H=p(b,N.toBytes(),C.toBytes(),U);return N.add(C.multiplyUnsafe(H)).subtract(R).clearCofactor().is0()}let A=o.BYTES,x={secretKey:A,publicKey:A,signature:2*A,seed:A};function I(v=a(x.seed)){return St(v,x.seed,"seed")}function K(v){let U=D.randomSecretKey(v);return{secretKey:U,publicKey:d(U)}}function P(v){return Zt(v)&&v.length===i.BYTES}function O(v,U){try{return!!r.fromBytes(v,U)}catch{return!1}}let D={getExtendedPublicKey:f,randomSecretKey:I,isValidSecretKey:P,isValidPublicKey:O,toMontgomery(v){let{y:U}=r.fromBytes(v),V=x.publicKey,_=V===32;if(!_&&V!==57)throw new Error("only defined for 25519 and 448");let b=_?o.div(st+U,st-U):o.div(U-st,U+st);return o.toBytes(b)},toMontgomeryPriv(v){let U=x.secretKey;St(v,U);let V=t(v.subarray(0,U));return c(V).subarray(0,U)},randomPrivateKey:I,precompute(v=8,U=r.BASE){return U.precompute(v,!1)}};return Object.freeze({keygen:K,getPublicKey:d,sign:w,verify:y,utils:D,Point:r,lengths:x})}function jf(r){let t={a:r.a,d:r.d,p:r.Fp.ORDER,n:r.n,h:r.h,Gx:r.Gx,Gy:r.Gy},e=r.Fp,n=kt(t.n,r.nBitLength,!0),s={Fp:e,Fn:n,uvRatio:r.uvRatio},o={randomBytes:r.randomBytes,adjustScalarBytes:r.adjustScalarBytes,domain:r.domain,prehash:r.prehash,mapToCurve:r.mapToCurve};return{CURVE:t,curveOpts:s,hash:r.hash,eddsaOpts:o}}function $f(r,t){let e=t.Point;return Object.assign({},t,{ExtendedPoint:e,CURVE:r,nBitLength:e.Fn.BITS,nByteLength:e.Fn.BYTES})}function Ya(r){let{CURVE:t,curveOpts:e,hash:n,eddsaOpts:s}=jf(r),o=Ff(t,e),i=qf(o,n,s);return $f(r,i)}var Gf=BigInt(0),Qt=BigInt(1),Wa=BigInt(2),ny=BigInt(3),Zf=BigInt(5),zf=BigInt(8),ur=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Zr={p:ur,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:zf,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Yf(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),s=BigInt(80),o=ur,a=r*r%o*r%o,c=Z(a,Wa,o)*a%o,l=Z(c,Qt,o)*r%o,h=Z(l,Zf,o)*l%o,u=Z(h,t,o)*h%o,f=Z(u,e,o)*u%o,d=Z(f,n,o)*f%o,p=Z(d,s,o)*d%o,w=Z(p,s,o)*d%o,B=Z(w,t,o)*h%o;return{pow_p_5_8:Z(B,Wa,o)*r%o,b2:a}}function Wf(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}var Mo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function jo(r,t){let e=ur,n=X(t*t*t,e),s=X(n*n*t,e),o=Yf(r*s).pow_p_5_8,i=X(r*n*o,e),a=X(t*i*i,e),c=i,l=X(i*Mo,e),h=a===r,u=a===X(-r,e),f=a===X(-r*Mo,e);return h&&(i=c),(u||f)&&(i=l),Jt(i,e)&&(i=X(-i,e)),{isValid:h||u,value:i}}var we=kt(Zr.p,{isLE:!0}),Jf=kt(Zr.n,{isLE:!0}),Xf={...Zr,Fp:we,hash:Kn,adjustScalarBytes:Wf,uvRatio:jo},Ot=Ya(Xf);var Fo=Mo,Qf=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),th=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),eh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),rh=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Ja=r=>jo(Qt,r),nh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),qo=r=>Ot.Point.Fp.create(Wt(r)&nh);function Xa(r){let{d:t}=Zr,e=ur,n=y=>we.create(y),s=n(Fo*r*r),o=n((s+Qt)*eh),i=BigInt(-1),a=n((i-t*s)*n(s+t)),{isValid:c,value:l}=jo(o,a),h=n(l*r);Jt(h,e)||(h=n(-h)),c||(l=h),c||(i=s);let u=n(i*(s-Qt)*rh-a),f=l*l,d=n((l+l)*a),p=n(u*Qf),w=n(Qt-f),B=n(Qt+f);return new Ot.Point(n(d*B),n(w*p),n(p*B),n(d*w))}function sh(r){pt(r,64);let t=qo(r.subarray(0,32)),e=Xa(t),n=qo(r.subarray(32,64)),s=Xa(n);return new te(e.add(s))}var te=class r extends Pn{constructor(t){super(t)}static fromAffine(t){return new r(Ot.Point.fromAffine(t))}assertSame(t){if(!(t instanceof r))throw new Error("RistrettoPoint expected")}init(t){return new r(t)}static hashToCurve(t){return sh($("ristrettoHash",t,64))}static fromBytes(t){pt(t,32);let{a:e,d:n}=Zr,s=ur,o=I=>we.create(I),i=qo(t);if(!Ua(we.toBytes(i),t)||Jt(i,s))throw new Error("invalid ristretto255 encoding 1");let a=o(i*i),c=o(Qt+e*a),l=o(Qt-e*a),h=o(c*c),u=o(l*l),f=o(e*n*h-u),{isValid:d,value:p}=Ja(o(f*u)),w=o(p*l),B=o(p*w*f),y=o((i+i)*w);Jt(y,s)&&(y=o(-y));let A=o(c*B),x=o(y*A);if(!d||Jt(x,s)||A===Gf)throw new Error("invalid ristretto255 encoding 2");return new r(new Ot.Point(y,A,Qt,x))}static fromHex(t){return r.fromBytes($("ristrettoHex",t,32))}static msm(t,e){return cr(r,Ot.Point.Fn,t,e)}toBytes(){let{X:t,Y:e,Z:n,T:s}=this.ep,o=ur,i=B=>we.create(B),a=i(i(n+e)*i(n-e)),c=i(t*e),l=i(c*c),{value:h}=Ja(i(a*l)),u=i(h*a),f=i(h*c),d=i(u*f*s),p;if(Jt(s*d,o)){let B=i(e*Fo),y=i(t*Fo);t=B,e=y,p=i(u*th)}else p=f;Jt(t*d,o)&&(e=i(-e));let w=i((n-e)*p);return Jt(w,o)&&(w=i(-w)),we.toBytes(w)}equals(t){this.assertSame(t);let{X:e,Y:n}=this.ep,{X:s,Y:o}=t.ep,i=l=>we.create(l),a=i(e*o)===i(n*s),c=i(n*o)===i(e*s);return a||c}is0(){return this.equals(r.ZERO)}};te.BASE=new te(Ot.Point.BASE);te.ZERO=new te(Ot.Point.ZERO);te.Fp=we;te.Fn=Jf;var fr=32,Ut=64,oh=32;var lr,Qa=(async()=>{try{return await Q.get().subtle.generateKey({name:"Ed25519"},!0,["sign","verify"]),!0}catch{return!1}})();async function ih(r,t){let e;r.length===Ut?e=r.subarray(0,32):e=r;let n={crv:"Ed25519",kty:"OKP",x:q(r.subarray(32),"base64url"),d:q(e,"base64url"),ext:!0,key_ops:["sign"]},s=await Q.get().subtle.importKey("jwk",n,{name:"Ed25519"},!0,["sign"]),o=await Q.get().subtle.sign({name:"Ed25519"},s,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(o,0,o.byteLength)}function ah(r,t){let e=r.subarray(0,oh);return Ot.sign(t instanceof Uint8Array?t:t.subarray(),e)}async function tc(r,t){return lr==null&&(lr=await Qa),lr?ih(r,t):ah(r,t)}async function ch(r,t,e){if(r.buffer instanceof ArrayBuffer){let n=await Q.get().subtle.importKey("raw",r.buffer,{name:"Ed25519"},!1,["verify"]);return await Q.get().subtle.verify({name:"Ed25519"},n,t,e instanceof Uint8Array?e:e.subarray())}throw new TypeError("WebCrypto does not support SharedArrayBuffer for Ed25519 keys")}function uh(r,t,e){return Ot.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}async function ec(r,t,e){return lr==null&&(lr=await Qa),lr?ch(r,t,e):uh(r,t,e)}function hr(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}var Mn=class{type="Ed25519";raw;constructor(t){this.raw=Yr(t,fr)}toMultihash(){return ke.digest(tr(this))}toCID(){return Ct.createV1(114,this.toMultihash())}toString(){return tt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}verify(t,e,n){n?.signal?.throwIfAborted();let s=ec(this.raw,e,t);return hr(s)?s.then(o=>(n?.signal?.throwIfAborted(),o)):s}},zr=class{type="Ed25519";raw;publicKey;constructor(t,e){this.raw=Yr(t,Ut),this.publicKey=new Mn(e)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}sign(t,e){e?.signal?.throwIfAborted();let n=tc(this.raw,t);return hr(n)?n.then(s=>(e?.signal?.throwIfAborted(),s)):(e?.signal?.throwIfAborted(),n)}};function $o(r){if(r.length>Ut){r=Yr(r,Ut+fr);let n=r.subarray(0,Ut),s=r.subarray(Ut,r.length);return new zr(n,s)}r=Yr(r,Ut);let t=r.subarray(0,Ut),e=r.subarray(fr);return new zr(t,e)}function Yr(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new L(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var lh=Math.pow(2,7),fh=Math.pow(2,14),hh=Math.pow(2,21),nc=Math.pow(2,28),sc=Math.pow(2,35),oc=Math.pow(2,42),ic=Math.pow(2,49),mt=128,xe=127;function Wr(r){if(r<lh)return 1;if(r<fh)return 2;if(r<hh)return 3;if(r<nc)return 4;if(r<sc)return 5;if(r<oc)return 6;if(r<ic)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function ac(r,t,e=0){switch(Wr(r)){case 8:t[e++]=r&255|mt,r/=128;case 7:t[e++]=r&255|mt,r/=128;case 6:t[e++]=r&255|mt,r/=128;case 5:t[e++]=r&255|mt,r/=128;case 4:t[e++]=r&255|mt,r>>>=7;case 3:t[e++]=r&255|mt,r>>>=7;case 2:t[e++]=r&255|mt,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function cc(r,t){let e=r[t],n=0;if(n+=e&xe,e<mt||(e=r[t+1],n+=(e&xe)<<7,e<mt)||(e=r[t+2],n+=(e&xe)<<14,e<mt)||(e=r[t+3],n+=(e&xe)<<21,e<mt)||(e=r[t+4],n+=(e&xe)*nc,e<mt)||(e=r[t+5],n+=(e&xe)*sc,e<mt)||(e=r[t+6],n+=(e&xe)*oc,e<mt)||(e=r[t+7],n+=(e&xe)*ic,e<mt))return n;throw new RangeError("Could not decode varint")}var Go=new Float32Array([-0]),ve=new Uint8Array(Go.buffer);function uc(r,t,e){Go[0]=r,t[e]=ve[0],t[e+1]=ve[1],t[e+2]=ve[2],t[e+3]=ve[3]}function lc(r,t){return ve[0]=r[t],ve[1]=r[t+1],ve[2]=r[t+2],ve[3]=r[t+3],Go[0]}var Zo=new Float64Array([-0]),ut=new Uint8Array(Zo.buffer);function fc(r,t,e){Zo[0]=r,t[e]=ut[0],t[e+1]=ut[1],t[e+2]=ut[2],t[e+3]=ut[3],t[e+4]=ut[4],t[e+5]=ut[5],t[e+6]=ut[6],t[e+7]=ut[7]}function hc(r,t){return ut[0]=r[t],ut[1]=r[t+1],ut[2]=r[t+2],ut[3]=r[t+3],ut[4]=r[t+4],ut[5]=r[t+5],ut[6]=r[t+6],ut[7]=r[t+7],Zo[0]}var dh=BigInt(Number.MAX_SAFE_INTEGER),ph=BigInt(Number.MIN_SAFE_INTEGER),It=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return De;if(t<dh&&t>ph)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,s=t-(n<<32n);return e&&(n=~n|0n,s=~s|0n,++s>dc&&(s=0n,++n>dc&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return De;let e=t<0;e&&(t=-t);let n=t>>>0,s=(t-n)/4294967296>>>0;return e&&(s=~s>>>0,n=~n>>>0,++n>4294967295&&(n=0,++s>4294967295&&(s=0))),new r(n,s)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):De}},De=new It(0,0);De.toBigInt=function(){return 0n};De.zzEncode=De.zzDecode=function(){return this};De.length=function(){return 1};var dc=4294967296n;function pc(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function yc(r,t,e){if(e-t<1)return"";let s,o=[],i=0,a;for(;t<e;)a=r[t++],a<128?o[i++]=a:a>191&&a<224?o[i++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,o[i++]=55296+(a>>10),o[i++]=56320+(a&1023)):o[i++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,i>8191&&((s??(s=[])).push(String.fromCharCode.apply(String,o)),i=0);return s!=null?(i>0&&s.push(String.fromCharCode.apply(String,o.slice(0,i))),s.join("")):String.fromCharCode.apply(String,o.slice(0,i))}function zo(r,t,e){let n=e,s,o;for(let i=0;i<r.length;++i)s=r.charCodeAt(i),s<128?t[e++]=s:s<2048?(t[e++]=s>>6|192,t[e++]=s&63|128):(s&64512)===55296&&((o=r.charCodeAt(i+1))&64512)===56320?(s=65536+((s&1023)<<10)+(o&1023),++i,t[e++]=s>>18|240,t[e++]=s>>12&63|128,t[e++]=s>>6&63|128,t[e++]=s&63|128):(t[e++]=s>>12|224,t[e++]=s>>6&63|128,t[e++]=s&63|128);return e-n}function Dt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Fn(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Yo=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Dt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Dt(this,4);return Fn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Dt(this,4);return Fn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Dt(this,4);let t=lc(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Dt(this,4);let t=hc(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Dt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return yc(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Dt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Dt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new It(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Dt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Dt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Dt(this,8);let t=Fn(this.buf,this.pos+=4),e=Fn(this.buf,this.pos+=4);return new It(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=cc(this.buf,this.pos);return this.pos+=Wr(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Wo(r){return new Yo(r instanceof Uint8Array?r:r.subarray())}function qn(r,t,e){let n=Wo(r);return t.decode(n,void 0,e)}function Jo(r){let t=r??8192,e=t>>>1,n,s=t;return function(i){if(i<1||i>e)return At(i);s+i>t&&(n=At(t),s=0);let a=n.subarray(s,s+=i);return(s&7)!==0&&(s=(s|7)+1),a}}var Ve=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Xo(){}var ti=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},yh=Jo();function gh(r){return globalThis.Buffer!=null?At(r):yh(r)}var Xr=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ve(Xo,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new Ve(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ei((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(jn,10,It.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=It.fromBigInt(t);return this._push(jn,e.length(),e)}uint64Number(t){return this._push(ac,Wr(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=It.fromBigInt(t).zzEncode();return this._push(jn,e.length(),e)}sint64Number(t){let e=It.fromNumber(t).zzEncode();return this._push(jn,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Qo,1,t?1:0)}fixed32(t){return this._push(Jr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=It.fromBigInt(t);return this._push(Jr,4,e.lo)._push(Jr,4,e.hi)}fixed64Number(t){let e=It.fromNumber(t);return this._push(Jr,4,e.lo)._push(Jr,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(uc,4,t)}double(t){return this._push(fc,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Qo,1,0):this.uint32(e)._push(bh,e,t)}string(t){let e=pc(t);return e!==0?this.uint32(e)._push(zo,e,t):this._push(Qo,1,0)}fork(){return this.states=new ti(this),this.head=this.tail=new Ve(Xo,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Ve(Xo,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=gh(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Qo(r,t,e){t[e]=r&255}function mh(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var ei=class extends Ve{next;constructor(t,e){super(mh,t,e),this.next=void 0}};function jn(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Jr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function bh(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Xr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(wh,t,r),this},Xr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(xh,t,r),this});function wh(r,t,e){t.set(r,e)}function xh(r,t,e){r.length<40?zo(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(M(r),e)}function ri(){return new Xr}function $n(r,t){let e=ri();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var dr;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(dr||(dr={}));function Gn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function ni(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(o,i){let a=t(o);i.int32(a)},n=function(o){let i=o.int32();return t(i)};return Gn("enum",dr.VARINT,e,n)}function Zn(r,t){return Gn("message",dr.LENGTH_DELIMITED,r,t)}var rt;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1",r.ECDSA="ECDSA"})(rt||(rt={}));var si;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1",r[r.ECDSA=3]="ECDSA"})(si||(si={}));(function(r){r.codec=()=>ni(si)})(rt||(rt={}));var Be;(function(r){let t;r.codec=()=>(t==null&&(t=Zn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),rt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let o={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let a=e.uint32();switch(a>>>3){case 1:{o.Type=rt.codec().decode(e);break}case 2:{o.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return o})),t),r.encode=e=>$n(e,r.codec()),r.decode=(e,n)=>qn(e,r.codec(),n)})(Be||(Be={}));var Qr;(function(r){let t;r.codec=()=>(t==null&&(t=Zn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),rt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let o={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let a=e.uint32();switch(a>>>3){case 1:{o.Type=rt.codec().decode(e);break}case 2:{o.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return o})),t),r.encode=e=>$n(e,r.codec()),r.decode=(e,n)=>qn(e,r.codec(),n)})(Qr||(Qr={}));function He(r){if(isNaN(r)||r<=0)throw new L("random bytes length must be a Number bigger than 0");return he(r)}var en={};ft(en,{MAX_RSA_KEY_SIZE:()=>oi,generateRSAKeyPair:()=>vc,jwkToJWKKeyPair:()=>Bc,jwkToPkcs1:()=>Ah,jwkToPkix:()=>ui,jwkToRSAPrivateKey:()=>hi,pkcs1MessageToJwk:()=>ai,pkcs1MessageToRSAPrivateKey:()=>zn,pkcs1ToJwk:()=>Eh,pkcs1ToRSAPrivateKey:()=>li,pkixMessageToJwk:()=>ci,pkixMessageToRSAPublicKey:()=>fi,pkixToJwk:()=>Sh,pkixToRSAPublicKey:()=>xc});var pr=Rn;var yr=class{type="RSA";jwk;_raw;_multihash;constructor(t,e){this.jwk=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=en.jwkToPkix(this.jwk)),this._raw}toMultihash(){return this._multihash}toCID(){return Ct.createV1(114,this._multihash)}toString(){return tt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}verify(t,e,n){return wc(this.jwk,e,t,n)}},tn=class{type="RSA";jwk;_raw;publicKey;constructor(t,e){this.jwk=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=en.jwkToPkcs1(this.jwk)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}sign(t,e){return bc(this.jwk,t,e)}};var oi=8192,ii=18,vh=1062,Bh=Uint8Array.from([48,13,6,9,42,134,72,134,247,13,1,1,1,5,0]);function Eh(r){let t=Lt(r);return ai(t)}function ai(r){return{n:q(r[1],"base64url"),e:q(r[2],"base64url"),d:q(r[3],"base64url"),p:q(r[4],"base64url"),q:q(r[5],"base64url"),dp:q(r[6],"base64url"),dq:q(r[7],"base64url"),qi:q(r[8],"base64url"),kty:"RSA"}}function Ah(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new L("JWK was missing components");return Rt([dt(Uint8Array.from([0])),dt(M(r.n,"base64url")),dt(M(r.e,"base64url")),dt(M(r.d,"base64url")),dt(M(r.p,"base64url")),dt(M(r.q,"base64url")),dt(M(r.dp,"base64url")),dt(M(r.dq,"base64url")),dt(M(r.qi,"base64url"))]).subarray()}function Sh(r){let t=Lt(r,{offset:0});return ci(t)}function ci(r){let t=Lt(r[1],{offset:0});return{kty:"RSA",n:q(t[0],"base64url"),e:q(t[1],"base64url")}}function ui(r){if(r.n==null||r.e==null)throw new L("JWK was missing components");return Rt([Bh,Hr(Rt([dt(M(r.n,"base64url")),dt(M(r.e,"base64url"))]))]).subarray()}function li(r){let t=Lt(r);return zn(t)}function zn(r){let t=ai(r);return hi(t)}function xc(r,t){if(r.byteLength>=vh)throw new je("Key size is too large");let e=Lt(r,{offset:0});return fi(e,r,t)}function fi(r,t,e){let n=ci(r);if(e==null){let s=pr(Be.encode({Type:rt.RSA,Data:t}));e=Tt(ii,s)}return new yr(n,e)}function hi(r){if(Ac(r)>oi)throw new L("Key size is too large");let t=Bc(r),e=pr(Be.encode({Type:rt.RSA,Data:ui(t.publicKey)})),n=Tt(ii,e);return new tn(t.privateKey,new yr(t.publicKey,n))}async function vc(r){if(r>oi)throw new L("Key size is too large");let t=await Ec(r),e=pr(Be.encode({Type:rt.RSA,Data:ui(t.publicKey)})),n=Tt(ii,e);return new tn(t.privateKey,new yr(t.publicKey,n))}function Bc(r){if(r==null)throw new L("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}async function Ec(r,t){let e=await Q.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]);t?.signal?.throwIfAborted();let n=await kh(e,t);return{privateKey:n[0],publicKey:n[1]}}async function bc(r,t,e){let n=await Q.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]);e?.signal?.throwIfAborted();let s=await Q.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},n,t instanceof Uint8Array?t:t.subarray());return e?.signal?.throwIfAborted(),new Uint8Array(s,0,s.byteLength)}async function wc(r,t,e,n){let s=await Q.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);n?.signal?.throwIfAborted();let o=await Q.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},s,t,e instanceof Uint8Array?e:e.subarray());return n?.signal?.throwIfAborted(),o}async function kh(r,t){if(r.privateKey==null||r.publicKey==null)throw new L("Private and public key are required");let e=await Promise.all([Q.get().subtle.exportKey("jwk",r.privateKey),Q.get().subtle.exportKey("jwk",r.publicKey)]);return t?.signal?.throwIfAborted(),e}function Ac(r){if(r.kty!=="RSA")throw new L("invalid key type");if(r.n==null)throw new L("invalid key modulus");return M(r.n,"base64url").length*8}var Yn=class extends er{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,rr(t);let n=Or(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,o=new Uint8Array(s);o.set(n.length>s?t.create().update(n).digest():n);for(let i=0;i<o.length;i++)o[i]^=54;this.iHash.update(o),this.oHash=t.create();for(let i=0;i<o.length;i++)o[i]^=106;this.oHash.update(o),vt(o)}update(t){return nr(this),this.iHash.update(t),this}digestInto(t){nr(this),pt(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:o,blockLen:i,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=o,t.blockLen=i,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},rn=(r,t,e)=>new Yn(r,t).update(e).digest();rn.create=(r,t)=>new Yn(r,t);var Sc=(r,t)=>(r+(r>=0?t:-t)/kc)/t;function Ih(r,t,e){let[[n,s],[o,i]]=t,a=Sc(i*r,e),c=Sc(-s*r,e),l=r-a*n-c*o,h=-a*s-c*i,u=l<re,f=h<re;u&&(l=-l),f&&(h=-h);let d=ge(Math.ceil(Vn(e)/2))+mr;if(l<re||l>=d||h<re||h>=d)throw new Error("splitScalar (endomorphism): failed, k="+r);return{k1neg:u,k1:l,k2neg:f,k2:h}}function pi(r){if(!["compact","recovered","der"].includes(r))throw new Error('Signature format must be "compact", "recovered", or "der"');return r}function di(r,t){let e={};for(let n of Object.keys(t))e[n]=r[n]===void 0?t[n]:r[n];return Yt(e.lowS,"lowS"),Yt(e.prehash,"prehash"),e.format!==void 0&&pi(e.format),e}var yi=class extends Error{constructor(t=""){super(t)}},ee={Err:yi,_tlv:{encode:(r,t)=>{let{Err:e}=ee;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=qr(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let o=n>127?qr(s.length/2|128):"";return qr(r)+o+s+t},decode(r,t){let{Err:e}=ee,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],o=!!(s&128),i=0;if(!o)i=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let l=t.subarray(n,n+c);if(l.length!==c)throw new e("tlv.decode: length bytes not complete");if(l[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let h of l)i=i<<8|h;if(n+=c,i<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+i);if(a.length!==i)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+i)}}},_int:{encode(r){let{Err:t}=ee;if(r<re)throw new t("integer: negative integers are not allowed");let e=qr(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=ee;if(r[0]&128)throw new t("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return sr(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=ee,s=$("signature",r),{v:o,l:i}=n.decode(48,s);if(i.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,o),{v:l,l:h}=n.decode(2,c);if(h.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(l)}},hexFromSig(r){let{_tlv:t,_int:e}=ee,n=t.encode(2,e.encode(r.r)),s=t.encode(2,e.encode(r.s)),o=n+s;return t.encode(48,o)}},re=BigInt(0),mr=BigInt(1),kc=BigInt(2),Wn=BigInt(3),Ch=BigInt(4);function gr(r,t){let{BYTES:e}=r,n;if(typeof t=="bigint")n=t;else{let s=$("private key",t);try{n=r.fromBytes(s)}catch{throw new Error(`invalid private key: expected ui8a of size ${e}, got ${typeof t}`)}}if(!r.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function Nh(r,t={}){let e=On("weierstrass",r,t),{Fp:n,Fn:s}=e,o=e.CURVE,{h:i,n:a}=o;me(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(o.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let l=Cc(n,s);function h(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function u(_,b,g){let{x:m,y:E}=b.toAffine(),k=n.toBytes(m);if(Yt(g,"isCompressed"),g){h();let T=!n.isOdd(E);return yt(Ic(T),k)}else return yt(Uint8Array.of(4),k,n.toBytes(E))}function f(_){St(_,void 0,"Point");let{publicKey:b,publicKeyUncompressed:g}=l,m=_.length,E=_[0],k=_.subarray(1);if(m===b&&(E===2||E===3)){let T=n.fromBytes(k);if(!n.isValid(T))throw new Error("bad point: is not on curve, wrong x");let C=w(T),N;try{N=n.sqrt(C)}catch(z){let G=z instanceof Error?": "+z.message:"";throw new Error("bad point: is not on curve, sqrt error"+G)}h();let R=n.isOdd(N);return(E&1)===1!==R&&(N=n.neg(N)),{x:T,y:N}}else if(m===g&&E===4){let T=n.BYTES,C=n.fromBytes(k.subarray(0,T)),N=n.fromBytes(k.subarray(T,T*2));if(!B(C,N))throw new Error("bad point: is not on curve");return{x:C,y:N}}else throw new Error(`bad point: got length ${m}, expected compressed=${b} or uncompressed=${g}`)}let d=t.toBytes||u,p=t.fromBytes||f;function w(_){let b=n.sqr(_),g=n.mul(b,_);return n.add(n.add(g,n.mul(_,o.a)),o.b)}function B(_,b){let g=n.sqr(b),m=w(_);return n.eql(g,m)}if(!B(o.Gx,o.Gy))throw new Error("bad curve params: generator point");let y=n.mul(n.pow(o.a,Wn),Ch),A=n.mul(n.sqr(o.b),BigInt(27));if(n.is0(n.add(y,A)))throw new Error("bad curve params: a or b");function x(_,b,g=!1){if(!n.isValid(b)||g&&n.is0(b))throw new Error(`bad point coordinate ${_}`);return b}function I(_){if(!(_ instanceof v))throw new Error("ProjectivePoint expected")}function K(_){if(!c||!c.basises)throw new Error("no endo");return Ih(_,c.basises,s.ORDER)}let P=or((_,b)=>{let{X:g,Y:m,Z:E}=_;if(n.eql(E,n.ONE))return{x:g,y:m};let k=_.is0();b==null&&(b=k?n.ONE:n.inv(E));let T=n.mul(g,b),C=n.mul(m,b),N=n.mul(E,b);if(k)return{x:n.ZERO,y:n.ZERO};if(!n.eql(N,n.ONE))throw new Error("invZ was invalid");return{x:T,y:C}}),O=or(_=>{if(_.is0()){if(t.allowInfinityPoint&&!n.is0(_.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:g}=_.toAffine();if(!n.isValid(b)||!n.isValid(g))throw new Error("bad point: x or y not field elements");if(!B(b,g))throw new Error("bad point: equation left != right");if(!_.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function D(_,b,g,m,E){return g=new v(n.mul(g.X,_),g.Y,g.Z),b=Gr(m,b),g=Gr(E,g),b.add(g)}class v{constructor(b,g,m){this.X=x("x",b),this.Y=x("y",g,!0),this.Z=x("z",m),Object.freeze(this)}static CURVE(){return o}static fromAffine(b){let{x:g,y:m}=b||{};if(!b||!n.isValid(g)||!n.isValid(m))throw new Error("invalid affine point");if(b instanceof v)throw new Error("projective point not allowed");return n.is0(g)&&n.is0(m)?v.ZERO:new v(g,m,n.ONE)}static fromBytes(b){let g=v.fromAffine(p(St(b,void 0,"point")));return g.assertValidity(),g}static fromHex(b){return v.fromBytes($("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,g=!0){return V.createCache(this,b),g||this.multiply(Wn),this}assertValidity(){O(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){I(b);let{X:g,Y:m,Z:E}=this,{X:k,Y:T,Z:C}=b,N=n.eql(n.mul(g,C),n.mul(k,E)),R=n.eql(n.mul(m,C),n.mul(T,E));return N&&R}negate(){return new v(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:g}=o,m=n.mul(g,Wn),{X:E,Y:k,Z:T}=this,C=n.ZERO,N=n.ZERO,R=n.ZERO,H=n.mul(E,E),z=n.mul(k,k),G=n.mul(T,T),j=n.mul(E,k);return j=n.add(j,j),R=n.mul(E,T),R=n.add(R,R),C=n.mul(b,R),N=n.mul(m,G),N=n.add(C,N),C=n.sub(z,N),N=n.add(z,N),N=n.mul(C,N),C=n.mul(j,C),R=n.mul(m,R),G=n.mul(b,G),j=n.sub(H,G),j=n.mul(b,j),j=n.add(j,R),R=n.add(H,H),H=n.add(R,H),H=n.add(H,G),H=n.mul(H,j),N=n.add(N,H),G=n.mul(k,T),G=n.add(G,G),H=n.mul(G,j),C=n.sub(C,H),R=n.mul(G,z),R=n.add(R,R),R=n.add(R,R),new v(C,N,R)}add(b){I(b);let{X:g,Y:m,Z:E}=this,{X:k,Y:T,Z:C}=b,N=n.ZERO,R=n.ZERO,H=n.ZERO,z=o.a,G=n.mul(o.b,Wn),j=n.mul(g,k),Y=n.mul(m,T),et=n.mul(E,C),wt=n.add(g,m),W=n.add(k,T);wt=n.mul(wt,W),W=n.add(j,Y),wt=n.sub(wt,W),W=n.add(g,E);let ct=n.add(k,C);return W=n.mul(W,ct),ct=n.add(j,et),W=n.sub(W,ct),ct=n.add(m,E),N=n.add(T,C),ct=n.mul(ct,N),N=n.add(Y,et),ct=n.sub(ct,N),H=n.mul(z,W),N=n.mul(G,et),H=n.add(N,H),N=n.sub(Y,H),H=n.add(Y,H),R=n.mul(N,H),Y=n.add(j,j),Y=n.add(Y,j),et=n.mul(z,et),W=n.mul(G,W),Y=n.add(Y,et),et=n.sub(j,et),et=n.mul(z,et),W=n.add(W,et),j=n.mul(Y,W),R=n.add(R,j),j=n.mul(ct,W),N=n.mul(wt,N),N=n.sub(N,j),j=n.mul(wt,Y),H=n.mul(ct,H),H=n.add(H,j),new v(N,R,H)}subtract(b){return this.add(b.negate())}is0(){return this.equals(v.ZERO)}multiply(b){let{endo:g}=t;if(!s.isValidNot0(b))throw new Error("invalid scalar: out of range");let m,E,k=T=>V.cached(this,T,C=>Xt(v,C));if(g){let{k1neg:T,k1:C,k2neg:N,k2:R}=K(b),{p:H,f:z}=k(C),{p:G,f:j}=k(R);E=z.add(j),m=D(g.beta,H,G,T,N)}else{let{p:T,f:C}=k(b);m=T,E=C}return Xt(v,[m,E])[0]}multiplyUnsafe(b){let{endo:g}=t,m=this;if(!s.isValid(b))throw new Error("invalid scalar: out of range");if(b===re||m.is0())return v.ZERO;if(b===mr)return m;if(V.hasCache(this))return this.multiply(b);if(g){let{k1neg:E,k1:k,k2neg:T,k2:C}=K(b),{p1:N,p2:R}=za(v,m,k,C);return D(g.beta,N,R,E,T)}else return V.unsafe(m,b)}multiplyAndAddUnsafe(b,g,m){let E=this.multiplyUnsafe(g).add(b.multiplyUnsafe(m));return E.is0()?void 0:E}toAffine(b){return P(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return i===mr?!0:b?b(v,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return i===mr?this:b?b(v,this):this.multiplyUnsafe(i)}isSmallOrder(){return this.multiplyUnsafe(i).is0()}toBytes(b=!0){return Yt(b,"isCompressed"),this.assertValidity(),d(v,this,b)}toHex(b=!0){return Nt(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return Xt(v,b)}static msm(b,g){return cr(v,s,b,g)}static fromPrivateKey(b){return v.BASE.multiply(gr(s,b))}}v.BASE=new v(o.Gx,o.Gy,n.ONE),v.ZERO=new v(n.ZERO,n.ONE,n.ZERO),v.Fp=n,v.Fn=s;let U=s.BITS,V=new ar(v,t.endo?Math.ceil(U/2):U);return v.BASE.precompute(8),v}function Ic(r){return Uint8Array.of(r?2:3)}function Cc(r,t){return{secretKey:t.BYTES,publicKey:1+r.BYTES,publicKeyUncompressed:1+2*r.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Uh(r,t={}){let{Fn:e}=r,n=t.randomBytes||he,s=Object.assign(Cc(r.Fp,e),{seed:Ko(e.ORDER)});function o(d){try{return!!gr(e,d)}catch{return!1}}function i(d,p){let{publicKey:w,publicKeyUncompressed:B}=s;try{let y=d.length;return p===!0&&y!==w||p===!1&&y!==B?!1:!!r.fromBytes(d)}catch{return!1}}function a(d=n(s.seed)){return Do(St(d,s.seed,"seed"),e.ORDER)}function c(d,p=!0){return r.BASE.multiply(gr(e,d)).toBytes(p)}function l(d){let p=a(d);return{secretKey:p,publicKey:c(p)}}function h(d){if(typeof d=="bigint")return!1;if(d instanceof r)return!0;let{secretKey:p,publicKey:w,publicKeyUncompressed:B}=s;if(e.allowedLengths||p===w)return;let y=$("key",d).length;return y===w||y===B}function u(d,p,w=!0){if(h(d)===!0)throw new Error("first arg must be private key");if(h(p)===!1)throw new Error("second arg must be public key");let B=gr(e,d);return r.fromHex(p).multiply(B).toBytes(w)}return Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:l,Point:r,utils:{isValidSecretKey:o,isValidPublicKey:i,randomSecretKey:a,isValidPrivateKey:o,randomPrivateKey:a,normPrivateKeyToScalar:d=>gr(e,d),precompute(d=8,p=r.BASE){return p.precompute(d,!1)}},lengths:s})}function _h(r,t,e={}){rr(t),me(e,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});let n=e.randomBytes||he,s=e.hmac||((g,...m)=>rn(t,g,yt(...m))),{Fp:o,Fn:i}=r,{ORDER:a,BITS:c}=i,{keygen:l,getPublicKey:h,getSharedSecret:u,utils:f,lengths:d}=Uh(r,e),p={prehash:!1,lowS:typeof e.lowS=="boolean"?e.lowS:!1,format:void 0,extraEntropy:!1},w="compact";function B(g){let m=a>>mr;return g>m}function y(g,m){if(!i.isValidNot0(m))throw new Error(`invalid signature ${g}: out of range 1..Point.Fn.ORDER`);return m}function A(g,m){pi(m);let E=d.signature,k=m==="compact"?E:m==="recovered"?E+1:void 0;return St(g,k,`${m} signature`)}class x{constructor(m,E,k){this.r=y("r",m),this.s=y("s",E),k!=null&&(this.recovery=k),Object.freeze(this)}static fromBytes(m,E=w){A(m,E);let k;if(E==="der"){let{r:R,s:H}=ee.toSig(St(m));return new x(R,H)}E==="recovered"&&(k=m[0],E="compact",m=m.subarray(1));let T=i.BYTES,C=m.subarray(0,T),N=m.subarray(T,T*2);return new x(i.fromBytes(C),i.fromBytes(N),k)}static fromHex(m,E){return this.fromBytes(Ue(m),E)}addRecoveryBit(m){return new x(this.r,this.s,m)}recoverPublicKey(m){let E=o.ORDER,{r:k,s:T,recovery:C}=this;if(C==null||![0,1,2,3].includes(C))throw new Error("recovery id invalid");if(a*kc<E&&C>1)throw new Error("recovery id is ambiguous for h>1 curve");let R=C===2||C===3?k+a:k;if(!o.isValid(R))throw new Error("recovery id 2 or 3 invalid");let H=o.toBytes(R),z=r.fromBytes(yt(Ic((C&1)===0),H)),G=i.inv(R),j=K($("msgHash",m)),Y=i.create(-j*G),et=i.create(T*G),wt=r.BASE.multiplyUnsafe(Y).add(z.multiplyUnsafe(et));if(wt.is0())throw new Error("point at infinify");return wt.assertValidity(),wt}hasHighS(){return B(this.s)}toBytes(m=w){if(pi(m),m==="der")return Ue(ee.hexFromSig(this));let E=i.toBytes(this.r),k=i.toBytes(this.s);if(m==="recovered"){if(this.recovery==null)throw new Error("recovery bit must be present");return yt(Uint8Array.of(this.recovery),E,k)}return yt(E,k)}toHex(m){return Nt(this.toBytes(m))}assertValidity(){}static fromCompact(m){return x.fromBytes($("sig",m),"compact")}static fromDER(m){return x.fromBytes($("sig",m),"der")}normalizeS(){return this.hasHighS()?new x(this.r,i.neg(this.s),this.recovery):this}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return Nt(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return Nt(this.toBytes("compact"))}}let I=e.bits2int||function(m){if(m.length>8192)throw new Error("input is too large");let E=sr(m),k=m.length*8-c;return k>0?E>>BigInt(k):E},K=e.bits2int_modN||function(m){return i.create(I(m))},P=ge(c);function O(g){return jr("num < 2^"+c,g,re,P),i.toBytes(g)}function D(g,m){return St(g,void 0,"message"),m?St(t(g),void 0,"prehashed message"):g}function v(g,m,E){if(["recovered","canonical"].some(Y=>Y in E))throw new Error("sign() legacy options not supported");let{lowS:k,prehash:T,extraEntropy:C}=di(E,p);g=D(g,T);let N=K(g),R=gr(i,m),H=[O(R),O(N)];if(C!=null&&C!==!1){let Y=C===!0?n(d.secretKey):C;H.push($("extraEntropy",Y))}let z=yt(...H),G=N;function j(Y){let et=I(Y);if(!i.isValidNot0(et))return;let wt=i.inv(et),W=r.BASE.multiply(et).toAffine(),ct=i.create(W.x);if(ct===re)return;let bn=i.create(wt*i.create(G+ct*R));if(bn===re)return;let Ni=(W.x===ct?0:2)|Number(W.y&mr),Ui=bn;return k&&B(bn)&&(Ui=i.neg(bn),Ni^=1),new x(ct,Ui,Ni)}return{seed:z,k2sig:j}}function U(g,m,E={}){g=$("message",g);let{seed:k,k2sig:T}=v(g,m,E);return Ta(t.outputLen,i.BYTES,s)(k,T)}function V(g){let m,E=typeof g=="string"||Zt(g),k=!E&&g!==null&&typeof g=="object"&&typeof g.r=="bigint"&&typeof g.s=="bigint";if(!E&&!k)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");if(k)m=new x(g.r,g.s);else if(E){try{m=x.fromBytes($("sig",g),"der")}catch(T){if(!(T instanceof ee.Err))throw T}if(!m)try{m=x.fromBytes($("sig",g),"compact")}catch{return!1}}return m||!1}function _(g,m,E,k={}){let{lowS:T,prehash:C,format:N}=di(k,p);if(E=$("publicKey",E),m=D($("message",m),C),"strict"in k)throw new Error("options.strict was renamed to lowS");let R=N===void 0?V(g):x.fromBytes($("sig",g),N);if(R===!1)return!1;try{let H=r.fromBytes(E);if(T&&R.hasHighS())return!1;let{r:z,s:G}=R,j=K(m),Y=i.inv(G),et=i.create(j*Y),wt=i.create(z*Y),W=r.BASE.multiplyUnsafe(et).add(H.multiplyUnsafe(wt));return W.is0()?!1:i.create(W.x)===z}catch{return!1}}function b(g,m,E={}){let{prehash:k}=di(E,p);return m=D(m,k),x.fromBytes(g,"recovered").recoverPublicKey(m).toBytes()}return Object.freeze({keygen:l,getPublicKey:h,getSharedSecret:u,utils:f,lengths:d,Point:r,sign:U,verify:_,recoverPublicKey:b,Signature:x,hash:t})}function Th(r){let t={a:r.a,b:r.b,p:r.Fp.ORDER,n:r.n,h:r.h,Gx:r.Gx,Gy:r.Gy},e=r.Fp,n=r.allowedPrivateKeyLengths?Array.from(new Set(r.allowedPrivateKeyLengths.map(i=>Math.ceil(i/2)))):void 0,s=kt(t.n,{BITS:r.nBitLength,allowedLengths:n,modFromBytes:r.wrapPrivateKey}),o={Fp:e,Fn:s,allowInfinityPoint:r.allowInfinityPoint,endo:r.endo,isTorsionFree:r.isTorsionFree,clearCofactor:r.clearCofactor,fromBytes:r.fromBytes,toBytes:r.toBytes};return{CURVE:t,curveOpts:o}}function Lh(r){let{CURVE:t,curveOpts:e}=Th(r),n={hmac:r.hmac,randomBytes:r.randomBytes,lowS:r.lowS,bits2int:r.bits2int,bits2int_modN:r.bits2int_modN};return{CURVE:t,curveOpts:e,hash:r.hash,ecdsaOpts:n}}function Rh(r,t){let e=t.Point;return Object.assign({},t,{ProjectivePoint:e,CURVE:Object.assign({},r,Hn(e.Fn.ORDER,e.Fn.BITS))})}function Nc(r){let{CURVE:t,curveOpts:e,hash:n,ecdsaOpts:s}=Lh(r),o=Nh(t,e),i=_h(o,n,s);return Rh(r,i)}function Uc(r,t){let e=n=>Nc({...r,hash:n});return{...e(t),create:e}}var mi={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},Kh={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),basises:[[BigInt("0x3086d221a7d46bcde86c90e49284eb15"),-BigInt("0xe4437ed6010e88286f547fa90abfe4c3")],[BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),BigInt("0x3086d221a7d46bcde86c90e49284eb15")]]};var _c=BigInt(2);function Dh(r){let t=mi.p,e=BigInt(3),n=BigInt(6),s=BigInt(11),o=BigInt(22),i=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%t,h=l*l*r%t,u=Z(h,e,t)*h%t,f=Z(u,e,t)*h%t,d=Z(f,_c,t)*l%t,p=Z(d,s,t)*d%t,w=Z(p,o,t)*p%t,B=Z(w,a,t)*w%t,y=Z(B,c,t)*B%t,A=Z(y,a,t)*w%t,x=Z(A,e,t)*h%t,I=Z(x,i,t)*p%t,K=Z(I,n,t)*l%t,P=Z(K,_c,t);if(!gi.eql(gi.sqr(P),r))throw new Error("Cannot find square root");return P}var gi=kt(mi.p,{sqrt:Dh}),Pt=Uc({...mi,Fp:gi,lowS:!0,endo:Kh},Rn);var Tc=32;function Lc(r,t,e){let n=Xe.digest(t instanceof Uint8Array?t:t.subarray());if(hr(n))return n.then(({digest:s})=>(e?.signal?.throwIfAborted(),Pt.sign(s,r).toDERRawBytes())).catch(s=>{throw s.name==="AbortError"?s:new Cr(String(s))});try{return Pt.sign(n.digest,r).toDERRawBytes()}catch(s){throw new Cr(String(s))}}function Rc(r,t,e,n){let s=Xe.digest(e instanceof Uint8Array?e:e.subarray());if(hr(s))return s.then(({digest:o})=>(n?.signal?.throwIfAborted(),Pt.verify(t,o,r))).catch(o=>{throw o.name==="AbortError"?o:new Nr(String(o))});try{return n?.signal?.throwIfAborted(),Pt.verify(t,s.digest,r)}catch(o){throw new Nr(String(o))}}var Jn=class{type="secp256k1";raw;_key;constructor(t){this._key=Vc(t),this.raw=Kc(this._key)}toMultihash(){return ke.digest(tr(this))}toCID(){return Ct.createV1(114,this.toMultihash())}toString(){return tt.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}verify(t,e,n){return Rc(this._key,e,t,n)}},Xn=class{type="secp256k1";raw;publicKey;constructor(t,e){this.raw=Dc(t),this.publicKey=new Jn(e??Hc(t))}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:xt(this.raw,t.raw)}sign(t,e){return Lc(this.raw,t,e)}};function bi(r){return new Xn(r)}function Kc(r){return Pt.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Dc(r){try{return Pt.getPublicKey(r,!0),r}catch(t){throw new Ur(String(t))}}function Vc(r){try{return Pt.ProjectivePoint.fromHex(r),r}catch(t){throw new je(String(t))}}function Hc(r){try{return Pt.getPublicKey(r,!0)}catch(t){throw new Ur(String(t))}}function tr(r){return Be.encode({Type:rt[r.type],Data:r.raw})}function Oc(r){let t=Qr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case rt.RSA:return li(e);case rt.Ed25519:return $o(e);case rt.secp256k1:return bi(e);case rt.ECDSA:return fa(e);default:throw new $e}}function Pc(r){if(r.byteLength===Ut)return $o(r);if(r.byteLength===Tc)return bi(r);let t=Lt(r),e=t[2]?.[0];if(e===ia||e===aa||e===ca)return Eo(t);if(t.length>8)return zn(t);throw new L("Could not extract private key from raw bytes")}function Oe(r){return Qr.encode({Type:rt[r.type],Data:r.raw})}function Mc(r,t,e,n){rr(r);let s=wa({dkLen:32,asyncTick:10},n),{c:o,dkLen:i,asyncTick:a}=s;if(Gt(o),Gt(i),Gt(a),o<1)throw new Error("iterations (c) should be >= 1");let c=Ao(t),l=Ao(e),h=new Uint8Array(i),u=rn.create(r,c),f=u._cloneInto().update(l);return{c:o,dkLen:i,asyncTick:a,DK:h,PRF:u,PRFSalt:f}}function Fc(r,t,e,n,s){return r.destroy(),t.destroy(),n&&n.destroy(),vt(s),e}function qc(r,t,e,n){let{c:s,dkLen:o,DK:i,PRF:a,PRFSalt:c}=Mc(r,t,e,n),l,h=new Uint8Array(4),u=Ne(h),f=new Uint8Array(a.outputLen);for(let d=1,p=0;p<o;d++,p+=a.outputLen){let w=i.subarray(p,p+a.outputLen);u.setInt32(0,d,!1),(l=c._cloneInto(l)).update(h).digestInto(f),w.set(f.subarray(0,w.length));for(let B=1;B<s;B++){a._cloneInto(l).update(f).digestInto(f);for(let y=0;y<w.length;y++)w[y]^=f[y]}}return Fc(a,c,i,l,f)}async function Qn(r,t,e,n){let{c:s,dkLen:o,asyncTick:i,DK:a,PRF:c,PRFSalt:l}=Mc(r,t,e,n),h,u=new Uint8Array(4),f=Ne(u),d=new Uint8Array(c.outputLen);for(let p=1,w=0;w<o;p++,w+=c.outputLen){let B=a.subarray(w,w+c.outputLen);f.setInt32(0,p,!1),(h=l._cloneInto(h)).update(u).digestInto(d),B.set(d.subarray(0,B.length)),await ba(s-1,i,()=>{c._cloneInto(h).update(d).digestInto(d);for(let y=0;y<B.length;y++)B[y]^=d[y]})}return Fc(c,l,a,h,d)}var nn=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),Ee=new Uint32Array(80),ts=class extends _e{constructor(){super(64,20,8,!1),this.A=nn[0]|0,this.B=nn[1]|0,this.C=nn[2]|0,this.D=nn[3]|0,this.E=nn[4]|0}get(){let{A:t,B:e,C:n,D:s,E:o}=this;return[t,e,n,s,o]}set(t,e,n,s,o){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=o|0}process(t,e){for(let c=0;c<16;c++,e+=4)Ee[c]=t.getUint32(e,!1);for(let c=16;c<80;c++)Ee[c]=In(Ee[c-3]^Ee[c-8]^Ee[c-14]^Ee[c-16],1);let{A:n,B:s,C:o,D:i,E:a}=this;for(let c=0;c<80;c++){let l,h;c<20?(l=Nn(s,o,i),h=1518500249):c<40?(l=s^o^i,h=1859775393):c<60?(l=Un(s,o,i),h=2400959708):(l=s^o^i,h=3395469782);let u=In(n,5)+l+a+h+Ee[c]|0;a=i,i=o,o=In(s,30),s=n,n=u}n=n+this.A|0,s=s+this.B|0,o=o+this.C|0,i=i+this.D|0,a=a+this.E|0,this.set(n,s,o,i,a)}roundClean(){vt(Ee)}destroy(){this.set(0,0,0,0,0),vt(this.buffer)}},jc=Pr(()=>new ts);var $c=jc;var br=Kn;var Gc={sha1:$c,"sha2-256":pr,"sha2-512":br};function sn(r,t,e,n,s){if(s!=="sha1"&&s!=="sha2-256"&&s!=="sha2-512"){let a=Object.keys(Gc).join(" / ");throw new L(`Hash '${s}' is unknown or not supported. Must be ${a}`)}let o=Gc[s],i=qc(o,r,t,{c:e,dkLen:n});return Ie.encode(i).substring(1)}function wr(r){if(typeof r!="object"||r===null)return!1;let t=Object.getPrototypeOf(r);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)}var{hasOwnProperty:zc}=Object.prototype,{propertyIsEnumerable:Vh}=Object,xr=(r,t,e)=>{Object.defineProperty(r,t,{value:e,writable:!0,enumerable:!0,configurable:!0})},Hh=void 0,Zc={concatArrays:!1,ignoreUndefined:!1},es=r=>{let t=[];for(let e in r)zc.call(r,e)&&t.push(e);if(Object.getOwnPropertySymbols){let e=Object.getOwnPropertySymbols(r);for(let n of e)Vh.call(r,n)&&t.push(n)}return t};function vr(r){return Array.isArray(r)?Oh(r):wr(r)?Ph(r):r}function Oh(r){let t=r.slice(0,0);return es(r).forEach(e=>{xr(t,e,vr(r[e]))}),t}function Ph(r){let t=Object.getPrototypeOf(r)===null?Object.create(null):{};return es(r).forEach(e=>{xr(t,e,vr(r[e]))}),t}var Yc=(r,t,e,n)=>(e.forEach(s=>{typeof t[s]>"u"&&n.ignoreUndefined||(s in r&&r[s]!==Object.getPrototypeOf(r)?xr(r,s,wi(r[s],t[s],n)):xr(r,s,vr(t[s])))}),r),Mh=(r,t,e)=>{let n=r.slice(0,0),s=0;return[r,t].forEach(o=>{let i=[];for(let a=0;a<o.length;a++)zc.call(o,a)&&(i.push(String(a)),o===r?xr(n,s++,o[a]):xr(n,s++,vr(o[a])));n=Yc(n,o,es(o).filter(a=>!i.includes(a)),e)}),n};function wi(r,t,e){return e.concatArrays&&Array.isArray(r)&&Array.isArray(t)?Mh(r,t,e):!wr(t)||!wr(r)?vr(t):Yc(r,t,es(t),e)}function Wc(...r){let t=wi(vr(Zc),this!==Hh&&this||{},Zc),e={_:{}};for(let n of r)if(n!==void 0){if(!wr(n))throw new TypeError("`"+n+"` is not an Option Object");e=wi(e,{_:n},t)}return e._}var ne="/",Jc=new TextEncoder().encode(ne),rs=Jc[0],on=class r{_buf;constructor(t,e){if(typeof t=="string")this._buf=M(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==rs)throw new Error("Invalid key")}toString(t="utf8"){return q(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new r(t.join(ne))}static random(){return new r(Math.random().toString().substring(2))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new r(t):typeof t.uint8Array=="function"?new r(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Jc),this._buf[0]!==rs){let t=new Uint8Array(this._buf.byteLength+1);t.fill(rs,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===rs;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let s=0;s<e.length;s++){if(n.length<s+1)return!1;let o=e[s],i=n[s];if(o<i)return!0;if(o>i)return!1}return e.length<n.length}reverse(){return r.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(ne).slice(1)}type(){return Fh(this.baseNamespace())}name(){return qh(this.baseNamespace())}instance(t){return new r(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(ne)||(t+=ne),t+=this.type(),new r(t)}parent(){let t=this.list();return t.length===1?new r(ne):new r(t.slice(0,-1).join(ne))}child(t){return this.toString()===ne?t:t.toString()===ne?this:new r(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return r.withNamespaces([...this.namespaces(),...jh(t.map(e=>e.namespaces()))])}};function Fh(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function qh(r){let t=r.split(":");return t[t.length-1]}function jh(r){return[].concat(...r)}var Wu=Ti(iu(),1);var Br={};ft(Br,{create:()=>nd,derivedEmptyPasswordKey:()=>ns});var ns={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function nd(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,s=r?.digest??"SHA-256",o=r?.saltLength??16,i=r?.iterations??32767,a=Q.get();e*=8;async function c(u,f){let d=a.getRandomValues(new Uint8Array(o)),p=a.getRandomValues(new Uint8Array(n)),w={name:t,iv:p};typeof f=="string"&&(f=M(f));let B;if(f.length===0){B=await a.subtle.importKey("jwk",ns,{name:"AES-GCM"},!0,["encrypt"]);try{let A={name:"PBKDF2",salt:d,iterations:i,hash:{name:s}},x=await a.subtle.importKey("raw",f,{name:"PBKDF2"},!1,["deriveKey"]);B=await a.subtle.deriveKey(A,x,{name:t,length:e},!0,["encrypt"])}catch{B=await a.subtle.importKey("jwk",ns,{name:"AES-GCM"},!0,["encrypt"])}}else{let A={name:"PBKDF2",salt:d,iterations:i,hash:{name:s}},x=await a.subtle.importKey("raw",f,{name:"PBKDF2"},!1,["deriveKey"]);B=await a.subtle.deriveKey(A,x,{name:t,length:e},!0,["encrypt"])}let y=await a.subtle.encrypt(w,B,u);return Je([d,w.iv,new Uint8Array(y)])}async function l(u,f){let d=u.subarray(0,o),p=u.subarray(o,o+n),w=u.subarray(o+n),B={name:t,iv:p};typeof f=="string"&&(f=M(f));let y;if(f.length===0)try{let x={name:"PBKDF2",salt:d,iterations:i,hash:{name:s}},I=await a.subtle.importKey("raw",f,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,I,{name:t,length:e},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",ns,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:d,iterations:i,hash:{name:s}},I=await a.subtle.importKey("raw",f,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,I,{name:t,length:e},!0,["decrypt"])}let A=await a.subtle.decrypt(B,y,w);return new Uint8Array(A)}return{encrypt:c,decrypt:l}}var F=Ti(au());function Pe(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Ae(r,t,e=-1){let n=e,s=r,o=0,i=Math.pow(2,t);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),o=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),o=n}let l=new Uint8Array(c);for(let h=a-1;h>=0;h--){let u=Math.pow(2,h*t);l[o-h-1]=Math.floor(s/u),s-=l[o-h-1]*u}return c}i*=Math.pow(2,t)}return new ArrayBuffer(0)}function is(...r){let t=0,e=0;for(let o of r)t+=o.length;let n=new ArrayBuffer(t),s=new Uint8Array(n);for(let o of r)s.set(o,e),e+=o.length;return s}function vi(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Pe(e,8),s=new ArrayBuffer(this.valueHex.byteLength),o=new Uint8Array(s);for(let a=0;a<this.valueHex.byteLength;a++)o[a]=r[a];return o[0]&=127,Pe(o,8)-n}function cu(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let i=e-t,a=Ae(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=Ae(t,8,n),o=new Uint8Array(s);if(o[0]&128){let i=s.slice(0),a=new Uint8Array(i);s=new ArrayBuffer(s.byteLength+1),o=new Uint8Array(s);for(let c=0;c<i.byteLength;c++)o[c+1]=a[c];o[0]=0}return s}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function uu(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<e.length;s++)if(e[s]!==n[s])return!1;return!0}function Bt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,s=new Array(n);for(let i=0;i<n;i++)s[i]="0";return s.join("").concat(e)}var hb=Math.log(2);function as(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Bi(r){let t=0,e=0;for(let s=0;s<r.length;s++){let o=r[s];t+=o.byteLength}let n=new Uint8Array(t);for(let s=0;s<r.length;s++){let o=r[s];n.set(new Uint8Array(o),e),e+=o.byteLength}return n.buffer}function ue(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var un=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Bi(this.items)}},an=[new Uint8Array([1])],lu="0123456789";var Ar="",Vt=new ArrayBuffer(0),Ei=new Uint8Array(0),ln="EndOfContent",hu="OCTET STRING",du="BIT STRING";function le(r){var t;return t=class extends r{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}constructor(...n){var s;super(...n);let o=n[0]||{};this.isHexOnly=(s=o.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=o.valueHex?F.BufferSourceConverter.toUint8Array(o.valueHex):Ei}fromBER(n,s,o){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!ue(this,i,s,o))return-1;let a=s+o;return this.valueHexView=i.subarray(s,a),this.valueHexView.length?(this.blockLength=o,a):(this.warnings.push("Zero buffer length"),s)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Vt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:F.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var oe=class{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}constructor({blockLength:t=0,error:e=Ar,warnings:n=[],valueBeforeDecode:s=Ei}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=F.BufferSourceConverter.toUint8Array(s)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:F.Convert.ToHex(this.valueBeforeDecodeView)}}};oe.NAME="baseBlock";var lt=class extends oe{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};lt.NAME="valueBlock";var cs=class extends le(oe){constructor({idBlock:t={}}={}){var e,n,s,o;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?F.BufferSourceConverter.toUint8Array(t.valueHex):Ei,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(s=t.tagNumber)!==null&&s!==void 0?s:-1,this.isConstructed=(o=t.isConstructed)!==null&&o!==void 0?o:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Vt}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let s=new Uint8Array(1);if(!t){let o=this.tagNumber;o&=31,e|=o,s[0]=e}return s.buffer}if(!this.isHexOnly){let s=Ae(this.tagNumber,7),o=new Uint8Array(s),i=s.byteLength,a=new Uint8Array(i+1);if(a[0]=e|31,!t){for(let c=0;c<i-1;c++)a[c+1]=o[c]|128;a[i]=o[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let s=this.valueHexView;for(let o=0;o<s.length-1;o++)n[o+1]=s[o]|128;n[this.valueHexView.byteLength]=s[s.length-1]}return n.buffer}fromBER(t,e,n){let s=F.BufferSourceConverter.toUint8Array(t);if(!ue(this,s,e,n))return-1;let o=s.subarray(e,e+n);if(o.length===0)return this.error="Zero buffer length",-1;switch(o[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(o[0]&32)===32,this.isHexOnly=!1;let a=o[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,l=this.valueHexView=new Uint8Array(255),h=255;for(;o[c]&128;){if(l[c-1]=o[c]&127,c++,c>=o.length)return this.error="End of input reached before message was fully decoded",-1;if(c===h){h+=255;let f=new Uint8Array(h);for(let d=0;d<l.length;d++)f[d]=l[d];l=this.valueHexView=new Uint8Array(h)}}this.blockLength=c+1,l[c-1]=o[c]&127;let u=new Uint8Array(c);for(let f=0;f<c;f++)u[f]=l[f];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=Pe(l,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};cs.NAME="identificationBlock";var us=class extends oe{constructor({lenBlock:t={}}={}){var e,n,s;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(s=t.length)!==null&&s!==void 0?s:0}fromBER(t,e,n){let s=F.BufferSourceConverter.toUint8Array(t);if(!ue(this,s,e,n))return-1;let o=s.subarray(e,e+n);if(o.length===0)return this.error="Zero buffer length",-1;if(o[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=o[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(o[0]&128),this.longFormUsed===!1)return this.length=o[0],this.blockLength=1,e+this.blockLength;let i=o[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>o.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=s.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Pe(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let s=Ae(this.length,8);if(s.byteLength>127)return this.error="Too big length",Vt;if(e=new ArrayBuffer(s.byteLength+1),t)return e;let o=new Uint8Array(s);n=new Uint8Array(e),n[0]=s.byteLength|128;for(let i=0;i<s.byteLength;i++)n[i+1]=o[i];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};us.NAME="lengthBlock";var S={},it=class extends oe{constructor({name:t=Ar,optional:e=!1,primitiveSchema:n,...s}={},o){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new cs(s),this.lenBlock=new us(s),this.valueBlock=o?new o(s):new lt(s)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}toBER(t,e){let n=e||new un;e||pu(this);let s=this.idBlock.toBER(t);if(n.write(s),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let o=this.valueBlock.toBER(t);this.lenBlock.length=o.byteLength;let i=this.lenBlock.toBER(t);n.write(i),n.write(o)}return e?Vt:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():F.Convert.ToHex(this.toBER())}onAsciiEncoding(){let t=this.constructor.NAME,e=F.Convert.ToHex(this.valueBlock.valueBeforeDecodeView);return`${t} : ${e}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return uu(e,n)}};it.NAME="BaseBlock";function pu(r){var t;if(r instanceof S.Constructed)for(let e of r.valueBlock.value)pu(e)&&(r.lenBlock.isIndefiniteForm=!0);return!!(!((t=r.lenBlock)===null||t===void 0)&&t.isIndefiniteForm)}var ls=class extends it{getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}constructor({value:t=Ar,...e}={},n){super(e,n),t&&this.fromString(t)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};ls.NAME="BaseStringBlock";var fs=class extends le(lt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};fs.NAME="PrimitiveValueBlock";var yu,hs=class extends it{constructor(t={}){super(t,fs),this.idBlock.isConstructed=!1}};yu=hs;S.Primitive=yu;hs.NAME="PRIMITIVE";function hd(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function Gs(r,t=0,e=r.length){let n=t,s=new it({},lt),o=new oe;if(!ue(o,r,t,e))return s.error=o.error,{offset:-1,result:s};if(!r.subarray(t,t+e).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(r,t,e);if(s.idBlock.warnings.length&&s.warnings.concat(s.idBlock.warnings),a===-1)return s.error=s.idBlock.error,{offset:-1,result:s};if(t=a,e-=s.idBlock.blockLength,a=s.lenBlock.fromBER(r,t,e),s.lenBlock.warnings.length&&s.warnings.concat(s.lenBlock.warnings),a===-1)return s.error=s.lenBlock.error,{offset:-1,result:s};if(t=a,e-=s.lenBlock.blockLength,!s.idBlock.isConstructed&&s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=it;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&s.idBlock.isHexOnly===!1)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=S.EndOfContent;break;case 1:c=S.Boolean;break;case 2:c=S.Integer;break;case 3:c=S.BitString;break;case 4:c=S.OctetString;break;case 5:c=S.Null;break;case 6:c=S.ObjectIdentifier;break;case 10:c=S.Enumerated;break;case 12:c=S.Utf8String;break;case 13:c=S.RelativeObjectIdentifier;break;case 14:c=S.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=S.Sequence;break;case 17:c=S.Set;break;case 18:c=S.NumericString;break;case 19:c=S.PrintableString;break;case 20:c=S.TeletexString;break;case 21:c=S.VideotexString;break;case 22:c=S.IA5String;break;case 23:c=S.UTCTime;break;case 24:c=S.GeneralizedTime;break;case 25:c=S.GraphicString;break;case 26:c=S.VisibleString;break;case 27:c=S.GeneralString;break;case 28:c=S.UniversalString;break;case 29:c=S.CharacterString;break;case 30:c=S.BmpString;break;case 31:c=S.DATE;break;case 32:c=S.TimeOfDay;break;case 33:c=S.DateTime;break;case 34:c=S.Duration;break;default:{let l=s.idBlock.isConstructed?new S.Constructed:new S.Primitive;l.idBlock=s.idBlock,l.lenBlock=s.lenBlock,l.warnings=s.warnings,s=l}}break;case 2:case 3:case 4:default:c=s.idBlock.isConstructed?S.Constructed:S.Primitive}return s=hd(s,c),a=s.fromBER(r,t,s.lenBlock.isIndefiniteForm?e:s.lenBlock.length),s.valueBeforeDecodeView=r.subarray(n,n+s.blockLength),{offset:a,result:s}}function Zs(r){if(!r.byteLength){let t=new it({},lt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Gs(F.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function dd(r,t){return r?1:t}var Mt=class extends lt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=F.BufferSourceConverter.toUint8Array(t);if(!ue(this,s,e,n))return-1;if(this.valueBeforeDecodeView=s.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let o=e;for(;dd(this.isIndefiniteForm,n)>0;){let i=Gs(s,o,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(o=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===ln)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===ln?this.value.pop():this.warnings.push("No EndOfContent block encoded")),o}toBER(t,e){let n=e||new un;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Vt:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Mt.NAME="ConstructedValueBlock";var gu,Se=class extends it{constructor(t={}){super(t,Mt),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
|
3
3
|
`).map(s=>` ${s}`).join(`
|
|
4
4
|
`));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
|
|
5
5
|
${t.join(`
|
|
6
|
-
`)}`:`${e} :`}};hu=Ee;C.Constructed=hu;Ee.NAME="CONSTRUCTED";var ds=class extends ct{fromBER(t,e,n){return e}toBER(t){return Dt}};ds.override="EndOfContentValueBlock";var du,ps=class extends ot{constructor(t={}){super(t,ds),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};du=ps;C.EndOfContent=du;ps.NAME=hn;var pu,qe=class extends ot{constructor(t={}){super(t,ct),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};pu=qe;C.Null=pu;qe.NAME="NULL";var gs=class extends ce(ct){get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=F.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}fromBER(t,e,n){let s=F.BufferSourceConverter.toUint8Array(t);return ae(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,yi.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};gs.NAME="BooleanValueBlock";var gu,ys=class extends ot{getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}constructor(t={}){super(t,gs),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};gu=ys;C.Boolean=gu;ys.NAME="BOOLEAN";var ms=class extends ce(Vt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Vt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let o=0;o<this.value.length;o++){let i=this.value[o].constructor.NAME;if(i===hn){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==cu)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Vt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};ms.NAME="OctetStringValueBlock";var wi,se=class extends ot{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,o;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},ms),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let o=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(o.byteLength){let i=Gs(o,0,o.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ee.prototype.onAsciiEncoding.call(this);let t=this.constructor.NAME,e=F.Convert.ToHex(this.valueBlock.valueHexView);return`${t} : ${e}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof wi&&t.push(e.valueBlock.valueHexView);return F.BufferSourceConverter.concat(t)}};wi=se;C.OctetString=wi;se.NAME=cu;var bs=class extends ce(Vt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Vt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===hn){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==uu)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let l=a.valueBlock;if(this.unusedBits>0&&l.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=l.unusedBits}return s}let o=F.BufferSourceConverter.toUint8Array(t);if(!ae(this,o,e,n))return-1;let i=o.subarray(e,e+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=Gs(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,e+n}toBER(t,e){if(this.isConstructed)return Vt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Dt;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};bs.NAME="BitStringValueBlock";var yu,ws=class extends ot{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,o;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},bs),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ee.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let i of e)t.push(i.toString(2).padStart(8,"0"));let n=t.join(""),s=this.constructor.NAME,o=n.substring(0,n.length-this.valueBlock.unusedBits);return`${s} : ${o}`}}};yu=ws;C.BitString=yu;ws.NAME=uu;var mu;function ld(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),o=n.slice(0),i=o.length-1,a=s.slice(0),c=a.length-1,l=0,h=c<i?i:c,u=0;for(let f=h;f>=0;f--,u++){switch(!0){case u<a.length:l=o[i-u]+a[c-u]+e[0];break;default:l=o[i-u]+e[0]}switch(e[0]=l/10,!0){case u>=o.length:o=is(new Uint8Array([l%10]),o);break;default:o[i-u]=l%10}}return e[0]>0&&(o=is(e,o)),o}function au(r){if(r>=un.length)for(let t=un.length;t<=r;t++){let e=new Uint8Array([0]),n=un[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let o=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=o[0]/10,n[s]=o[0]%10}e[0]>0&&(n=is(e,n)),un.push(n)}return un[r]}function fd(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),o=n.slice(0),i=o.length-1,a=s.slice(0),c=a.length-1,l,h=0;for(let u=c;u>=0;u--,h++)switch(l=o[i-h]-a[c-h]-e,!0){case l<0:e=1,o[i-h]=l+10;break;default:e=0,o[i-h]=l}if(e>0)for(let u=i-c+1;u>=0;u--,h++)if(l=o[i-h]-e,l<0)e=1,o[i-h]=l+10;else{e=0,o[i-h]=l;break}return o.slice()}var dn=class extends ce(ct){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=yi.call(this)))}constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(su(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let o=this.fromBER(t,e,n);if(o===-1)return o;let i=this.valueHexView;return i[0]===0&&(i[1]&128)!==0?this.valueHexView=i.subarray(1):s!==0&&i.length<s&&(s-i.length>1&&(s=i.length+1),this.valueHexView=i.subarray(s-i.length)),o}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,o=this.valueHexView,i="",a=!1;for(let c=o.byteLength-1;c>=0;c--){s=o[c];for(let l=0;l<8;l++){if((s&1)===1)switch(n){case t:e=fd(au(n),e),i="-";break;default:e=ld(e,au(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(i+=iu.charAt(e[c]));return a===!1&&(i+=iu.charAt(0)),i}};mu=dn;dn.NAME="IntegerValueBlock";Object.defineProperty(mu.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var ln,oe=class extends ot{constructor(t={}){super(t,dn),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return as(),BigInt(this.valueBlock.toString())}static fromBigInt(t){as();let e=BigInt(t),n=new fn,s=e.toString(16).replace(/^-/,""),o=new Uint8Array(F.Convert.FromHex(s));if(e<0){let a=new Uint8Array(o.length+(o[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${F.Convert.ToHex(a)}`)+e,h=F.BufferSourceConverter.toUint8Array(F.Convert.FromHex(l.toString(16)));h[0]|=128,n.write(h)}else o[0]&128&&n.write(new Uint8Array([0])),n.write(o);return new ln({valueHex:n.final()})}convertToDER(){let t=new ln({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new ln({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};ln=oe;C.Integer=ln;oe.NAME="INTEGER";var bu,xs=class extends oe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};bu=xs;C.Enumerated=bu;xs.NAME="ENUMERATED";var pn=class extends ce(ct){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=F.BufferSourceConverter.toUint8Array(t);if(!ae(this,s,e,n))return-1;let o=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,(o[a]&128)!==0);a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,(o[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Fe(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){as();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,o=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)o[i]=s[i]|128;return o[this.blockLength-1]=s[this.blockLength-1],o.buffer}let e=ve(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Dt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),o=e.byteLength-1;for(let i=0;i<o;i++)n[i]=s[i]|128;n[o]=s[o]}return n}toString(){let t="";if(this.isHexOnly)t=F.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};pn.NAME="sidBlock";var vs=class extends ct{constructor({value:t=Sr,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let o=new pn;if(s=o.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=o.error,s;this.value.length===0&&(o.isFirstSid=!0),this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Dt;e.push(s)}return mi(e)}fromString(t){this.value=[];let e=0,n=0,s="",o=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,o){let i=this.value[0],a=0;switch(i.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;i.valueDec=c+a,o=!1}else{let i=new pn;if(s>Number.MAX_SAFE_INTEGER){as();let a=BigInt(s);i.valueBigInt=a}else if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,o=!0),this.value.push(i)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};vs.NAME="ObjectIdentifierValueBlock";var wu,Pt=class extends ot{getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}constructor(t={}){super(t,vs),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};wu=Pt;C.ObjectIdentifier=wu;Pt.NAME="OBJECT IDENTIFIER";var gn=class extends ce(ne){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=F.BufferSourceConverter.toUint8Array(t);if(!ae(this,s,e,n))return-1;let o=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,(o[a]&128)!==0);a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,(o[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Fe(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,o=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)o[i]=s[i]|128;return o[this.blockLength-1]=s[this.blockLength-1],o.buffer}let e=ve(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Dt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),o=e.byteLength-1;for(let i=0;i<o;i++)n[i]=s[i]|128;n[o]=s[o]}return n.buffer}toString(){let t="";return this.isHexOnly?t=F.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};gn.NAME="relativeSidBlock";var Es=class extends ct{constructor({value:t=Sr,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let o=new gn;if(s=o.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=o.error,s;this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let o=this.value[s].toBER(t);if(o.byteLength===0)return this.error=this.value[s].error,Dt;n.push(o)}return mi(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let o=new gn;if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return!0;this.value.push(o)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Es.NAME="RelativeObjectIdentifierValueBlock";var xu,Bs=class extends ot{getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}constructor(t={}){super(t,Es),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};xu=Bs;C.RelativeObjectIdentifier=xu;Bs.NAME="RelativeObjectIdentifier";var vu,xt=class extends Ee{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};vu=xt;C.Sequence=vu;xt.NAME="SEQUENCE";var Eu,As=class extends Ee{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Eu=As;C.Set=Eu;As.NAME="SET";var Ss=class extends ce(ct){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Sr}toJSON(){return{...super.toJSON(),value:this.value}}};Ss.NAME="StringValueBlock";var ks=class extends Ss{};ks.NAME="SimpleStringValueBlock";var pt=class extends ls{constructor({...t}={}){super(t,ks)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,F.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};pt.NAME="SIMPLE STRING";var Is=class extends pt{fromBuffer(t){this.valueBlock.valueHexView=F.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=F.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=F.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(F.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Is.NAME="Utf8StringValueBlock";var Bu,ie=class extends Is{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};Bu=ie;C.Utf8String=Bu;ie.NAME="UTF8String";var Cs=class extends pt{fromBuffer(t){this.valueBlock.value=F.Convert.ToUtf16String(t),this.valueBlock.valueHexView=F.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(F.Convert.FromUtf16String(t))}};Cs.NAME="BmpStringValueBlock";var Au,Ns=class extends Cs{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Au=Ns;C.BmpString=Au;Ns.NAME="BMPString";var Ts=class extends pt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let o=ve(t.charCodeAt(s),8),i=new Uint8Array(o);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[s*4+c+a]=i[c]}this.valueBlock.value=t}};Ts.NAME="UniversalStringValueBlock";var Su,_s=class extends Ts{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Su=_s;C.UniversalString=Su;_s.NAME="UniversalString";var ku,Us=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};ku=Us;C.NumericString=ku;Us.NAME="NumericString";var Iu,Ls=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Iu=Ls;C.PrintableString=Iu;Ls.NAME="PrintableString";var Cu,Rs=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Cu=Rs;C.TeletexString=Cu;Rs.NAME="TeletexString";var Nu,Ds=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Nu=Ds;C.VideotexString=Nu;Ds.NAME="VideotexString";var Tu,Hs=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Tu=Hs;C.IA5String=Tu;Hs.NAME="IA5String";var _u,Ks=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};_u=Ks;C.GraphicString=_u;Ks.NAME="GraphicString";var Uu,yn=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Uu=yn;C.VisibleString=Uu;yn.NAME="VisibleString";var Lu,Os=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Lu=Os;C.GeneralString=Lu;Os.NAME="GeneralString";var Ru,Vs=class extends pt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Ru=Vs;C.CharacterString=Ru;Vs.NAME="CharacterString";var Du,mn=class extends yn{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,F.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=wt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=wt(this.month,2),e[2]=wt(this.day,2),e[3]=wt(this.hour,2),e[4]=wt(this.minute,2),e[5]=wt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Du=mn;C.UTCTime=Du;mn.NAME="UTCTime";var Hu,Ps=class extends mn{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){let t=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(t)}fromString(t){let e=!1,n="",s="",o=0,i,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,f=n.indexOf("+"),d="";if(f===-1&&(f=n.indexOf("-"),u=-1),f!==-1){if(d=n.substring(f+1),n=n.substring(0,f),d.length!==2&&d.length!==4)throw new Error("Wrong input string for conversion");let p=parseInt(d.substring(0,2),10);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*p,d.length===4){if(p=parseInt(d.substring(2,4),10),isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");c=u*p}}}let l=n.indexOf(".");if(l===-1&&(l=n.indexOf(",")),l!==-1){let u=new Number(`0${n.substring(l)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");o=u.valueOf(),s=n.substring(0,l)}else s=n;switch(!0){case s.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,l!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*o;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===12:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*o;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=1e3*o;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let h=i.exec(s);if(h===null)throw new Error("Wrong input string for conversion");for(let u=1;u<h.length;u++)switch(u){case 1:this.year=parseInt(h[u],10);break;case 2:this.month=parseInt(h[u],10);break;case 3:this.day=parseInt(h[u],10);break;case 4:this.hour=parseInt(h[u],10)+a;break;case 5:this.minute=parseInt(h[u],10)+c;break;case 6:this.second=parseInt(h[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(wt(this.year,4)),e.push(wt(this.month,2)),e.push(wt(this.day,2)),e.push(wt(this.hour,2)),e.push(wt(this.minute,2)),e.push(wt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(wt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};Hu=Ps;C.GeneralizedTime=Hu;Ps.NAME="GeneralizedTime";var Ku,Ms=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Ku=Ms;C.DATE=Ku;Ms.NAME="DATE";var Ou,Fs=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Ou=Fs;C.TimeOfDay=Ou;Fs.NAME="TimeOfDay";var Vu,qs=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Vu=qs;C.DateTime=Vu;qs.NAME="DateTime";var Pu,js=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};Pu=js;C.Duration=Pu;js.NAME="Duration";var Mu,$s=class extends ie{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Mu=$s;C.TIME=Mu;$s.NAME="TIME";async function Ys(r,t){let n=await Br.create().encrypt(r,t);return ke.encode(n)}async function xi(r,t,e){if(r.type==="RSA")return gd(r,t,e);if(r.type==="Ed25519")return hd(r,t,e);if(r.type==="secp256k1")return dd(r,t,e);if(r.type==="ECDSA")return pd(r,t,e);throw new Ze}async function hd(r,t,e="libp2p-key"){if(e==="libp2p-key")return Ys(Me(r),t);throw new U(`export format '${e}' is not supported`)}async function dd(r,t,e="libp2p-key"){if(e==="libp2p-key")return Ys(Me(r),t);throw new U("Export format is not supported")}async function pd(r,t,e="libp2p-key"){if(e==="libp2p-key")return Ys(Me(r),t);throw new U(`export format '${e}' is not supported`)}async function gd(r,t,e="pkcs-8"){if(e==="pkcs-8")return yd(r,t);if(e==="libp2p-key")return Ys(Me(r),t);throw new U("Export format is not supported")}async function yd(r,t){let e=X.get(),s=new xt({value:[new oe({value:0}),new xt({value:[new Pt({value:"1.2.840.113549.1.1.1"}),new qe]}),new se({valueHex:r.raw})]}).toBER(),o=new Uint8Array(s,0,s.byteLength),i=Pe(16),a=await Qn(wr,t,i,{c:1e4,dkLen:32}),c=Pe(16),l=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),h=await e.subtle.encrypt({name:"AES-CBC",iv:c},l,o),u=new xt({value:[new se({valueHex:i}),new oe({value:1e4}),new oe({value:32}),new xt({value:[new Pt({value:"1.2.840.113549.2.11"}),new qe]})]}),f=new xt({value:[new Pt({value:"1.2.840.113549.1.5.13"}),new xt({value:[new xt({value:[new Pt({value:"1.2.840.113549.1.5.12"}),u]}),new xt({value:[new Pt({value:"2.16.840.1.101.3.4.1.42"}),new se({valueHex:c})]})]})]}),p=new xt({value:[f,new se({valueHex:h})]}).toBER(),y=new Uint8Array(p,0,p.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...q(y,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
|
7
|
-
`)}async function
|
|
6
|
+
`)}`:`${e} :`}};gu=Se;S.Constructed=gu;Se.NAME="CONSTRUCTED";var ds=class extends lt{fromBER(t,e,n){return e}toBER(t){return Vt}};ds.override="EndOfContentValueBlock";var mu,ps=class extends it{constructor(t={}){super(t,ds),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};mu=ps;S.EndOfContent=mu;ps.NAME=ln;var bu,Me=class extends it{constructor(t={}){super(t,lt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};bu=Me;S.Null=bu;Me.NAME="NULL";var ys=class extends le(lt){get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=F.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}fromBER(t,e,n){let s=F.BufferSourceConverter.toUint8Array(t);return ue(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,vi.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};ys.NAME="BooleanValueBlock";var wu,gs=class extends it{getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}constructor(t={}){super(t,ys),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};wu=gs;S.Boolean=wu;gs.NAME="BOOLEAN";var ms=class extends le(Mt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Mt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let o=0;o<this.value.length;o++){let i=this.value[o].constructor.NAME;if(i===ln){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(i!==hu)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Mt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};ms.NAME="OctetStringValueBlock";var Ai,ie=class extends it{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,o;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},ms),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let o=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(o.byteLength){let i=Gs(o,0,o.byteLength);i.offset!==-1&&i.offset===n&&(this.valueBlock.value=[i.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Se.prototype.onAsciiEncoding.call(this);let t=this.constructor.NAME,e=F.Convert.ToHex(this.valueBlock.valueHexView);return`${t} : ${e}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof Ai&&t.push(e.valueBlock.valueHexView);return F.BufferSourceConverter.concat(t)}};Ai=ie;S.OctetString=Ai;ie.NAME=hu;var bs=class extends le(Mt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Mt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===ln){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==du)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let l=a.valueBlock;if(this.unusedBits>0&&l.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=l.unusedBits}return s}let o=F.BufferSourceConverter.toUint8Array(t);if(!ue(this,o,e,n))return-1;let i=o.subarray(e,e+n);if(this.unusedBits=i[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=i.subarray(1);try{if(a.byteLength){let c=Gs(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=i.subarray(1),this.blockLength=i.length,e+n}toBER(t,e){if(this.isConstructed)return Mt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Vt;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};bs.NAME="BitStringValueBlock";var xu,ws=class extends it{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,o;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((o=n.value)===null||o===void 0)&&o.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},bs),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Se.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let i of e)t.push(i.toString(2).padStart(8,"0"));let n=t.join(""),s=this.constructor.NAME,o=n.substring(0,n.length-this.valueBlock.unusedBits);return`${s} : ${o}`}}};xu=ws;S.BitString=xu;ws.NAME=du;var vu;function pd(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),o=n.slice(0),i=o.length-1,a=s.slice(0),c=a.length-1,l=0,h=c<i?i:c,u=0;for(let f=h;f>=0;f--,u++){switch(!0){case u<a.length:l=o[i-u]+a[c-u]+e[0];break;default:l=o[i-u]+e[0]}switch(e[0]=l/10,!0){case u>=o.length:o=is(new Uint8Array([l%10]),o);break;default:o[i-u]=l%10}}return e[0]>0&&(o=is(e,o)),o}function fu(r){if(r>=an.length)for(let t=an.length;t<=r;t++){let e=new Uint8Array([0]),n=an[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let o=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=o[0]/10,n[s]=o[0]%10}e[0]>0&&(n=is(e,n)),an.push(n)}return an[r]}function yd(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),o=n.slice(0),i=o.length-1,a=s.slice(0),c=a.length-1,l,h=0;for(let u=c;u>=0;u--,h++)switch(l=o[i-h]-a[c-h]-e,!0){case l<0:e=1,o[i-h]=l+10;break;default:e=0,o[i-h]=l}if(e>0)for(let u=i-c+1;u>=0;u--,h++)if(l=o[i-h]-e,l<0)e=1,o[i-h]=l+10;else{e=0,o[i-h]=l;break}return o.slice()}var fn=class extends le(lt){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=vi.call(this)))}constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(cu(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let o=this.fromBER(t,e,n);if(o===-1)return o;let i=this.valueHexView;return i[0]===0&&(i[1]&128)!==0?this.valueHexView=i.subarray(1):s!==0&&i.length<s&&(s-i.length>1&&(s=i.length+1),this.valueHexView=i.subarray(s-i.length)),o}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,o=this.valueHexView,i="",a=!1;for(let c=o.byteLength-1;c>=0;c--){s=o[c];for(let l=0;l<8;l++){if((s&1)===1)switch(n){case t:e=yd(fu(n),e),i="-";break;default:e=pd(e,fu(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(i+=lu.charAt(e[c]));return a===!1&&(i+=lu.charAt(0)),i}};vu=fn;fn.NAME="IntegerValueBlock";Object.defineProperty(vu.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var cn,ae=class extends it{constructor(t={}){super(t,fn),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return as(),BigInt(this.valueBlock.toString())}static fromBigInt(t){as();let e=BigInt(t),n=new un,s=e.toString(16).replace(/^-/,""),o=new Uint8Array(F.Convert.FromHex(s));if(e<0){let a=new Uint8Array(o.length+(o[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${F.Convert.ToHex(a)}`)+e,h=F.BufferSourceConverter.toUint8Array(F.Convert.FromHex(l.toString(16)));h[0]|=128,n.write(h)}else o[0]&128&&n.write(new Uint8Array([0])),n.write(o);return new cn({valueHex:n.final()})}convertToDER(){let t=new cn({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new cn({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};cn=ae;S.Integer=cn;ae.NAME="INTEGER";var Bu,xs=class extends ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Bu=xs;S.Enumerated=Bu;xs.NAME="ENUMERATED";var hn=class extends le(lt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=F.BufferSourceConverter.toUint8Array(t);if(!ue(this,s,e,n))return-1;let o=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,(o[a]&128)!==0);a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,(o[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Pe(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){as();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,o=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)o[i]=s[i]|128;return o[this.blockLength-1]=s[this.blockLength-1],o.buffer}let e=Ae(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Vt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),o=e.byteLength-1;for(let i=0;i<o;i++)n[i]=s[i]|128;n[o]=s[o]}return n}toString(){let t="";if(this.isHexOnly)t=F.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};hn.NAME="sidBlock";var vs=class extends lt{constructor({value:t=Ar,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let o=new hn;if(s=o.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=o.error,s;this.value.length===0&&(o.isFirstSid=!0),this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Vt;e.push(s)}return Bi(e)}fromString(t){this.value=[];let e=0,n=0,s="",o=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,o){let i=this.value[0],a=0;switch(i.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;i.valueDec=c+a,o=!1}else{let i=new hn;if(s>Number.MAX_SAFE_INTEGER){as();let a=BigInt(s);i.valueBigInt=a}else if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return;this.value.length||(i.isFirstSid=!0,o=!0),this.value.push(i)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};vs.NAME="ObjectIdentifierValueBlock";var Eu,Ft=class extends it{getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}constructor(t={}){super(t,vs),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Eu=Ft;S.ObjectIdentifier=Eu;Ft.NAME="OBJECT IDENTIFIER";var dn=class extends le(oe){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=F.BufferSourceConverter.toUint8Array(t);if(!ue(this,s,e,n))return-1;let o=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=o[a]&127,this.blockLength++,(o[a]&128)!==0);a++);let i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)i[a]=this.valueHexView[a];return this.valueHexView=i,(o[this.blockLength-1]&128)!==0?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Pe(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,o=new Uint8Array(this.blockLength);for(let i=0;i<this.blockLength-1;i++)o[i]=s[i]|128;return o[this.blockLength-1]=s[this.blockLength-1],o.buffer}let e=Ae(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Vt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),o=e.byteLength-1;for(let i=0;i<o;i++)n[i]=s[i]|128;n[o]=s[o]}return n.buffer}toString(){let t="";return this.isHexOnly?t=F.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};dn.NAME="relativeSidBlock";var Bs=class extends lt{constructor({value:t=Ar,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let o=new dn;if(s=o.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=o.error,s;this.blockLength+=o.blockLength,n-=o.blockLength,this.value.push(o)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let o=this.value[s].toBER(t);if(o.byteLength===0)return this.error=this.value[s].error,Vt;n.push(o)}return Bi(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let o=new dn;if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return!0;this.value.push(o)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Bs.NAME="RelativeObjectIdentifierValueBlock";var Au,Es=class extends it{getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}constructor(t={}){super(t,Bs),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Au=Es;S.RelativeObjectIdentifier=Au;Es.NAME="RelativeObjectIdentifier";var Su,Et=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};Su=Et;S.Sequence=Su;Et.NAME="SEQUENCE";var ku,As=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};ku=As;S.Set=ku;As.NAME="SET";var Ss=class extends le(lt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Ar}toJSON(){return{...super.toJSON(),value:this.value}}};Ss.NAME="StringValueBlock";var ks=class extends Ss{};ks.NAME="SimpleStringValueBlock";var bt=class extends ls{constructor({...t}={}){super(t,ks)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,F.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};bt.NAME="SIMPLE STRING";var Is=class extends bt{fromBuffer(t){this.valueBlock.valueHexView=F.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=F.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=F.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(F.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Is.NAME="Utf8StringValueBlock";var Iu,ce=class extends Is{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};Iu=ce;S.Utf8String=Iu;ce.NAME="UTF8String";var Cs=class extends bt{fromBuffer(t){this.valueBlock.value=F.Convert.ToUtf16String(t),this.valueBlock.valueHexView=F.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(F.Convert.FromUtf16String(t))}};Cs.NAME="BmpStringValueBlock";var Cu,Ns=class extends Cs{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Cu=Ns;S.BmpString=Cu;Ns.NAME="BMPString";var Us=class extends bt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let o=Ae(t.charCodeAt(s),8),i=new Uint8Array(o);if(i.length>4)continue;let a=4-i.length;for(let c=i.length-1;c>=0;c--)n[s*4+c+a]=i[c]}this.valueBlock.value=t}};Us.NAME="UniversalStringValueBlock";var Nu,_s=class extends Us{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Nu=_s;S.UniversalString=Nu;_s.NAME="UniversalString";var Uu,Ts=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Uu=Ts;S.NumericString=Uu;Ts.NAME="NumericString";var _u,Ls=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};_u=Ls;S.PrintableString=_u;Ls.NAME="PrintableString";var Tu,Rs=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Tu=Rs;S.TeletexString=Tu;Rs.NAME="TeletexString";var Lu,Ks=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Lu=Ks;S.VideotexString=Lu;Ks.NAME="VideotexString";var Ru,Ds=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Ru=Ds;S.IA5String=Ru;Ds.NAME="IA5String";var Ku,Vs=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Ku=Vs;S.GraphicString=Ku;Vs.NAME="GraphicString";var Du,pn=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Du=pn;S.VisibleString=Du;pn.NAME="VisibleString";var Vu,Hs=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Vu=Hs;S.GeneralString=Vu;Hs.NAME="GeneralString";var Hu,Os=class extends bt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Hu=Os;S.CharacterString=Hu;Os.NAME="CharacterString";var Ou,yn=class extends pn{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,F.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=Bt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=Bt(this.month,2),e[2]=Bt(this.day,2),e[3]=Bt(this.hour,2),e[4]=Bt(this.minute,2),e[5]=Bt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Ou=yn;S.UTCTime=Ou;yn.NAME="UTCTime";var Pu,Ps=class extends yn{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){let t=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(t)}fromString(t){let e=!1,n="",s="",o=0,i,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,f=n.indexOf("+"),d="";if(f===-1&&(f=n.indexOf("-"),u=-1),f!==-1){if(d=n.substring(f+1),n=n.substring(0,f),d.length!==2&&d.length!==4)throw new Error("Wrong input string for conversion");let p=parseInt(d.substring(0,2),10);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*p,d.length===4){if(p=parseInt(d.substring(2,4),10),isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");c=u*p}}}let l=n.indexOf(".");if(l===-1&&(l=n.indexOf(",")),l!==-1){let u=new Number(`0${n.substring(l)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");o=u.valueOf(),s=n.substring(0,l)}else s=n;switch(!0){case s.length===8:if(i=/(\d{4})(\d{2})(\d{2})/ig,l!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*o;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===12:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*o;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===14:if(i=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=1e3*o;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let h=i.exec(s);if(h===null)throw new Error("Wrong input string for conversion");for(let u=1;u<h.length;u++)switch(u){case 1:this.year=parseInt(h[u],10);break;case 2:this.month=parseInt(h[u],10);break;case 3:this.day=parseInt(h[u],10);break;case 4:this.hour=parseInt(h[u],10)+a;break;case 5:this.minute=parseInt(h[u],10)+c;break;case 6:this.second=parseInt(h[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(Bt(this.year,4)),e.push(Bt(this.month,2)),e.push(Bt(this.day,2)),e.push(Bt(this.hour,2)),e.push(Bt(this.minute,2)),e.push(Bt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(Bt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};Pu=Ps;S.GeneralizedTime=Pu;Ps.NAME="GeneralizedTime";var Mu,Ms=class extends ce{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Mu=Ms;S.DATE=Mu;Ms.NAME="DATE";var Fu,Fs=class extends ce{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Fu=Fs;S.TimeOfDay=Fu;Fs.NAME="TimeOfDay";var qu,qs=class extends ce{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};qu=qs;S.DateTime=qu;qs.NAME="DateTime";var ju,js=class extends ce{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};ju=js;S.Duration=ju;js.NAME="Duration";var $u,$s=class extends ce{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};$u=$s;S.TIME=$u;$s.NAME="TIME";async function zs(r,t){let n=await Br.create().encrypt(r,t);return Ie.encode(n)}async function Si(r,t,e){if(r.type==="RSA")return wd(r,t,e);if(r.type==="Ed25519")return gd(r,t,e);if(r.type==="secp256k1")return md(r,t,e);if(r.type==="ECDSA")return bd(r,t,e);throw new $e}async function gd(r,t,e="libp2p-key"){if(e==="libp2p-key")return zs(Oe(r),t);throw new L(`export format '${e}' is not supported`)}async function md(r,t,e="libp2p-key"){if(e==="libp2p-key")return zs(Oe(r),t);throw new L("Export format is not supported")}async function bd(r,t,e="libp2p-key"){if(e==="libp2p-key")return zs(Oe(r),t);throw new L(`export format '${e}' is not supported`)}async function wd(r,t,e="pkcs-8"){if(e==="pkcs-8")return xd(r,t);if(e==="libp2p-key")return zs(Oe(r),t);throw new L("Export format is not supported")}async function xd(r,t){let e=Q.get(),s=new Et({value:[new ae({value:0}),new Et({value:[new Ft({value:"1.2.840.113549.1.1.1"}),new Me]}),new ie({valueHex:r.raw})]}).toBER(),o=new Uint8Array(s,0,s.byteLength),i=He(16),a=await Qn(br,t,i,{c:1e4,dkLen:32}),c=He(16),l=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),h=await e.subtle.encrypt({name:"AES-CBC",iv:c},l,o),u=new Et({value:[new ie({valueHex:i}),new ae({value:1e4}),new ae({value:32}),new Et({value:[new Ft({value:"1.2.840.113549.2.11"}),new Me]})]}),f=new Et({value:[new Ft({value:"1.2.840.113549.1.5.13"}),new Et({value:[new Et({value:[new Ft({value:"1.2.840.113549.1.5.12"}),u]}),new Et({value:[new Ft({value:"2.16.840.1.101.3.4.1.42"}),new ie({valueHex:c})]})]})]}),p=new Et({value:[f,new ie({valueHex:h})]}).toBER(),w=new Uint8Array(p,0,p.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...q(w,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
|
|
7
|
+
`)}async function ki(r,t){try{let e=await vd(r,t);return Oc(e)}catch{}if(!r.includes("BEGIN"))throw new L("Encrypted key was not a libp2p-key or a PEM file");return Bd(r,t)}async function vd(r,t){let e=Ie.decode(r);return Br.create().decrypt(e,t)}async function Bd(r,t){let e=Q.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let o=M(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=Zs(o),{iv:a,salt:c,iterations:l,keySize:h,cipherText:u}=Ed(i),f=await Qn(br,t,c,{c:l,dkLen:h}),d=await e.subtle.importKey("raw",f,"AES-CBC",!1,["decrypt"]),p=gn(await e.subtle.decrypt({name:"AES-CBC",iv:a},d,u)),{result:w}=Zs(p);n=Yu(w)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let o=M(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=Zs(o);n=Yu(i)}else throw new L("Could not parse private key from PEM data");let s=Pc(n);if(s.type!=="RSA")throw new L("Could not parse RSA private key from PEM data");return s}function Ed(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new L("Only pkcs5PBES2 encrypted private keys are supported");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new L("Only pkcs5PBKDF2 key derivation functions are supported");let o=n.valueBlock.value[1],i=gn(o.valueBlock.value[0].getValue()),a=1e4,c=32;if(o.valueBlock.value.length===3)a=Number(o.valueBlock.value[1].toBigInt()),c=Number(o.valueBlock.value[2].toBigInt());else if(o.valueBlock.value.length===2)throw new L("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key");let l=t.valueBlock.value[1].valueBlock.value[1],h=l.valueBlock.value[0].toString();if(h!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(h!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(h!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(h!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(h!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new L("Only AES-CBC encryption schemes are supported")}}}}let u=gn(l.valueBlock.value[1].getValue());return{cipherText:gn(r.valueBlock.value[1].getValue()),salt:i,iterations:a,keySize:c,iv:u}}function Yu(r){return gn(r.valueBlock.value[2].getValue())}function gn(r){return new Uint8Array(r,0,r.byteLength)}var Ad="/pkcs8/",Ci="/info/",mn=new WeakMap,Fe={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Ii={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Sr(r){return r==null||typeof r!="string"?!1:r===(0,Wu.default)(r.trim())&&r.length>0}async function at(){let e=Math.random()*800+200;await new Promise(n=>setTimeout(n,e))}function qe(r){return new on(Ad+r)}function kr(r){return new on(Ci+r)}async function Sd(r){let t=Oe(r),e=await Xe.digest(t);return tt.encode(e.bytes).substring(1)}var Ys=class{components;init;log;self;constructor(t,e){if(this.components=t,this.log=t.logger.forComponent("libp2p:keychain"),this.init=Wc(Ii,e),this.self=e.selfKey??"self",this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Fe.minKeyLength)throw new Error(`dek.keyLength must be least ${Fe.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Fe.minSaltLength)throw new Error(`dek.saltLength must be least ${Fe.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Fe.minIterationCount)throw new Error(`dek.iterationCount must be least ${Fe.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?sn(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";mn.set(this,{dek:n})}[Symbol.toStringTag]="@libp2p/keychain";[Ri]=["@libp2p/keychain"];static generateOptions(){let t=Object.assign({},Ii),e=Math.ceil(Fe.minSaltLength/3)*3;return t.dek.salt=q(He(e),"base64"),t}static get options(){return Ii}async findKeyByName(t){if(!Sr(t))throw await at(),new L(`Invalid key name '${t}'`);let e=kr(t);try{let n=await this.components.datastore.get(e);return JSON.parse(q(n))}catch(n){throw await at(),this.log.error(n),new vn(`Key '${t}' does not exist.`)}}async findKeyById(t){try{let e={prefix:Ci};for await(let n of this.components.datastore.query(e)){let s=JSON.parse(q(n.value));if(s.id===t)return s}throw new L(`Key with id '${t}' does not exist.`)}catch(e){throw await at(),e}}async importKey(t,e){if(!Sr(t))throw await at(),new L(`Invalid key name '${t}'`);if(e==null)throw await at(),new L("Key is required");let n=qe(t);if(await this.components.datastore.has(n))throw await at(),new L(`Key '${t}' already exists`);let o,i;try{o=await Sd(e);let l=mn.get(this);if(l==null)throw new L("dek missing");let h=l.dek;i=await Si(e,h,e.type==="RSA"?"pkcs-8":"libp2p-key")}catch(l){throw await at(),l}let a={name:t,id:o},c=this.components.datastore.batch();return c.put(n,M(i)),c.put(kr(t),M(JSON.stringify(a))),await c.commit(),a}async exportKey(t){if(!Sr(t))throw await at(),new L(`Invalid key name '${t}'`);let e=qe(t);try{let n=await this.components.datastore.get(e),s=q(n),o=mn.get(this);if(o==null)throw new L("dek missing");let i=o.dek;return await ki(s,i)}catch(n){throw await at(),n}}async removeKey(t){if(!Sr(t)||t===this.self)throw await at(),new L(`Invalid key name '${t}'`);let e=qe(t),n=await this.findKeyByName(t),s=this.components.datastore.batch();return s.delete(e),s.delete(kr(t)),await s.commit(),n}async listKeys(){let t={prefix:Ci},e=[];for await(let n of this.components.datastore.query(t))e.push(JSON.parse(q(n.value)));return e}async renameKey(t,e){if(!Sr(t)||t===this.self)throw await at(),new L(`Invalid old key name '${t}'`);if(!Sr(e)||e===this.self)throw await at(),new L(`Invalid new key name '${e}'`);let n=qe(t),s=qe(e),o=kr(t),i=kr(e);if(await this.components.datastore.has(s))throw await at(),new L(`Key '${e}' already exists`);try{let c=await this.components.datastore.get(n),l=await this.components.datastore.get(o),h=JSON.parse(q(l));h.name=e;let u=this.components.datastore.batch();return u.put(s,c),u.put(i,M(JSON.stringify(h))),u.delete(n),u.delete(o),await u.commit(),h}catch(c){throw await at(),c}}async rotateKeychainPass(t,e){if(typeof t!="string")throw await at(),new L(`Invalid old pass type '${typeof t}'`);if(typeof e!="string")throw await at(),new L(`Invalid new pass type '${typeof e}'`);if(e.length<20)throw await at(),new L(`Invalid pass length ${e.length}`);this.log("recreating keychain");let n=mn.get(this);if(n==null)throw new L("dek missing");let s=n.dek;this.init.pass=e;let o=e!=null&&this.init.dek?.salt!=null?sn(e,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";mn.set(this,{dek:o});let i=await this.listKeys();for(let a of i){let c=await this.components.datastore.get(qe(a.name)),l=q(c),h=await ki(l,s),u=o.toString(),f=await Si(h,u,h.type==="RSA"?"pkcs-8":"libp2p-key"),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(qe(a.name),M(f)),d.put(kr(a.name),M(JSON.stringify(p))),await d.commit()}this.log("keychain reconstructed")}};function kd(r={}){return t=>new Ys(t,r)}return rl(Id);})();
|
|
8
8
|
/*! Bundled license information:
|
|
9
9
|
|
|
10
10
|
pvtsutils/build/index.js:
|