UNPKG

@libp2p/peer-id

Version:
2 lines • 104 kB
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPeerId = factory()}(typeof self !== 'undefined' ? self : this, function () { "use strict";var Libp2PPeerId=(()=>{var Pr=Object.defineProperty;var mi=Object.getOwnPropertyDescriptor;var yi=Object.getOwnPropertyNames;var bi=Object.prototype.hasOwnProperty;var it=(e,t)=>{for(var r in t)Pr(e,r,{get:t[r],enumerable:!0})},gi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of yi(t))!bi.call(e,o)&&o!==r&&Pr(e,o,{get:()=>t[o],enumerable:!(n=mi(t,o))||n.enumerable});return e};var xi=e=>gi(Pr({},"__esModule",{value:!0}),e);var Wa={};it(Wa,{peerIdFromCID:()=>pi,peerIdFromMultihash:()=>uo,peerIdFromPrivateKey:()=>Ga,peerIdFromPublicKey:()=>di,peerIdFromString:()=>Ya});var Et=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},tr=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var er=class extends Error{static name="InvalidCIDError";constructor(t="Invalid CID"){super(t),this.name="InvalidCIDError"}},rr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var re=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var Mr=Symbol.for("@libp2p/peer-id");var zr={};it(zr,{base58btc:()=>Y,base58flickr:()=>_i});var ef=new Uint8Array(0);function mo(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function lt(e){if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return zt(e);if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return zt(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));throw new Error("Unknown type, must be binary type")}function yo(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}var po=4096;function bo(e){let t=e.length;if(t<=po)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.subarray(n,n+=po));return r}function wi(e){return e?.buffer instanceof ArrayBuffer}function zt(e){return wi(e)?e:e.slice()}function Ei(e,t,r){if(e.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),o=0;o<n.length;o++)n[o]=255;for(var s=0;s<e.length;s++){var i=e.charAt(s),c=i.charCodeAt(0);if(n[c]!==255)throw new TypeError(i+" is ambiguous");if(n[c]=s,r){var f=i.toLowerCase().charCodeAt(0),a=i.toUpperCase().charCodeAt(0);f!==c&&(n[f]=s),a!==c&&(n[a]=s)}}var u=e.length,l=e.charAt(0),x=Math.log(u)/Math.log(256),d=Math.log(256)/Math.log(u);function A(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,C=0,L=p.length;C!==L&&p[C]===0;)C++,w++;for(var U=(L-C)*d+1>>>0,R=new Uint8Array(U);C!==L;){for(var v=p[C],K=0,N=U-1;(v!==0||K<B)&&N!==-1;N--,K++)v+=256*R[N]>>>0,R[N]=v%u>>>0,v=v/u>>>0;if(v!==0)throw new Error("Non-zero carry");B=K,C++}for(var F=U-B;F!==U&&R[F]===0;)F++;for(var h=l.repeat(w);F<U;++F)h+=e.charAt(R[F]);return h}function _(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,C=0;p[w]===l;)B++,w++;for(var L=(p.length-w)*x+1>>>0,U=new Uint8Array(L);p[w];){var R=n[p.charCodeAt(w)];if(R===255)return;for(var v=0,K=L-1;(R!==0||v<C)&&K!==-1;K--,v++)R+=u*U[K]>>>0,U[K]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");C=v,w++}if(p[w]!==" "){for(var N=L-C;N!==L&&U[N]===0;)N++;for(var F=new Uint8Array(B+(L-N)),h=B;N!==L;)F[h++]=U[N++];return F}}}function m(p){var w=_(p);if(w)return w;throw new Error(`Non-${t} character`)}return{encode:A,decodeUnsafe:_,decode:m}}var Si=Ei,Ai=Si,xo=Ai;var Hr=class{name;prefix;baseEncode;constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},qr=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,r,n){this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,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 wo(this,t)}},Vr=class{decoders;constructor(t){this.decoders=t}or(t){return wo(this,t)}decode(t){let r=t[0],n=this.decoders[r];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 wo(e,t){return new Vr({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var jr=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,o){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Hr(t,r,n),this.decoder=new qr(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function ne({name:e,prefix:t,encode:r,decode:n}){return new jr(e,t,r,n)}function Rt({name:e,prefix:t,alphabet:r,caseInsensitive:n=!1}){let{encode:o,decode:s}=xo(r,e,n);return ne({prefix:t,name:e,encode:o,decode:i=>lt(s(i))})}function Bi(e,t,r,n){let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,c=0,f=0;for(let a=0;a<o;++a){let u=t[e[a]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|u,i+=r,i>=8&&(i-=8,s[f++]=255&c>>i)}if(i>=r||(255&c<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function vi(e,t,r){let n=t[t.length-1]==="=",o=(1<<r)-1,s="",i=0,c=0;for(let f=0;f<e.length;++f)for(c=c<<8|e[f],i+=8;i>r;)i-=r,s+=t[o&c>>i];if(i!==0&&(s+=t[o&c<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function Ii(e,t){let r={};for(let n=0;n<e.length;++n)if(r[e[n]]=n,t){let o=e[n].toLowerCase(),s=e[n].toUpperCase();o!==e[n]&&(r[o]=n),s!==e[n]&&(r[s]=n)}return r}function V({name:e,prefix:t,bitsPerChar:r,alphabet:n,caseInsensitive:o=!1}){let s=Ii(n,o);return ne({prefix:t,name:e,encode(i){return vi(i,n,r)},decode(i){return Bi(i,s,r,e)}})}var Y=Rt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),_i=Rt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Zr={};it(Zr,{base32:()=>oe,base32hex:()=>Ri,base32hexpad:()=>Oi,base32hexpadupper:()=>Fi,base32hexupper:()=>Ci,base32pad:()=>Li,base32padupper:()=>Di,base32upper:()=>Ti,base32z:()=>Ui});var oe=V({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5,caseInsensitive:!0}),Ti=V({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5,caseInsensitive:!0}),Li=V({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5,caseInsensitive:!0}),Di=V({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5,caseInsensitive:!0}),Ri=V({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5,caseInsensitive:!0}),Ci=V({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5,caseInsensitive:!0}),Oi=V({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5,caseInsensitive:!0}),Fi=V({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5,caseInsensitive:!0}),Ui=V({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Yr={};it(Yr,{base36:()=>Ae,base36upper:()=>Ki});var Ae=Rt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz",caseInsensitive:!0}),Ki=Rt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",caseInsensitive:!0});var Ni=Ao,Eo=128,ki=127,Pi=~ki,Mi=Math.pow(2,31);function Ao(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Mi;)t[r++]=e&255|Eo,e/=128;for(;e&Pi;)t[r++]=e&255|Eo,e>>>=7;return t[r]=e|0,Ao.bytes=r-n+1,t}var Hi=Gr,qi=128,So=127;function Gr(e,n){var r=0,n=n||0,o=0,s=n,i,c=e.length;do{if(s>=c)throw Gr.bytes=0,new RangeError("Could not decode varint");i=e[s++],r+=o<28?(i&So)<<o:(i&So)*Math.pow(2,o),o+=7}while(i>=qi);return Gr.bytes=s-n,r}var Vi=Math.pow(2,7),ji=Math.pow(2,14),zi=Math.pow(2,21),Zi=Math.pow(2,28),Yi=Math.pow(2,35),Gi=Math.pow(2,42),$i=Math.pow(2,49),Xi=Math.pow(2,56),Wi=Math.pow(2,63),Qi=function(e){return e<Vi?1:e<ji?2:e<zi?3:e<Zi?4:e<Yi?5:e<Gi?6:e<$i?7:e<Xi?8:e<Wi?9:10},Ji={encode:Ni,decode:Hi,encodingLength:Qi},tc=Ji,Be=tc;function ve(e,t=0){return[Be.decode(e,t),Be.decode.bytes]}function se(e,t,r=0){return Be.encode(e,t,r),t}function ie(e){return Be.encodingLength(e)}function ae(e,t){let r=t.byteLength,n=ie(e),o=n+ie(r),s=new Uint8Array(o+r);return se(e,s,0),se(r,s,n),s.set(t,o),new ce(e,r,t,s)}function Ie(e){let t=lt(e),[r,n]=ve(t),[o,s]=ve(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ce(r,o,i,t)}function Bo(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&mo(e.bytes,r.bytes)}}var ce=class{code;size;digest;bytes;constructor(t,r,n,o){this.code=t,this.size=r,this.digest=zt(n),this.bytes=zt(o)}};function vo(e,t){let{bytes:r,version:n}=e;return n===0?rc(r,$r(e),t??Y.encoder):nc(r,$r(e),t??oe.encoder)}var Io=new WeakMap;function $r(e){let t=Io.get(e);if(t==null){let r=new Map;return Io.set(e,r),r}return t}var rt=class e{code;version;multihash;bytes;"/";constructor(t,r,n,o){this.code=r,this.version=t,this.multihash=n,this.bytes=zt(o),this["/"]=this.bytes}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:r}=this;if(t!==_e)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==oc)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}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:r}=this.multihash,n=ae(t,r);return e.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 e.equals(this,t)}static equals(t,r){let n=r;return n!=null&&t.code===n.code&&t.version===n.version&&Bo(t.multihash,n.multihash)}toString(t){return vo(this,t)}toJSON(){return{"/":vo(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 r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new e(n,o,s,i??_o(n,o,s.bytes))}else if(r[sc]===!0){let{version:n,multihash:o,code:s}=r,i=Ie(o);return e.create(n,s,i)}else return null}static create(t,r,n){if(typeof r!="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(r!==_e)throw new Error(`Version 0 CID must use dag-pb (code: ${_e}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let o=_o(t,r,n.bytes);return new e(t,r,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,_e,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,o=lt(t.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ce(r.multihashCode,r.digestSize,s,o);return[r.version===0?e.createV0(i):e.createV1(r.codec,i),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,x]=ve(t.subarray(r));return r+=x,l},o=n(),s=_e;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,c=n(),f=n(),a=r+f,u=a-i;return{version:o,codec:s,multihashCode:c,digestSize:f,multihashSize:u,size:a}}static parse(t,r){let[n,o]=ec(t,r),s=e.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return $r(s).set(n,t),s}};function ec(e,t){switch(e[0]){case"Q":{let r=t??Y;return[Y.prefix,r.decode(`${Y.prefix}${e}`)]}case Y.prefix:{let r=t??Y;return[Y.prefix,r.decode(e)]}case oe.prefix:{let r=t??oe;return[oe.prefix,r.decode(e)]}case Ae.prefix:{let r=t??Ae;return[Ae.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function rc(e,t,r){let{prefix:n}=r;if(n!==Y.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return o}function nc(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let s=r.encode(e);return t.set(n,s),s}else return o}var _e=112,oc=18;function _o(e,t,r){let n=ie(e),o=n+ie(t),s=new Uint8Array(o+r.byteLength);return se(e,s,0),se(t,s,n),s.set(r,o),s}var sc=Symbol.for("@ipld/js-cid/CID");var Xr={};it(Xr,{identity:()=>dt});var To=0,ic="identity",Lo=lt;function cc(e,t){if(t?.truncate!=null&&t.truncate!==e.byteLength){if(t.truncate<0||t.truncate>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,t.truncate)}return ae(To,Lo(e))}var dt={code:To,name:ic,encode:Lo,digest:cc};function pt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function ac(e){return e.buffer instanceof ArrayBuffer}function Ct(e){return ac(e)?e:e.slice()}async function Do(e,t,r,n){let o=await crypto.subtle.importKey("jwk",e,{name:"ECDSA",namedCurve:e.crv??"P-256"},!1,["verify"]);n?.signal?.throwIfAborted();let s=await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,Ct(t),Ct(r.subarray()));return n?.signal?.throwIfAborted(),s}function vt(e=0){return new Uint8Array(e)}function ct(e=0){return new Uint8Array(e)}function fc(e){return e?.buffer instanceof ArrayBuffer}function Ro(e){if(fc(e))return e;let t=e.slice();return new Uint8Array(t.buffer,0,t.byteLength)}function or(e,t){t==null&&(t=e.reduce((o,s)=>o+s.length,0));let r=ct(t),n=0;for(let o of e)r.set(o,n),n+=o.length;return Ro(r)}var Oo=Symbol.for("@achingbrain/uint8arraylist");function Co(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let o=r+n.byteLength;if(t<o)return{buf:n,index:t-r};r=o}throw new RangeError("index is out of bounds")}function sr(e){return!!e?.[Oo]}var at=class e{bufs;length;[Oo]=!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 r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(sr(n)){r+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(sr(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=Co(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Co(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(sr(t))for(let n=0;n<t.length;n++)this.set(r+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,r){let{bufs:n,length:o}=this._subList(t,r);return or(n,o)}subarray(t,r){let{bufs:n,length:o}=this._subList(t,r);return n.length===1?n[0]:or(n,o)}sublist(t,r){let{bufs:n,length:o}=this._subList(t,r),s=new e;return s.length=o,s.bufs=n,s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],o=0;for(let s=0;s<this.bufs.length;s++){let i=this.bufs[s],c=o,f=c+i.byteLength;if(o=f,t>=f)continue;let a=t>=c&&t<f,u=r>c&&r<=f;if(a&&u){if(t===c&&r===f){n.push(i);break}let l=t-c;n.push(i.subarray(l,l+(r-t)));break}if(a){if(t===0){n.push(i);continue}n.push(i.subarray(t-c));continue}if(u){if(r===f){n.push(i);break}n.push(i.subarray(0,r-c));break}n.push(i)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!sr(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(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let s=256,i=new Int32Array(s);for(let l=0;l<s;l++)i[l]=-1;for(let l=0;l<o;l++)i[n[l]]=l;let c=i,f=this.byteLength-n.byteLength,a=n.byteLength-1,u;for(let l=r;l<=f;l+=u){u=0;for(let x=a;x>=0;x--){let d=this.get(l+x);if(n[x]!==d){u=Math.max(1,x-c[d]);break}}if(u===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let o=vt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let o=vt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let o=vt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let o=vt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let o=vt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let o=vt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let o=vt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let o=vt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!pt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((o,s)=>o+s.byteLength,0)),n.length=r,n}};var Wr={};it(Wr,{base10:()=>uc});var uc=Rt({prefix:"9",name:"base10",alphabet:"0123456789"});var Qr={};it(Qr,{base16:()=>hc,base16upper:()=>lc});var hc=V({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4,caseInsensitive:!0}),lc=V({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4,caseInsensitive:!0});var Jr={};it(Jr,{base2:()=>dc});var dc=V({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var tn={};it(tn,{base256emoji:()=>gc});var Fo=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}"),pc=Fo.reduce((e,t,r)=>(e[r]=t,e),[]),mc=Fo.reduce((e,t,r)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return e[n]=r,e},[]);function yc(e){return e.reduce((t,r)=>(t+=pc[r],t),"")}function bc(e){let t=[];for(let r of e){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=mc[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);t.push(o)}return new Uint8Array(t)}var gc=ne({prefix:"\u{1F680}",name:"base256emoji",encode:yc,decode:bc});var en={};it(en,{base64:()=>xc,base64pad:()=>wc,base64url:()=>Ec,base64urlpad:()=>Sc});var xc=V({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),wc=V({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ec=V({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Sc=V({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var rn={};it(rn,{base8:()=>Ac});var Ac=V({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var nn={};it(nn,{identity:()=>Bc});var Bc=ne({prefix:"\0",name:"identity",encode:e=>bo(lt(e)),decode:e=>lt(yo(e))});var Hf=new TextEncoder,qf=new TextDecoder;var cn={};it(cn,{sha256:()=>Te,sha512:()=>Tc});var _c=20;function sn({name:e,code:t,encode:r,minDigestLength:n,maxDigestLength:o}){return new on(e,t,r,n,o)}var on=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,r,n,o,s){this.name=t,this.code=r,this.encode=n,this.minDigestLength=o??_c,this.maxDigestLength=s}digest(t,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?Uo(n,this.code,r?.truncate):n.then(o=>Uo(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function Uo(e,t,r){if(r!=null&&r!==e.byteLength){if(r>e.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${e.byteLength}`);e=e.subarray(0,r)}return ae(t,e)}function No(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var Te=sn({name:"sha2-256",code:18,encode:No("SHA-256")}),Tc=sn({name:"sha2-512",code:19,encode:No("SHA-512")});var an={...nn,...Jr,...rn,...Wr,...Qr,...Zr,...Yr,...zr,...en,...tn},tu={...cn,...Xr};function Po(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ko=Po("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),fn=Po("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=ct(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Lc={utf8:ko,"utf-8":ko,hex:an.base16,latin1:fn,ascii:fn,binary:fn,...an},ir=Lc;function Ot(e,t="utf8"){let r=ir[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.decoder.decode(`${r.prefix}${e}`)}function ft(e,t="utf8"){let r=ir[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return r.encoder.encode(e).substring(1)}var Dc=parseInt("11111",2),un=parseInt("10000000",2),Rc=parseInt("01111111",2),Mo={0:Le,1:Le,2:Cc,3:Uc,4:Kc,5:Fc,6:Oc,16:Le,22:Le,48:Le};function hn(e,t={offset:0}){let r=e[t.offset]&Dc;if(t.offset++,Mo[r]!=null)return Mo[r](e,t);throw new Error("No decoder for tag "+r)}function De(e,t){let r=0;if((e[t.offset]&un)===un){let n=e[t.offset]&Rc,o="0x";t.offset++;for(let s=0;s<n;s++,t.offset++)o+=e[t.offset].toString(16).padStart(2,"0");r=parseInt(o,16)}else r=e[t.offset],t.offset++;return r}function Le(e,t){De(e,t);let r=[];for(;!(t.offset>=e.byteLength);){let n=hn(e,t);if(n===null)break;r.push(n)}return r}function Cc(e,t){let r=De(e,t),n=t.offset,o=t.offset+r,s=[];for(let i=n;i<o;i++)i===n&&e[i]===0||s.push(e[i]);return t.offset+=r,Uint8Array.from(s)}function Oc(e,t){let r=De(e,t),n=t.offset+r,o=e[t.offset];t.offset++;let s=0,i=0;o<40?(s=0,i=o):o<80?(s=1,i=o-40):(s=2,i=o-80);let c=`${s}.${i}`,f=[];for(;t.offset<n;){let a=e[t.offset];if(t.offset++,f.push(a&127),a<128){f.reverse();let u=0;for(let l=0;l<f.length;l++)u+=f[l]<<l*7;c+=`.${u}`,f=[]}}return c}function Fc(e,t){return t.offset++,null}function Uc(e,t){let r=De(e,t),n=e[t.offset];t.offset++;let o=e.subarray(t.offset,t.offset+r-1);if(t.offset+=r,n!==0)throw new Error("Unused bits in bit string is unimplemented");return o}function Kc(e,t){let r=De(e,t),n=e.subarray(t.offset,t.offset+r);return t.offset+=r,n}function Nc(e){let t=e.toString(16);t.length%2===1&&(t="0"+t);let r=new at;for(let n=0;n<t.length;n+=2)r.append(Uint8Array.from([parseInt(`${t[n]}${t[n+1]}`,16)]));return r}function ln(e){if(e.byteLength<128)return Uint8Array.from([e.byteLength]);let t=Nc(e.byteLength);return new at(Uint8Array.from([t.byteLength|un]),t)}function Ho(e){let t=new at,r=128;return(e.subarray()[0]&r)===r&&t.append(Uint8Array.from([0])),t.append(e),new at(Uint8Array.from([2]),ln(t),t)}function qo(e){let t=Uint8Array.from([0]),r=new at(t,e);return new at(Uint8Array.from([3]),ln(r),r)}function cr(e,t=48){let r=new at;for(let n of e)r.append(n);return new at(Uint8Array.from([t]),ln(r),r)}var kc=Uint8Array.from([6,8,42,134,72,206,61,3,1,7]),Pc=Uint8Array.from([6,5,43,129,4,0,34]),Mc=Uint8Array.from([6,5,43,129,4,0,35]),Hc={ext:!0,kty:"EC",crv:"P-256"},qc={ext:!0,kty:"EC",crv:"P-384"},Vc={ext:!0,kty:"EC",crv:"P-521"},dn=32,pn=48,mn=66;function Vo(e){let t=hn(e);return jo(t)}function jo(e){let t=e[1][1][0],r=1,n,o;if(t.byteLength===dn*2+1)return n=ft(t.subarray(r,r+dn),"base64url"),o=ft(t.subarray(r+dn),"base64url"),new ue({...Hc,key_ops:["verify"],x:n,y:o});if(t.byteLength===pn*2+1)return n=ft(t.subarray(r,r+pn),"base64url"),o=ft(t.subarray(r+pn),"base64url"),new ue({...qc,key_ops:["verify"],x:n,y:o});if(t.byteLength===mn*2+1)return n=ft(t.subarray(r,r+mn),"base64url"),o=ft(t.subarray(r+mn),"base64url"),new ue({...Vc,key_ops:["verify"],x:n,y:o});throw new Et(`coordinates were wrong length, got ${t.byteLength}, expected 65, 97 or 133`)}function zo(e){return cr([Ho(Uint8Array.from([1])),cr([jc(e.crv)],160),cr([qo(new at(Uint8Array.from([4]),Ot(e.x??"","base64url"),Ot(e.y??"","base64url")))],161)]).subarray()}function jc(e){if(e==="P-256")return kc;if(e==="P-384")return Pc;if(e==="P-521")return Mc;throw new Et(`Invalid curve ${e}`)}var ue=class{type="ECDSA";jwk;_raw;constructor(t){this.jwk=t}get raw(){return this._raw==null&&(this._raw=zo(this.jwk)),this._raw}toMultihash(){return dt.digest(he(this))}toCID(){return rt.createV1(114,this.toMultihash())}toString(){return Y.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:pt(this.raw,t.raw)}async verify(t,r,n){return Do(this.jwk,r,t,n)}};function yn(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function Ft(e,t=""){if(typeof e!="number"){let r=t&&`"${t}" `;throw new TypeError(`${r}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw new RangeError(`${r}expected integer >= 0, got ${e}`)}}function ut(e,t,r=""){let n=yn(e),o=e?.length,s=t!==void 0;if(!n||s&&o!==t){let i=r&&`"${r}" `,c=s?` of length ${t}`:"",f=n?`length=${o}`:`type=${typeof e}`,a=i+"expected Uint8Array"+c+", got "+f;throw n?new RangeError(a):new TypeError(a)}return e}function ar(e){if(typeof e!="function"||typeof e.create!="function")throw new TypeError("Hash must wrapped by utils.createHasher");if(Ft(e.outputLen),Ft(e.blockLen),e.outputLen<1)throw new Error('"outputLen" must be >= 1');if(e.blockLen<1)throw new Error('"blockLen" must be >= 1')}function le(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function fr(e,t){ut(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw new RangeError('"digestInto() output" expected to be of length >='+r)}function _t(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function ur(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function mt(e,t){return e<<32-t|e>>>t}var Yo=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",zc=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function hr(e){if(ut(e),Yo)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=zc[e[r]];return t}var It={_0:48,_9:57,A:65,F:70,a:97,f:102};function Zo(e){if(e>=It._0&&e<=It._9)return e-It._0;if(e>=It.A&&e<=It.F)return e-(It.A-10);if(e>=It.a&&e<=It.f)return e-(It.a-10)}function Re(e){if(typeof e!="string")throw new TypeError("hex string expected, got "+typeof e);if(Yo)try{return Uint8Array.fromHex(e)}catch(o){throw o instanceof SyntaxError?new RangeError(o.message):o}let t=e.length,r=t/2;if(t%2)throw new RangeError("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,s=0;o<r;o++,s+=2){let i=Zo(e.charCodeAt(s)),c=Zo(e.charCodeAt(s+1));if(i===void 0||c===void 0){let f=e[s]+e[s+1];throw new RangeError('hex string expected, got non-hex character "'+f+'" at index '+s)}n[o]=i*16+c}return n}function bn(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];ut(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let s=e[n];r.set(s,o),o+=s.length}return r}function gn(e,t={}){let r=(o,s)=>e(s).update(o).digest(),n=e(void 0);return r.outputLen=n.outputLen,r.blockLen=n.blockLen,r.canXOF=n.canXOF,r.create=o=>e(o),Object.assign(r,t),Object.freeze(r)}function Go(e=32){Ft(e,"bytesLength");let t=typeof globalThis=="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(e>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var xn=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function $o(e,t,r){return e&t^~e&r}function Xo(e,t,r){return e&t^e&r^t&r}var Ce=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(t,r,n,o){this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=ur(this.buffer)}update(t){le(this),ut(t);let{view:r,buffer:n,blockLen:o}=this,s=t.length;for(let i=0;i<s;){let c=Math.min(o-this.pos,s-i);if(c===o){let f=ur(t);for(;o<=s-i;i+=o)this.process(f,i);continue}n.set(t.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){le(this),fr(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;r[i++]=128,_t(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)r[l]=0;n.setBigUint64(o-8,BigInt(this.length*8),s),this.process(n,0);let c=ur(t),f=this.outputLen;if(f%4)throw new Error("_sha2: outputLen must be aligned to 32bit");let a=f/4,u=this.get();if(a>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<a;l++)c.setUint32(4*l,u[l],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||=new this.constructor,t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:s,destroyed:i,pos:c}=this;return t.destroyed=i,t.finished=s,t.length=o,t.pos=c,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},Tt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var J=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var lr=BigInt(4294967295),Wo=BigInt(32);function Zc(e,t=!1){return t?{h:Number(e&lr),l:Number(e>>Wo&lr)}:{h:Number(e>>Wo&lr)|0,l:Number(e&lr)|0}}function Qo(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let s=0;s<r;s++){let{h:i,l:c}=Zc(e[s],t);[n[s],o[s]]=[i,c]}return[n,o]}var wn=(e,t,r)=>e>>>r,En=(e,t,r)=>e<<32-r|t>>>r,Zt=(e,t,r)=>e>>>r|t<<32-r,Yt=(e,t,r)=>e<<32-r|t>>>r,Oe=(e,t,r)=>e<<64-r|t>>>r-32,Fe=(e,t,r)=>e>>>r-32|t<<64-r;function St(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Jo=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),ts=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,es=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),rs=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,ns=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),os=(e,t,r,n,o,s)=>t+r+n+o+s+(e/2**32|0)|0;var Gc=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]),Ut=new Uint32Array(64),Sn=class extends Ce{constructor(t){super(64,t,8,!1)}get(){let{A:t,B:r,C:n,D:o,E:s,F:i,G:c,H:f}=this;return[t,r,n,o,s,i,c,f]}set(t,r,n,o,s,i,c,f){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=c|0,this.H=f|0}process(t,r){for(let l=0;l<16;l++,r+=4)Ut[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let x=Ut[l-15],d=Ut[l-2],A=mt(x,7)^mt(x,18)^x>>>3,_=mt(d,17)^mt(d,19)^d>>>10;Ut[l]=_+Ut[l-7]+A+Ut[l-16]|0}let{A:n,B:o,C:s,D:i,E:c,F:f,G:a,H:u}=this;for(let l=0;l<64;l++){let x=mt(c,6)^mt(c,11)^mt(c,25),d=u+x+$o(c,f,a)+Gc[l]+Ut[l]|0,_=(mt(n,2)^mt(n,13)^mt(n,22))+Xo(n,o,s)|0;u=a,a=f,f=c,c=i+d|0,i=s,s=o,o=n,n=d+_|0}n=n+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,f=f+this.F|0,a=a+this.G|0,u=u+this.H|0,this.set(n,o,s,i,c,f,a,u)}roundClean(){_t(Ut)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),_t(this.buffer)}},An=class extends Sn{A=Tt[0]|0;B=Tt[1]|0;C=Tt[2]|0;D=Tt[3]|0;E=Tt[4]|0;F=Tt[5]|0;G=Tt[6]|0;H=Tt[7]|0;constructor(){super(32)}};var ss=Qo(["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(e=>BigInt(e))),$c=ss[0],Xc=ss[1],Kt=new Uint32Array(80),Nt=new Uint32Array(80),Bn=class extends Ce{constructor(t){super(128,t,16,!1)}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:s,Cl:i,Dh:c,Dl:f,Eh:a,El:u,Fh:l,Fl:x,Gh:d,Gl:A,Hh:_,Hl:m}=this;return[t,r,n,o,s,i,c,f,a,u,l,x,d,A,_,m]}set(t,r,n,o,s,i,c,f,a,u,l,x,d,A,_,m){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=c|0,this.Dl=f|0,this.Eh=a|0,this.El=u|0,this.Fh=l|0,this.Fl=x|0,this.Gh=d|0,this.Gl=A|0,this.Hh=_|0,this.Hl=m|0}process(t,r){for(let B=0;B<16;B++,r+=4)Kt[B]=t.getUint32(r),Nt[B]=t.getUint32(r+=4);for(let B=16;B<80;B++){let C=Kt[B-15]|0,L=Nt[B-15]|0,U=Zt(C,L,1)^Zt(C,L,8)^wn(C,L,7),R=Yt(C,L,1)^Yt(C,L,8)^En(C,L,7),v=Kt[B-2]|0,K=Nt[B-2]|0,N=Zt(v,K,19)^Oe(v,K,61)^wn(v,K,6),F=Yt(v,K,19)^Fe(v,K,61)^En(v,K,6),h=es(R,F,Nt[B-7],Nt[B-16]),y=rs(h,U,N,Kt[B-7],Kt[B-16]);Kt[B]=y|0,Nt[B]=h|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:c,Cl:f,Dh:a,Dl:u,Eh:l,El:x,Fh:d,Fl:A,Gh:_,Gl:m,Hh:p,Hl:w}=this;for(let B=0;B<80;B++){let C=Zt(l,x,14)^Zt(l,x,18)^Oe(l,x,41),L=Yt(l,x,14)^Yt(l,x,18)^Fe(l,x,41),U=l&d^~l&_,R=x&A^~x&m,v=ns(w,L,R,Xc[B],Nt[B]),K=os(v,p,C,U,$c[B],Kt[B]),N=v|0,F=Zt(n,o,28)^Oe(n,o,34)^Oe(n,o,39),h=Yt(n,o,28)^Fe(n,o,34)^Fe(n,o,39),y=n&s^n&c^s&c,E=o&i^o&f^i&f;p=_|0,w=m|0,_=d|0,m=A|0,d=l|0,A=x|0,{h:l,l:x}=St(a|0,u|0,K|0,N|0),a=c|0,u=f|0,c=s|0,f=i|0,s=n|0,i=o|0;let g=Jo(N,h,E);n=ts(g,K,F,y),o=g|0}({h:n,l:o}=St(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=St(this.Bh|0,this.Bl|0,s|0,i|0),{h:c,l:f}=St(this.Ch|0,this.Cl|0,c|0,f|0),{h:a,l:u}=St(this.Dh|0,this.Dl|0,a|0,u|0),{h:l,l:x}=St(this.Eh|0,this.El|0,l|0,x|0),{h:d,l:A}=St(this.Fh|0,this.Fl|0,d|0,A|0),{h:_,l:m}=St(this.Gh|0,this.Gl|0,_|0,m|0),{h:p,l:w}=St(this.Hh|0,this.Hl|0,p|0,w|0),this.set(n,o,s,i,c,f,a,u,l,x,d,A,_,m,p,w)}roundClean(){_t(Kt,Nt)}destroy(){this.destroyed=!0,_t(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}},vn=class extends Bn{Ah=J[0]|0;Al=J[1]|0;Bh=J[2]|0;Bl=J[3]|0;Ch=J[4]|0;Cl=J[5]|0;Dh=J[6]|0;Dl=J[7]|0;Eh=J[8]|0;El=J[9]|0;Fh=J[10]|0;Fl=J[11]|0;Gh=J[12]|0;Gl=J[13]|0;Hh=J[14]|0;Hl=J[15]|0;constructor(){super(64)}};var is=gn(()=>new An,xn(1));var dr=gn(()=>new vn,xn(3));var M=(e,t,r)=>ut(e,t,r),_n=Ft,de=hr,$=(...e)=>bn(...e),pe=e=>Re(e),Gt=yn,Ue=e=>Go(e),mr=BigInt(0),In=BigInt(1);function yt(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}" `;throw new TypeError(r+"expected boolean, got type="+typeof e)}return e}function yr(e){if(typeof e=="bigint"){if(!pr(e))throw new RangeError("positive bigint expected, got "+e)}else _n(e);return e}function bt(e,t=""){if(typeof e!="number"){let r=t&&`"${t}" `;throw new TypeError(r+"expected number, got type="+typeof e)}if(!Number.isSafeInteger(e)){let r=t&&`"${t}" `;throw new RangeError(r+"expected safe integer, got "+e)}}function Ke(e){let t=yr(e).toString(16);return t.length&1?"0"+t:t}function cs(e){if(typeof e!="string")throw new TypeError("hex string expected, got "+typeof e);return e===""?mr:BigInt("0x"+e)}function $t(e){return cs(hr(e))}function At(e){return cs(hr(Ne(ut(e)).reverse()))}function br(e,t){if(Ft(t),t===0)throw new RangeError("zero length");e=yr(e);let r=e.toString(16);if(r.length>t*2)throw new RangeError("number too large");return Re(r.padStart(t*2,"0"))}function Tn(e,t){return br(e,t).reverse()}function as(e,t){if(e=M(e),t=M(t),e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Ne(e){return Uint8Array.from(M(e))}function gr(e){if(typeof e!="string")throw new TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let n=t.charCodeAt(0);if(t.length!==1||n>127)throw new RangeError(`string contains non-ASCII character "${e[r]}" with code ${n} at position ${r}`);return n})}var pr=e=>typeof e=="bigint"&&mr<=e;function Wc(e,t,r){return pr(e)&&pr(t)&&pr(r)&&t<=e&&e<r}function me(e,t,r,n){if(!Wc(t,r,n))throw new RangeError("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function ye(e){if(e<mr)throw new Error("expected non-negative bigint, got "+e);let t;for(t=0;e>mr;e>>=In,t+=1);return t}var ke=e=>(In<<BigInt(e))-In;function fs(e,t,r){if(Ft(e,"hashLen"),Ft(t,"qByteLen"),typeof r!="function")throw new TypeError("hmacFn must be a function");let n=m=>new Uint8Array(m),o=Uint8Array.of(),s=Uint8Array.of(0),i=Uint8Array.of(1),c=1e3,f=n(e),a=n(e),u=0,l=()=>{f.fill(1),a.fill(0),u=0},x=(...m)=>r(a,$(f,...m)),d=(m=o)=>{a=x(s,m),f=x(),m.length!==0&&(a=x(i,m),f=x())},A=()=>{if(u++>=c)throw new Error("drbg: tried max amount of iterations");let m=0,p=[];for(;m<t;){f=x();let w=f.slice();p.push(w),m+=f.length}return $(...p)};return(m,p)=>{l(),d(m);let w;for(;(w=p(A()))===void 0;)d();return l(),w}}function gt(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw new TypeError("expected valid options object");function n(s,i,c){if(!c&&i!=="function"&&!Object.hasOwn(e,s))throw new TypeError(`param "${s}" is invalid: expected own property`);let f=e[s];if(c&&f===void 0)return;let a=typeof f;if(a!==i||f===null)throw new TypeError(`param "${s}" is invalid: expected ${i}, got ${a}`)}let o=(s,i)=>Object.entries(s).forEach(([c,f])=>n(c,f,i));o(t,!1),o(r,!0)}var Ln=()=>{throw new Error("not implemented")};var tt=BigInt(0),j=BigInt(1),Xt=BigInt(2),ds=BigInt(3),ps=BigInt(4),ms=BigInt(5),Qc=BigInt(7),ys=BigInt(8),Jc=BigInt(9),bs=BigInt(16);function Z(e,t){if(t<=tt)throw new Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=tt?r:t+r}function q(e,t,r){if(t<tt)throw new Error("pow2: expected non-negative exponent, got "+t);let n=e;for(;t-- >tt;)n*=n,n%=r;return n}function us(e,t){if(e===tt)throw new Error("invert: expected non-zero number");if(t<=tt)throw new Error("invert: expected positive modulus, got "+t);let r=Z(e,t),n=t,o=tt,s=j,i=j,c=tt;for(;r!==tt;){let a=n/r,u=n-r*a,l=o-i*a,x=s-c*a;n=r,r=u,o=i,s=c,i=l,c=x}if(n!==j)throw new Error("invert: does not exist");return Z(o,t)}function Dn(e,t,r){let n=e;if(!n.eql(n.sqr(t),r))throw new Error("Cannot find square root")}function gs(e,t){let r=e,n=(r.ORDER+j)/ps,o=r.pow(t,n);return Dn(r,o,t),o}function ta(e,t){let r=e,n=(r.ORDER-ms)/ys,o=r.mul(t,Xt),s=r.pow(o,n),i=r.mul(t,s),c=r.mul(r.mul(i,Xt),s),f=r.mul(i,r.sub(c,r.ONE));return Dn(r,f,t),f}function ea(e){let t=be(e),r=xs(e),n=r(t,t.neg(t.ONE)),o=r(t,n),s=r(t,t.neg(n)),i=(e+Qc)/bs;return((c,f)=>{let a=c,u=a.pow(f,i),l=a.mul(u,n),x=a.mul(u,o),d=a.mul(u,s),A=a.eql(a.sqr(l),f),_=a.eql(a.sqr(x),f);u=a.cmov(u,l,A),l=a.cmov(d,x,_);let m=a.eql(a.sqr(l),f),p=a.cmov(u,l,m);return Dn(a,p,f),p})}function xs(e){if(e<ds)throw new Error("sqrt is not defined for small field");let t=e-j,r=0;for(;t%Xt===tt;)t/=Xt,r++;let n=Xt,o=be(e);for(;hs(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return gs;let s=o.pow(n,t),i=(t+j)/Xt;return function(f,a){let u=f;if(u.is0(a))return a;if(hs(u,a)!==1)throw new Error("Cannot find square root");let l=r,x=u.mul(u.ONE,s),d=u.pow(a,t),A=u.pow(a,i);for(;!u.eql(d,u.ONE);){if(u.is0(d))return u.ZERO;let _=1,m=u.sqr(d);for(;!u.eql(m,u.ONE);)if(_++,m=u.sqr(m),_===l)throw new Error("Cannot find square root");let p=j<<BigInt(l-_-1),w=u.pow(x,p);l=_,x=u.sqr(w),d=u.mul(d,x),A=u.mul(A,w)}return A}}function ra(e){return e%ps===ds?gs:e%ys===ms?ta:e%bs===Jc?ea(e):xs(e)}var Lt=(e,t)=>(Z(e,t)&j)===j,na=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Rn(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=na.reduce((n,o)=>(n[o]="function",n),t);if(gt(e,r),bt(e.BYTES,"BYTES"),bt(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw new Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=j)throw new Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function oa(e,t,r){let n=e;if(r<tt)throw new Error("invalid exponent, negatives unsupported");if(r===tt)return n.ONE;if(r===j)return t;let o=n.ONE,s=t;for(;r>tt;)r&j&&(o=n.mul(o,s)),s=n.sqr(s),r>>=j;return o}function Pe(e,t,r=!1){let n=e,o=new Array(t.length).fill(r?n.ZERO:void 0),s=t.reduce((c,f,a)=>n.is0(f)?c:(o[a]=c,n.mul(c,f)),n.ONE),i=n.inv(s);return t.reduceRight((c,f,a)=>n.is0(f)?c:(o[a]=n.mul(c,o[a]),n.mul(c,f)),i),o}function hs(e,t){let r=e,n=(r.ORDER-j)/Xt,o=r.pow(t,n),s=r.eql(o,r.ONE),i=r.eql(o,r.ZERO),c=r.eql(o,r.neg(r.ONE));if(!s&&!i&&!c)throw new Error("invalid Legendre symbol result");return s?1:i?0:-1}function sa(e,t){if(t!==void 0&&_n(t),e<=tt)throw new Error("invalid n length: expected positive n, got "+e);if(t!==void 0&&t<1)throw new Error("invalid n length: expected positive bit length, got "+t);let r=ye(e);if(t!==void 0&&t<r)throw new Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let n=t!==void 0?t:r,o=Math.ceil(n/8);return{nBitLength:n,nByteLength:o}}var ls=new WeakMap,xr=class{ORDER;BITS;BYTES;isLE;ZERO=tt;ONE=j;_lengths;_mod;constructor(t,r={}){if(t<=j)throw new Error("invalid field: expected ORDER > 1, got "+t);let n;this.isLE=!1,r!=null&&typeof r=="object"&&(typeof r.BITS=="number"&&(n=r.BITS),typeof r.sqrt=="function"&&Object.defineProperty(this,"sqrt",{value:r.sqrt,enumerable:!0}),typeof r.isLE=="boolean"&&(this.isLE=r.isLE),r.allowedLengths&&(this._lengths=Object.freeze(r.allowedLengths.slice())),typeof r.modFromBytes=="boolean"&&(this._mod=r.modFromBytes));let{nBitLength:o,nByteLength:s}=sa(t,n);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=t,this.BITS=o,this.BYTES=s,Object.freeze(this)}create(t){return Z(t,this.ORDER)}isValid(t){if(typeof t!="bigint")throw new TypeError("invalid field element: expected bigint, got "+typeof t);return tt<=t&&t<this.ORDER}is0(t){return t===tt}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}isOdd(t){return(t&j)===j}neg(t){return Z(-t,this.ORDER)}eql(t,r){return t===r}sqr(t){return Z(t*t,this.ORDER)}add(t,r){return Z(t+r,this.ORDER)}sub(t,r){return Z(t-r,this.ORDER)}mul(t,r){return Z(t*r,this.ORDER)}pow(t,r){return oa(this,t,r)}div(t,r){return Z(t*us(r,this.ORDER),this.ORDER)}sqrN(t){return t*t}addN(t,r){return t+r}subN(t,r){return t-r}mulN(t,r){return t*r}inv(t){return us(t,this.ORDER)}sqrt(t){let r=ls.get(this);return r||ls.set(this,r=ra(this.ORDER)),r(this,t)}toBytes(t