libp2p 1.0.11-cd8cafcd5 → 1.0.12-4e0135c7d

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 CHANGED
@@ -1,28 +1,28 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2P=(()=>{var bg=Object.create;var is=Object.defineProperty;var wg=Object.getOwnPropertyDescriptor;var Eg=Object.getOwnPropertyNames;var vg=Object.getPrototypeOf,_g=Object.prototype.hasOwnProperty;var q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ke=(t,e)=>{for(var r in e)is(t,r,{get:e[r],enumerable:!0})},ef=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Eg(e))!_g.call(t,i)&&i!==r&&is(t,i,{get:()=>e[i],enumerable:!(n=wg(e,i))||n.enumerable});return t};var we=(t,e,r)=>(r=t!=null?bg(vg(t)):{},ef(e||!t||!t.__esModule?is(r,"default",{value:t,enumerable:!0}):r,t)),Sg=t=>ef(is({},"__esModule",{value:!0}),t);var le=q((Zv,tf)=>{tf.exports={options:{usePureJavaScript:!1}}});var sf=q((jv,nf)=>{var ma={};nf.exports=ma;var rf={};ma.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=Ag(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
3
- `)}return n};ma.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=rf[e];if(!r){r=rf[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function Ag(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var Re=q((Jv,uf)=>{var of=le(),af=sf(),w=uf.exports=of.util=of.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function di(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=ga;function ga(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof ga||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=ga;var Ig=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Ig&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};w.ByteStringBuffer.prototype.putInt=function(t,e){di(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};w.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};w.ByteStringBuffer.prototype.getInt=function(t){di(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Cg(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}w.DataBuffer=Cg;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(w.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){di(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return di(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){di(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};w.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var yr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",xr=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],cf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=yr.charAt(i>>2),r+=yr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=yr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":yr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
- `,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=xr[t.charCodeAt(o++)-43],n=xr[t.charCodeAt(o++)-43],i=xr[t.charCodeAt(o++)-43],s=xr[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};w.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};w.decodeUtf8=function(t){return decodeURIComponent(escape(t))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:af.encode,decode:af.decode}};w.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};w.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,s=r;for(t.length&1&&(i=1,n[s++]=parseInt(t[0],16));i<t.length;i+=2)n[s++]=parseInt(t.substr(i,2),16);return e?s-r:n};w.binary.base64.encode=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.byteLength;)i=t[a++],s=t[a++],o=t[a++],r+=yr.charAt(i>>2),r+=yr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=yr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":yr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
- `,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=xr[t.charCodeAt(c++)-43],s=xr[t.charCodeAt(c++)-43],o=xr[t.charCodeAt(c++)-43],a=xr[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,cf,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,cf,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var ya=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},xa=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(w.decode64(r))),r},Tg=function(t,e,r,n){var i=xa(t,e);i===null&&(i={}),i[r]=n,ya(t,e,i)},Rg=function(t,e,r){var n=xa(t,e);return n!==null&&(n=r in n?n[r]:null),n},Bg=function(t,e,r){var n=xa(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),ya(t,e,n)}},Lg=function(t,e){ya(t,e,null)},ss=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};w.setItem=function(t,e,r,n,i){ss(Tg,arguments,i)};w.getItem=function(t,e,r,n){return ss(Rg,arguments,n)};w.removeItem=function(t,e,r,n){ss(Bg,arguments,n)};w.clearItems=function(t,e,r){ss(Lg,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};w.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=w.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=w.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(d){if(u.push(d.data),u.length===o){for(var p=0;p<o;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],d=0;d<o;++d)if(u!==d){var p=a[d];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(d)}return c.reduce(function(h,m){return Math.max(h,m.length)},0)}}});var os=q((e_,lf)=>{var pi=le();pi.pki=pi.pki||{};var ba=lf.exports=pi.pki.oids=pi.oids=pi.oids||{};function B(t,e){ba[t]=e,ba[e]=t}function ie(t,e){ba[t]=e}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");ie("2.5.29.1","authorityKeyIdentifier");ie("2.5.29.2","keyAttributes");ie("2.5.29.3","certificatePolicies");ie("2.5.29.4","keyUsageRestriction");ie("2.5.29.5","policyMapping");ie("2.5.29.6","subtreesConstraint");ie("2.5.29.7","subjectAltName");ie("2.5.29.8","issuerAltName");ie("2.5.29.9","subjectDirectoryAttributes");ie("2.5.29.10","basicConstraints");ie("2.5.29.11","nameConstraints");ie("2.5.29.12","policyConstraints");ie("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");ie("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");ie("2.5.29.20","cRLNumber");ie("2.5.29.21","cRLReason");ie("2.5.29.22","expirationDate");ie("2.5.29.23","instructionCode");ie("2.5.29.24","invalidityDate");ie("2.5.29.25","cRLDistributionPoints");ie("2.5.29.26","issuingDistributionPoint");ie("2.5.29.27","deltaCRLIndicator");ie("2.5.29.28","issuingDistributionPoint");ie("2.5.29.29","certificateIssuer");ie("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");ie("2.5.29.33","policyMappings");ie("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");ie("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");ie("2.5.29.46","freshestCRL");ie("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var gi=q((t_,hf)=>{var pe=le();Re();os();var O=hf.exports=pe.asn1=pe.asn1||{};O.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};O.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};O.create=function(t,e,r,n,i){if(pe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||pe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=O.copy(a)),a};O.copy=function(t,e){var r;if(pe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(O.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:O.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};O.equals=function(t,e,r){if(pe.util.isArray(t)){if(!pe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!O.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&O.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};O.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function mi(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var Pg=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;mi(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};O.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.length(),n=as(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function as(t,e,r,n){var i;mi(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=Pg(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,d=(s&32)===32;if(d)if(l=[],c===void 0)for(;;){if(mi(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),l.push(as(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(as(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&c>1){var p=t.read,h=e,m=0;if(a===O.Type.BITSTRING&&(mi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var g={strict:!0,decodeBitStrings:!0},y=as(t,e,r+1,g),x=i-t.length();e-=x,a==O.Type.BITSTRING&&x++;var b=y.tagClass;x===c&&(b===O.Class.UNIVERSAL||b===O.Class.CONTEXT_SPECIFIC)&&(l=[y])}catch{}l===void 0&&(t.read=p,e=h)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===O.Type.BMPSTRING)for(l="";c>0;c-=2)mi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var I=f===void 0?null:{bitStringContents:f};return O.create(o,a,d,l,I)}O.toDer=function(t){var e=pe.util.createBuffer(),r=t.tagClass|t.type,n=pe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=O.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(O.toDer(t.value[s]))}else if(t.type===O.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===O.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};O.oidToDer=function(t){var e=t.split("."),r=pe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};O.derToOid=function(t){var e;typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};O.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?e.setTime(+e-d):e.setTime(+e+d)}return e};O.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,d=t.charAt(f);if(d==="+"||d==="-"){var p=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};O.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};O.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};O.integerToDer=function(t){var e=pe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};O.derToInteger=function(t){typeof t=="string"&&(t=pe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};O.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&pe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=O.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var ff=/[^\\u0000-\\u00ff]/;O.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
- `);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case O.Class.UNIVERSAL:n+="Universal:";break;case O.Class.APPLICATION:n+="Application:";break;case O.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case O.Class.PRIVATE:n+="Private:";break}if(t.tagClass===O.Class.UNIVERSAL)switch(n+=t.type,t.type){case O.Type.NONE:n+=" (None)";break;case O.Type.BOOLEAN:n+=" (Boolean)";break;case O.Type.INTEGER:n+=" (Integer)";break;case O.Type.BITSTRING:n+=" (Bit string)";break;case O.Type.OCTETSTRING:n+=" (Octet string)";break;case O.Type.NULL:n+=" (Null)";break;case O.Type.OID:n+=" (Object Identifier)";break;case O.Type.ODESC:n+=" (Object Descriptor)";break;case O.Type.EXTERNAL:n+=" (External or Instance of)";break;case O.Type.REAL:n+=" (Real)";break;case O.Type.ENUMERATED:n+=" (Enumerated)";break;case O.Type.EMBEDDED:n+=" (Embedded PDV)";break;case O.Type.UTF8:n+=" (UTF8)";break;case O.Type.ROID:n+=" (Relative Object Identifier)";break;case O.Type.SEQUENCE:n+=" (Sequence)";break;case O.Type.SET:n+=" (Set)";break;case O.Type.PRINTABLESTRING:n+=" (Printable String)";break;case O.Type.IA5String:n+=" (IA5String (ASCII))";break;case O.Type.UTCTIME:n+=" (UTC time)";break;case O.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case O.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
2
+ "use strict";var Libp2P=(()=>{var GE=Object.create;var fa=Object.defineProperty;var WE=Object.getOwnPropertyDescriptor;var YE=Object.getOwnPropertyNames;var QE=Object.getPrototypeOf,XE=Object.prototype.hasOwnProperty;var z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),R=(t,e)=>{for(var r in e)fa(t,r,{get:e[r],enumerable:!0})},Lm=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of YE(e))!XE.call(t,i)&&i!==r&&fa(t,i,{get:()=>e[i],enumerable:!(n=WE(e,i))||n.enumerable});return t};var we=(t,e,r)=>(r=t!=null?GE(QE(t)):{},Lm(e||!t||!t.__esModule?fa(r,"default",{value:t,enumerable:!0}):r,t)),jE=t=>Lm(fa({},"__esModule",{value:!0}),t);var le=z((LO,Nm)=>{Nm.exports={options:{usePureJavaScript:!1}}});var km=z((NO,Om)=>{var ku={};Om.exports=ku;var Pm={};ku.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=JE(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
+ `)}return n};ku.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=Pm[e];if(!r){r=Pm[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;t[f]===o&&f<t.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function JE(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var ke=z((PO,Km)=>{var Um=le(),Mm=km(),S=Km.exports=Um.util=Um.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){S.nextTick=process.nextTick,typeof setImmediate=="function"?S.setImmediate=setImmediate:S.setImmediate=S.nextTick;return}if(typeof setImmediate=="function"){S.setImmediate=function(){return setImmediate.apply(void 0,arguments)},S.nextTick=function(a){return setImmediate(a)};return}if(S.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(f){f()})}};var s=a,t="forge.setImmediate",e=[];S.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=S.setImmediate;S.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}S.nextTick=S.setImmediate})();S.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;S.globalScope=function(){return S.isNodejs?globalThis:typeof self>"u"?window:self}();S.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};S.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};S.isArrayBufferView=function(t){return t&&S.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ko(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}S.ByteBuffer=Uu;function Uu(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(S.isArrayBuffer(t)||S.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Uu||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}S.ByteStringBuffer=Uu;var ZE=4096;S.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>ZE&&(this.data.substr(0,1),this._constructedStringLength=0)};S.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};S.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};S.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};S.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};S.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};S.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(S.encodeUtf8(t))};S.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};S.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};S.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};S.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};S.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};S.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};S.ByteStringBuffer.prototype.putInt=function(t,e){Ko(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};S.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};S.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};S.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};S.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};S.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};S.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};S.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};S.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};S.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};S.ByteStringBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};S.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};S.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};S.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};S.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};S.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};S.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};S.ByteStringBuffer.prototype.copy=function(){var t=S.createBuffer(this.data);return t.read=this.read,t};S.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};S.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};S.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};S.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};S.ByteStringBuffer.prototype.toString=function(){return S.decodeUtf8(this.bytes())};function eA(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=S.isArrayBuffer(t),n=S.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}S.DataBuffer=eA;S.DataBuffer.prototype.length=function(){return this.write-this.read};S.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};S.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};S.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};S.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};S.DataBuffer.prototype.putBytes=function(t,e){if(S.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(S.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof S.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&S.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof S.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=S.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=S.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=S.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=S.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=S.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};S.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};S.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};S.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};S.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};S.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};S.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};S.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};S.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};S.DataBuffer.prototype.putInt=function(t,e){Ko(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};S.DataBuffer.prototype.putSignedInt=function(t,e){return Ko(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};S.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};S.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};S.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};S.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};S.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};S.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};S.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};S.DataBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};S.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};S.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};S.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};S.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};S.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};S.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};S.DataBuffer.prototype.copy=function(){return new S.DataBuffer(this)};S.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};S.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};S.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};S.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};S.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return S.binary.raw.encode(e);if(t==="hex")return S.binary.hex.encode(e);if(t==="base64")return S.binary.base64.encode(e);if(t==="utf8")return S.text.utf8.decode(e);if(t==="utf16")return S.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};S.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=S.encodeUtf8(t)),new S.ByteBuffer(t)};S.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};S.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};S.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};S.bytesToHex=function(t){return S.createBuffer(t).toHex()};S.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Kr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Vr=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],Fm="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";S.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=Kr.charAt(i>>2),r+=Kr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Kr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Kr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
+ `,r=r.substr(e));return n+=r,n};S.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=Vr[t.charCodeAt(s++)-43],n=Vr[t.charCodeAt(s++)-43],i=Vr[t.charCodeAt(s++)-43],o=Vr[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};S.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};S.decodeUtf8=function(t){return decodeURIComponent(escape(t))};S.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Mm.encode,decode:Mm.decode}};S.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};S.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};S.binary.hex.encode=S.bytesToHex;S.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};S.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=Kr.charAt(i>>2),r+=Kr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Kr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Kr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
+ `,r=r.substr(e));return n+=r,n};S.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=Vr[t.charCodeAt(c++)-43],o=Vr[t.charCodeAt(c++)-43],s=Vr[t.charCodeAt(c++)-43],a=Vr[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};S.binary.base58.encode=function(t,e){return S.binary.baseN.encode(t,Fm,e)};S.binary.base58.decode=function(t,e){return S.binary.baseN.decode(t,Fm,e)};S.text={utf8:{},utf16:{}};S.text.utf8.encode=function(t,e,r){t=S.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};S.text.utf8.decode=function(t){return S.decodeUtf8(String.fromCharCode.apply(null,t))};S.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};S.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};S.deflate=function(t,e,r){if(e=S.decode64(t.deflate(S.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};S.inflate=function(t,e,r){var n=t.inflate(S.encode64(e)).rval;return n===null?null:S.decode64(n)};var Mu=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=S.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Fu=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(S.decode64(r))),r},tA=function(t,e,r,n){var i=Fu(t,e);i===null&&(i={}),i[r]=n,Mu(t,e,i)},rA=function(t,e,r){var n=Fu(t,e);return n!==null&&(n=r in n?n[r]:null),n},nA=function(t,e,r){var n=Fu(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Mu(t,e,n)}},iA=function(t,e){Mu(t,e,null)},la=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};S.setItem=function(t,e,r,n,i){la(tA,arguments,i)};S.getItem=function(t,e,r,n){return la(rA,arguments,n)};S.removeItem=function(t,e,r,n){la(nA,arguments,n)};S.clearItems=function(t,e,r){la(iA,arguments,r)};S.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};S.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};S.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};S.formatSize=function(t){return t>=1073741824?t=S.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=S.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=S.formatNumber(t/1024,0)+" KiB":t=S.formatNumber(t,0)+" bytes",t};S.bytesFromIP=function(t){return t.indexOf(".")!==-1?S.bytesFromIPv4(t):t.indexOf(":")!==-1?S.bytesFromIPv6(t):null};S.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=S.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};S.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=S.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=S.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};S.bytesToIP=function(t){return t.length===4?S.bytesToIPv4(t):t.length===16?S.bytesToIPv6(t):null};S.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};S.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=S.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};S.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in S&&!t.update)return e(null,S.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return S.cores=navigator.hardwareConcurrency,e(null,S.cores);if(typeof Worker>"u")return S.cores=1,e(null,S.cores);if(typeof Blob>"u")return S.cores=2,e(null,S.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,h){return f+h},0)/s.length);return S.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,S.cores)}i(c,function(f,h){s.push(o(c,h)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var h=new Worker(r);h.addEventListener("message",function(p){if(u.push(p.data),u.length===s){for(var y=0;y<s;++y)c[y].terminate();a(null,u)}}),c.push(h)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],h=c[u]=[],p=0;p<s;++p)if(u!==p){var y=a[p];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&h.push(p)}return c.reduce(function(l,d){return Math.max(l,d.length)},0)}}});var ha=z((OO,Vm)=>{var Vo=le();Vo.pki=Vo.pki||{};var Ku=Vm.exports=Vo.pki.oids=Vo.oids=Vo.oids||{};function N(t,e){Ku[t]=e,Ku[e]=t}function oe(t,e){Ku[t]=e}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");oe("2.5.29.1","authorityKeyIdentifier");oe("2.5.29.2","keyAttributes");oe("2.5.29.3","certificatePolicies");oe("2.5.29.4","keyUsageRestriction");oe("2.5.29.5","policyMapping");oe("2.5.29.6","subtreesConstraint");oe("2.5.29.7","subjectAltName");oe("2.5.29.8","issuerAltName");oe("2.5.29.9","subjectDirectoryAttributes");oe("2.5.29.10","basicConstraints");oe("2.5.29.11","nameConstraints");oe("2.5.29.12","policyConstraints");oe("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");oe("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");oe("2.5.29.20","cRLNumber");oe("2.5.29.21","cRLReason");oe("2.5.29.22","expirationDate");oe("2.5.29.23","instructionCode");oe("2.5.29.24","invalidityDate");oe("2.5.29.25","cRLDistributionPoints");oe("2.5.29.26","issuingDistributionPoint");oe("2.5.29.27","deltaCRLIndicator");oe("2.5.29.28","issuingDistributionPoint");oe("2.5.29.29","certificateIssuer");oe("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");oe("2.5.29.33","policyMappings");oe("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");oe("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");oe("2.5.29.46","freshestCRL");oe("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var zo=z((kO,zm)=>{var pe=le();ke();ha();var M=zm.exports=pe.asn1=pe.asn1||{};M.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};M.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};M.create=function(t,e,r,n,i){if(pe.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||pe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=M.copy(a)),a};M.copy=function(t,e){var r;if(pe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(M.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:M.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};M.equals=function(t,e,r){if(pe.util.isArray(t)){if(!pe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!M.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&M.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};M.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function qo(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var oA=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;qo(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};M.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.length(),n=da(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function da(t,e,r,n){var i;qo(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=oA(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var f,h,p=(o&32)===32;if(p)if(f=[],c===void 0)for(;;){if(qo(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),f.push(da(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),f.push(da(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(f===void 0&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&(h=t.bytes(c)),f===void 0&&n.decodeBitStrings&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&c>1){var y=t.read,l=e,d=0;if(a===M.Type.BITSTRING&&(qo(t,e,1),d=t.getByte(),e--),d===0)try{i=t.length();var m={strict:!0,decodeBitStrings:!0},g=da(t,e,r+1,m),x=i-t.length();e-=x,a==M.Type.BITSTRING&&x++;var b=g.tagClass;x===c&&(b===M.Class.UNIVERSAL||b===M.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(t.read=y,e=l)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===M.Type.BMPSTRING)for(f="";c>0;c-=2)qo(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(c),e-=c}var v=h===void 0?null:{bitStringContents:h};return M.create(s,a,p,f,v)}M.toDer=function(t){var e=pe.util.createBuffer(),r=t.tagClass|t.type,n=pe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=M.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(M.toDer(t.value[o]))}else if(t.type===M.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===M.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};M.oidToDer=function(t){var e=t.split("."),r=pe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};M.derToOid=function(t){var e;typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};M.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var f=parseInt(t.substr(u+1,2),10),h=parseInt(t.substr(u+4,2),10),p=f*60+h;p*=6e4,c==="+"?e.setTime(+e-p):e.setTime(+e+p)}return e};M.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var h=t.length-5,p=t.charAt(h);if(p==="+"||p==="-"){var y=parseInt(t.substr(h+1,2),10),l=parseInt(t.substr(h+4,2),10);u=y*60+l,u*=6e4,p==="+"&&(u*=-1),f=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};M.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};M.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};M.integerToDer=function(t){var e=pe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};M.derToInteger=function(t){typeof t=="string"&&(t=pe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};M.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&pe.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=M.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var qm=/[^\\u0000-\\u00ff]/;M.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
+ `);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case M.Class.UNIVERSAL:n+="Universal:";break;case M.Class.APPLICATION:n+="Application:";break;case M.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case M.Class.PRIVATE:n+="Private:";break}if(t.tagClass===M.Class.UNIVERSAL)switch(n+=t.type,t.type){case M.Type.NONE:n+=" (None)";break;case M.Type.BOOLEAN:n+=" (Boolean)";break;case M.Type.INTEGER:n+=" (Integer)";break;case M.Type.BITSTRING:n+=" (Bit string)";break;case M.Type.OCTETSTRING:n+=" (Octet string)";break;case M.Type.NULL:n+=" (Null)";break;case M.Type.OID:n+=" (Object Identifier)";break;case M.Type.ODESC:n+=" (Object Descriptor)";break;case M.Type.EXTERNAL:n+=" (External or Instance of)";break;case M.Type.REAL:n+=" (Real)";break;case M.Type.ENUMERATED:n+=" (Enumerated)";break;case M.Type.EMBEDDED:n+=" (Embedded PDV)";break;case M.Type.UTF8:n+=" (UTF8)";break;case M.Type.ROID:n+=" (Relative Object Identifier)";break;case M.Type.SEQUENCE:n+=" (Sequence)";break;case M.Type.SET:n+=" (Set)";break;case M.Type.PRINTABLESTRING:n+=" (Printable String)";break;case M.Type.IA5String:n+=" (IA5String (ASCII))";break;case M.Type.UTCTIME:n+=" (UTC time)";break;case M.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case M.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
7
7
  `,n+=i+"Constructed: "+t.constructed+`
8
- `,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=O.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===O.Type.OID){var c=O.derToOid(t.value);n+=c,pe.pki&&pe.pki.oids&&c in pe.pki.oids&&(n+=" ("+pe.pki.oids[c]+") ")}if(t.type===O.Type.INTEGER)try{n+=O.derToInteger(t.value)}catch{n+="0x"+pe.util.bytesToHex(t.value)}else if(t.type===O.Type.BITSTRING){if(t.value.length>1?n+="0x"+pe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===O.Type.OCTETSTRING)ff.test(t.value)||(n+="("+t.value+") "),n+="0x"+pe.util.bytesToHex(t.value);else if(t.type===O.Type.UTF8)try{n+=pe.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+pe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===O.Type.PRINTABLESTRING||t.type===O.Type.IA5String?n+=t.value:ff.test(t.value)?n+="0x"+pe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ea=q((r_,df)=>{var Oe=le();Re();df.exports=Oe.cipher=Oe.cipher||{};Oe.cipher.algorithms=Oe.cipher.algorithms||{};Oe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Oe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Oe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Oe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Oe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Oe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Oe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Oe.cipher.algorithms[t]=e};Oe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Oe.cipher.algorithms?Oe.cipher.algorithms[t]:null};var wa=Oe.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};wa.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Oe.util.createBuffer(),this.output=t.output||Oe.util.createBuffer(),this.mode.start(e)};wa.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};wa.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var _a=q((n_,pf)=>{var Me=le();Re();Me.cipher=Me.cipher||{};var Z=pf.exports=Me.cipher.modes=Me.cipher.modes||{};Z.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Z.ecb.prototype.start=function(t){};Z.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Z.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Z.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Z.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Z.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=cs(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Z.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};Z.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Z.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Z.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Me.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Me.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.ofb.prototype.decrypt=Z.ofb.prototype.encrypt;Z.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Me.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}us(this._inBlock)};Z.ctr.prototype.decrypt=Z.ctr.prototype.encrypt;Z.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Me.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Me.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Me.util.createBuffer(t.additionalData):r=Me.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Me.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(va(n*8)))}this._inBlock=this._j0.slice(0),us(this._inBlock),this._partialBytes=0,r=Me.util.createBuffer(r),this._aDataLength=va(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};Z.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),us(this._inBlock)};Z.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),us(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Me.util.createBuffer();var n=this._aDataLength.concat(va(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Z.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};Z.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};Z.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};Z.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};Z.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};Z.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function cs(t,e){if(typeof t=="string"&&(t=Me.util.createBuffer(t)),Me.util.isArray(t)&&t.length>4){var r=t;t=Me.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Me.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function us(t){t[t.length-1]=t[t.length-1]+1&4294967295}function va(t){return[t/4294967296|0,t&4294967295]}});var Ca=q((i_,xf)=>{var he=le();Ea();_a();Re();xf.exports=he.aes=he.aes||{};he.aes.startEncrypting=function(t,e,r,n){var i=ls({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};he.aes.createEncryptionCipher=function(t,e){return ls({key:t,output:null,decrypt:!1,mode:e})};he.aes.startDecrypting=function(t,e,r,n){var i=ls({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};he.aes.createDecryptionCipher=function(t,e){return ls({key:t,output:null,decrypt:!0,mode:e})};he.aes.Algorithm=function(t,e){Ia||gf();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Aa(r._w,n,i,!1)},decrypt:function(n,i){return Aa(r._w,n,i,!0)}}}),r._init=!1};he.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=he.util.createBuffer(e);else if(he.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=he.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!he.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!he.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=yf(e,t.decrypt&&!o),this._init=!0}};he.aes._expandKey=function(t,e){return Ia||gf(),yf(t,e)};he.aes._updateBlock=Aa;Sn("AES-ECB",he.cipher.modes.ecb);Sn("AES-CBC",he.cipher.modes.cbc);Sn("AES-CFB",he.cipher.modes.cfb);Sn("AES-OFB",he.cipher.modes.ofb);Sn("AES-CTR",he.cipher.modes.ctr);Sn("AES-GCM",he.cipher.modes.gcm);function Sn(t,e){var r=function(){return new he.aes.Algorithm(t,e)};he.cipher.registerAlgorithm(t,r)}var Ia=!1,_n=4,nt,Sa,mf,Fr,Tt;function gf(){Ia=!0,mf=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;nt=new Array(256),Sa=new Array(256),Fr=new Array(4),Tt=new Array(4);for(var e=0;e<4;++e)Fr[e]=new Array(256),Tt[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,nt[r]=a,Sa[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Fr[f][r]=u,Tt[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function yf(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=_n*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=nt[n>>>16&255]<<24^nt[n>>>8&255]<<16^nt[n&255]<<8^nt[n>>>24]^mf[i]<<24,i++):s>6&&c%s===4&&(n=nt[n>>>24]<<24^nt[n>>>16&255]<<16^nt[n>>>8&255]<<8^nt[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Tt[0],f=Tt[1],d=Tt[2],p=Tt[3],h=r.slice(0);a=r.length;for(var c=0,m=a-_n;c<a;c+=_n,m-=_n)if(c===0||c===a-_n)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var g=0;g<_n;++g)u=r[m+g],h[c+(3&-g)]=l[nt[u>>>24]]^f[nt[u>>>16&255]]^d[nt[u>>>8&255]]^p[nt[u&255]];r=h}return r}function Aa(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Tt[0],o=Tt[1],a=Tt[2],c=Tt[3],u=Sa):(s=Fr[0],o=Fr[1],a=Fr[2],c=Fr[3],u=nt);var l,f,d,p,h,m,g;l=e[0]^t[0],f=e[n?3:1]^t[1],d=e[2]^t[2],p=e[n?1:3]^t[3];for(var y=3,x=1;x<i;++x)h=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++y],m=s[f>>>24]^o[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++y],g=s[d>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++y],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++y],l=h,f=m,d=g;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++y],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++y],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++y],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++y]}function ls(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=he.cipher.createDecipher(r,t.key):n=he.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof he.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Ef=q((s_,wf)=>{var ge=le();Ea();_a();Re();wf.exports=ge.des=ge.des||{};ge.des.startEncrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createEncryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!1,mode:e})};ge.des.startDecrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createDecryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!0,mode:e})};ge.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return bf(r._keys,n,i,!1)},decrypt:function(n,i){return bf(r._keys,n,i,!0)}}}),r._init=!1};ge.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ge.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=qg(e),this._init=!0}};Ft("DES-ECB",ge.cipher.modes.ecb);Ft("DES-CBC",ge.cipher.modes.cbc);Ft("DES-CFB",ge.cipher.modes.cfb);Ft("DES-OFB",ge.cipher.modes.ofb);Ft("DES-CTR",ge.cipher.modes.ctr);Ft("3DES-ECB",ge.cipher.modes.ecb);Ft("3DES-CBC",ge.cipher.modes.cbc);Ft("3DES-CFB",ge.cipher.modes.cfb);Ft("3DES-OFB",ge.cipher.modes.ofb);Ft("3DES-CTR",ge.cipher.modes.ctr);function Ft(t,e){var r=function(){return new ge.des.Algorithm(t,e)};ge.cipher.registerAlgorithm(t,r)}var Dg=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],Ng=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],kg=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],Og=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],Mg=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],Ug=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],Fg=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],Kg=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function qg(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,g=[],y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,I=0;I<m;I++){var v=t.getInt32(),_=t.getInt32();b=(v>>>4^_)&252645135,_^=b,v^=b<<4,b=(_>>>-16^v)&65535,v^=b,_^=b<<-16,b=(v>>>2^_)&858993459,_^=b,v^=b<<2,b=(_>>>-16^v)&65535,v^=b,_^=b<<-16,b=(v>>>1^_)&1431655765,_^=b,v^=b<<1,b=(_>>>8^v)&16711935,v^=b,_^=b<<8,b=(v>>>1^_)&1431655765,_^=b,v^=b<<1,b=v<<8|_>>>20&240,v=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=b;for(var P=0;P<y.length;++P){y[P]?(v=v<<2|v>>>26,_=_<<2|_>>>26):(v=v<<1|v>>>27,_=_<<1|_>>>27),v&=-15,_&=-15;var D=e[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|s[v>>>12&15]|o[v>>>8&15]|a[v>>>4&15],H=c[_>>>28]|u[_>>>24&15]|l[_>>>20&15]|f[_>>>16&15]|d[_>>>12&15]|p[_>>>8&15]|h[_>>>4&15];b=(H>>>16^D)&65535,g[x++]=D^b,g[x++]=H^b<<16}}return g}function bf(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],d=s[u];d!=l;d+=f){var p=c^t[d],h=(c>>>4|c<<28)^t[d+1];o=a,a=c,c=o^(Ng[p>>>24&63]|Og[p>>>16&63]|Ug[p>>>8&63]|Kg[p&63]|Dg[h>>>24&63]|kg[h>>>16&63]|Mg[h>>>8&63]|Fg[h&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function fs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ge.cipher.createDecipher(r,t.key):n=ge.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ge.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Kr=q((o_,vf)=>{var hs=le();vf.exports=hs.md=hs.md||{};hs.md.algorithms=hs.md.algorithms||{}});var Sf=q((a_,_f)=>{var Jt=le();Kr();Re();var Vg=_f.exports=Jt.hmac=Jt.hmac||{};Vg.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in Jt.md.algorithms)e=Jt.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=Jt.util.createBuffer(o);else if(Jt.util.isArray(o)){var a=o;o=Jt.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=Jt.util.createBuffer(),n=Jt.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var yi=q(()=>{});var If=q((l_,Af)=>{var it=le();Sf();Kr();Re();var $g=it.pkcs5=it.pkcs5||{},er;it.util.isNodejs&&!it.options.usePureJavaScript&&(er=yi());Af.exports=it.pbkdf2=$g.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),it.util.isNodejs&&!it.options.usePureJavaScript&&er.pbkdf2&&(i===null||typeof i!="object")&&(er.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?er.pbkdf2Sync.length===4?er.pbkdf2(t,e,r,n,function(b,I){if(b)return s(b);s(null,I.toString("binary"))}):er.pbkdf2(t,e,r,n,i,function(b,I){if(b)return s(b);s(null,I.toString("binary"))}):er.pbkdf2Sync.length===4?er.pbkdf2Sync(t,e,r,n).toString("binary"):er.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in it.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=it.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=it.hmac.create();l.start(i,t);var f="",d,p,h;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(it.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var g=2;g<=r;++g)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=it.util.xorBytes(d,p,o),h=p;f+=m<c?d:d.substr(0,u)}return f}var m=1,g;function y(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(it.util.int32ToBytes(m)),d=h=l.digest().getBytes(),g=2,x()}function x(){if(g<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=it.util.xorBytes(d,p,o),h=p,++g,it.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,y()}y()}});var Rf=q((f_,Tf)=>{var ps=le();Re();var Cf=Tf.exports=ps.pem=ps.pem||{};Cf.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
- `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=ds(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=ds(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=ds(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=ds(t.headers[i]);return t.procType&&(r+=`\r
10
- `),r+=ps.util.encode64(t.body,e.maxline||64)+`\r
8
+ `,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=M.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===M.Type.OID){var c=M.derToOid(t.value);n+=c,pe.pki&&pe.pki.oids&&c in pe.pki.oids&&(n+=" ("+pe.pki.oids[c]+") ")}if(t.type===M.Type.INTEGER)try{n+=M.derToInteger(t.value)}catch{n+="0x"+pe.util.bytesToHex(t.value)}else if(t.type===M.Type.BITSTRING){if(t.value.length>1?n+="0x"+pe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===M.Type.OCTETSTRING)qm.test(t.value)||(n+="("+t.value+") "),n+="0x"+pe.util.bytesToHex(t.value);else if(t.type===M.Type.UTF8)try{n+=pe.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+pe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===M.Type.PRINTABLESTRING||t.type===M.Type.IA5String?n+=t.value:qm.test(t.value)?n+="0x"+pe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var qu=z((UO,$m)=>{var qe=le();ke();$m.exports=qe.cipher=qe.cipher||{};qe.cipher.algorithms=qe.cipher.algorithms||{};qe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=qe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new qe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};qe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=qe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new qe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};qe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),qe.cipher.algorithms[t]=e};qe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in qe.cipher.algorithms?qe.cipher.algorithms[t]:null};var Vu=qe.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Vu.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=qe.util.createBuffer(),this.output=t.output||qe.util.createBuffer(),this.mode.start(e)};Vu.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Vu.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var $u=z((MO,Hm)=>{var ze=le();ke();ze.cipher=ze.cipher||{};var J=Hm.exports=ze.cipher.modes=ze.cipher.modes||{};J.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.ecb.prototype.start=function(t){};J.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};J.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};J.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};J.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};J.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=pa(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};J.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};J.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};J.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};J.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};J.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=ze.util.createBuffer(),this._partialBytes=0};J.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ze.util.createBuffer(),this._partialBytes=0};J.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb.prototype.decrypt=J.ofb.prototype.encrypt;J.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ze.util.createBuffer(),this._partialBytes=0};J.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=pa(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ma(this._inBlock)};J.ctr.prototype.decrypt=J.ctr.prototype.encrypt;J.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=ze.util.createBuffer(),this._partialBytes=0,this._R=3774873600};J.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=ze.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=ze.util.createBuffer(t.additionalData):r=ze.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=ze.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(zu(n*8)))}this._inBlock=this._j0.slice(0),ma(this._inBlock),this._partialBytes=0,r=ze.util.createBuffer(r),this._aDataLength=zu(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};J.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ma(this._inBlock)};J.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),ma(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};J.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=ze.util.createBuffer();var n=this._aDataLength.concat(zu(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};J.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};J.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};J.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};J.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};J.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};J.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function pa(t,e){if(typeof t=="string"&&(t=ze.util.createBuffer(t)),ze.util.isArray(t)&&t.length>4){var r=t;t=ze.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!ze.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function ma(t){t[t.length-1]=t[t.length-1]+1&4294967295}function zu(t){return[t/4294967296|0,t&4294967295]}});var Yu=z((FO,Qm)=>{var de=le();qu();$u();ke();Qm.exports=de.aes=de.aes||{};de.aes.startEncrypting=function(t,e,r,n){var i=ya({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};de.aes.createEncryptionCipher=function(t,e){return ya({key:t,output:null,decrypt:!1,mode:e})};de.aes.startDecrypting=function(t,e,r,n){var i=ya({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};de.aes.createDecryptionCipher=function(t,e){return ya({key:t,output:null,decrypt:!0,mode:e})};de.aes.Algorithm=function(t,e){Wu||Wm();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Gu(r._w,n,i,!1)},decrypt:function(n,i){return Gu(r._w,n,i,!0)}}}),r._init=!1};de.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=de.util.createBuffer(e);else if(de.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=de.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!de.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!de.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Ym(e,t.decrypt&&!s),this._init=!0}};de.aes._expandKey=function(t,e){return Wu||Wm(),Ym(t,e)};de.aes._updateBlock=Gu;ui("AES-ECB",de.cipher.modes.ecb);ui("AES-CBC",de.cipher.modes.cbc);ui("AES-CFB",de.cipher.modes.cfb);ui("AES-OFB",de.cipher.modes.ofb);ui("AES-CTR",de.cipher.modes.ctr);ui("AES-GCM",de.cipher.modes.gcm);function ui(t,e){var r=function(){return new de.aes.Algorithm(t,e)};de.cipher.registerAlgorithm(t,r)}var Wu=!1,ci=4,ft,Hu,Gm,xn,Ot;function Wm(){Wu=!0,Gm=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;ft=new Array(256),Hu=new Array(256),xn=new Array(4),Ot=new Array(4);for(var e=0;e<4;++e)xn[e]=new Array(256),Ot[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ft[r]=a,Hu[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var h=0;h<4;++h)xn[h][r]=u,Ot[h][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Ym(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=ci*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=ft[n>>>16&255]<<24^ft[n>>>8&255]<<16^ft[n&255]<<8^ft[n>>>24]^Gm[i]<<24,i++):o>6&&c%o===4&&(n=ft[n>>>24]<<24^ft[n>>>16&255]<<16^ft[n>>>8&255]<<8^ft[n&255]),r[c]=r[c-o]^n;if(e){var u,f=Ot[0],h=Ot[1],p=Ot[2],y=Ot[3],l=r.slice(0);a=r.length;for(var c=0,d=a-ci;c<a;c+=ci,d-=ci)if(c===0||c===a-ci)l[c]=r[d],l[c+1]=r[d+3],l[c+2]=r[d+2],l[c+3]=r[d+1];else for(var m=0;m<ci;++m)u=r[d+m],l[c+(3&-m)]=f[ft[u>>>24]]^h[ft[u>>>16&255]]^p[ft[u>>>8&255]]^y[ft[u&255]];r=l}return r}function Gu(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=Ot[0],s=Ot[1],a=Ot[2],c=Ot[3],u=Hu):(o=xn[0],s=xn[1],a=xn[2],c=xn[3],u=ft);var f,h,p,y,l,d,m;f=e[0]^t[0],h=e[n?3:1]^t[1],p=e[2]^t[2],y=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)l=o[f>>>24]^s[h>>>16&255]^a[p>>>8&255]^c[y&255]^t[++g],d=o[h>>>24]^s[p>>>16&255]^a[y>>>8&255]^c[f&255]^t[++g],m=o[p>>>24]^s[y>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],y=o[y>>>24]^s[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++g],f=l,h=d,p=m;r[0]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[y&255]^t[++g],r[n?3:1]=u[h>>>24]<<24^u[p>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^t[++g],r[2]=u[p>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[p&255]^t[++g]}function ya(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=de.cipher.createDecipher(r,t.key):n=de.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof de.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Jm=z((KO,jm)=>{var ye=le();qu();$u();ke();jm.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=ga({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return ga({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=ga({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return ga({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Xm(r._keys,n,i,!1)},decrypt:function(n,i){return Xm(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=pA(e),this._init=!0}};Ht("DES-ECB",ye.cipher.modes.ecb);Ht("DES-CBC",ye.cipher.modes.cbc);Ht("DES-CFB",ye.cipher.modes.cfb);Ht("DES-OFB",ye.cipher.modes.ofb);Ht("DES-CTR",ye.cipher.modes.ctr);Ht("3DES-ECB",ye.cipher.modes.ecb);Ht("3DES-CBC",ye.cipher.modes.cbc);Ht("3DES-CFB",ye.cipher.modes.cfb);Ht("3DES-OFB",ye.cipher.modes.ofb);Ht("3DES-CTR",ye.cipher.modes.ctr);function Ht(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var sA=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],aA=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],cA=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],uA=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],fA=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],lA=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],hA=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],dA=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function pA(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],h=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],l=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],d=t.length()>8?3:1,m=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,v=0;v<d;v++){var w=t.getInt32(),E=t.getInt32();b=(w>>>4^E)&252645135,E^=b,w^=b<<4,b=(E>>>-16^w)&65535,w^=b,E^=b<<-16,b=(w>>>2^E)&858993459,E^=b,w^=b<<2,b=(E>>>-16^w)&65535,w^=b,E^=b<<-16,b=(w>>>1^E)&1431655765,E^=b,w^=b<<1,b=(E>>>8^w)&16711935,w^=b,E^=b<<8,b=(w>>>1^E)&1431655765,E^=b,w^=b<<1,b=w<<8|E>>>20&240,w=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=b;for(var A=0;A<g.length;++A){g[A]?(w=w<<2|w>>>26,E=E<<2|E>>>26):(w=w<<1|w>>>27,E=E<<1|E>>>27),w&=-15,E&=-15;var C=e[w>>>28]|r[w>>>24&15]|n[w>>>20&15]|i[w>>>16&15]|o[w>>>12&15]|s[w>>>8&15]|a[w>>>4&15],P=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|h[E>>>16&15]|p[E>>>12&15]|y[E>>>8&15]|l[E>>>4&15];b=(P>>>16^C)&65535,m[x++]=C^b,m[x++]=P^b<<16}}return m}function Xm(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],h=o[u+2],p=o[u];p!=f;p+=h){var y=c^t[p],l=(c>>>4|c<<28)^t[p+1];s=a,a=c,c=s^(aA[y>>>24&63]|uA[y>>>16&63]|lA[y>>>8&63]|dA[y&63]|sA[l>>>24&63]|cA[l>>>16&63]|fA[l>>>8&63]|hA[l&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function ga(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ye.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var bn=z((VO,Zm)=>{var xa=le();Zm.exports=xa.md=xa.md||{};xa.md.algorithms=xa.md.algorithms||{}});var ty=z((qO,ey)=>{var dr=le();bn();ke();var mA=ey.exports=dr.hmac=dr.hmac||{};mA.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in dr.md.algorithms)e=dr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=dr.util.createBuffer(s);else if(dr.util.isArray(s)){var a=s;s=dr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=dr.util.createBuffer(),n=dr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var $o=z(()=>{});var ny=z((HO,ry)=>{var lt=le();ty();bn();ke();var yA=lt.pkcs5=lt.pkcs5||{},pr;lt.util.isNodejs&&!lt.options.usePureJavaScript&&(pr=$o());ry.exports=lt.pbkdf2=yA.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),lt.util.isNodejs&&!lt.options.usePureJavaScript&&pr.pbkdf2&&(i===null||typeof i!="object")&&(pr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?pr.pbkdf2Sync.length===4?pr.pbkdf2(t,e,r,n,function(b,v){if(b)return o(b);o(null,v.toString("binary"))}):pr.pbkdf2(t,e,r,n,i,function(b,v){if(b)return o(b);o(null,v.toString("binary"))}):pr.pbkdf2Sync.length===4?pr.pbkdf2Sync(t,e,r,n).toString("binary"):pr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in lt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=lt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=lt.hmac.create();f.start(i,t);var h="",p,y,l;if(!o){for(var d=1;d<=c;++d){f.start(null,null),f.update(e),f.update(lt.util.int32ToBytes(d)),p=l=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(l),y=f.digest().getBytes(),p=lt.util.xorBytes(p,y,s),l=y;h+=d<c?p:p.substr(0,u)}return h}var d=1,m;function g(){if(d>c)return o(null,h);f.start(null,null),f.update(e),f.update(lt.util.int32ToBytes(d)),p=l=f.digest().getBytes(),m=2,x()}function x(){if(m<=r)return f.start(null,null),f.update(l),y=f.digest().getBytes(),p=lt.util.xorBytes(p,y,s),l=y,++m,lt.util.setImmediate(x);h+=d<c?p:p.substr(0,u),++d,g()}g()}});var sy=z((GO,oy)=>{var wa=le();ke();var iy=oy.exports=wa.pem=wa.pem||{};iy.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
+ `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=ba(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=ba(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=ba(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=ba(t.headers[i]);return t.procType&&(r+=`\r
10
+ `),r+=wa.util.encode64(t.body,e.maxline||64)+`\r
11
11
  `,r+="-----END "+t.type+`-----\r
12
- `,r};Cf.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=r.exec(t),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:ps.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var d=c[f];if(!/\s/.test(d[0]))break;l+=d,u=f}if(s=l.match(n),s){for(var p={name:s[1],values:[]},h=s[2].split(","),m=0;m<h.length;++m)p.values.push(zg(h[m]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function ds(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
- `;for(var s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
14
- `+e.substr(o)):e=e.substr(0,o)+`\r
15
- `+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function zg(t){return t.replace(/^\s+/,"")}});var kf=q((h_,Nf)=>{var Kt=le();Kr();Re();var Lf=Nf.exports=Kt.sha256=Kt.sha256||{};Kt.md.sha256=Kt.md.algorithms.sha256=Lf;Lf.create=function(){Pf||Hg();var t=null,e=Kt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Kt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Kt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Bf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Kt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Ta.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};Bf(f,r,i);var d=Kt.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var Ta=null,Pf=!1,Df=null;function Hg(){Ta="\x80",Ta+=Kt.util.fillString("\0",64),Df=[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],Pf=!0}function Bf(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,m=t.h5,g=t.h6,y=t.h7,u=0;u<64;++u)o=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(m^g),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=y+o+a+Df[u]+e[u],i=s+c,y=g,g=m,m=h,h=p+n>>>0,p=d,d=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+d|0,t.h3=t.h3+p|0,t.h4=t.h4+h|0,t.h5=t.h5+m|0,t.h6=t.h6+g|0,t.h7=t.h7+y|0,x-=64}}});var Mf=q((d_,Of)=>{var qt=le();Re();var ms=null;qt.util.isNodejs&&!qt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ms=yi());var Gg=Of.exports=qt.prng=qt.prng||{};Gg.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,d=e.plugin.increment,p=e.plugin.formatKey,h=e.plugin.formatSeed,m=qt.util.createBuffer();e.key=null,g();function g(y){if(y)return l(y);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return qt.util.nextTick(function(){s(g)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),qt.util.setImmediate(g)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var h=qt.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,h.putBytes(m),e.key=d(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return h.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,d){if(f)return u(f);e.collect(d),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var d=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(d),e.generated=0}function c(u){var l=null,f=qt.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(v){return d.getRandomValues(v)});var p=qt.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{l(m);for(var g=0;g<m.length;++g)p.putInt32(m[g])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(p.length()<u)for(var y,x,b,I=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(I&65535),y=16807*(I>>16),x+=(y&32767)<<16,x+=y>>15,x=(x&2147483647)+(x>>31),I=x&4294967295;for(var g=0;g<3;++g)b=I>>>(g<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return ms?(e.seedFile=function(u,l){ms.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return ms.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,d){function p(h){var m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&e.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",l)}},e}});var xi=q((p_,Ra)=>{var Ue=le();Ca();kf();Mf();Re();(function(){if(Ue.random&&Ue.random.getBytes){Ra.exports=Ue.random;return}(function(t){var e={},r=new Array(4),n=Ue.util.createBuffer();e.formatKey=function(f){var d=Ue.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),Ue.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=Ue.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},e.cipher=function(f,d){return Ue.aes._updateBlock(f,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=Ue.md.sha256;function i(){var f=Ue.prng.create(e);return f.getBytes=function(d,p){return f.generate(d,p)},f.getBytesSync=function(d){return f.generate(d)},f}var s=i(),o=null,a=Ue.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Ue.options.usePureJavaScript||!Ue.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Ue.random)Ue.random=s;else for(var l in s)Ue.random[l]=s[l];Ue.random.createInstance=i,Ra.exports=Ue.random})(typeof jQuery<"u"?jQuery:null)})()});var qf=q((m_,Kf)=>{var ot=le();Re();var Ba=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],Uf=[1,2,3,5],Wg=function(t,e){return t<<e&65535|(t&65535)>>16-e},Yg=function(t,e){return(t&65535)>>e|t<<16-e&65535};Kf.exports=ot.rc2=ot.rc2||{};ot.rc2.expandKey=function(t,e){typeof t=="string"&&(t=ot.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ba[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Ba[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Ba[r.at(a+1)^r.at(a+s)]);return r};var Ff=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=ot.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=Wg(h[u],Uf[u]),l++},c=function(h){for(u=0;u<4;u++)h[u]+=f[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=Yg(h[u],Uf[u]),h[u]-=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),l--},c=function(h){for(u=3;u>=0;u--)h[u]-=f[h[(u+3)%4]&63]});var d=function(h){var m=[];for(u=0;u<4;u++){var g=i.getInt16Le();o!==null&&(r?g^=o.getInt16Le():o.putInt16Le(g)),m.push(g&65535)}l=r?0:63;for(var y=0;y<h.length;y++)for(var x=0;x<h[y][0];x++)h[y][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},p=null;return p={start:function(h,m){h&&typeof h=="string"&&(h=ot.util.createBuffer(h)),n=!1,i=ot.util.createBuffer(),s=m||new ot.util.createBuffer,o=h,p.output=s},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var m=!0;if(r)if(h)m=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,s,!r);else{var y=s.length(),x=s.at(y-1);x>y?m=!1:s.truncate(x)}return m}},p};ot.rc2.startEncrypting=function(t,e,r){var n=ot.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};ot.rc2.createEncryptionCipher=function(t,e){return Ff(t,e,!0)};ot.rc2.startDecrypting=function(t,e,r){var n=ot.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};ot.rc2.createDecryptionCipher=function(t,e){return Ff(t,e,!1)}});var xs=q((g_,Qf)=>{var La=le();Qf.exports=La.jsbn=La.jsbn||{};var tr,Qg=0xdeadbeefcafe,Vf=(Qg&16777215)==15715070;function T(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}La.jsbn.BigInteger=T;function re(){return new T(null)}function Xg(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function Zg(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function $f(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(T.prototype.am=$f,tr=28):Vf&&navigator.appName=="Microsoft Internet Explorer"?(T.prototype.am=Zg,tr=30):Vf&&navigator.appName!="Netscape"?(T.prototype.am=Xg,tr=26):(T.prototype.am=$f,tr=28);T.prototype.DB=tr;T.prototype.DM=(1<<tr)-1;T.prototype.DV=1<<tr;var Pa=52;T.prototype.FV=Math.pow(2,Pa);T.prototype.F1=Pa-tr;T.prototype.F2=2*tr-Pa;var jg="0123456789abcdefghijklmnopqrstuvwxyz",gs=new Array,An,wt;An=48;for(wt=0;wt<=9;++wt)gs[An++]=wt;An=97;for(wt=10;wt<36;++wt)gs[An++]=wt;An=65;for(wt=10;wt<36;++wt)gs[An++]=wt;function zf(t){return jg.charAt(t)}function Hf(t,e){var r=gs[t.charCodeAt(e)];return r??-1}function Jg(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function ey(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function br(t){var e=re();return e.fromInt(t),e}function ty(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:Hf(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&T.ZERO.subTo(this,this)}function ry(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function ny(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=zf(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=zf(n));return i?s:"0"}function iy(){var t=re();return T.ZERO.subTo(this,t),t}function sy(){return this.s<0?this.negate():this}function oy(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function ys(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function ay(){return this.t<=0?0:this.DB*(this.t-1)+ys(this.data[this.t-1]^this.s&this.DM)}function cy(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function uy(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function ly(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function fy(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function hy(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function dy(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&T.ZERO.subTo(e,e)}function py(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function my(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=re());var s=re(),o=this.s,a=t.s,c=this.DB-ys(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),d=this.FV/f,p=(1<<this.F1)/f,h=1<<this.F2,m=r.t,g=m-u,y=e??re();for(s.dlShiftTo(g,y),r.compareTo(y)>=0&&(r.data[r.t++]=1,r.subTo(y,r)),T.ONE.dlShiftTo(u,y),y.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--g>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*d+(r.data[m-1]+h)*p);if((r.data[m]+=s.am(0,x,r,g,0,u))<x)for(s.dlShiftTo(g,y),r.subTo(y,r);r.data[m]<--x;)r.subTo(y,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&T.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&T.ZERO.subTo(r,r)}}}function gy(t){var e=re();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(T.ZERO)>0&&t.subTo(e,e),e}function qr(t){this.m=t}function yy(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function xy(t){return t}function by(t){t.divRemTo(this.m,null,t)}function wy(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Ey(t,e){t.squareTo(e),this.reduce(e)}qr.prototype.convert=yy;qr.prototype.revert=xy;qr.prototype.reduce=by;qr.prototype.mulTo=wy;qr.prototype.sqrTo=Ey;function vy(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Vr(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function _y(t){var e=re();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(T.ZERO)>0&&this.m.subTo(e,e),e}function Sy(t){var e=re();return t.copyTo(e),this.reduce(e),e}function Ay(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Iy(t,e){t.squareTo(e),this.reduce(e)}function Cy(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Vr.prototype.convert=_y;Vr.prototype.revert=Sy;Vr.prototype.reduce=Ay;Vr.prototype.mulTo=Cy;Vr.prototype.sqrTo=Iy;function Ty(){return(this.t>0?this.data[0]&1:this.s)==0}function Ry(t,e){if(t>4294967295||t<1)return T.ONE;var r=re(),n=re(),i=e.convert(this),s=ys(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function By(t,e){var r;return t<256||e.isEven()?r=new qr(e):r=new Vr(e),this.exp(t,r)}T.prototype.copyTo=Jg;T.prototype.fromInt=ey;T.prototype.fromString=ty;T.prototype.clamp=ry;T.prototype.dlShiftTo=cy;T.prototype.drShiftTo=uy;T.prototype.lShiftTo=ly;T.prototype.rShiftTo=fy;T.prototype.subTo=hy;T.prototype.multiplyTo=dy;T.prototype.squareTo=py;T.prototype.divRemTo=my;T.prototype.invDigit=vy;T.prototype.isEven=Ty;T.prototype.exp=Ry;T.prototype.toString=ny;T.prototype.negate=iy;T.prototype.abs=sy;T.prototype.compareTo=oy;T.prototype.bitLength=ay;T.prototype.mod=gy;T.prototype.modPowInt=By;T.ZERO=br(0);T.ONE=br(1);function Ly(){var t=re();return this.copyTo(t),t}function Py(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function Dy(){return this.t==0?this.s:this.data[0]<<24>>24}function Ny(){return this.t==0?this.s:this.data[0]<<16>>16}function ky(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Oy(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function My(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=br(r),i=re(),s=re(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function Uy(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=Hf(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&T.ZERO.subTo(this,this)}function Fy(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(T.ONE.shiftLeft(t-1),Da,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(T.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Ky(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function qy(t){return this.compareTo(t)==0}function Vy(t){return this.compareTo(t)<0?this:t}function $y(t){return this.compareTo(t)>0?this:t}function zy(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Hy(t,e){return t&e}function Gy(t){var e=re();return this.bitwiseTo(t,Hy,e),e}function Da(t,e){return t|e}function Wy(t){var e=re();return this.bitwiseTo(t,Da,e),e}function Gf(t,e){return t^e}function Yy(t){var e=re();return this.bitwiseTo(t,Gf,e),e}function Wf(t,e){return t&~e}function Qy(t){var e=re();return this.bitwiseTo(t,Wf,e),e}function Xy(){for(var t=re(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function Zy(t){var e=re();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function jy(t){var e=re();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Jy(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function ex(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Jy(this.data[t]);return this.s<0?this.t*this.DB:-1}function tx(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function rx(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=tx(this.data[r]^e);return t}function nx(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function ix(t,e){var r=T.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function sx(t){return this.changeBit(t,Da)}function ox(t){return this.changeBit(t,Wf)}function ax(t){return this.changeBit(t,Gf)}function cx(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function ux(t){var e=re();return this.addTo(t,e),e}function lx(t){var e=re();return this.subTo(t,e),e}function fx(t){var e=re();return this.multiplyTo(t,e),e}function hx(t){var e=re();return this.divRemTo(t,e,null),e}function dx(t){var e=re();return this.divRemTo(t,null,e),e}function px(t){var e=re(),r=re();return this.divRemTo(t,e,r),new Array(e,r)}function mx(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function gx(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function bi(){}function Yf(t){return t}function yx(t,e,r){t.multiplyTo(e,r)}function xx(t,e){t.squareTo(e)}bi.prototype.convert=Yf;bi.prototype.revert=Yf;bi.prototype.mulTo=yx;bi.prototype.sqrTo=xx;function bx(t){return this.exp(t,new bi)}function wx(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function Ex(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function In(t){this.r2=re(),this.q3=re(),T.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function vx(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=re();return t.copyTo(e),this.reduce(e),e}function _x(t){return t}function Sx(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Ax(t,e){t.squareTo(e),this.reduce(e)}function Ix(t,e,r){t.multiplyTo(e,r),this.reduce(r)}In.prototype.convert=vx;In.prototype.revert=_x;In.prototype.reduce=Sx;In.prototype.mulTo=Ix;In.prototype.sqrTo=Ax;function Cx(t,e){var r=t.bitLength(),n,i=br(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new qr(e):e.isEven()?s=new In(e):s=new Vr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=re();for(s.sqrTo(o[1],l);a<=u;)o[a]=re(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,d,p=!0,h=re(),m;for(r=ys(t.data[f])-1;f>=0;){for(r>=c?d=t.data[f]>>r-c&u:(d=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=t.data[f-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)o[d].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,h),s.sqrTo(h,i),a-=2;a>0?s.sqrTo(i,h):(m=i,i=h,h=m),s.mulTo(h,o[d],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function Tx(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function Rx(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function Bx(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return T.ZERO;for(var r=t.clone(),n=this.clone(),i=br(1),s=br(0),o=br(0),a=br(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(T.ONE)!=0)return T.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Rt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Lx=(1<<26)/Rt[Rt.length-1];function Px(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Rt[Rt.length-1]){for(e=0;e<Rt.length;++e)if(r.data[0]==Rt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Rt.length;){for(var n=Rt[e],i=e+1;i<Rt.length&&n<Lx;)n*=Rt[i++];for(n=r.modInt(n);e<i;)if(n%Rt[e++]==0)return!1}return r.millerRabin(t)}function Dx(t){var e=this.subtract(T.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Nx(),s,o=0;o<t;++o){do s=new T(this.bitLength(),i);while(s.compareTo(T.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(T.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(T.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Nx(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}T.prototype.chunkSize=ky;T.prototype.toRadix=My;T.prototype.fromRadix=Uy;T.prototype.fromNumber=Fy;T.prototype.bitwiseTo=zy;T.prototype.changeBit=ix;T.prototype.addTo=cx;T.prototype.dMultiply=mx;T.prototype.dAddOffset=gx;T.prototype.multiplyLowerTo=wx;T.prototype.multiplyUpperTo=Ex;T.prototype.modInt=Rx;T.prototype.millerRabin=Dx;T.prototype.clone=Ly;T.prototype.intValue=Py;T.prototype.byteValue=Dy;T.prototype.shortValue=Ny;T.prototype.signum=Oy;T.prototype.toByteArray=Ky;T.prototype.equals=qy;T.prototype.min=Vy;T.prototype.max=$y;T.prototype.and=Gy;T.prototype.or=Wy;T.prototype.xor=Yy;T.prototype.andNot=Qy;T.prototype.not=Xy;T.prototype.shiftLeft=Zy;T.prototype.shiftRight=jy;T.prototype.getLowestSetBit=ex;T.prototype.bitCount=rx;T.prototype.testBit=nx;T.prototype.setBit=sx;T.prototype.clearBit=ox;T.prototype.flipBit=ax;T.prototype.add=ux;T.prototype.subtract=lx;T.prototype.multiply=fx;T.prototype.divide=hx;T.prototype.remainder=dx;T.prototype.divideAndRemainder=px;T.prototype.modPow=Cx;T.prototype.modInverse=Bx;T.prototype.pow=bx;T.prototype.gcd=Tx;T.prototype.isProbablePrime=Px});var eh=q((y_,Jf)=>{var Vt=le();Kr();Re();var Zf=Jf.exports=Vt.sha1=Vt.sha1||{};Vt.md.sha1=Vt.md.algorithms.sha1=Zf;Zf.create=function(){jf||kx();var t=null,e=Vt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Vt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Vt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Xf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Vt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Na.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Xf(f,r,i);var d=Vt.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var Na=null,jf=!1;function kx(){Na="\x80",Na+=Vt.util.fillString("\0",64),jf=!0}function Xf(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var nh=q((x_,rh)=>{var $t=le();Re();xi();eh();var th=rh.exports=$t.pkcs1=$t.pkcs1||{};th.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=$t.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",d=c-e.length,p=0;p<d;p++)f+="\0";var h=l.getBytes()+f+""+e;if(!i)i=$t.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=bs(i,a-s.digestLength-1,o),g=$t.util.xorBytes(h,m,h.length),y=bs(g,s.digestLength,o),x=$t.util.xorBytes(i,y,i.length);return"\0"+x+g};th.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=e.length,g.expectedLength=o,g}if(i===void 0?i=$t.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=bs(l,i.digestLength,s),d=$t.util.xorBytes(u,f,u.length),p=bs(d,o-i.digestLength-1,s),h=$t.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),g=c!=="\0",y=0;y<i.digestLength;++y)g|=a.charAt(y)!==m.charAt(y);for(var x=1,b=i.digestLength,I=i.digestLength;I<h.length;I++){var v=h.charCodeAt(I),_=v&1^1,P=x?65534:0;g|=v&P,x=x&_,b+=x}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function bs(t,e,r){r||(r=$t.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var ih=q((b_,ka)=>{var wr=le();Re();xs();xi();(function(){if(wr.prime){ka.exports=wr.prime;return}var t=ka.exports=wr.prime=wr.prime||{},e=wr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,d){return f|d};t.generateProbablePrime=function(f,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var m=d.prng||wr.random,g={nextBytes:function(y){for(var x=m.getBytesSync(y.length),b=0;b<y.length;++b)y[b]=x.charCodeAt(b)}};if(h.name==="PRIMEINC")return s(f,g,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function s(f,d,p,h){return"workers"in p?c(f,d,p,h):o(f,d,p,h)}function o(f,d,p,h){var m=u(f,d),g=0,y=l(m.bitLength());"millerRabinTests"in p&&(y=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,g,y,x,h)}function a(f,d,p,h,m,g,y){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return y(null,f);f.dAddOffset(r[h++%8],0)}while(g<0||+new Date-x<g);wr.util.setImmediate(function(){a(f,d,p,h,m,g,y)})}function c(f,d,p,h){if(typeof Worker>"u")return o(f,d,p,h);var m=u(f,d),g=p.workers,y=p.workLoad||100,x=y*30/8,b=p.workerScript||"forge/prime.worker.js";if(g===-1)return wr.util.estimateCores(function(v,_){v&&(_=2),g=_-1,I()});I();function I(){g=Math.max(1,g);for(var v=[],_=0;_<g;++_)v[_]=new Worker(b);for(var P=g,_=0;_<g;++_)v[_].addEventListener("message",H);var D=!1;function H(G){if(!D){--P;var $=G.data;if($.found){for(var j=0;j<v.length;++j)v[j].terminate();return D=!0,h(null,new e($.prime,16))}m.bitLength()>f&&(m=u(f,d));var ue=m.toString(16);G.target.postMessage({hex:ue,workLoad:y}),m.dAddOffset(x,0)}}}}function u(f,d){var p=new e(f,d),h=f-1;return p.testBit(h)||p.bitwiseTo(e.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var Es=q((w_,fh)=>{var V=le();gi();xs();os();nh();ih();xi();Re();typeof te>"u"&&(te=V.jsbn.BigInteger);var te,Oa=V.util.isNodejs?yi():null,E=V.asn1,Et=V.util;V.pki=V.pki||{};fh.exports=V.pki.rsa=V.rsa=V.rsa||{};var W=V.pki,Ox=[6,4,2,4,2,4,6,2],Mx={name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Ux={name:"RSAPrivateKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Fx={name:"RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Kx=V.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},qx={name:"DigestInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Vx=function(t){var e;if(t.algorithm in W.oids)e=W.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=E.oidToDer(e).getBytes(),i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]),s=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]);s.value.push(E.create(E.Class.UNIVERSAL,E.Type.OID,!1,n)),s.value.push(E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,""));var o=E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),E.toDer(i).getBytes()},uh=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(te.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(te.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new te(V.util.bytesToHex(V.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(te.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};W.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=lh(t,e,r)):(i=V.util.createBuffer(),i.putBytes(t));for(var o=new te(i.toHex(),16),a=uh(o,e,n),c=a.toString(16),u=V.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(V.util.hexToBytes(c)),u.getBytes()};W.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new te(V.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=uh(o,e,r),c=a.toString(16),u=V.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(V.util.hexToBytes(c)),n!==!1?ws(u.getBytes(),e,r):u.getBytes()};W.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||V.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new te(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};W.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new te(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new te(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(te.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(zx(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Ox[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(te.ONE).gcd(t.e).compareTo(te.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(te.ONE),t.q1=t.q.subtract(te.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(te.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:W.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:W.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};W.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!V.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(sh("generateKeyPair"))return Oa.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:W.privateKeyFromPem(u),publicKey:W.publicKeyFromPem(c)})});if(oh("generateKey")&&oh("exportKey"))return Et.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:ch(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Et.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=W.privateKeyFromAsn1(E.fromDer(V.util.createBuffer(a)));n(null,{privateKey:c,publicKey:W.setRsaPublicKey(c.n,c.e)})}});if(ah("generateKey")&&ah("exportKey")){var i=Et.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:ch(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Et.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=W.privateKeyFromAsn1(E.fromDer(V.util.createBuffer(f)));n(null,{privateKey:d,publicKey:W.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(sh("generateKeyPairSync")){var s=Oa.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:W.privateKeyFromPem(s.privateKey),publicKey:W.publicKeyFromPem(s.publicKey)}}}var o=W.rsa.createKeyPairGenerationState(t,e,r);if(!n)return W.rsa.stepKeyPairGenerationState(o,0),o.keys;$x(o,r,n)};W.setRsaPublicKey=W.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return lh(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return V.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return W.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=ws(u,r,!0);var l=E.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},d=[];if(!E.validate(l,qx,f,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=E.derToOid(f.algorithmIdentifier);if(!(h===V.oids.md2||h===V.oids.md5||h===V.oids.sha1||h===V.oids.sha224||h===V.oids.sha256||h===V.oids.sha384||h===V.oids.sha512||h===V.oids["sha512-224"]||h===V.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===V.oids.md2||h===V.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=ws(u,r,!0),c===u}});var a=W.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};W.setRsaPrivateKey=W.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var d=W.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:ws};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return V.pkcs1.decode_rsa_oaep(h,p,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:Vx},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return W.rsa.encrypt(d,c,f)},c};W.wrapRsaPrivateKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(W.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,E.toDer(t).getBytes())])};W.privateKeyFromAsn1=function(t){var e={},r=[];if(E.validate(t,Mx,e,r)&&(t=E.fromDer(V.util.createBuffer(e.privateKey))),e={},r=[],!E.validate(t,Ux,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=V.util.createBuffer(e.privateKeyModulus).toHex(),s=V.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=V.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(e.privateKeyPrime1).toHex(),c=V.util.createBuffer(e.privateKeyPrime2).toHex(),u=V.util.createBuffer(e.privateKeyExponent1).toHex(),l=V.util.createBuffer(e.privateKeyExponent2).toHex(),f=V.util.createBuffer(e.privateKeyCoefficient).toHex(),W.setRsaPrivateKey(new te(i,16),new te(s,16),new te(o,16),new te(a,16),new te(c,16),new te(u,16),new te(l,16),new te(f,16))};W.privateKeyToAsn1=W.privateKeyToRSAPrivateKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.e)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.d)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.p)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.q)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.dP)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.dQ)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.qInv))])};W.publicKeyFromAsn1=function(t){var e={},r=[];if(E.validate(t,Kx,e,r)){var n=E.derToOid(e.publicKeyOid);if(n!==W.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!E.validate(t,Fx,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=V.util.createBuffer(e.publicKeyModulus).toHex(),o=V.util.createBuffer(e.publicKeyExponent).toHex();return W.setRsaPublicKey(new te(s,16),new te(o,16))};W.publicKeyToAsn1=W.publicKeyToSubjectPublicKeyInfo=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(W.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.BITSTRING,!1,[W.publicKeyToRSAPublicKey(t)])])};W.publicKeyToRSAPublicKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.e))])};function lh(t,e,r){var n=V.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=V.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function ws(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=V.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function $x(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){V.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(te.ONE).gcd(t.e).compareTo(te.ONE)!==0){t.p=null,i();return}if(t.q.subtract(te.ONE).gcd(t.e).compareTo(te.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(te.ONE),t.q1=t.q.subtract(te.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(te.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:W.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:W.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function zt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=V.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function zx(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function sh(t){return V.util.isNodejs&&typeof Oa[t]=="function"}function oh(t){return typeof Et.globalScope<"u"&&typeof Et.globalScope.crypto=="object"&&typeof Et.globalScope.crypto.subtle=="object"&&typeof Et.globalScope.crypto.subtle[t]=="function"}function ah(t){return typeof Et.globalScope<"u"&&typeof Et.globalScope.msCrypto=="object"&&typeof Et.globalScope.msCrypto.subtle=="object"&&typeof Et.globalScope.msCrypto.subtle[t]=="function"}function ch(t){for(var e=V.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var yh=q((E_,gh)=>{var M=le();Ca();gi();Ef();Kr();os();If();Rf();xi();qf();Es();Re();typeof hh>"u"&&(hh=M.jsbn.BigInteger);var hh,A=M.asn1,Y=M.pki=M.pki||{};gh.exports=Y.pbe=M.pbe=M.pbe||{};var $r=Y.oids,Hx={name:"EncryptedPrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Gx={name:"PBES2Algorithms",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Wx={name:"pkcs-12PbeParams",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"iterations"}]};Y.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=M.random.getBytesSync(r.saltSize),i=r.count,s=A.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=$r["aes128-CBC"],f=M.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=$r["aes192-CBC"],f=M.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=$r["aes256-CBC"],f=M.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=$r.desCBC,f=M.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=mh(p),m=M.pkcs5.pbkdf2(e,n,i,o,h),g=M.random.getBytesSync(u),y=f(m);y.start(g),y.update(A.toDer(t)),y.finish(),c=y.output.getBytes();var x=Yx(n,s,o,p);a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer($r.pkcs5PBES2).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer($r.pkcs5PBKDF2).getBytes()),x]),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(l).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){o=24;var b=new M.util.ByteBuffer(n),m=Y.pbe.generatePkcs12Key(e,b,1,i,o),g=Y.pbe.generatePkcs12Key(e,b,2,i,o),y=M.des.createEncryptionCipher(m);y.start(g),y.update(A.toDer(t)),y.finish(),c=y.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer($r["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,n),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var I=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return I};Y.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!A.validate(t,Hx,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=A.derToOid(n.encryptionOid),a=Y.pbe.getCipher(o,n.encryptionParams,e),c=M.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};Y.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(t).getBytes()};return M.pem.encode(r,{maxline:e})};Y.encryptedPrivateKeyFromPem=function(t){var e=M.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return A.fromDer(e.body)};Y.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Y.wrapRsaPrivateKey(Y.privateKeyToAsn1(t));return n=Y.encryptPrivateKeyInfo(n,e,r),Y.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=M.random.getBytesSync(8),a=M.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=M.random.getBytesSync(8),a=M.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=M.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(A.toDer(Y.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:M.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return M.pem.encode(f)};Y.decryptRsaPrivateKey=function(t,e){var r=null,n=M.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=M.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=M.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=M.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=M.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=M.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return M.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return M.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return M.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=M.util.hexToBytes(n.dekInfo.parameters),c=M.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(M.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Y.decryptPrivateKeyInfo(A.fromDer(r),e):r=A.fromDer(r),r!==null&&(r=Y.privateKeyFromAsn1(r)),r};Y.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in M.md))throw new Error('"sha1" hash algorithm unavailable.');s=M.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new M.util.ByteBuffer,f=new M.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var d=f.length(),p=e.length(),h=new M.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(p/u),g=new M.util.ByteBuffer;for(a=0;a<m;a++)g.putByte(e.at(a%p));var y=u*Math.ceil(d/u),x=new M.util.ByteBuffer;for(a=0;a<y;a++)x.putByte(f.at(a%d));var b=g;b.putBuffer(x);for(var I=Math.ceil(i/c),v=1;v<=I;v++){var _=new M.util.ByteBuffer;_.putBytes(h.bytes()),_.putBytes(b.bytes());for(var P=0;P<n;P++)s.start(),s.update(_.getBytes()),_=s.digest();var D=new M.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(_.at(a%c));var H=Math.ceil(p/u)+Math.ceil(d/u),G=new M.util.ByteBuffer;for(o=0;o<H;o++){var $=new M.util.ByteBuffer(b.getBytes(u)),j=511;for(a=D.length()-1;a>=0;a--)j=j>>8,j+=D.at(a)+$.at(a),$.setAt(a,j&255);G.putBuffer($)}b=G,l.putBuffer(_)}return l.truncate(l.length()-i),l};Y.pbe.getCipher=function(t,e,r){switch(t){case Y.oids.pkcs5PBES2:return Y.pbe.getCipherForPBES2(t,e,r);case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:return Y.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Y.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!A.validate(e,Gx,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=A.derToOid(n.kdfOid),t!==Y.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=A.derToOid(n.encOid),t!==Y.oids["aes128-CBC"]&&t!==Y.oids["aes192-CBC"]&&t!==Y.oids["aes256-CBC"]&&t!==Y.oids["des-EDE3-CBC"]&&t!==Y.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=M.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Y.oids[t]){case"aes128-CBC":c=16,u=M.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=M.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=M.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=M.des.createDecryptionCipher;break;case"desCBC":c=8,u=M.des.createDecryptionCipher;break}var l=ph(n.prfOid),f=M.pkcs5.pbkdf2(r,o,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};Y.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!A.validate(e,Wx,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=M.util.createBuffer(n.salt),a=M.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=M.des.startDecrypting;break;case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,g){var y=M.rc2.createDecryptionCipher(m,40);return y.start(g,null),y};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=ph(n.prfOid),d=Y.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=Y.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(d,p)};Y.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in M.md))throw new Error('"md5" hash algorithm unavailable.');n=M.md.md5.create()}e===null&&(e="");for(var i=[dh(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(dh(n,i[o-1]+t+e));return i.join("").substr(0,r)};function dh(t,e){return t.start().update(e).digest().getBytes()}function ph(t){var e;if(!t)e="hmacWithSHA1";else if(e=Y.oids[A.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return mh(e)}function mh(t){var e=M.md;switch(t){case"hmacWithSHA224":e=M.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function Yx(t,e,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,t),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,M.util.hexToBytes(r.toString(16))),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Y.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var B0=q((g4,R0)=>{var me=le();Kr();Re();var Pi=R0.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=Pi;var C0=me.sha384=me.sha512.sha384=me.sha512.sha384||{};C0.create=function(){return Pi.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=C0;me.sha512.sha256=me.sha512.sha256||{create:function(){return Pi.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return Pi.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;Pi.create=function(t){if(T0||b2(),typeof t>"u"&&(t="SHA-512"),!(t in tn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=tn[t],r=null,n=me.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=me.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=me.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),I0(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Hc.substr(0,a.blockLength-l));for(var f,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)f=a.fullMessageLength[h+1]*8,d=f/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);I0(m,i,c);var g=me.util.createBuffer(),y;t==="SHA-512"?y=m.length:t==="SHA-384"?y=m.length-2:y=m.length-4;for(var h=0;h<y;++h)g.putInt32(m[h][0]),(h!==y-1||t!=="SHA-512/224")&&g.putInt32(m[h][1]);return g},a};var Hc=null,T0=!1,Gc=null,tn=null;function b2(){Hc="\x80",Hc+=me.util.fillString("\0",128),Gc=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],tn={},tn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],tn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],tn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],tn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],T0=!0}function I0(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x,b,I,v,_,P,D,H,G,$,j,ue,Ke,R,k,L,N,C,U,K,z=r.length();z>=128;){for(R=0;R<16;++R)e[R][0]=r.getInt32()>>>0,e[R][1]=r.getInt32()>>>0;for(;R<80;++R)N=e[R-2],k=N[0],L=N[1],n=((k>>>19|L<<13)^(L>>>29|k<<3)^k>>>6)>>>0,i=((k<<13|L>>>19)^(L<<3|k>>>29)^(k<<26|L>>>6))>>>0,U=e[R-15],k=U[0],L=U[1],s=((k>>>1|L<<31)^(k>>>8|L<<24)^k>>>7)>>>0,o=((k<<31|L>>>1)^(k<<24|L>>>8)^(k<<25|L>>>7))>>>0,C=e[R-7],K=e[R-16],L=i+C[1]+o+K[1],e[R][0]=n+C[0]+s+K[0]+(L/4294967296>>>0)>>>0,e[R][1]=L>>>0;for(m=t[0][0],g=t[0][1],y=t[1][0],x=t[1][1],b=t[2][0],I=t[2][1],v=t[3][0],_=t[3][1],P=t[4][0],D=t[4][1],H=t[5][0],G=t[5][1],$=t[6][0],j=t[6][1],ue=t[7][0],Ke=t[7][1],R=0;R<80;++R)u=((P>>>14|D<<18)^(P>>>18|D<<14)^(D>>>9|P<<23))>>>0,l=((P<<18|D>>>14)^(P<<14|D>>>18)^(D<<23|P>>>9))>>>0,f=($^P&(H^$))>>>0,d=(j^D&(G^j))>>>0,a=((m>>>28|g<<4)^(g>>>2|m<<30)^(g>>>7|m<<25))>>>0,c=((m<<4|g>>>28)^(g<<30|m>>>2)^(g<<25|m>>>7))>>>0,p=(m&y|b&(m^y))>>>0,h=(g&x|I&(g^x))>>>0,L=Ke+l+d+Gc[R][1]+e[R][1],n=ue+u+f+Gc[R][0]+e[R][0]+(L/4294967296>>>0)>>>0,i=L>>>0,L=c+h,s=a+p+(L/4294967296>>>0)>>>0,o=L>>>0,ue=$,Ke=j,$=H,j=G,H=P,G=D,L=_+i,P=v+n+(L/4294967296>>>0)>>>0,D=L>>>0,v=b,_=I,b=y,I=x,y=m,x=g,L=i+o,m=n+s+(L/4294967296>>>0)>>>0,g=L>>>0;L=t[0][1]+g,t[0][0]=t[0][0]+m+(L/4294967296>>>0)>>>0,t[0][1]=L>>>0,L=t[1][1]+x,t[1][0]=t[1][0]+y+(L/4294967296>>>0)>>>0,t[1][1]=L>>>0,L=t[2][1]+I,t[2][0]=t[2][0]+b+(L/4294967296>>>0)>>>0,t[2][1]=L>>>0,L=t[3][1]+_,t[3][0]=t[3][0]+v+(L/4294967296>>>0)>>>0,t[3][1]=L>>>0,L=t[4][1]+D,t[4][0]=t[4][0]+P+(L/4294967296>>>0)>>>0,t[4][1]=L>>>0,L=t[5][1]+G,t[5][0]=t[5][0]+H+(L/4294967296>>>0)>>>0,t[5][1]=L>>>0,L=t[6][1]+j,t[6][0]=t[6][0]+$+(L/4294967296>>>0)>>>0,t[6][1]=L>>>0,L=t[7][1]+Ke,t[7][0]=t[7][0]+ue+(L/4294967296>>>0)>>>0,t[7][1]=L>>>0,z-=128}}});var su=q((L8,nd)=>{var $n=1e3,zn=$n*60,Hn=zn*60,sn=Hn*24,G2=sn*7,W2=sn*365.25;nd.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Y2(t);if(r==="number"&&isFinite(t))return e.long?X2(t):Q2(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Y2(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*W2;case"weeks":case"week":case"w":return r*G2;case"days":case"day":case"d":return r*sn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Hn;case"minutes":case"minute":case"mins":case"min":case"m":return r*zn;case"seconds":case"second":case"secs":case"sec":case"s":return r*$n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Q2(t){var e=Math.abs(t);return e>=sn?Math.round(t/sn)+"d":e>=Hn?Math.round(t/Hn)+"h":e>=zn?Math.round(t/zn)+"m":e>=$n?Math.round(t/$n)+"s":t+"ms"}function X2(t){var e=Math.abs(t);return e>=sn?Ws(t,e,sn,"day"):e>=Hn?Ws(t,e,Hn,"hour"):e>=zn?Ws(t,e,zn,"minute"):e>=$n?Ws(t,e,$n,"second"):t+" ms"}function Ws(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var sd=q((P8,id)=>{function Z2(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=su(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,d=null,p,h;function m(...g){if(!m.enabled)return;let y=m,x=Number(new Date),b=x-(f||x);y.diff=b,y.prev=f,y.curr=x,f=x,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let I=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(_,P)=>{if(_==="%%")return"%";I++;let D=r.formatters[P];if(typeof D=="function"){let H=g[I];_=D.call(y,H),g.splice(I,1),I--}return _}),r.formatArgs.call(y,g),(y.log||r.log).apply(y,g)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let d=r(this.namespace+(typeof f>"u"?":":f)+l);return d.log=this.log,d}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(f=0;f<p;f++)d[f]&&(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(l))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}id.exports=Z2});var ou=q((xt,Ys)=>{xt.formatArgs=J2;xt.save=ew;xt.load=tw;xt.useColors=j2;xt.storage=rw();xt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();xt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function j2(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function J2(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ys.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}xt.log=console.debug||console.log||(()=>{});function ew(t){try{t?xt.storage.setItem("debug",t):xt.storage.removeItem("debug")}catch{}}function tw(){let t;try{t=xt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function rw(){try{return localStorage}catch{}}Ys.exports=sd()(xt);var{formatters:nw}=Ys.exports;nw.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Kd=q((n3,Bu)=>{"use strict";var Fw=Object.prototype.hasOwnProperty,st="~";function $i(){}Object.create&&($i.prototype=Object.create(null),new $i().__proto__||(st=!1));function Kw(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Fd(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Kw(r,n||t,i),o=st?st+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function ao(t,e){--t._eventsCount===0?t._events=new $i:delete t._events[e]}function tt(){this._events=new $i,this._eventsCount=0}tt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Fw.call(r,n)&&e.push(st?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};tt.prototype.listeners=function(e){var r=st?st+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};tt.prototype.listenerCount=function(e){var r=st?st+e:e,n=this._events[r];return n?n.fn?1:n.length:0};tt.prototype.emit=function(e,r,n,i,s,o){var a=st?st+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var d=c.length,p;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[f].fn.apply(c[f].context,l)}}return!0};tt.prototype.on=function(e,r,n){return Fd(this,e,r,n,!1)};tt.prototype.once=function(e,r,n){return Fd(this,e,r,n,!0)};tt.prototype.removeListener=function(e,r,n,i){var s=st?st+e:e;if(!this._events[s])return this;if(!r)return ao(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&ao(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:ao(this,s)}return this};tt.prototype.removeAllListeners=function(e){var r;return e?(r=st?st+e:e,this._events[r]&&ao(this,r)):(this._events=new $i,this._eventsCount=0),this};tt.prototype.off=tt.prototype.removeListener;tt.prototype.addListener=tt.prototype.on;tt.prefixed=st;tt.EventEmitter=tt;typeof Bu<"u"&&(Bu.exports=tt)});var Wu=q((NB,sp)=>{"use strict";function ip(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function iE(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return ip(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),ip(new i,r)}}sp.exports=iE});var dp=q(Hi=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,d=c&255,[u,l,f,d].join(".")},o=function(c){var u,l,f,d,p,h;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],l=h[1],c=c.substring(l),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,d,p;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),p=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+r(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[d,f]},t=function(){function c(u,l){var f,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(h=u.split("/",2),u=h[0],l=h[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(o(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,d;for(d=o(this.first),f=o(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Hi.ip2long=o,Hi.long2ip=a,Hi.Netmask=t}).call(Hi)});var yp=q((gp,Co)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,g=-1,y=(p.match(a.zoneIndex)||[])[0],x,b;for(y&&(y=y.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>h)return null;for(b=h-m,x=":";b--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let I=p.split(":"),v=[];for(let _=0;_<I.length;_++)v.push(parseInt(I[_],16));return v}(),{parts:h,zoneId:y}}function u(p,h,m,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let y=0,x;for(;g>0;){if(x=m-g,x<0&&(x=0),p[y]>>x!==h[y]>>x)return!1;g-=m,y+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,g;for(m=0;m<h.length;m++)if(g=h[m],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,18,0,0]),15],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,m){let g;if(m===void 0&&(g=h,h=g[0],m=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},y,x,b;for(y=3;y>=0;y-=1)if(x=this.octets[y],x in g){if(b=g[x],m&&b!==0)return null;b!==8&&(m=!0),h+=b}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<4;)y.push(parseInt(m[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,m,g,y,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],m=0;m<4;)y.push(parseInt(g[m],10)&parseInt(x[m],10)),m++;return new this(y)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(h[2]);if(m>=0&&m<=32){let g=[this.parse(h[1]),m];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,m,g;if(h=p.match(r.fourOctet))return function(){let y=h.slice(1,6),x=[];for(let b=0;b<y.length;b++)m=y[b],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(g=l(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let y=[],x;for(x=0;x<=24;x+=8)y.push(g>>x&255);return y}().reverse()}else return(h=p.match(r.twoOctet))?function(){let y=h.slice(1,4),x=[];if(g=l(y[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(l(y[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=p.match(r.threeOctet))?function(){let y=h.slice(1,5),x=[];if(g=l(y[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(l(y[0])),x.push(l(y[1])),x.push(g>>8&255),x.push(g&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],m=0,g=Math.floor(p/8);for(;m<g;)h[m]=255,m++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){let g,y;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(y=this.parts[g],!(0<=y&&y<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new p([8193,2,0,0,0,0,0,0]),48],amt:[new p([8193,3,0,0,0,0,0,0]),32],as112v6:[new p([8193,4,274,0,0,0,0,0]),48],deprecated:[new p([8193,16,0,0,0,0,0,0]),28],orchid2:[new p([8193,32,0,0,0,0,0,0]),28]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,m){let g;if(m===void 0&&(g=h,h=g[0],m=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},y,x;for(let b=7;b>=0;b-=1)if(y=this.parts[b],y in g){if(x=g[y],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,m=[],g=this.parts;for(let y=0;y<g.length;y++)h=g[y],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(f(this.parts[y].toString(16),4));return g}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),m=h[0],g=h[1];return new d.IPv4([m>>8,m&255,g>>8,g&255])},p.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(this.parts[y].toString(16));return g}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),g=0,y=-1,x;for(;x=h.exec(m);)x[0].length>y&&(g=x.index,y=x[0].length);return y<0?m:`${m.substring(0,g)}::${m.substring(g+y)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<16;)y.push(parseInt(m[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,m,g,y,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],m=0;m<16;)y.push(parseInt(g[m],10)&parseInt(x[m],10)),m++;return new this(y)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,m,g;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return g=[this.parse(m[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,m,g,y,x,b;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return c(p,8);if((g=p.match(a.transitional))&&(b=g[6]||"",h=c(g[1].slice(0,-1)+b,6),h.parts)){for(x=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],m=0;m<x.length;m++)if(y=x[m],!(0<=y&&y<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,g=Math.floor(p/8);for(;m<g;)h[m]=255,m++;return g<16&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,m){let g,y,x,b;m==null&&(m="unicast");for(y in h)if(Object.prototype.hasOwnProperty.call(h,y)){for(x=h[y],x[0]&&!(x[0]instanceof Array)&&(x=[x]),g=0;g<x.length;g++)if(b=x[g],p.kind()===b[0].kind()&&p.match.apply(p,b))return y}return m},typeof Co<"u"&&Co.exports?Co.exports=d:t.ipaddr=d})(gp)});var Np=q((VL,Dp)=>{"use strict";Dp.exports=Pp;var IE=su(),Or=Pp.prototype,CE=new Date%1e9;function TE(){return(Math.random()*1e9>>>0)+CE++}function Pp(t){t=t||{},this.id=t.id||TE(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}Or.has=function(t){return t in this._lookup};Or.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Or.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Or.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};Or.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};Or.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=IE(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};Or.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Or.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var Fp=q((QL,Up)=>{"use strict";Up.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Hp=q(($p,zp)=>{"use strict";var ko=Fp(),{hasOwnProperty:qp}=Object.prototype,{propertyIsEnumerable:LE}=Object,ii=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),PE=$p,Kp={concatArrays:!1,ignoreUndefined:!1},Oo=t=>{let e=[];for(let r in t)qp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)LE.call(t,n)&&e.push(n)}return e};function si(t){return Array.isArray(t)?DE(t):ko(t)?NE(t):t}function DE(t){let e=t.slice(0,0);return Oo(t).forEach(r=>{ii(e,r,si(t[r]))}),e}function NE(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Oo(t).forEach(r=>{ii(e,r,si(t[r]))}),e}var Vp=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?ii(t,i,ul(t[i],e[i],n)):ii(t,i,si(e[i])))}),t),kE=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)qp.call(s,a)&&(o.push(String(a)),s===t?ii(n,i++,s[a]):ii(n,i++,si(s[a])));n=Vp(n,s,Oo(s).filter(a=>!o.includes(a)),r)}),n};function ul(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?kE(t,e,r):!ko(e)||!ko(t)?si(e):Vp(t,e,Oo(e),r)}zp.exports=function(...t){let e=ul(si(Kp),this!==PE&&this||{},Kp),r={_:{}};for(let n of t)if(n!==void 0){if(!ko(n))throw new TypeError("`"+n+"` is not an Option Object");r=ul(r,{_:n},e)}return r._}});var Qi=q((s6,Yp)=>{Yp.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var Xp=q((a6,Qp)=>{Qp.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var jp=q((c6,Zp)=>{var ME=Xp();Zp.exports=ME});var ft=q((l6,Jp)=>{Jp.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var yn=q((h6,tm)=>{var ll=Qi(),UE=jp(),em=ft();tm.exports=class extends ll{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new UE}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof ll?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof ll))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new em(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new em(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var nm=q((d6,rm)=>{var FE=yn(),KE=ft(),fl="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",hl=class extends FE{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage||this.client.constructor.name==="Commander"||!1,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:fl})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new KE;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}async _upsert(e,r,n,i=!1){if(!this._isRedisReady())throw new Error("Redis connection is not ready");let s=Math.floor(n/1e3),o=this.client.multi();return i?(s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.set(e,r,"EX",s):o.set(e,r,{EX:s}):o.set(e,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.pttl(e).exec(!0):o.pTTL(e).exec(!0)):s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([e].concat([String(r),String(s)])):this.useRedis3AndLowerPackage?new Promise((a,c)=>{let u=function(l,f){return l?c(l):a(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,s,u):this.client.eval(fl,1,e,r,s,u)}):this.client.eval(fl,{keys:[e],arguments:[String(r),String(s)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.incrby(e,r).pttl(e).exec(!0):o.incrBy(e,r).pTTL(e).exec(!0)}async _get(e){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(e).pttl(e).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(e).pTTL(e).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(e){return this.client.del(e).then(r=>r>0)}};rm.exports=hl});var om=q((p6,sm)=>{var qE=yn(),VE=ft();function im(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var dl=class t extends qE{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=im(this.client)}):(this._initCollection(),this._driverVersion=im(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?t.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new VE,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),h={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(p,h,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(g=>l(g)).catch(g=>f(g)):f(m)})}else f(d)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};sm.exports=dl});var cm=q((m6,am)=>{var $E=yn(),zE=ft(),pl=class extends $E{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new zE,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
12
+ `,r};iy.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:wa.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),h=u+1;h<c.length;++h){var p=c[h];if(!/\s/.test(p[0]))break;f+=p,u=h}if(o=f.match(n),o){for(var y={name:o[1],values:[]},l=o[2].split(","),d=0;d<l.length;++d)y.values.push(gA(l[d]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=l[0]||"";else if(!a.dekInfo&&y.name==="DEK-Info"){if(y.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:l[0],parameters:l[1]||null}}else a.headers.push(y);else{if(y.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(y.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:l[0],type:l[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function ba(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
+ `;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
14
+ `+e.substr(s)):e=e.substr(0,s)+`\r
15
+ `+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function gA(t){return t.replace(/^\s+/,"")}});var hy=z((WO,ly)=>{var Gt=le();bn();ke();var cy=ly.exports=Gt.sha256=Gt.sha256||{};Gt.md.sha256=Gt.md.algorithms.sha256=cy;cy.create=function(){uy||xA();var t=null,e=Gt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Gt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Gt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),ay(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Gt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Qu.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};ay(h,r,i);var p=Gt.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p.putInt32(h.h5),p.putInt32(h.h6),p.putInt32(h.h7),p},n};var Qu=null,uy=!1,fy=null;function xA(){Qu="\x80",Qu+=Gt.util.fillString("\0",64),fy=[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],uy=!0}function ay(t,e,r){for(var n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(f=t.h0,h=t.h1,p=t.h2,y=t.h3,l=t.h4,d=t.h5,m=t.h6,g=t.h7,u=0;u<64;++u)s=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7),a=m^l&(d^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&h|p&(f^h),n=g+s+a+fy[u]+e[u],i=o+c,g=m,m=d,d=l,l=y+n>>>0,y=p,p=h,h=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+h|0,t.h2=t.h2+p|0,t.h3=t.h3+y|0,t.h4=t.h4+l|0,t.h5=t.h5+d|0,t.h6=t.h6+m|0,t.h7=t.h7+g|0,x-=64}}});var py=z((YO,dy)=>{var Wt=le();ke();var va=null;Wt.util.isNodejs&&!Wt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(va=$o());var bA=dy.exports=Wt.prng=Wt.prng||{};bA.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,f){if(!f)return e.generateSync(u);var h=e.plugin.cipher,p=e.plugin.increment,y=e.plugin.formatKey,l=e.plugin.formatSeed,d=Wt.util.createBuffer();e.key=null,m();function m(g){if(g)return f(g);if(d.length()>=u)return f(null,d.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Wt.util.nextTick(function(){o(m)});var x=h(e.key,e.seed);e.generated+=x.length,d.putBytes(x),e.key=y(h(e.key,p(e.seed))),e.seed=l(h(e.key,e.seed)),Wt.util.setImmediate(m)}},e.generateSync=function(u){var f=e.plugin.cipher,h=e.plugin.increment,p=e.plugin.formatKey,y=e.plugin.formatSeed;e.key=null;for(var l=Wt.util.createBuffer();l.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var d=f(e.key,e.seed);e.generated+=d.length,l.putBytes(d),e.key=p(f(e.key,h(e.seed))),e.seed=y(f(e.key,e.seed))}return l.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(h,p){if(h)return u(h);e.collect(p),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var f=1,h=0;h<32;++h)e.reseeds%f===0&&(u.update(e.pools[h].digest().getBytes()),e.pools[h].start()),f=f<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var p=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(p),e.generated=0}function c(u){var f=null,h=Wt.util.globalScope,p=h.crypto||h.msCrypto;p&&p.getRandomValues&&(f=function(w){return p.getRandomValues(w)});var y=Wt.util.createBuffer();if(f)for(;y.length()<u;){var l=Math.max(1,Math.min(u-y.length(),65536)/4),d=new Uint32Array(Math.floor(l));try{f(d);for(var m=0;m<d.length;++m)y.putInt32(d[m])}catch(w){if(!(typeof QuotaExceededError<"u"&&w instanceof QuotaExceededError))throw w}}if(y.length()<u)for(var g,x,b,v=Math.floor(Math.random()*65536);y.length()<u;){x=16807*(v&65535),g=16807*(v>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),v=x&4294967295;for(var m=0;m<3;++m)b=v>>>(m<<3),b^=Math.floor(Math.random()*256),y.putByte(b&255)}return y.getBytes(u)}return va?(e.seedFile=function(u,f){va.randomBytes(u,function(h,p){if(h)return f(h);f(null,p.toString())})},e.seedFileSync=function(u){return va.randomBytes(u).toString()}):(e.seedFile=function(u,f){try{f(null,c(u))}catch(h){f(h)}},e.seedFileSync=c),e.collect=function(u){for(var f=u.length,h=0;h<f;++h)e.pools[e.pool].update(u.substr(h,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,f){for(var h="",p=0;p<f;p+=8)h+=String.fromCharCode(u>>p&255);e.collect(h)},e.registerWorker=function(u){if(u===self)e.seedFile=function(h,p){function y(l){var d=l.data;d.forge&&d.forge.prng&&(self.removeEventListener("message",y),p(d.forge.prng.err,d.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:h}}})};else{var f=function(h){var p=h.data;p.forge&&p.forge.prng&&e.seedFile(p.forge.prng.needed,function(y,l){u.postMessage({forge:{prng:{err:y,bytes:l}}})})};u.addEventListener("message",f)}},e}});var Ho=z((QO,Xu)=>{var $e=le();Yu();hy();py();ke();(function(){if($e.random&&$e.random.getBytes){Xu.exports=$e.random;return}(function(t){var e={},r=new Array(4),n=$e.util.createBuffer();e.formatKey=function(h){var p=$e.util.createBuffer(h);return h=new Array(4),h[0]=p.getInt32(),h[1]=p.getInt32(),h[2]=p.getInt32(),h[3]=p.getInt32(),$e.aes._expandKey(h,!1)},e.formatSeed=function(h){var p=$e.util.createBuffer(h);return h=new Array(4),h[0]=p.getInt32(),h[1]=p.getInt32(),h[2]=p.getInt32(),h[3]=p.getInt32(),h},e.cipher=function(h,p){return $e.aes._updateBlock(h,p,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(h){return++h[3],h},e.md=$e.md.sha256;function i(){var h=$e.prng.create(e);return h.getBytes=function(p,y){return h.generate(p,y)},h.getBytesSync=function(p){return h.generate(p)},h}var o=i(),s=null,a=$e.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(h){return c.getRandomValues(h)}),$e.options.usePureJavaScript||!$e.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(h){o.collectInt(h.clientX,16),o.collectInt(h.clientY,16)}),t().keypress(function(h){o.collectInt(h.charCode,8)}))}if(!$e.random)$e.random=o;else for(var f in o)$e.random[f]=o[f];$e.random.createInstance=i,Xu.exports=$e.random})(typeof jQuery<"u"?jQuery:null)})()});var xy=z((XO,gy)=>{var dt=le();ke();var ju=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],my=[1,2,3,5],wA=function(t,e){return t<<e&65535|(t&65535)>>16-e},vA=function(t,e){return(t&65535)>>e|t<<16-e&65535};gy.exports=dt.rc2=dt.rc2||{};dt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=dt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(ju[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,ju[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,ju[r.at(a+1)^r.at(a+o)]);return r};var yy=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,f,h=[];for(t=dt.rc2.expandKey(t,e),u=0;u<64;u++)h.push(t.getInt16Le());r?(a=function(l){for(u=0;u<4;u++)l[u]+=h[f]+(l[(u+3)%4]&l[(u+2)%4])+(~l[(u+3)%4]&l[(u+1)%4]),l[u]=wA(l[u],my[u]),f++},c=function(l){for(u=0;u<4;u++)l[u]+=h[l[(u+3)%4]&63]}):(a=function(l){for(u=3;u>=0;u--)l[u]=vA(l[u],my[u]),l[u]-=h[f]+(l[(u+3)%4]&l[(u+2)%4])+(~l[(u+3)%4]&l[(u+1)%4]),f--},c=function(l){for(u=3;u>=0;u--)l[u]-=h[l[(u+3)%4]&63]});var p=function(l){var d=[];for(u=0;u<4;u++){var m=i.getInt16Le();s!==null&&(r?m^=s.getInt16Le():s.putInt16Le(m)),d.push(m&65535)}f=r?0:63;for(var g=0;g<l.length;g++)for(var x=0;x<l[g][0];x++)l[g][1](d);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(d[u]):d[u]^=s.getInt16Le()),o.putInt16Le(d[u])},y=null;return y={start:function(l,d){l&&typeof l=="string"&&(l=dt.util.createBuffer(l)),n=!1,i=dt.util.createBuffer(),o=d||new dt.util.createBuffer,s=l,y.output=o},update:function(l){for(n||i.putBuffer(l);i.length()>=8;)p([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(l){var d=!0;if(r)if(l)d=l(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(d&&(n=!0,y.update()),!r&&(d=i.length()===0,d))if(l)d=l(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?d=!1:o.truncate(x)}return d}},y};dt.rc2.startEncrypting=function(t,e,r){var n=dt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};dt.rc2.createEncryptionCipher=function(t,e){return yy(t,e,!0)};dt.rc2.startDecrypting=function(t,e,r){var n=dt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};dt.rc2.createDecryptionCipher=function(t,e){return yy(t,e,!1)}});var Sa=z((jO,Iy)=>{var Ju=le();Iy.exports=Ju.jsbn=Ju.jsbn||{};var mr,EA=0xdeadbeefcafe,by=(EA&16777215)==15715070;function D(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Ju.jsbn.BigInteger=D;function ne(){return new D(null)}function AA(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function SA(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function wy(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(D.prototype.am=wy,mr=28):by&&navigator.appName=="Microsoft Internet Explorer"?(D.prototype.am=SA,mr=30):by&&navigator.appName!="Netscape"?(D.prototype.am=AA,mr=26):(D.prototype.am=wy,mr=28);D.prototype.DB=mr;D.prototype.DM=(1<<mr)-1;D.prototype.DV=1<<mr;var Zu=52;D.prototype.FV=Math.pow(2,Zu);D.prototype.F1=Zu-mr;D.prototype.F2=2*mr-Zu;var CA="0123456789abcdefghijklmnopqrstuvwxyz",Ea=new Array,fi,_t;fi=48;for(_t=0;_t<=9;++_t)Ea[fi++]=_t;fi=97;for(_t=10;_t<36;++_t)Ea[fi++]=_t;fi=65;for(_t=10;_t<36;++_t)Ea[fi++]=_t;function vy(t){return CA.charAt(t)}function Ey(t,e){var r=Ea[t.charCodeAt(e)];return r??-1}function IA(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function _A(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function qr(t){var e=ne();return e.fromInt(t),e}function TA(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:Ey(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&D.ZERO.subTo(this,this)}function RA(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function BA(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=vy(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=vy(n));return i?o:"0"}function DA(){var t=ne();return D.ZERO.subTo(this,t),t}function LA(){return this.s<0?this.negate():this}function NA(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function Aa(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function PA(){return this.t<=0?0:this.DB*(this.t-1)+Aa(this.data[this.t-1]^this.s&this.DM)}function OA(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function kA(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function UA(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function MA(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function FA(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function KA(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&D.ZERO.subTo(e,e)}function VA(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function qA(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ne());var o=ne(),s=this.s,a=t.s,c=this.DB-Aa(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var h=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),p=this.FV/h,y=(1<<this.F1)/h,l=1<<this.F2,d=r.t,m=d-u,g=e??ne();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),D.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var x=r.data[--d]==f?this.DM:Math.floor(r.data[d]*p+(r.data[d-1]+l)*y);if((r.data[d]+=o.am(0,x,r,m,0,u))<x)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[d]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&D.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&D.ZERO.subTo(r,r)}}}function zA(t){var e=ne();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(D.ZERO)>0&&t.subTo(e,e),e}function wn(t){this.m=t}function $A(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function HA(t){return t}function GA(t){t.divRemTo(this.m,null,t)}function WA(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function YA(t,e){t.squareTo(e),this.reduce(e)}wn.prototype.convert=$A;wn.prototype.revert=HA;wn.prototype.reduce=GA;wn.prototype.mulTo=WA;wn.prototype.sqrTo=YA;function QA(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function vn(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function XA(t){var e=ne();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(D.ZERO)>0&&this.m.subTo(e,e),e}function jA(t){var e=ne();return t.copyTo(e),this.reduce(e),e}function JA(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function ZA(t,e){t.squareTo(e),this.reduce(e)}function eS(t,e,r){t.multiplyTo(e,r),this.reduce(r)}vn.prototype.convert=XA;vn.prototype.revert=jA;vn.prototype.reduce=JA;vn.prototype.mulTo=eS;vn.prototype.sqrTo=ZA;function tS(){return(this.t>0?this.data[0]&1:this.s)==0}function rS(t,e){if(t>4294967295||t<1)return D.ONE;var r=ne(),n=ne(),i=e.convert(this),o=Aa(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function nS(t,e){var r;return t<256||e.isEven()?r=new wn(e):r=new vn(e),this.exp(t,r)}D.prototype.copyTo=IA;D.prototype.fromInt=_A;D.prototype.fromString=TA;D.prototype.clamp=RA;D.prototype.dlShiftTo=OA;D.prototype.drShiftTo=kA;D.prototype.lShiftTo=UA;D.prototype.rShiftTo=MA;D.prototype.subTo=FA;D.prototype.multiplyTo=KA;D.prototype.squareTo=VA;D.prototype.divRemTo=qA;D.prototype.invDigit=QA;D.prototype.isEven=tS;D.prototype.exp=rS;D.prototype.toString=BA;D.prototype.negate=DA;D.prototype.abs=LA;D.prototype.compareTo=NA;D.prototype.bitLength=PA;D.prototype.mod=zA;D.prototype.modPowInt=nS;D.ZERO=qr(0);D.ONE=qr(1);function iS(){var t=ne();return this.copyTo(t),t}function oS(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function sS(){return this.t==0?this.s:this.data[0]<<24>>24}function aS(){return this.t==0?this.s:this.data[0]<<16>>16}function cS(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function uS(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function fS(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=qr(r),i=ne(),o=ne(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function lS(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=Ey(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&D.ZERO.subTo(this,this)}function hS(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(D.ONE.shiftLeft(t-1),ef,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(D.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function dS(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function pS(t){return this.compareTo(t)==0}function mS(t){return this.compareTo(t)<0?this:t}function yS(t){return this.compareTo(t)>0?this:t}function gS(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function xS(t,e){return t&e}function bS(t){var e=ne();return this.bitwiseTo(t,xS,e),e}function ef(t,e){return t|e}function wS(t){var e=ne();return this.bitwiseTo(t,ef,e),e}function Ay(t,e){return t^e}function vS(t){var e=ne();return this.bitwiseTo(t,Ay,e),e}function Sy(t,e){return t&~e}function ES(t){var e=ne();return this.bitwiseTo(t,Sy,e),e}function AS(){for(var t=ne(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function SS(t){var e=ne();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function CS(t){var e=ne();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function IS(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function _S(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+IS(this.data[t]);return this.s<0?this.t*this.DB:-1}function TS(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function RS(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=TS(this.data[r]^e);return t}function BS(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function DS(t,e){var r=D.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function LS(t){return this.changeBit(t,ef)}function NS(t){return this.changeBit(t,Sy)}function PS(t){return this.changeBit(t,Ay)}function OS(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function kS(t){var e=ne();return this.addTo(t,e),e}function US(t){var e=ne();return this.subTo(t,e),e}function MS(t){var e=ne();return this.multiplyTo(t,e),e}function FS(t){var e=ne();return this.divRemTo(t,e,null),e}function KS(t){var e=ne();return this.divRemTo(t,null,e),e}function VS(t){var e=ne(),r=ne();return this.divRemTo(t,e,r),new Array(e,r)}function qS(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function zS(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Go(){}function Cy(t){return t}function $S(t,e,r){t.multiplyTo(e,r)}function HS(t,e){t.squareTo(e)}Go.prototype.convert=Cy;Go.prototype.revert=Cy;Go.prototype.mulTo=$S;Go.prototype.sqrTo=HS;function GS(t){return this.exp(t,new Go)}function WS(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function YS(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function li(t){this.r2=ne(),this.q3=ne(),D.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function QS(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=ne();return t.copyTo(e),this.reduce(e),e}function XS(t){return t}function jS(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function JS(t,e){t.squareTo(e),this.reduce(e)}function ZS(t,e,r){t.multiplyTo(e,r),this.reduce(r)}li.prototype.convert=QS;li.prototype.revert=XS;li.prototype.reduce=jS;li.prototype.mulTo=ZS;li.prototype.sqrTo=JS;function e8(t,e){var r=t.bitLength(),n,i=qr(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new wn(e):e.isEven()?o=new li(e):o=new vn(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=ne();for(o.sqrTo(s[1],f);a<=u;)s[a]=ne(),o.mulTo(f,s[a-2],s[a]),a+=2}var h=t.t-1,p,y=!0,l=ne(),d;for(r=Aa(t.data[h])-1;h>=0;){for(r>=c?p=t.data[h]>>r-c&u:(p=(t.data[h]&(1<<r+1)-1)<<c-r,h>0&&(p|=t.data[h-1]>>this.DB+r-c)),a=n;!(p&1);)p>>=1,--a;if((r-=a)<0&&(r+=this.DB,--h),y)s[p].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,l),o.sqrTo(l,i),a-=2;a>0?o.sqrTo(i,l):(d=i,i=l,l=d),o.mulTo(l,s[p],i)}for(;h>=0&&!(t.data[h]&1<<r);)o.sqrTo(i,l),d=i,i=l,l=d,--r<0&&(r=this.DB-1,--h)}return o.revert(i)}function t8(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function r8(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function n8(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return D.ZERO;for(var r=t.clone(),n=this.clone(),i=qr(1),o=qr(0),s=qr(0),a=qr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(D.ONE)!=0)return D.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var kt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],i8=(1<<26)/kt[kt.length-1];function o8(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=kt[kt.length-1]){for(e=0;e<kt.length;++e)if(r.data[0]==kt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<kt.length;){for(var n=kt[e],i=e+1;i<kt.length&&n<i8;)n*=kt[i++];for(n=r.modInt(n);e<i;)if(n%kt[e++]==0)return!1}return r.millerRabin(t)}function s8(t){var e=this.subtract(D.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=a8(),o,s=0;s<t;++s){do o=new D(this.bitLength(),i);while(o.compareTo(D.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(D.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(D.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function a8(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}D.prototype.chunkSize=cS;D.prototype.toRadix=fS;D.prototype.fromRadix=lS;D.prototype.fromNumber=hS;D.prototype.bitwiseTo=gS;D.prototype.changeBit=DS;D.prototype.addTo=OS;D.prototype.dMultiply=qS;D.prototype.dAddOffset=zS;D.prototype.multiplyLowerTo=WS;D.prototype.multiplyUpperTo=YS;D.prototype.modInt=r8;D.prototype.millerRabin=s8;D.prototype.clone=iS;D.prototype.intValue=oS;D.prototype.byteValue=sS;D.prototype.shortValue=aS;D.prototype.signum=uS;D.prototype.toByteArray=dS;D.prototype.equals=pS;D.prototype.min=mS;D.prototype.max=yS;D.prototype.and=bS;D.prototype.or=wS;D.prototype.xor=vS;D.prototype.andNot=ES;D.prototype.not=AS;D.prototype.shiftLeft=SS;D.prototype.shiftRight=CS;D.prototype.getLowestSetBit=_S;D.prototype.bitCount=RS;D.prototype.testBit=BS;D.prototype.setBit=LS;D.prototype.clearBit=NS;D.prototype.flipBit=PS;D.prototype.add=kS;D.prototype.subtract=US;D.prototype.multiply=MS;D.prototype.divide=FS;D.prototype.remainder=KS;D.prototype.divideAndRemainder=VS;D.prototype.modPow=e8;D.prototype.modInverse=n8;D.prototype.pow=GS;D.prototype.gcd=t8;D.prototype.isProbablePrime=o8});var Dy=z((JO,By)=>{var Yt=le();bn();ke();var Ty=By.exports=Yt.sha1=Yt.sha1||{};Yt.md.sha1=Yt.md.algorithms.sha1=Ty;Ty.create=function(){Ry||c8();var t=null,e=Yt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Yt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Yt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),_y(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Yt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(tf.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var h={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};_y(h,r,i);var p=Yt.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},n};var tf=null,Ry=!1;function c8(){tf="\x80",tf+=Yt.util.fillString("\0",64),Ry=!0}function _y(t,e,r){for(var n,i,o,s,a,c,u,f,h=r.length();h>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,h-=64}}});var Py=z((ZO,Ny)=>{var Qt=le();ke();Ho();Dy();var Ly=Ny.exports=Qt.pkcs1=Qt.pkcs1||{};Ly.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Qt.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),h="",p=c-e.length,y=0;y<p;y++)h+="\0";var l=f.getBytes()+h+""+e;if(!i)i=Qt.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var d=Ca(i,a-o.digestLength-1,s),m=Qt.util.xorBytes(l,d,l.length),g=Ca(m,o.digestLength,s),x=Qt.util.xorBytes(i,g,i.length);return"\0"+x+m};Ly.decode_rsa_oaep=function(t,e,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=e.length,m.expectedLength=s,m}if(i===void 0?i=Qt.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),h=Ca(f,i.digestLength,o),p=Qt.util.xorBytes(u,h,u.length),y=Ca(p,s-i.digestLength-1,o),l=Qt.util.xorBytes(f,y,f.length),d=l.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==d.charAt(g);for(var x=1,b=i.digestLength,v=i.digestLength;v<l.length;v++){var w=l.charCodeAt(v),E=w&1^1,A=x?65534:0;m|=w&A,x=x&E,b+=x}if(m||l.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return l.substring(b+1)};function Ca(t,e,r){r||(r=Qt.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var Oy=z((ek,rf)=>{var zr=le();ke();Sa();Ho();(function(){if(zr.prime){rf.exports=zr.prime;return}var t=rf.exports=zr.prime=zr.prime||{},e=zr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(h,p){return h|p};t.generateProbablePrime=function(h,p,y){typeof p=="function"&&(y=p,p={}),p=p||{};var l=p.algorithm||"PRIMEINC";typeof l=="string"&&(l={name:l}),l.options=l.options||{};var d=p.prng||zr.random,m={nextBytes:function(g){for(var x=d.getBytesSync(g.length),b=0;b<g.length;++b)g[b]=x.charCodeAt(b)}};if(l.name==="PRIMEINC")return o(h,m,l.options,y);throw new Error("Invalid prime generation algorithm: "+l.name)};function o(h,p,y,l){return"workers"in y?c(h,p,y,l):s(h,p,y,l)}function s(h,p,y,l){var d=u(h,p),m=0,g=f(d.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var x=10;"maxBlockTime"in y&&(x=y.maxBlockTime),a(d,h,p,m,g,x,l)}function a(h,p,y,l,d,m,g){var x=+new Date;do{if(h.bitLength()>p&&(h=u(p,y)),h.isProbablePrime(d))return g(null,h);h.dAddOffset(r[l++%8],0)}while(m<0||+new Date-x<m);zr.util.setImmediate(function(){a(h,p,y,l,d,m,g)})}function c(h,p,y,l){if(typeof Worker>"u")return s(h,p,y,l);var d=u(h,p),m=y.workers,g=y.workLoad||100,x=g*30/8,b=y.workerScript||"forge/prime.worker.js";if(m===-1)return zr.util.estimateCores(function(w,E){w&&(E=2),m=E-1,v()});v();function v(){m=Math.max(1,m);for(var w=[],E=0;E<m;++E)w[E]=new Worker(b);for(var A=m,E=0;E<m;++E)w[E].addEventListener("message",P);var C=!1;function P(W){if(!C){--A;var H=W.data;if(H.found){for(var Z=0;Z<w.length;++Z)w[Z].terminate();return C=!0,l(null,new e(H.prime,16))}d.bitLength()>h&&(d=u(h,p));var fe=d.toString(16);W.target.postMessage({hex:fe,workLoad:g}),d.dAddOffset(x,0)}}}}function u(h,p){var y=new e(h,p),l=h-1;return y.testBit(l)||y.bitwiseTo(e.ONE.shiftLeft(l),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var _a=z((tk,qy)=>{var $=le();zo();Sa();ha();Py();Oy();Ho();ke();typeof re>"u"&&(re=$.jsbn.BigInteger);var re,nf=$.util.isNodejs?$o():null,I=$.asn1,Tt=$.util;$.pki=$.pki||{};qy.exports=$.pki.rsa=$.rsa=$.rsa||{};var Y=$.pki,u8=[6,4,2,4,2,4,6,2],f8={name:"PrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},l8={name:"RSAPrivateKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},h8={name:"RSAPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},d8=$.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},p8={name:"DigestInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},m8=function(t){var e;if(t.algorithm in Y.oids)e=Y.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=I.oidToDer(e).getBytes(),i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[]),o=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[]);o.value.push(I.create(I.Class.UNIVERSAL,I.Type.OID,!1,n)),o.value.push(I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,""));var s=I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),I.toDer(i).getBytes()},Ky=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(re.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(re.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new re($.util.bytesToHex($.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(re.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};Y.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Vy(t,e,r)):(i=$.util.createBuffer(),i.putBytes(t));for(var s=new re(i.toHex(),16),a=Ky(s,e,n),c=a.toString(16),u=$.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes($.util.hexToBytes(c)),u.getBytes()};Y.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new re($.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Ky(s,e,r),c=a.toString(16),u=$.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes($.util.hexToBytes(c)),n!==!1?Ia(u.getBytes(),e,r):u.getBytes()};Y.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||$.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new re(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};Y.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new re(null);r.fromInt(30);for(var n=0,i=function(h,p){return h|p},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new re(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(re.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(g8(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(u8[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(re.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:Y.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:Y.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};Y.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!$.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(ky("generateKeyPair"))return nf.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:Y.privateKeyFromPem(u),publicKey:Y.publicKeyFromPem(c)})});if(Uy("generateKey")&&Uy("exportKey"))return Tt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Fy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Tt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Y.privateKeyFromAsn1(I.fromDer($.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Y.setRsaPublicKey(c.n,c.e)})}});if(My("generateKey")&&My("exportKey")){var i=Tt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Fy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Tt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var h=f.target.result,p=Y.privateKeyFromAsn1(I.fromDer($.util.createBuffer(h)));n(null,{privateKey:p,publicKey:Y.setRsaPublicKey(p.n,p.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(ky("generateKeyPairSync")){var o=nf.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Y.privateKeyFromPem(o.privateKey),publicKey:Y.publicKeyFromPem(o.publicKey)}}}var s=Y.rsa.createKeyPairGenerationState(t,e,r);if(!n)return Y.rsa.stepKeyPairGenerationState(s,0),s.keys;y8(s,r,n)};Y.setRsaPublicKey=Y.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Vy(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return $.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return Y.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Ia(u,r,!0);var f=I.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),h={},p=[];if(!I.validate(f,p8,h,p)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=p,y}var l=I.derToOid(h.algorithmIdentifier);if(!(l===$.oids.md2||l===$.oids.md5||l===$.oids.sha1||l===$.oids.sha224||l===$.oids.sha256||l===$.oids.sha384||l===$.oids.sha512||l===$.oids["sha512-224"]||l===$.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=l,y}if((l===$.oids.md2||l===$.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===h.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Ia(u,r,!0),c===u}});var a=Y.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};Y.setRsaPrivateKey=Y.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,h){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var p=Y.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Ia};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,l){return $.pkcs1.decode_rsa_oaep(l,y,h)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(p,c,!1)},c.sign=function(u,f){var h=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:m8},h=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},h=1);var p=f.encode(u,c.n.bitLength());return Y.rsa.encrypt(p,c,h)},c};Y.wrapRsaPrivateKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,I.integerToDer(0).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Y.oids.rsaEncryption).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")]),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,I.toDer(t).getBytes())])};Y.privateKeyFromAsn1=function(t){var e={},r=[];if(I.validate(t,f8,e,r)&&(t=I.fromDer($.util.createBuffer(e.privateKey))),e={},r=[],!I.validate(t,l8,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,h;return i=$.util.createBuffer(e.privateKeyModulus).toHex(),o=$.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=$.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=$.util.createBuffer(e.privateKeyPrime1).toHex(),c=$.util.createBuffer(e.privateKeyPrime2).toHex(),u=$.util.createBuffer(e.privateKeyExponent1).toHex(),f=$.util.createBuffer(e.privateKeyExponent2).toHex(),h=$.util.createBuffer(e.privateKeyCoefficient).toHex(),Y.setRsaPrivateKey(new re(i,16),new re(o,16),new re(s,16),new re(a,16),new re(c,16),new re(u,16),new re(f,16),new re(h,16))};Y.privateKeyToAsn1=Y.privateKeyToRSAPrivateKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,I.integerToDer(0).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.n)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.e)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.d)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.p)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.q)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.dP)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.dQ)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.qInv))])};Y.publicKeyFromAsn1=function(t){var e={},r=[];if(I.validate(t,d8,e,r)){var n=I.derToOid(e.publicKeyOid);if(n!==Y.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!I.validate(t,h8,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=$.util.createBuffer(e.publicKeyModulus).toHex(),s=$.util.createBuffer(e.publicKeyExponent).toHex();return Y.setRsaPublicKey(new re(o,16),new re(s,16))};Y.publicKeyToAsn1=Y.publicKeyToSubjectPublicKeyInfo=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Y.oids.rsaEncryption).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")]),I.create(I.Class.UNIVERSAL,I.Type.BITSTRING,!1,[Y.publicKeyToRSAPublicKey(t)])])};Y.publicKeyToRSAPublicKey=function(t){return I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.n)),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,Xt(t.e))])};function Vy(t,e,r){var n=$.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=$.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function Ia(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=$.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function y8(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){$.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.p=null,i();return}if(t.q.subtract(re.ONE).gcd(t.e).compareTo(re.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(re.ONE),t.q1=t.q.subtract(re.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(re.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var f=t.e.modInverse(t.phi);t.keys={privateKey:Y.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:Y.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Xt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=$.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function g8(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function ky(t){return $.util.isNodejs&&typeof nf[t]=="function"}function Uy(t){return typeof Tt.globalScope<"u"&&typeof Tt.globalScope.crypto=="object"&&typeof Tt.globalScope.crypto.subtle=="object"&&typeof Tt.globalScope.crypto.subtle[t]=="function"}function My(t){return typeof Tt.globalScope<"u"&&typeof Tt.globalScope.msCrypto=="object"&&typeof Tt.globalScope.msCrypto.subtle=="object"&&typeof Tt.globalScope.msCrypto.subtle[t]=="function"}function Fy(t){for(var e=$.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Yy=z((rk,Wy)=>{var F=le();Yu();zo();Jm();bn();ha();ny();sy();Ho();xy();_a();ke();typeof zy>"u"&&(zy=F.jsbn.BigInteger);var zy,T=F.asn1,Q=F.pki=F.pki||{};Wy.exports=Q.pbe=F.pbe=F.pbe||{};var En=Q.oids,x8={name:"EncryptedPrivateKeyInfo",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},b8={name:"PBES2Algorithms",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},w8={name:"pkcs-12PbeParams",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"iterations"}]};Q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=F.random.getBytesSync(r.saltSize),i=r.count,o=T.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,h;switch(r.algorithm){case"aes128":s=16,u=16,f=En["aes128-CBC"],h=F.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=En["aes192-CBC"],h=F.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=En["aes256-CBC"],h=F.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=En.desCBC,h=F.des.createEncryptionCipher;break;default:var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),l=Gy(y),d=F.pkcs5.pbkdf2(e,n,i,s,l),m=F.random.getBytesSync(u),g=h(d);g.start(m),g.update(T.toDer(t)),g.finish(),c=g.output.getBytes();var x=v8(n,o,s,y);a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En.pkcs5PBES2).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En.pkcs5PBKDF2).getBytes()),x]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(f).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var b=new F.util.ByteBuffer(n),d=Q.pbe.generatePkcs12Key(e,b,1,i,s),m=Q.pbe.generatePkcs12Key(e,b,2,i,s),g=F.des.createEncryptionCipher(d);g.start(m),g.update(T.toDer(t)),g.finish(),c=g.output.getBytes(),a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(En["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,n),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,o.getBytes())])])}else{var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var v=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[a,T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,c)]);return v};Q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!T.validate(t,x8,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=T.derToOid(n.encryptionOid),a=Q.pbe.getCipher(s,n.encryptionParams,e),c=F.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=T.fromDer(a.output)),r};Q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:T.toDer(t).getBytes()};return F.pem.encode(r,{maxline:e})};Q.encryptedPrivateKeyFromPem=function(t){var e=F.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return T.fromDer(e.body)};Q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Q.wrapRsaPrivateKey(Q.privateKeyToAsn1(t));return n=Q.encryptPrivateKeyInfo(n,e,r),Q.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=F.random.getBytesSync(16),a=F.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=F.random.getBytesSync(8),a=F.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=F.random.getBytesSync(8),a=F.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=F.pbe.opensslDeriveBytes(e,o.substr(0,8),s),f=a(u);f.start(o),f.update(T.toDer(Q.privateKeyToAsn1(t))),f.finish();var h={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:F.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return F.pem.encode(h)};Q.decryptRsaPrivateKey=function(t,e){var r=null,n=F.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=F.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=F.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=F.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=F.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=F.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(h){return F.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":o=8,s=function(h){return F.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":o=16,s=function(h){return F.rc2.createDecryptionCipher(h,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=F.util.hexToBytes(n.dekInfo.parameters),c=F.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(F.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Q.decryptPrivateKeyInfo(T.fromDer(r),e):r=T.fromDer(r),r!==null&&(r=Q.privateKeyFromAsn1(r)),r};Q.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in F.md))throw new Error('"sha1" hash algorithm unavailable.');o=F.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new F.util.ByteBuffer,h=new F.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)h.putInt16(t.charCodeAt(a));h.putInt16(0)}var p=h.length(),y=e.length(),l=new F.util.ByteBuffer;l.fillWithByte(r,u);var d=u*Math.ceil(y/u),m=new F.util.ByteBuffer;for(a=0;a<d;a++)m.putByte(e.at(a%y));var g=u*Math.ceil(p/u),x=new F.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(h.at(a%p));var b=m;b.putBuffer(x);for(var v=Math.ceil(i/c),w=1;w<=v;w++){var E=new F.util.ByteBuffer;E.putBytes(l.bytes()),E.putBytes(b.bytes());for(var A=0;A<n;A++)o.start(),o.update(E.getBytes()),E=o.digest();var C=new F.util.ByteBuffer;for(a=0;a<u;a++)C.putByte(E.at(a%c));var P=Math.ceil(y/u)+Math.ceil(p/u),W=new F.util.ByteBuffer;for(s=0;s<P;s++){var H=new F.util.ByteBuffer(b.getBytes(u)),Z=511;for(a=C.length()-1;a>=0;a--)Z=Z>>8,Z+=C.at(a)+H.at(a),H.setAt(a,Z&255);W.putBuffer(H)}b=W,f.putBuffer(E)}return f.truncate(f.length()-i),f};Q.pbe.getCipher=function(t,e,r){switch(t){case Q.oids.pkcs5PBES2:return Q.pbe.getCipherForPBES2(t,e,r);case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:return Q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!T.validate(e,b8,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=T.derToOid(n.kdfOid),t!==Q.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=T.derToOid(n.encOid),t!==Q.oids["aes128-CBC"]&&t!==Q.oids["aes192-CBC"]&&t!==Q.oids["aes256-CBC"]&&t!==Q.oids["des-EDE3-CBC"]&&t!==Q.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=F.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Q.oids[t]){case"aes128-CBC":c=16,u=F.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=F.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=F.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=F.des.createDecryptionCipher;break;case"desCBC":c=8,u=F.des.createDecryptionCipher;break}var f=Hy(n.prfOid),h=F.pkcs5.pbkdf2(r,s,a,c,f),p=n.encIv,y=u(h);return y.start(p),y};Q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!T.validate(e,w8,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=F.util.createBuffer(n.salt),a=F.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(t){case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=F.des.startDecrypting;break;case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(d,m){var g=F.rc2.createDecryptionCipher(d,40);return g.start(m,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var h=Hy(n.prfOid),p=Q.pbe.generatePkcs12Key(r,s,1,a,c,h);h.start();var y=Q.pbe.generatePkcs12Key(r,s,2,a,u,h);return f(p,y)};Q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in F.md))throw new Error('"md5" hash algorithm unavailable.');n=F.md.md5.create()}e===null&&(e="");for(var i=[$y(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push($y(n,i[s-1]+t+e));return i.join("").substr(0,r)};function $y(t,e){return t.start().update(e).digest().getBytes()}function Hy(t){var e;if(!t)e="hmacWithSHA1";else if(e=Q.oids[T.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Gy(e)}function Gy(t){var e=F.md;switch(t){case"hmacWithSHA224":e=F.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function v8(t,e,r,n){var i=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,F.util.hexToBytes(r.toString(16))),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Q.oids[n]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),i}});var Vx=z(($9,Kx)=>{var me=le();bn();ke();var ds=Kx.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=ds;var Mx=me.sha384=me.sha512.sha384=me.sha512.sha384||{};Mx.create=function(){return ds.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=Mx;me.sha512.sha256=me.sha512.sha256||{create:function(){return ds.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return ds.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;ds.create=function(t){if(Fx||N_(),typeof t>"u"&&(t="SHA-512"),!(t in Pn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Pn[t],r=null,n=me.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=me.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=me.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var h=a.fullMessageLength.length-1;h>=0;--h)a.fullMessageLength[h]+=f[1],f[1]=f[0]+(a.fullMessageLength[h]/4294967296>>>0),a.fullMessageLength[h]=a.fullMessageLength[h]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Ux(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(Hl.substr(0,a.blockLength-f));for(var h,p,y=a.fullMessageLength[0]*8,l=0;l<a.fullMessageLength.length-1;++l)h=a.fullMessageLength[l+1]*8,p=h/4294967296>>>0,y+=p,c.putInt32(y>>>0),y=h>>>0;c.putInt32(y);for(var d=new Array(r.length),l=0;l<r.length;++l)d[l]=r[l].slice(0);Ux(d,i,c);var m=me.util.createBuffer(),g;t==="SHA-512"?g=d.length:t==="SHA-384"?g=d.length-2:g=d.length-4;for(var l=0;l<g;++l)m.putInt32(d[l][0]),(l!==g-1||t!=="SHA-512/224")&&m.putInt32(d[l][1]);return m},a};var Hl=null,Fx=!1,Gl=null,Pn=null;function N_(){Hl="\x80",Hl+=me.util.fillString("\0",128),Gl=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Pn={},Pn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Pn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Pn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Pn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Fx=!0}function Ux(t,e,r){for(var n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,x,b,v,w,E,A,C,P,W,H,Z,fe,Ge,L,U,O,k,B,K,q,G=r.length();G>=128;){for(L=0;L<16;++L)e[L][0]=r.getInt32()>>>0,e[L][1]=r.getInt32()>>>0;for(;L<80;++L)k=e[L-2],U=k[0],O=k[1],n=((U>>>19|O<<13)^(O>>>29|U<<3)^U>>>6)>>>0,i=((U<<13|O>>>19)^(O<<3|U>>>29)^(U<<26|O>>>6))>>>0,K=e[L-15],U=K[0],O=K[1],o=((U>>>1|O<<31)^(U>>>8|O<<24)^U>>>7)>>>0,s=((U<<31|O>>>1)^(U<<24|O>>>8)^(U<<25|O>>>7))>>>0,B=e[L-7],q=e[L-16],O=i+B[1]+s+q[1],e[L][0]=n+B[0]+o+q[0]+(O/4294967296>>>0)>>>0,e[L][1]=O>>>0;for(d=t[0][0],m=t[0][1],g=t[1][0],x=t[1][1],b=t[2][0],v=t[2][1],w=t[3][0],E=t[3][1],A=t[4][0],C=t[4][1],P=t[5][0],W=t[5][1],H=t[6][0],Z=t[6][1],fe=t[7][0],Ge=t[7][1],L=0;L<80;++L)u=((A>>>14|C<<18)^(A>>>18|C<<14)^(C>>>9|A<<23))>>>0,f=((A<<18|C>>>14)^(A<<14|C>>>18)^(C<<23|A>>>9))>>>0,h=(H^A&(P^H))>>>0,p=(Z^C&(W^Z))>>>0,a=((d>>>28|m<<4)^(m>>>2|d<<30)^(m>>>7|d<<25))>>>0,c=((d<<4|m>>>28)^(m<<30|d>>>2)^(m<<25|d>>>7))>>>0,y=(d&g|b&(d^g))>>>0,l=(m&x|v&(m^x))>>>0,O=Ge+f+p+Gl[L][1]+e[L][1],n=fe+u+h+Gl[L][0]+e[L][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=c+l,o=a+y+(O/4294967296>>>0)>>>0,s=O>>>0,fe=H,Ge=Z,H=P,Z=W,P=A,W=C,O=E+i,A=w+n+(O/4294967296>>>0)>>>0,C=O>>>0,w=b,E=v,b=g,v=x,g=d,x=m,O=i+s,d=n+o+(O/4294967296>>>0)>>>0,m=O>>>0;O=t[0][1]+m,t[0][0]=t[0][0]+d+(O/4294967296>>>0)>>>0,t[0][1]=O>>>0,O=t[1][1]+x,t[1][0]=t[1][0]+g+(O/4294967296>>>0)>>>0,t[1][1]=O>>>0,O=t[2][1]+v,t[2][0]=t[2][0]+b+(O/4294967296>>>0)>>>0,t[2][1]=O>>>0,O=t[3][1]+E,t[3][0]=t[3][0]+w+(O/4294967296>>>0)>>>0,t[3][1]=O>>>0,O=t[4][1]+C,t[4][0]=t[4][0]+A+(O/4294967296>>>0)>>>0,t[4][1]=O>>>0,O=t[5][1]+W,t[5][0]=t[5][0]+P+(O/4294967296>>>0)>>>0,t[5][1]=O>>>0,O=t[6][1]+Z,t[6][0]=t[6][0]+H+(O/4294967296>>>0)>>>0,t[6][1]=O>>>0,O=t[7][1]+Ge,t[7][0]=t[7][0]+fe+(O/4294967296>>>0)>>>0,t[7][1]=O>>>0,G-=128}}});var oh=z((oK,pb)=>{var Fi=1e3,Ki=Fi*60,Vi=Ki*60,Un=Vi*24,sT=Un*7,aT=Un*365.25;pb.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return cT(t);if(r==="number"&&isFinite(t))return e.long?fT(t):uT(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function cT(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*aT;case"weeks":case"week":case"w":return r*sT;case"days":case"day":case"d":return r*Un;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Vi;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ki;case"seconds":case"second":case"secs":case"sec":case"s":return r*Fi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function uT(t){var e=Math.abs(t);return e>=Un?Math.round(t/Un)+"d":e>=Vi?Math.round(t/Vi)+"h":e>=Ki?Math.round(t/Ki)+"m":e>=Fi?Math.round(t/Fi)+"s":t+"ms"}function fT(t){var e=Math.abs(t);return e>=Un?nc(t,e,Un,"day"):e>=Vi?nc(t,e,Vi,"hour"):e>=Ki?nc(t,e,Ki,"minute"):e>=Fi?nc(t,e,Fi,"second"):t+" ms"}function nc(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var yb=z((sK,mb)=>{function lT(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=oh(),r.destroy=u,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let h=0;for(let p=0;p<f.length;p++)h=(h<<5)-h+f.charCodeAt(p),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(f){let h,p=null,y,l;function d(...m){if(!d.enabled)return;let g=d,x=Number(new Date),b=x-(h||x);g.diff=b,g.prev=h,g.curr=x,h=x,m[0]=r.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let v=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(E,A)=>{if(E==="%%")return"%";v++;let C=r.formatters[A];if(typeof C=="function"){let P=m[v];E=C.call(g,P),m.splice(v,1),v--}return E}),r.formatArgs.call(g,m),(g.log||r.log).apply(g,m)}return d.namespace=f,d.useColors=r.useColors(),d.color=r.selectColor(f),d.extend=n,d.destroy=r.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(y!==r.namespaces&&(y=r.namespaces,l=r.enabled(f)),l),set:m=>{p=m}}),typeof r.init=="function"&&r.init(d),d}function n(f,h){let p=r(this.namespace+(typeof h>"u"?":":h)+f);return p.log=this.log,p}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let h,p=(typeof f=="string"?f:"").split(/[\s,]+/),y=p.length;for(h=0;h<y;h++)p[h]&&(f=p[h].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(h=>"-"+h)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let h,p;for(h=0,p=r.skips.length;h<p;h++)if(r.skips[h].test(f))return!1;for(h=0,p=r.names.length;h<p;h++)if(r.names[h].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}mb.exports=lT});var sh=z((Ct,ic)=>{Ct.formatArgs=dT;Ct.save=pT;Ct.load=mT;Ct.useColors=hT;Ct.storage=yT();Ct.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ct.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function hT(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function dT(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+ic.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}Ct.log=console.debug||console.log||(()=>{});function pT(t){try{t?Ct.storage.setItem("debug",t):Ct.storage.removeItem("debug")}catch{}}function mT(){let t;try{t=Ct.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function yT(){try{return localStorage}catch{}}ic.exports=yb()(Ct);var{formatters:gT}=ic.exports;gT.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var i1=z((rG,Yd)=>{"use strict";var YR=Object.prototype.hasOwnProperty,ht="~";function ks(){}Object.create&&(ks.prototype=Object.create(null),new ks().__proto__||(ht=!1));function QR(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function n1(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new QR(r,n||t,i),s=ht?ht+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function Ac(t,e){--t._eventsCount===0?t._events=new ks:delete t._events[e]}function ct(){this._events=new ks,this._eventsCount=0}ct.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)YR.call(r,n)&&e.push(ht?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};ct.prototype.listeners=function(e){var r=ht?ht+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};ct.prototype.listenerCount=function(e){var r=ht?ht+e:e,n=this._events[r];return n?n.fn?1:n.length:0};ct.prototype.emit=function(e,r,n,i,o,s){var a=ht?ht+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,h;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!0}for(h=1,f=new Array(u-1);h<u;h++)f[h-1]=arguments[h];c.fn.apply(c.context,f)}else{var p=c.length,y;for(h=0;h<p;h++)switch(c[h].once&&this.removeListener(e,c[h].fn,void 0,!0),u){case 1:c[h].fn.call(c[h].context);break;case 2:c[h].fn.call(c[h].context,r);break;case 3:c[h].fn.call(c[h].context,r,n);break;case 4:c[h].fn.call(c[h].context,r,n,i);break;default:if(!f)for(y=1,f=new Array(u-1);y<u;y++)f[y-1]=arguments[y];c[h].fn.apply(c[h].context,f)}}return!0};ct.prototype.on=function(e,r,n){return n1(this,e,r,n,!1)};ct.prototype.once=function(e,r,n){return n1(this,e,r,n,!0)};ct.prototype.removeListener=function(e,r,n,i){var o=ht?ht+e:e;if(!this._events[o])return this;if(!r)return Ac(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Ac(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:Ac(this,o)}return this};ct.prototype.removeAllListeners=function(e){var r;return e?(r=ht?ht+e:e,this._events[r]&&Ac(this,r)):(this._events=new ks,this._eventsCount=0),this};ct.prototype.off=ct.prototype.removeListener;ct.prototype.addListener=ct.prototype.on;ct.prefixed=ht;ct.EventEmitter=ct;typeof Yd<"u"&&(Yd.exports=ct)});var L0=z((pY,q1)=>{"use strict";function V1(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function wD(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return V1(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),V1(new i,r)}}q1.exports=wD});var m2=z(Gs=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,f,h,p;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,h=(c&65280)>>>8,p=c&255,[u,f,h,p].join(".")},s=function(c){var u,f,h,p,y,l;for(u=[],h=p=0;p<=3&&c.length!==0;h=++p){if(h>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}l=e(c),y=l[0],f=l[1],c=c.substring(f),u.push(y)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,f,h,p,y;for(p=0,u=10,f="9",h=0,c.length>1&&c[h]==="0"&&(c[h+1]==="x"||c[h+1]==="X"?(h+=2,u=16):"0"<=c[h+1]&&c[h+1]<="9"&&(h++,u=8,f="7")),y=h;h<c.length;){if("0"<=c[h]&&c[h]<=f)p=p*u+(r(c[h])-n)>>>0;else if(u===16)if("a"<=c[h]&&c[h]<="f")p=p*u+(10+r(c[h])-o)>>>0;else if("A"<=c[h]&&c[h]<="F")p=p*u+(10+r(c[h])-i)>>>0;else break;else break;if(p>4294967295)throw new Error("too large");h++}if(h===y)throw new Error("empty octet");return[p,h]},t=function(){function c(u,f){var h,p,y,l;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(l=u.split("/",2),u=l[0],f=l[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(d){throw h=d,new Error("Invalid mask: "+f)}for(p=y=32;y>=0;p=--y)if(this.maskLong===4294967295<<32-p>>>0){this.bitmask=p;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(d){throw h=d,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,h,p;for(p=s(this.first),h=s(this.last),f=0;p<=h;)u(a(p),p,f),f++,p++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Gs.ip2long=s,Gs.long2ip=a,Gs.Netmask=t}).call(Gs)});var b2=z((x2,Gc)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function c(y,l){if(y.indexOf("::")!==y.lastIndexOf("::"))return null;let d=0,m=-1,g=(y.match(a.zoneIndex)||[])[0],x,b;for(g&&(g=g.substring(1),y=y.replace(/%.+$/,""));(m=y.indexOf(":",m+1))>=0;)d++;if(y.substr(0,2)==="::"&&d--,y.substr(-2,2)==="::"&&d--,d>l)return null;for(b=l-d,x=":";b--;)x+="0:";return y=y.replace("::",x),y[0]===":"&&(y=y.slice(1)),y[y.length-1]===":"&&(y=y.slice(0,-1)),l=function(){let v=y.split(":"),w=[];for(let E=0;E<v.length;E++)w.push(parseInt(v[E],16));return w}(),{parts:l,zoneId:g}}function u(y,l,d,m){if(y.length!==l.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;m>0;){if(x=d-m,x<0&&(x=0),y[g]>>x!==l[g]>>x)return!1;m-=d,g+=1}return!0}function f(y){if(i.test(y))return parseInt(y,16);if(y[0]==="0"&&!isNaN(parseInt(y[1],10))){if(n.test(y))return parseInt(y,8);throw new Error(`ipaddr: cannot parse ${y} as octal`)}return parseInt(y,10)}function h(y,l){for(;y.length<l;)y=`0${y}`;return y}let p={};p.IPv4=function(){function y(l){if(l.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let d,m;for(d=0;d<l.length;d++)if(m=l[d],!(0<=m&&m<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=l}return y.prototype.SpecialRanges={unspecified:[[new y([0,0,0,0]),8]],broadcast:[[new y([255,255,255,255]),32]],multicast:[[new y([224,0,0,0]),4]],linkLocal:[[new y([169,254,0,0]),16]],loopback:[[new y([127,0,0,0]),8]],carrierGradeNat:[[new y([100,64,0,0]),10]],private:[[new y([10,0,0,0]),8],[new y([172,16,0,0]),12],[new y([192,168,0,0]),16]],reserved:[[new y([192,0,0,0]),24],[new y([192,0,2,0]),24],[new y([192,88,99,0]),24],[new y([198,18,0,0]),15],[new y([198,51,100,0]),24],[new y([203,0,113,0]),24],[new y([240,0,0,0]),4]]},y.prototype.kind=function(){return"ipv4"},y.prototype.match=function(l,d){let m;if(d===void 0&&(m=l,l=m[0],d=m[1]),l.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,l.octets,8,d)},y.prototype.prefixLengthFromSubnetMask=function(){let l=0,d=!1,m={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,b;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in m){if(b=m[x],d&&b!==0)return null;b!==8&&(d=!0),l+=b}else return null;return 32-l},y.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},y.prototype.toByteArray=function(){return this.octets.slice(0)},y.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse(`::ffff:${this.toString()}`)},y.prototype.toNormalizedString=function(){return this.toString()},y.prototype.toString=function(){return this.octets.join(".")},y}(),p.IPv4.broadcastAddressFromCIDR=function(y){try{let l=this.parseCIDR(y),d=l[0].toByteArray(),m=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(d[x],10)|parseInt(m[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(y){return this.parser(y)!==null},p.IPv4.isValid=function(y){try{return new this(this.parser(y)),!0}catch{return!1}},p.IPv4.isValidFourPartDecimal=function(y){return!!(p.IPv4.isValid(y)&&y.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(y){let l,d,m,g,x;try{for(l=this.parseCIDR(y),m=l[0].toByteArray(),x=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],d=0;d<4;)g.push(parseInt(m[d],10)&parseInt(x[d],10)),d++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(y){let l=this.parser(y);if(l===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(l)},p.IPv4.parseCIDR=function(y){let l;if(l=y.match(/^(.+)\/(\d+)$/)){let d=parseInt(l[2]);if(d>=0&&d<=32){let m=[this.parse(l[1]),d];return Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(y){let l,d,m;if(l=y.match(r.fourOctet))return function(){let g=l.slice(1,6),x=[];for(let b=0;b<g.length;b++)d=g[b],x.push(f(d));return x}();if(l=y.match(r.longValue)){if(m=f(l[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(m>>x&255);return g}().reverse()}else return(l=y.match(r.twoOctet))?function(){let g=l.slice(1,4),x=[];if(m=f(g[1]),m>16777215||m<0)throw new Error("ipaddr: address outside defined range");return x.push(f(g[0])),x.push(m>>16&255),x.push(m>>8&255),x.push(m&255),x}():(l=y.match(r.threeOctet))?function(){let g=l.slice(1,5),x=[];if(m=f(g[2]),m>65535||m<0)throw new Error("ipaddr: address outside defined range");return x.push(f(g[0])),x.push(f(g[1])),x.push(m>>8&255),x.push(m&255),x}():null},p.IPv4.subnetMaskFromPrefixLength=function(y){if(y=parseInt(y),y<0||y>32)throw new Error("ipaddr: invalid IPv4 prefix length");let l=[0,0,0,0],d=0,m=Math.floor(y/8);for(;d<m;)l[d]=255,d++;return m<4&&(l[m]=Math.pow(2,y%8)-1<<8-y%8),new this(l)},p.IPv6=function(){function y(l,d){let m,g;if(l.length===16)for(this.parts=[],m=0;m<=14;m+=2)this.parts.push(l[m]<<8|l[m+1]);else if(l.length===8)this.parts=l;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=0;m<this.parts.length;m++)if(g=this.parts[m],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");d&&(this.zoneId=d)}return y.prototype.SpecialRanges={unspecified:[new y([0,0,0,0,0,0,0,0]),128],linkLocal:[new y([65152,0,0,0,0,0,0,0]),10],multicast:[new y([65280,0,0,0,0,0,0,0]),8],loopback:[new y([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new y([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new y([0,0,0,0,0,65535,0,0]),96],rfc6145:[new y([0,0,0,0,65535,0,0,0]),96],rfc6052:[new y([100,65435,0,0,0,0,0,0]),96],"6to4":[new y([8194,0,0,0,0,0,0,0]),16],teredo:[new y([8193,0,0,0,0,0,0,0]),32],reserved:[[new y([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new y([8193,2,0,0,0,0,0,0]),48],amt:[new y([8193,3,0,0,0,0,0,0]),32],as112v6:[new y([8193,4,274,0,0,0,0,0]),48],deprecated:[new y([8193,16,0,0,0,0,0,0]),28],orchid2:[new y([8193,32,0,0,0,0,0,0]),28]},y.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},y.prototype.kind=function(){return"ipv6"},y.prototype.match=function(l,d){let m;if(d===void 0&&(m=l,l=m[0],d=m[1]),l.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,l.parts,16,d)},y.prototype.prefixLengthFromSubnetMask=function(){let l=0,d=!1,m={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let b=7;b>=0;b-=1)if(g=this.parts[b],g in m){if(x=m[g],d&&x!==0)return null;x!==16&&(d=!0),l+=x}else return null;return 128-l},y.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},y.prototype.toByteArray=function(){let l,d=[],m=this.parts;for(let g=0;g<m.length;g++)l=m[g],d.push(l>>8),d.push(l&255);return d},y.prototype.toFixedLengthString=function(){let l=function(){let m=[];for(let g=0;g<this.parts.length;g++)m.push(h(this.parts[g].toString(16),4));return m}.call(this).join(":"),d="";return this.zoneId&&(d=`%${this.zoneId}`),l+d},y.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let l=this.parts.slice(-2),d=l[0],m=l[1];return new p.IPv4([d>>8,d&255,m>>8,m&255])},y.prototype.toNormalizedString=function(){let l=function(){let m=[];for(let g=0;g<this.parts.length;g++)m.push(this.parts[g].toString(16));return m}.call(this).join(":"),d="";return this.zoneId&&(d=`%${this.zoneId}`),l+d},y.prototype.toRFC5952String=function(){let l=/((^|:)(0(:|$)){2,})/g,d=this.toNormalizedString(),m=0,g=-1,x;for(;x=l.exec(d);)x[0].length>g&&(m=x.index,g=x[0].length);return g<0?d:`${d.substring(0,m)}::${d.substring(m+g)}`},y.prototype.toString=function(){return this.toRFC5952String()},y}(),p.IPv6.broadcastAddressFromCIDR=function(y){try{let l=this.parseCIDR(y),d=l[0].toByteArray(),m=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(d[x],10)|parseInt(m[x],10)^255),x++;return new this(g)}catch(l){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${l})`)}},p.IPv6.isIPv6=function(y){return this.parser(y)!==null},p.IPv6.isValid=function(y){if(typeof y=="string"&&y.indexOf(":")===-1)return!1;try{let l=this.parser(y);return new this(l.parts,l.zoneId),!0}catch{return!1}},p.IPv6.networkAddressFromCIDR=function(y){let l,d,m,g,x;try{for(l=this.parseCIDR(y),m=l[0].toByteArray(),x=this.subnetMaskFromPrefixLength(l[1]).toByteArray(),g=[],d=0;d<16;)g.push(parseInt(m[d],10)&parseInt(x[d],10)),d++;return new this(g)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},p.IPv6.parse=function(y){let l=this.parser(y);if(l.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(l.parts,l.zoneId)},p.IPv6.parseCIDR=function(y){let l,d,m;if((d=y.match(/^(.+)\/(\d+)$/))&&(l=parseInt(d[2]),l>=0&&l<=128))return m=[this.parse(d[1]),l],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(y){let l,d,m,g,x,b;if(m=y.match(a.deprecatedTransitional))return this.parser(`::ffff:${m[1]}`);if(a.native.test(y))return c(y,8);if((m=y.match(a.transitional))&&(b=m[6]||"",l=c(m[1].slice(0,-1)+b,6),l.parts)){for(x=[parseInt(m[2]),parseInt(m[3]),parseInt(m[4]),parseInt(m[5])],d=0;d<x.length;d++)if(g=x[d],!(0<=g&&g<=255))return null;return l.parts.push(x[0]<<8|x[1]),l.parts.push(x[2]<<8|x[3]),{parts:l.parts,zoneId:l.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(y){if(y=parseInt(y),y<0||y>128)throw new Error("ipaddr: invalid IPv6 prefix length");let l=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=0,m=Math.floor(y/8);for(;d<m;)l[d]=255,d++;return m<16&&(l[m]=Math.pow(2,y%8)-1<<8-y%8),new this(l)},p.fromByteArray=function(y){let l=y.length;if(l===4)return new p.IPv4(y);if(l===16)return new p.IPv6(y);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(y){return p.IPv6.isValid(y)||p.IPv4.isValid(y)},p.parse=function(y){if(p.IPv6.isValid(y))return p.IPv6.parse(y);if(p.IPv4.isValid(y))return p.IPv4.parse(y);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(y){try{return p.IPv6.parseCIDR(y)}catch{try{return p.IPv4.parseCIDR(y)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(y){let l=this.parse(y);return l.kind()==="ipv6"&&l.isIPv4MappedAddress()?l.toIPv4Address():l},p.subnetMatch=function(y,l,d){let m,g,x,b;d==null&&(d="unicast");for(g in l)if(Object.prototype.hasOwnProperty.call(l,g)){for(x=l[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),m=0;m<x.length;m++)if(b=x[m],y.kind()===b[0].kind()&&y.match.apply(y,b))return g}return d},typeof Gc<"u"&&Gc.exports?Gc.exports=p:t.ipaddr=p})(x2)});var q2=z((gX,V2)=>{"use strict";V2.exports=K2;var eN=oh(),pn=K2.prototype,tN=new Date%1e9;function rN(){return(Math.random()*1e9>>>0)+tN++}function K2(t){t=t||{},this.id=t.id||rN(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}pn.has=function(t){return t in this._lookup};pn.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};pn.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};pn.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};pn.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};pn.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=eN(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};pn.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};pn.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var W2=z((SX,G2)=>{"use strict";G2.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Z2=z((j2,J2)=>{"use strict";var eu=W2(),{hasOwnProperty:Q2}=Object.prototype,{propertyIsEnumerable:oN}=Object,Io=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),sN=j2,Y2={concatArrays:!1,ignoreUndefined:!1},tu=t=>{let e=[];for(let r in t)Q2.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)oN.call(t,n)&&e.push(n)}return e};function _o(t){return Array.isArray(t)?aN(t):eu(t)?cN(t):t}function aN(t){let e=t.slice(0,0);return tu(t).forEach(r=>{Io(e,r,_o(t[r]))}),e}function cN(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return tu(t).forEach(r=>{Io(e,r,_o(t[r]))}),e}var X2=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Io(t,i,wp(t[i],e[i],n)):Io(t,i,_o(e[i])))}),t),uN=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Q2.call(o,a)&&(s.push(String(a)),o===t?Io(n,i++,o[a]):Io(n,i++,_o(o[a])));n=X2(n,o,tu(o).filter(a=>!s.includes(a)),r)}),n};function wp(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?uN(t,e,r):!eu(e)||!eu(t)?_o(e):X2(t,e,tu(e),r)}J2.exports=function(...t){let e=wp(_o(Y2),this!==sN&&this||{},Y2),r={_:{}};for(let n of t)if(n!==void 0){if(!eu(n))throw new TypeError("`"+n+"` is not an Option Object");r=wp(r,{_:n},e)}return r._}});var js=z((PX,rv)=>{rv.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var iv=z((kX,nv)=>{nv.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var sv=z((UX,ov)=>{var lN=iv();ov.exports=lN});var bt=z((FX,av)=>{av.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var ti=z((VX,uv)=>{var vp=js(),hN=sv(),cv=bt();uv.exports=class extends vp{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new hN}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof vp?this.insuranceLimiter[r](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof vp))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,o,i)}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new cv(0,a));this._upsert(s,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,r,c)}).catch(c=>{this._handleError(c,"consume",i,o,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",o,s,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",o,s,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._get(n,r).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._delete(n,r).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((o,s)=>{this._upsert(e,r,n,!0,i).then(()=>{o(new cv(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var lv=z((qX,fv)=>{var dN=ti(),pN=bt(),Ep="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Ap=class extends dN{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage||this.client.constructor.name==="Commander"||!1,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Ep})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new pN;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}async _upsert(e,r,n,i=!1){if(!this._isRedisReady())throw new Error("Redis connection is not ready");let o=Math.floor(n/1e3),s=this.client.multi();return i?(o>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.set(e,r,"EX",o):s.set(e,r,{EX:o}):s.set(e,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.pttl(e).exec(!0):s.pTTL(e).exec(!0)):o>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([e].concat([String(r),String(o)])):this.useRedis3AndLowerPackage?new Promise((a,c)=>{let u=function(f,h){return f?c(f):a(h)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,o,u):this.client.eval(Ep,1,e,r,o,u)}):this.client.eval(Ep,{keys:[e],arguments:[String(r),String(o)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?s.incrby(e,r).pttl(e).exec(!0):s.incrBy(e,r).pTTL(e).exec(!0)}async _get(e){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(e).pttl(e).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(e).pTTL(e).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(e){return this.client.del(e).then(r=>r>0)}};fv.exports=Ap});var pv=z((zX,dv)=>{var mN=ti(),yN=bt();function hv(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Sp=class t extends mN{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=hv(this.client)}):(this._initCollection(),this._driverVersion=hv(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?t.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new yN,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===r,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,s),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,s),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((f,h)=>{this._collection.findOneAndUpdate(a,c,u).then(p=>{f(p)}).catch(p=>{if(p&&p.code===11e3){let y=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),l={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(y,l,u).then(d=>{f(d)}).catch(d=>{d&&d.code===11e3?this._upsert(e,r,n,i).then(m=>f(m)).catch(m=>h(m)):h(d)})}else h(p)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};dv.exports=Sp});var yv=z(($X,mv)=>{var gN=ti(),xN=bt(),Cp=class extends gN{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),r(o);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new xN,[o]=n;return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,o){return new Promise((s,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),f=i>0?u+i:null,h,p;o?(h=`INSERT INTO ??.?? VALUES (?, ?, ?)
16
16
  ON DUPLICATE KEY UPDATE
17
17
  points = ?,
18
- expire = ?;`,d=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
18
+ expire = ?;`,p=[this.dbName,this.tableName,r,n,f,n,f]):(h=`INSERT INTO ??.?? VALUES (?, ?, ?)
19
19
  ON DUPLICATE KEY UPDATE
20
20
  points = IF(expire <= ?, ?, points + (?)),
21
- expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,d,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(h,m)=>{if(h)return e.rollback(),a(h);e.query("COMMIT",g=>{if(g)return e.rollback(),a(g);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};am.exports=pl});var lm=q((g6,um)=>{var HE=yn(),GE=ft(),ml=class extends HE{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.schemaName=e.schemaName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}_getTableIdentifier(){return this.schemaName?`"${this.schemaName}"."${this.tableName}"`:`"${this.tableName}"`}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} (
21
+ expire = IF(expire <= ?, ?, expire);`,p=[this.dbName,this.tableName,r,n,f,u,n,n,u,f]),e.query(h,p,y=>{if(y)return e.rollback(),a(y);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(l,d)=>{if(l)return e.rollback(),a(l);e.query("COMMIT",m=>{if(m)return e.rollback(),a(m);s(d)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(o,s)=>{o?n(o):s.length===0?r(null):r(s),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(o,s)=>{o?n(o):r(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};mv.exports=Cp});var xv=z((HX,gv)=>{var bN=ti(),wN=bt(),Ip=class extends bN{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.schemaName=e.schemaName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}_getTableIdentifier(){return this.schemaName?`"${this.schemaName}"."${this.tableName}"`:`"${this.tableName}"`}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} (
22
22
  key varchar(255) PRIMARY KEY,
23
23
  points integer NOT NULL DEFAULT 0,
24
24
  expire bigint
25
- );`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get schemaName(){return this._schemaName}set schemaName(e){this._schemaName=e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new GE,s=n.rows[0];return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,s)=>{this._getConnection().then(o=>{o.query(n).then(a=>{i(a),this._releaseConnection(o)}).catch(a=>{s(a),this._releaseConnection(o)})}).catch(o=>{s(o)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let s=n>0?Date.now()+n:null,o=i?" $3 ":` CASE
25
+ );`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get schemaName(){return this._schemaName}set schemaName(e){this._schemaName=e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new wN,o=n.rows[0];return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,o)=>{this._getConnection().then(s=>{s.query(n).then(a=>{i(a),this._releaseConnection(s)}).catch(a=>{o(a),this._releaseConnection(s)})}).catch(s=>{o(s)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let o=n>0?Date.now()+n:null,s=i?" $3 ":` CASE
26
26
  WHEN ${this._getTableIdentifier()}.expire <= $4 THEN $3
27
27
  ELSE ${this._getTableIdentifier()}.expire
28
28
  END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
@@ -32,33 +32,33 @@
32
32
  WHEN (${this._getTableIdentifier()}.expire <= $4 OR 1=${i?1:0}) THEN $2
33
33
  ELSE ${this._getTableIdentifier()}.points + ($2)
34
34
  END,
35
- expire = ${o}
36
- RETURNING points, expire;`,values:[e,r,s,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
37
- SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};um.exports=ml});var fm=q(()=>{});var dm=q((w6,hm)=>{hm.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var mm=q((v6,pm)=>{var WE=dm(),gl=ft();pm.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return!this._storage[e].expiresAt||i>0?(this._storage[e].value=this._storage[e].value+r,new gl(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new WE(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new gl(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new gl(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var xl=q((_6,ym)=>{var YE=Qi(),QE=mm(),gm=ft(),yl=class extends YE{constructor(e={}){super(e),this._memoryStorage=new QE}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new gm(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new gm(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};ym.exports=yl});var Sm=q((S6,_m)=>{var xm=fm(),XE=yi(),ZE=Qi(),wm=xl(),jE=ft(),Ct="rate_limiter_flexible",ci=null,bm=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:Ct,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Em=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Em.call(this,t)},30)},oi=function(t,e,r,n,i){let s={channel:Ct,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):Em.call(this,s)},vm=function(t,e){if(!e||e.channel!==Ct||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{bm(t,e,"resolve",n)}).catch(n=>{bm(t,e,"reject",n)})},JE=function(t){if(!t||t.channel!==Ct||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new jE(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},ev=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},ai=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=XE.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},bl=class{constructor(){if(ci)return ci;this._rateLimiters={},xm.setMaxListeners(0),xm.on("message",(e,r)=>{r&&r.channel===Ct&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new wm(r.opts)),e.send({channel:Ct,type:"init",keyPrefix:r.opts.keyPrefix})):vm.call(this,e,r)}),ci=this}},wl=class{constructor(e){if(ci)return ci;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Ct&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new wm(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Ct,channel:Ct,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Ct,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};vm.call(this,o,s)}})}),ci=this}},El=class extends ZE{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Ct&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:JE.call(this,r)}),process.send({channel:Ct,type:"init",opts:ev.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=ai.call(this,i,s);oi.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=ai.call(this,i,s);oi.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=ai.call(this,i,s);oi.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=ai.call(this,i,s);oi.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=ai.call(this,n,i);oi.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=ai.call(this,n,i);oi.call(this,"delete",s,e,r)})}};_m.exports={RateLimiterClusterMaster:bl,RateLimiterClusterMasterPM2:wl,RateLimiterCluster:El}});var Im=q((A6,Am)=>{var tv=yn(),rv=ft(),vl=class extends tv{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new rv;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(d,p)=>{if(d||!p)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let h=Object.assign({},s);h.attemptNumber=h.attemptNumber?h.attemptNumber+1:1,this._upsert(e,r,n,i,h).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(h)})}):this.client.get(`${e}_expire`,(d,p)=>{if(d)a(d);else{let h=p===!1?0:p,m={consumedPoints:f,msBeforeNext:h>=0?Math.max(h-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};Am.exports=vl});var Rm=q((C6,Tm)=>{var Cm=ft();Tm.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Cm(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Cm(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var Lm=q((R6,Bm)=>{var nv=Qi();Bm.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof nv))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var Dm=q((L6,Pm)=>{Pm.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var Mm=q((D6,Om)=>{var Nm=Dm(),km=4294967295,_l="limiter";Om.exports=class{constructor(e,r={maxQueueSize:km}){this._queueLimiters={KEY_DEFAULT:new Uo(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=_l){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=_l){return this._queueLimiters[r]||(this._queueLimiters[r]=new Uo(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Uo=class{constructor(e,r={maxQueueSize:km,key:_l}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new Nm(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new Nm(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Fm=q((k6,Um)=>{var Sl=ft();Um.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new Sl(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Sl?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Sl?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var qm=q((O6,Km)=>{var iv=ft(),sv=yn(),Fo=class{constructor(e,r,n){this.key=e,this.points=r,this.expire=n}},ov=25,av=25,Al=class extends sv{constructor(e,r=null){super(e),this.client=e.storeClient,this.tableName=e.tableName,this.tableCreated=e.tableCreated,this.tableCreated?this._setTTL().finally(()=>{typeof r=="function"&&r()}):this._createTable(e.dynamoTableOpts).then(n=>{this.tableCreated=!0,this._setTTL().finally(()=>{typeof r=="function"&&r()})}).catch(n=>{if(typeof r=="function")r(n);else throw n})}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?"node-rate-limiter-flexible":e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}async _createTable(e){let r={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:e&&e.readCapacityUnits?e.readCapacityUnits:ov,WriteCapacityUnits:e&&e.writeCapacityUnits?e.writeCapacityUnits:av}};try{return await this.client.createTable(r)}catch(n){if(n.__type&&n.__type.includes("ResourceInUseException"))return null;throw n}}async _get(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}}},n=await this.client.getItem(r);return n.Item?new Fo(n.Item.key.S,Number(n.Item.points.N),Number(n.Item.expire.N)):null}async _delete(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{return(await this._client.deleteItem(r)).$metadata.httpStatusCode===200}catch(n){if(n.__type&&n.__type.includes("ConditionalCheckFailedException"))return!1;throw n}}async _upsert(e,r,n,i=!1,s={}){if(!this.tableCreated)throw new Error("Table is not created yet");let o=Date.now(),a=o/1e3,c=n>0?(o+n)/1e3:-1;if(i)return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:r.toString()},":expire":{N:c.toString()}},ReturnValues:"ALL_NEW"});try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:r.toString()},":new_expire":{N:c.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:r.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(e){if(!this.tableCreated)throw new Error("Table is not created yet");try{let r=await this.client.updateItem(e);return new Fo(r.Attributes.key.S,Number(r.Attributes.points.N),Number(r.Attributes.expire.N))}catch(r){throw r}}async _setTTL(){if(!this.tableCreated)throw new Error("Table is not created yet");try{if(await this._isTTLSet())return;let r={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:!0}};return await this.client.updateTimeToLive(r)}catch(e){throw e}}async _isTTLSet(){if(!this.tableCreated)throw new Error("Table is not created yet");try{let e=await this.client.describeTimeToLive({TableName:this.tableName});return e.$metadata.httpStatusCode==200&&e.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&e.TimeToLiveDescription.AttributeName==="expire"}catch(e){throw e}}_getRateLimiterRes(e,r,n){let i=new iv;return i.isFirstInDuration=r===n.points,i.consumedPoints=i.isFirstInDuration?r:n.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.expire!=-1?Math.max(n.expire*1e3-Date.now(),0):-1,i}};Km.exports=Al});var $m=q((M6,Vm)=>{var cv=nm(),uv=om(),lv=cm(),fv=lm(),{RateLimiterClusterMaster:hv,RateLimiterClusterMasterPM2:dv,RateLimiterCluster:pv}=Sm(),mv=xl(),gv=Im(),yv=Rm(),xv=Lm(),bv=Mm(),wv=Fm(),Ev=ft(),vv=qm();Vm.exports={RateLimiterRedis:cv,RateLimiterMongo:uv,RateLimiterMySQL:lv,RateLimiterPostgres:fv,RateLimiterMemory:mv,RateLimiterMemcache:gv,RateLimiterClusterMaster:hv,RateLimiterClusterMasterPM2:dv,RateLimiterCluster:pv,RLWrapperBlackAndWhite:yv,RateLimiterUnion:xv,RateLimiterQueue:bv,BurstyRateLimiter:wv,RateLimiterRes:Ev,RateLimiterDynamo:vv}});var Qv={};ke(Qv,{createLibp2p:()=>Yv});var _8=we(gi(),1),S8=we(yh(),1);var xh=Symbol.for("@libp2p/connection");var Ma=Symbol.for("@libp2p/content-routing");var Ua=Symbol.for("@libp2p/peer-discovery");var Fa=Symbol.for("@libp2p/peer-id");function vs(t){return t!=null&&!!t[Fa]}var Ka=Symbol.for("@libp2p/peer-routing");var bh="keep-alive";var wh;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(wh||(wh={}));var B_=Symbol.for("@libp2p/transport");var Er;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Er||(Er={}));var Cn=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},S=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var _s="ERR_TIMEOUT",qa="ERR_INVALID_PARAMETERS";var wi=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new $a(e,r))}},Va=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},$a=globalThis.CustomEvent??Va;var ht=(t,...e)=>{try{[...e]}catch{}};function Eh(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var H2=we(le(),1);function zr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ya={};ke(Ya,{base10:()=>e1});function Qx(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,m++;for(var b=(x-y)*l+1>>>0,I=new Uint8Array(b);y!==x;){for(var v=h[y],_=0,P=b-1;(v!==0||_<g)&&P!==-1;P--,_++)v+=256*I[P]>>>0,I[P]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=_,y++}for(var D=b-g;D!==b&&I[D]===0;)D++;for(var H=c.repeat(m);D<b;++D)H+=t.charAt(I[D]);return H}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var g=0,y=0;h[m]===c;)g++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var I=r[h.charCodeAt(m)];if(I===255)return;for(var v=0,_=x-1;(I!==0||v<y)&&_!==-1;_--,v++)I+=a*b[_]>>>0,b[_]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=v,m++}if(h[m]!==" "){for(var P=x-y;P!==x&&b[P]===0;)P++;for(var D=new Uint8Array(g+(x-P)),H=g;P!==x;)D[H++]=b[P++];return D}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var Xx=Qx,Zx=Xx,vh=Zx;var lS=new Uint8Array(0);var _h=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},rr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Sh=t=>new TextEncoder().encode(t),Ah=t=>new TextDecoder().decode(t);var za=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ha=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ch(this,e)}},Ga=class{constructor(e){this.decoders=e}or(e){return Ch(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Ch=(t,e)=>new Ga({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Wa=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new za(e,r,n),this.decoder=new Ha(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Tn=({name:t,prefix:e,encode:r,decode:n})=>new Wa(t,e,r,n),vr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=vh(r,e);return Tn({prefix:t,name:e,encode:n,decode:s=>rr(i(s))})},jx=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Jx=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},_e=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Tn({prefix:e,name:t,encode(i){return Jx(i,n,r)},decode(i){return jx(i,n,r,t)}});var e1=vr({prefix:"9",name:"base10",alphabet:"0123456789"});var Qa={};ke(Qa,{base16:()=>t1,base16upper:()=>r1});var t1=_e({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),r1=_e({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xa={};ke(Xa,{base2:()=>n1});var n1=_e({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Za={};ke(Za,{base256emoji:()=>c1});var Th=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}"),i1=Th.reduce((t,e,r)=>(t[r]=e,t),[]),s1=Th.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function o1(t){return t.reduce((e,r)=>(e+=i1[r],e),"")}function a1(t){let e=[];for(let r of t){let n=s1[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var c1=Tn({prefix:"\u{1F680}",name:"base256emoji",encode:o1,decode:a1});var ja={};ke(ja,{base32:()=>dt,base32hex:()=>h1,base32hexpad:()=>p1,base32hexpadupper:()=>m1,base32hexupper:()=>d1,base32pad:()=>l1,base32padupper:()=>f1,base32upper:()=>u1,base32z:()=>g1});var dt=_e({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),u1=_e({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),l1=_e({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),f1=_e({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),h1=_e({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),d1=_e({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),p1=_e({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),m1=_e({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),g1=_e({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ja={};ke(Ja,{base36:()=>y1,base36upper:()=>x1});var y1=vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),x1=vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ec={};ke(ec,{base58btc:()=>Ee,base58flickr:()=>b1});var Ee=vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),b1=vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var rc={};ke(rc,{base64:()=>Rn,base64pad:()=>w1,base64url:()=>tc,base64urlpad:()=>E1});var Rn=_e({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),w1=_e({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tc=_e({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),E1=_e({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var nc={};ke(nc,{base8:()=>v1});var v1=_e({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ic={};ke(ic,{identity:()=>_1});var _1=Tn({prefix:"\0",name:"identity",encode:t=>Ah(t),decode:t=>Sh(t)});var AS=new TextEncoder,IS=new TextDecoder;var oc={};ke(oc,{identity:()=>_r});var I1=Lh,Rh=128,C1=127,T1=~C1,R1=Math.pow(2,31);function Lh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=R1;)e[r++]=t&255|Rh,t/=128;for(;t&T1;)e[r++]=t&255|Rh,t>>>=7;return e[r]=t|0,Lh.bytes=r-n+1,e}var B1=sc,L1=128,Bh=127;function sc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw sc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Bh)<<i:(o&Bh)*Math.pow(2,i),i+=7}while(o>=L1);return sc.bytes=s-n,r}var P1=Math.pow(2,7),D1=Math.pow(2,14),N1=Math.pow(2,21),k1=Math.pow(2,28),O1=Math.pow(2,35),M1=Math.pow(2,42),U1=Math.pow(2,49),F1=Math.pow(2,56),K1=Math.pow(2,63),q1=function(t){return t<P1?1:t<D1?2:t<N1?3:t<k1?4:t<O1?5:t<M1?6:t<U1?7:t<F1?8:t<K1?9:10},V1={encode:I1,decode:B1,encodingLength:q1},$1=V1,Ei=$1;var vi=(t,e=0)=>[Ei.decode(t,e),Ei.decode.bytes],Bn=(t,e,r=0)=>(Ei.encode(t,e,r),e),Ln=t=>Ei.encodingLength(t);var Ht=(t,e)=>{let r=e.byteLength,n=Ln(t),i=n+Ln(r),s=new Uint8Array(i+r);return Bn(t,s,0),Bn(r,s,n),s.set(e,i),new Pn(t,r,e,s)},Hr=t=>{let e=rr(t),[r,n]=vi(e),[i,s]=vi(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Pn(r,i,o,e)},Ph=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&_h(t.bytes,r.bytes)}},Pn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Dh=0,z1="identity",Nh=rr,H1=t=>Ht(Dh,Nh(t)),_r={code:Dh,name:z1,encode:Nh,digest:H1};var uc={};ke(uc,{sha256:()=>$e,sha512:()=>G1});var cc=({name:t,code:e,encode:r})=>new ac(t,e,r),ac=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Ht(this.code,r):r.then(n=>Ht(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Oh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),$e=cc({name:"sha2-256",code:18,encode:Oh("SHA-256")}),G1=cc({name:"sha2-512",code:19,encode:Oh("SHA-512")});var Mh=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Y1(r,lc(t),e||Ee.encoder);default:return Q1(r,lc(t),e||dt.encoder)}};var Uh=new WeakMap,lc=t=>{let e=Uh.get(t);if(e==null){let r=new Map;return Uh.set(t,r),r}return e},Bt=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==_i)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==X1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Ht(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ph(e.multihash,n.multihash)}toString(e){return Mh(this,e)}toJSON(){return{"/":Mh(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o||Fh(n,i,s.bytes))}else if(r[Z1]===!0){let{version:n,multihash:i,code:s}=r,o=Hr(i);return t.create(n,s,o)}else return null}static create(e,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(e){case 0:{if(r!==_i)throw new Error(`Version 0 CID must use dag-pb (code: ${_i}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Fh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,_i,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=rr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new Pn(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=vi(e.subarray(r));return r+=d,f},i=n(),s=_i;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=W1(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return lc(s).set(n,e),s}},W1=(t,e)=>{switch(t[0]){case"Q":{let r=e||Ee;return[Ee.prefix,r.decode(`${Ee.prefix}${t}`)]}case Ee.prefix:{let r=e||Ee;return[Ee.prefix,r.decode(t)]}case dt.prefix:{let r=e||dt;return[dt.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Y1=(t,e,r)=>{let{prefix:n}=r;if(n!==Ee.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},Q1=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},_i=112,X1=18,Fh=(t,e,r)=>{let n=Ln(t),i=n+Ln(e),s=new Uint8Array(i+r.byteLength);return Bn(t,s,0),Bn(e,s,n),s.set(r,i),s},Z1=Symbol.for("@ipld/js-cid/CID");var de={...ic,...Xa,...nc,...Ya,...Qa,...ja,...Ja,...ec,...rc,...Za},VS={...uc,...oc};function As(t=0){return globalThis.Buffer?.allocUnsafe!=null?zr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function qh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Kh=qh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),fc=qh("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=As(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),j1={utf8:Kh,"utf-8":Kh,hex:de.base16,latin1:fc,ascii:fc,binary:fc,...de},Is=j1;function pt(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?zr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var zc={};ke(zc,{Ed25519PrivateKey:()=>en,Ed25519PublicKey:()=>Li,generateKeyPair:()=>m2,generateKeyPairFromSeed:()=>A0,unmarshalEd25519PrivateKey:()=>d2,unmarshalEd25519PublicKey:()=>p2});function Gt(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var iA=we(Re(),1),sA=we(xs(),1),Vh=we(le(),1);function Wr(t,e){if(globalThis.Buffer!=null)return zr(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=As(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return zr(r)}function mt(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function Lt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Wr([new Uint8Array(e-r.length),r])}return mt(r,"base64url")}function gt(t){let e=$h(t);return new Vh.default.jsbn.BigInteger(mt(e,"base16"),16)}function $h(t,e){let r=pt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Wr([new Uint8Array(e-r.length),r])}return r}function vt(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function zh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function J1(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function hc(t,...e){if(!J1(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function Hh(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");zh(t.outputLen),zh(t.blockLen)}function Dn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Gh(t,e){hc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Cs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Wh(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var Ts=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Pt=(t,e)=>t<<32-e|t>>>e,eb=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!eb)throw new Error("Non little-endian hardware is not supported");function dc(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Si(t){if(typeof t=="string"&&(t=dc(t)),!Wh(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function Rs(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!Wh(i))throw new Error("Uint8Array expected");e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var Nn=class{clone(){return this._cloneInto()}},dA={}.toString;function Bs(t){let e=n=>t().update(Si(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function kn(t=32){if(Cs&&typeof Cs.getRandomValues=="function")return Cs.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function tb(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}var On=class extends Nn{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ts(this.buffer)}update(e){Dn(this);let{view:r,buffer:n,blockLen:i}=this;e=Si(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=Ts(e);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Dn(this),Gh(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:s}=this,{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let f=o;f<i;f++)r[f]=0;tb(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=Ts(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%r&&e.buffer.set(n),e}};var Ls=BigInt(4294967295),pc=BigInt(32);function Yh(t,e=!1){return e?{h:Number(t&Ls),l:Number(t>>pc&Ls)}:{h:Number(t>>pc&Ls)|0,l:Number(t&Ls)|0}}function rb(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:s,l:o}=Yh(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var nb=(t,e)=>BigInt(t>>>0)<<pc|BigInt(e>>>0),ib=(t,e,r)=>t>>>r,sb=(t,e,r)=>t<<32-r|e>>>r,ob=(t,e,r)=>t>>>r|e<<32-r,ab=(t,e,r)=>t<<32-r|e>>>r,cb=(t,e,r)=>t<<64-r|e>>>r-32,ub=(t,e,r)=>t>>>r-32|e<<64-r,lb=(t,e)=>e,fb=(t,e)=>t,hb=(t,e,r)=>t<<r|e>>>32-r,db=(t,e,r)=>e<<r|t>>>32-r,pb=(t,e,r)=>e<<r-32|t>>>64-r,mb=(t,e,r)=>t<<r-32|e>>>64-r;function gb(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var yb=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),xb=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,bb=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),wb=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,Eb=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),vb=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var _b={fromBig:Yh,split:rb,toBig:nb,shrSH:ib,shrSL:sb,rotrSH:ob,rotrSL:ab,rotrBH:cb,rotrBL:ub,rotr32H:lb,rotr32L:fb,rotlSH:hb,rotlSL:db,rotlBH:pb,rotlBL:mb,add:gb,add3L:yb,add3H:xb,add4L:bb,add4H:wb,add5H:vb,add5L:Eb},Q=_b;var[Sb,Ab]=Q.split(["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(t=>BigInt(t))),Sr=new Uint32Array(80),Ar=new Uint32Array(80),mc=class extends On{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:d,Gh:p,Gl:h,Hh:m,Hl:g}=this;return[e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,g]}set(e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,g){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=d|0,this.Gh=p|0,this.Gl=h|0,this.Hh=m|0,this.Hl=g|0}process(e,r){for(let b=0;b<16;b++,r+=4)Sr[b]=e.getUint32(r),Ar[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let I=Sr[b-15]|0,v=Ar[b-15]|0,_=Q.rotrSH(I,v,1)^Q.rotrSH(I,v,8)^Q.shrSH(I,v,7),P=Q.rotrSL(I,v,1)^Q.rotrSL(I,v,8)^Q.shrSL(I,v,7),D=Sr[b-2]|0,H=Ar[b-2]|0,G=Q.rotrSH(D,H,19)^Q.rotrBH(D,H,61)^Q.shrSH(D,H,6),$=Q.rotrSL(D,H,19)^Q.rotrBL(D,H,61)^Q.shrSL(D,H,6),j=Q.add4L(P,$,Ar[b-7],Ar[b-16]),ue=Q.add4H(j,_,G,Sr[b-7],Sr[b-16]);Sr[b]=ue|0,Ar[b]=j|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:d,Fh:p,Fl:h,Gh:m,Gl:g,Hh:y,Hl:x}=this;for(let b=0;b<80;b++){let I=Q.rotrSH(f,d,14)^Q.rotrSH(f,d,18)^Q.rotrBH(f,d,41),v=Q.rotrSL(f,d,14)^Q.rotrSL(f,d,18)^Q.rotrBL(f,d,41),_=f&p^~f&m,P=d&h^~d&g,D=Q.add5L(x,v,P,Ab[b],Ar[b]),H=Q.add5H(D,y,I,_,Sb[b],Sr[b]),G=D|0,$=Q.rotrSH(n,i,28)^Q.rotrBH(n,i,34)^Q.rotrBH(n,i,39),j=Q.rotrSL(n,i,28)^Q.rotrBL(n,i,34)^Q.rotrBL(n,i,39),ue=n&s^n&a^s&a,Ke=i&o^i&c^o&c;y=m|0,x=g|0,m=p|0,g=h|0,p=f|0,h=d|0,{h:f,l:d}=Q.add(u|0,l|0,H|0,G|0),u=a|0,l=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let R=Q.add3L(G,j,Ke);n=Q.add3H(R,H,$,ue),i=R|0}({h:n,l:i}=Q.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Q.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=Q.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=Q.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:d}=Q.add(this.Eh|0,this.El|0,f|0,d|0),{h:p,l:h}=Q.add(this.Fh|0,this.Fl|0,p|0,h|0),{h:m,l:g}=Q.add(this.Gh|0,this.Gl|0,m|0,g|0),{h:y,l:x}=Q.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x)}roundClean(){Sr.fill(0),Ar.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var gc=Bs(()=>new mc);var Ds={};ke(Ds,{bitGet:()=>Pb,bitLen:()=>Lb,bitMask:()=>Ai,bitSet:()=>Db,bytesToHex:()=>ir,bytesToNumberBE:()=>sr,bytesToNumberLE:()=>Ir,concatBytes:()=>or,createHmacDrbg:()=>bc,ensureBytes:()=>Se,equalBytes:()=>Rb,hexToBytes:()=>Yr,hexToNumber:()=>xc,isBytes:()=>Dt,numberToBytesBE:()=>Cr,numberToBytesLE:()=>Qr,numberToHexUnpadded:()=>jh,numberToVarBytesBE:()=>Tb,utf8ToBytes:()=>Bb,validateObject:()=>Wt});var Zh=BigInt(0),Ps=BigInt(1),Ib=BigInt(2);function Dt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var Cb=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ir(t){if(!Dt(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Cb[t[r]];return e}function jh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function xc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var nr={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Qh(t){if(t>=nr._0&&t<=nr._9)return t-nr._0;if(t>=nr._A&&t<=nr._F)return t-(nr._A-10);if(t>=nr._a&&t<=nr._f)return t-(nr._a-10)}function Yr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,s=0;i<r;i++,s+=2){let o=Qh(t.charCodeAt(s)),a=Qh(t.charCodeAt(s+1));if(o===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[i]=o*16+a}return n}function sr(t){return xc(ir(t))}function Ir(t){if(!Dt(t))throw new Error("Uint8Array expected");return xc(ir(Uint8Array.from(t).reverse()))}function Cr(t,e){return Yr(t.toString(16).padStart(e*2,"0"))}function Qr(t,e){return Cr(t,e).reverse()}function Tb(t){return Yr(jh(t))}function Se(t,e,r){let n;if(typeof e=="string")try{n=Yr(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Dt(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function or(...t){let e=0;for(let i=0;i<t.length;i++){let s=t[i];if(!Dt(s))throw new Error("Uint8Array expected");e+=s.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let s=t[i];r.set(s,n),n+=s.length}return r}function Rb(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function Bb(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Lb(t){let e;for(e=0;t>Zh;t>>=Ps,e+=1);return e}function Pb(t,e){return t>>BigInt(e)&Ps}var Db=(t,e,r)=>t|(r?Ps:Zh)<<BigInt(e),Ai=t=>(Ib<<BigInt(t-1))-Ps,yc=t=>new Uint8Array(t),Xh=t=>Uint8Array.from(t);function bc(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=yc(t),i=yc(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...f)=>r(i,n,...f),c=(f=yc())=>{i=a(Xh([0]),f),n=a(),f.length!==0&&(i=a(Xh([1]),f),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,d=[];for(;f<e;){n=a();let p=n.slice();d.push(p),f+=n.length}return or(...d)};return(f,d)=>{o(),c(f);let p;for(;!(p=d(u()));)c();return o(),p}}var Nb={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Dt(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Wt(t,e,r={}){let n=(i,s,o)=>{let a=Nb[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=t[i];if(!(o&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(e))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return t}var Pe=BigInt(0),ye=BigInt(1),Xr=BigInt(2),kb=BigInt(3),wc=BigInt(4),Jh=BigInt(5),e0=BigInt(8),Ob=BigInt(9),Mb=BigInt(16);function fe(t,e){let r=t%e;return r>=Pe?r:e+r}function Ub(t,e,r){if(r<=Pe||e<Pe)throw new Error("Expected power/modulo > 0");if(r===ye)return Pe;let n=ye;for(;e>Pe;)e&ye&&(n=n*t%r),t=t*t%r,e>>=ye;return n}function xe(t,e,r){let n=t;for(;e-- >Pe;)n*=n,n%=r;return n}function Ns(t,e){if(t===Pe||e<=Pe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=fe(t,e),n=e,i=Pe,s=ye,o=ye,a=Pe;for(;r!==Pe;){let u=n/r,l=n%r,f=i-o*u,d=s-a*u;n=r,r=l,i=o,s=a,o=f,a=d}if(n!==ye)throw new Error("invert: does not exist");return fe(i,e)}function Fb(t){let e=(t-ye)/Xr,r,n,i;for(r=t-ye,n=0;r%Xr===Pe;r/=Xr,n++);for(i=Xr;i<t&&Ub(i,e,t)!==t-ye;i++);if(n===1){let o=(t+ye)/wc;return function(c,u){let l=c.pow(u,o);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let s=(r+ye)/Xr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,l=a.pow(a.mul(a.ONE,i),r),f=a.pow(c,s),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(d);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let h=a.pow(l,ye<<BigInt(u-p-1));l=a.sqr(h),f=a.mul(f,h),d=a.mul(d,l),u=p}return f}}function Kb(t){if(t%wc===kb){let e=(t+ye)/wc;return function(n,i){let s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(t%e0===Jh){let e=(t-Jh)/e0;return function(n,i){let s=n.mul(i,Xr),o=n.pow(s,e),a=n.mul(i,o),c=n.mul(n.mul(a,Xr),o),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%Mb,Fb(t)}var t0=(t,e)=>(fe(t,e)&ye)===ye,qb=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ec(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=qb.reduce((n,i)=>(n[i]="function",n),e);return Wt(t,r)}function Vb(t,e,r){if(r<Pe)throw new Error("Expected power > 0");if(r===Pe)return t.ONE;if(r===ye)return e;let n=t.ONE,i=e;for(;r>Pe;)r&ye&&(n=t.mul(n,i)),i=t.sqr(i),r>>=ye;return n}function $b(t,e){let r=new Array(e.length),n=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),i=t.inv(n);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),i),r}function vc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ks(t,e,r=!1,n={}){if(t<=Pe)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=vc(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=Kb(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:Ai(i),ZERO:Pe,ONE:ye,create:c=>fe(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Pe<=c&&c<t},is0:c=>c===Pe,isOdd:c=>(c&ye)===ye,neg:c=>fe(-c,t),eql:(c,u)=>c===u,sqr:c=>fe(c*c,t),add:(c,u)=>fe(c+u,t),sub:(c,u)=>fe(c-u,t),mul:(c,u)=>fe(c*u,t),pow:(c,u)=>Vb(a,c,u),div:(c,u)=>fe(c*Ns(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Ns(c,t),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>$b(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?Qr(c,s):Cr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?Ir(c):sr(c)}});return Object.freeze(a)}function r0(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function n0(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function _c(t){let e=n0(t);return e+Math.ceil(e/2)}function i0(t,e,r=!1){let n=t.length,i=n0(e),s=_c(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?sr(t):Ir(t),a=fe(o,e-ye)+ye;return r?Qr(a,i):Cr(a,i)}var Hb=BigInt(0),Sc=BigInt(1);function Os(t,e){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=t.ZERO,a=i;for(;s>Hb;)s&Sc&&(o=o.add(a)),a=a.double(),s>>=Sc;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),c=[],u=i,l=u;for(let f=0;f<o;f++){l=u,c.push(l);for(let d=1;d<a;d++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),d=2**i,p=BigInt(i);for(let h=0;h<a;h++){let m=h*c,g=Number(o&f);o>>=p,g>c&&(g-=d,o+=Sc);let y=m,x=m+Math.abs(g)-1,b=h%2!==0,I=g<0;g===0?l=l.add(r(b,s[y])):u=u.add(r(I,s[x]))}return{p:u,f:l}},wNAFCached(i,s,o,a){let c=i._WINDOW_SIZE||1,u=s.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&s.set(i,a(u))),this.wNAF(c,u,o)}}}function Ii(t){return Ec(t.Fp),Wt(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...vc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Nt=BigInt(0),yt=BigInt(1),Ms=BigInt(2),Gb=BigInt(8),Wb={zip215:!0};function Yb(t){let e=Ii(t);return Wt(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Us(t){let e=Yb(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=e,u=Ms<<BigInt(a*8)-yt,l=r.create,f=e.uvRatio||((N,C)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(C))}}catch{return{isValid:!1,value:Nt}}}),d=e.adjustScalarBytes||(N=>N),p=e.domain||((N,C,U)=>{if(C.length||U)throw new Error("Contexts/pre-hash are not supported");return N}),h=N=>typeof N=="bigint"&&Nt<N,m=(N,C)=>h(N)&&h(C)&&N<C,g=N=>N===Nt||m(N,u);function y(N,C){if(m(N,C))return N;throw new Error(`Expected valid scalar < ${C}, got ${typeof N} ${N}`)}function x(N){return N===Nt?N:y(N,n)}let b=new Map;function I(N){if(!(N instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(C,U,K,z){if(this.ex=C,this.ey=U,this.ez=K,this.et=z,!g(C))throw new Error("x required");if(!g(U))throw new Error("y required");if(!g(K))throw new Error("z required");if(!g(z))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(C){if(C instanceof v)throw new Error("extended point not allowed");let{x:U,y:K}=C||{};if(!g(U)||!g(K))throw new Error("invalid affine point");return new v(U,K,yt,l(U*K))}static normalizeZ(C){let U=r.invertBatch(C.map(K=>K.ez));return C.map((K,z)=>K.toAffine(U[z])).map(v.fromAffine)}_setWindowSize(C){this._WINDOW_SIZE=C,b.delete(this)}assertValidity(){let{a:C,d:U}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:z,ez:X,et:J}=this,ae=l(K*K),ee=l(z*z),ne=l(X*X),Te=l(ne*ne),ve=l(ae*C),qe=l(ne*l(ve+ee)),Ve=l(Te+l(U*l(ae*ee)));if(qe!==Ve)throw new Error("bad point: equation left != right (1)");let Le=l(K*z),Qe=l(X*J);if(Le!==Qe)throw new Error("bad point: equation left != right (2)")}equals(C){I(C);let{ex:U,ey:K,ez:z}=this,{ex:X,ey:J,ez:ae}=C,ee=l(U*ae),ne=l(X*z),Te=l(K*ae),ve=l(J*z);return ee===ne&&Te===ve}is0(){return this.equals(v.ZERO)}negate(){return new v(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:C}=e,{ex:U,ey:K,ez:z}=this,X=l(U*U),J=l(K*K),ae=l(Ms*l(z*z)),ee=l(C*X),ne=U+K,Te=l(l(ne*ne)-X-J),ve=ee+J,qe=ve-ae,Ve=ee-J,Le=l(Te*qe),Qe=l(ve*Ve),jt=l(Te*Ve),Ur=l(qe*ve);return new v(Le,Qe,Ur,jt)}add(C){I(C);let{a:U,d:K}=e,{ex:z,ey:X,ez:J,et:ae}=this,{ex:ee,ey:ne,ez:Te,et:ve}=C;if(U===BigInt(-1)){let Wl=l((X-z)*(ne+ee)),Yl=l((X+z)*(ne-ee)),pa=l(Yl-Wl);if(pa===Nt)return this.double();let Ql=l(J*Ms*ve),Xl=l(ae*Ms*Te),Zl=Xl+Ql,jl=Yl+Wl,Jl=Xl-Ql,mg=l(Zl*pa),gg=l(jl*Jl),yg=l(Zl*Jl),xg=l(pa*jl);return new v(mg,gg,xg,yg)}let qe=l(z*ee),Ve=l(X*ne),Le=l(ae*K*ve),Qe=l(J*Te),jt=l((z+X)*(ee+ne)-qe-Ve),Ur=Qe-Le,hi=Qe+Le,Gl=l(Ve-U*qe),fg=l(jt*Ur),hg=l(hi*Gl),dg=l(jt*Gl),pg=l(Ur*hi);return new v(fg,hg,pg,dg)}subtract(C){return this.add(C.negate())}wNAF(C){return D.wNAFCached(this,b,C,v.normalizeZ)}multiply(C){let{p:U,f:K}=this.wNAF(y(C,n));return v.normalizeZ([U,K])[0]}multiplyUnsafe(C){let U=x(C);return U===Nt?P:this.equals(P)||U===yt?this:this.equals(_)?this.wNAF(U).p:D.unsafeLadder(this,U)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(C){let{ex:U,ey:K,ez:z}=this,X=this.is0();C==null&&(C=X?Gb:r.inv(z));let J=l(U*C),ae=l(K*C),ee=l(z*C);if(X)return{x:Nt,y:yt};if(ee!==yt)throw new Error("invZ was invalid");return{x:J,y:ae}}clearCofactor(){let{h:C}=e;return C===yt?this:this.multiplyUnsafe(C)}static fromHex(C,U=!1){let{d:K,a:z}=e,X=r.BYTES;C=Se("pointHex",C,X);let J=C.slice(),ae=C[X-1];J[X-1]=ae&-129;let ee=Ir(J);ee===Nt||(U?y(ee,u):y(ee,r.ORDER));let ne=l(ee*ee),Te=l(ne-yt),ve=l(K*ne-z),{isValid:qe,value:Ve}=f(Te,ve);if(!qe)throw new Error("Point.fromHex: invalid y coordinate");let Le=(Ve&yt)===yt,Qe=(ae&128)!==0;if(!U&&Ve===Nt&&Qe)throw new Error("Point.fromHex: x=0 and x_0=1");return Qe!==Le&&(Ve=l(-Ve)),v.fromAffine({x:Ve,y:ee})}static fromPrivateKey(C){return $(C).point}toRawBytes(){let{x:C,y:U}=this.toAffine(),K=Qr(U,r.BYTES);return K[K.length-1]|=C&yt?128:0,K}toHex(){return ir(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,yt,l(e.Gx*e.Gy)),v.ZERO=new v(Nt,yt,yt,Nt);let{BASE:_,ZERO:P}=v,D=Os(v,a*8);function H(N){return fe(N,n)}function G(N){return H(Ir(N))}function $(N){let C=a;N=Se("private key",N,C);let U=Se("hashed private key",s(N),2*C),K=d(U.slice(0,C)),z=U.slice(C,2*C),X=G(K),J=_.multiply(X),ae=J.toRawBytes();return{head:K,prefix:z,scalar:X,point:J,pointBytes:ae}}function j(N){return $(N).pointBytes}function ue(N=new Uint8Array,...C){let U=or(...C);return G(s(p(U,Se("context",N),!!i)))}function Ke(N,C,U={}){N=Se("message",N),i&&(N=i(N));let{prefix:K,scalar:z,pointBytes:X}=$(C),J=ue(U.context,K,N),ae=_.multiply(J).toRawBytes(),ee=ue(U.context,ae,X,N),ne=H(J+ee*z);x(ne);let Te=or(ae,Qr(ne,r.BYTES));return Se("result",Te,a*2)}let R=Wb;function k(N,C,U,K=R){let{context:z,zip215:X}=K,J=r.BYTES;N=Se("signature",N,2*J),C=Se("message",C),i&&(C=i(C));let ae=Ir(N.slice(J,2*J)),ee,ne,Te;try{ee=v.fromHex(U,X),ne=v.fromHex(N.slice(0,J),X),Te=_.multiplyUnsafe(ae)}catch{return!1}if(!X&&ee.isSmallOrder())return!1;let ve=ue(z,ne.toRawBytes(),ee.toRawBytes(),C);return ne.add(ee.multiplyUnsafe(ve)).subtract(Te).clearCofactor().equals(v.ZERO)}return _._setWindowSize(8),{CURVE:e,getPublicKey:j,sign:Ke,verify:k,ExtendedPoint:v,utils:{getExtendedPublicKey:$,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,C=v.BASE){return C._setWindowSize(N),C.multiply(BigInt(3)),C}}}}var Ic=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),s0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),kA=BigInt(0),Qb=BigInt(1),Ac=BigInt(2),Xb=BigInt(5),o0=BigInt(10),Zb=BigInt(20),jb=BigInt(40),a0=BigInt(80);function Jb(t){let e=Ic,n=t*t%e*t%e,i=xe(n,Ac,e)*n%e,s=xe(i,Qb,e)*t%e,o=xe(s,Xb,e)*s%e,a=xe(o,o0,e)*o%e,c=xe(a,Zb,e)*a%e,u=xe(c,jb,e)*c%e,l=xe(u,a0,e)*u%e,f=xe(l,a0,e)*u%e,d=xe(f,o0,e)*o%e;return{pow_p_5_8:xe(d,Ac,e)*t%e,b2:n}}function e2(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function t2(t,e){let r=Ic,n=fe(e*e*e,r),i=fe(n*n*e,r),s=Jb(t*i).pow_p_5_8,o=fe(t*n*s,r),a=fe(e*o*o,r),c=o,u=fe(o*s0,r),l=a===t,f=a===fe(-t,r),d=a===fe(-t*s0,r);return l&&(o=c),(f||d)&&(o=u),t0(o,r)&&(o=fe(-o,r)),{isValid:l||f,value:o}}var ar=ks(Ic,void 0,!0),Cc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ar,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:gc,randomBytes:kn,adjustScalarBytes:e2,uvRatio:t2},Mn=Us(Cc);function c0(t,e,r){if(e.length>255)throw new Error("Context is too big");return Rs(dc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var OA=Us({...Cc,domain:c0}),MA=Us({...Cc,domain:c0,prehash:gc});var r2=(ar.ORDER+BigInt(3))/BigInt(8),UA=ar.pow(Ac,r2),FA=ar.sqrt(ar.neg(ar.ONE)),KA=(ar.ORDER-BigInt(5))/BigInt(8),qA=BigInt(486662);var VA=r0(ar,ar.neg(BigInt(486664)));var $A=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),zA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),HA=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),GA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var WA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Un=32,cr=64,Fs=32;function u0(){let t=Mn.utils.randomPrivateKey(),e=Mn.getPublicKey(t);return{privateKey:d0(t,e),publicKey:e}}function l0(t){if(t.length!==Fs)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=Mn.getPublicKey(e);return{privateKey:d0(e,r),publicKey:r}}function f0(t,e){let r=t.subarray(0,Fs);return Mn.sign(e instanceof Uint8Array?e:e.subarray(),r)}function h0(t,e,r){return Mn.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function d0(t,e){let r=new Uint8Array(cr);for(let n=0;n<Fs;n++)r[n]=t[n],r[Fs+n]=e[n];return r}var at={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("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"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Tc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Rc(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=at.get();r*=8;async function c(f,d){let p=a.getRandomValues(new Uint8Array(s)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof d=="string"&&(d=pt(d));let g;if(d.length===0){g=await a.subtle.importKey("jwk",Tc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",Tc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let y=await a.subtle.encrypt(m,g,f);return Wr([p,m.iv,new Uint8Array(y)])}async function u(f,d){let p=f.subarray(0,s),h=f.subarray(s,s+n),m=f.subarray(s+n),g={name:e,iv:h};typeof d=="string"&&(d=pt(d));let y;if(d.length===0)try{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,I,{name:e,length:r},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",Tc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,I,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(g,y,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Fn(t,e){let n=await Rc().encrypt(t,e);return Rn.encode(n)}var Bc=new Float32Array([-0]),Tr=new Uint8Array(Bc.buffer);function m0(t,e,r){Bc[0]=t,e[r]=Tr[0],e[r+1]=Tr[1],e[r+2]=Tr[2],e[r+3]=Tr[3]}function g0(t,e){return Tr[0]=t[e],Tr[1]=t[e+1],Tr[2]=t[e+2],Tr[3]=t[e+3],Bc[0]}var Lc=new Float64Array([-0]),Xe=new Uint8Array(Lc.buffer);function y0(t,e,r){Lc[0]=t,e[r]=Xe[0],e[r+1]=Xe[1],e[r+2]=Xe[2],e[r+3]=Xe[3],e[r+4]=Xe[4],e[r+5]=Xe[5],e[r+6]=Xe[6],e[r+7]=Xe[7]}function x0(t,e){return Xe[0]=t[e],Xe[1]=t[e+1],Xe[2]=t[e+2],Xe[3]=t[e+3],Xe[4]=t[e+4],Xe[5]=t[e+5],Xe[6]=t[e+6],Xe[7]=t[e+7],Lc[0]}var i2=BigInt(Number.MAX_SAFE_INTEGER),s2=BigInt(Number.MIN_SAFE_INTEGER),ct=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Zr;if(e<i2&&e>s2)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>b0&&(i=0n,++n>b0&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Zr;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Zr}},Zr=new ct(0,0);Zr.toBigInt=function(){return 0n};Zr.zzEncode=Zr.zzDecode=function(){return this};Zr.length=function(){return 1};var b0=4294967296n;function w0(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function E0(t,e,r){if(r-e<1)return"";let i,s=[],o=0,a;for(;e<r;)a=t[e++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function Pc(t,e,r){let n=r,i,s;for(let o=0;o<t.length;++o)i=t.charCodeAt(o),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((s=t.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function kt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Ks(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Dc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,kt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw kt(this,4);return Ks(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw kt(this,4);return Ks(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw kt(this,4);let e=g0(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw kt(this,4);let e=x0(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw kt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return E0(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw kt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw kt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ct(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw kt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw kt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw kt(this,8);let e=Ks(this.buf,this.pos+=4),r=Ks(this.buf,this.pos+=4);return new ct(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 Nc(t){return new Dc(t instanceof Uint8Array?t:t.subarray())}function ze(t,e){let r=Nc(t);return e.decode(r)}function jr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function ur(t=0){return globalThis.Buffer?.alloc!=null?jr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ze(t=0){return globalThis.Buffer?.allocUnsafe!=null?jr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function S0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var _0=S0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),kc=S0("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ze(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),o2={utf8:_0,"utf-8":_0,hex:de.base16,latin1:kc,ascii:kc,binary:kc,...de},qs=o2;function Ci(t,e="utf8"){let r=qs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?jr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Oc(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return Ze(o);i+o>e&&(n=Ze(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var Jr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Mc(){}var Fc=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},a2=Oc();function c2(t){return globalThis.Buffer!=null?Ze(t):a2(t)}var Bi=class{len;head;tail;states;constructor(){this.len=0,this.head=new Jr(Mc,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Jr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Kc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Ti,10,ct.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=ct.fromBigInt(e);return this._push(Ti,r.length(),r)}uint64Number(e){let r=ct.fromNumber(e);return this._push(Ti,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=ct.fromBigInt(e).zzEncode();return this._push(Ti,r.length(),r)}sint64Number(e){let r=ct.fromNumber(e).zzEncode();return this._push(Ti,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Uc,1,e?1:0)}fixed32(e){return this._push(Ri,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=ct.fromBigInt(e);return this._push(Ri,4,r.lo)._push(Ri,4,r.hi)}fixed64Number(e){let r=ct.fromNumber(e);return this._push(Ri,4,r.lo)._push(Ri,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(m0,4,e)}double(e){return this._push(y0,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Uc,1,0):this.uint32(r)._push(l2,r,e)}string(e){let r=w0(e);return r!==0?this.uint32(r)._push(Pc,r,e):this._push(Uc,1,0)}fork(){return this.states=new Fc(this),this.head=this.tail=new Jr(Mc,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 Jr(Mc,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=c2(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Uc(t,e,r){e[r]=t&255}function u2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Kc=class extends Jr{next;constructor(e,r){super(u2,e,r),this.next=void 0}};function Ti(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function Ri(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function l2(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Bi.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(f2,e,t),this},Bi.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(h2,e,t),this});function f2(t,e,r){e.set(t,r)}function h2(t,e,r){t.length<40?Pc(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(Ci(t),r)}function qc(){return new Bi}function He(t,e){let r=qc();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Kn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Kn||(Kn={}));function Vs(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Vc(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return Vs("enum",Kn.VARINT,r,n)}function Ge(t,e){return Vs("message",Kn.LENGTH_DELIMITED,t,e)}var be;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(be||(be={}));var $c;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})($c||($c={}));(function(t){t.codec=()=>Vc($c)})(be||(be={}));var Yt;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(Yt||(Yt={}));var Qt;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(Qt||(Qt={}));var Li=class{_key;constructor(e){this._key=qn(e,Un)}verify(e,r){return h0(this._key,r,e)}marshal(){return this._key}get bytes(){return Yt.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=$e.digest(this.bytes);return vt(e)?e.then(({bytes:r})=>r):e.bytes}},en=class{_key;_publicKey;constructor(e,r){this._key=qn(e,cr),this._publicKey=qn(r,Un)}sign(e){return f0(this._key,e)}get public(){return new Li(this._publicKey)}marshal(){return this._key}get bytes(){return Qt.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}async hash(){let e=$e.digest(this.bytes),r;return vt(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=_r.digest(this.public.bytes);return Ee.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Fn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function d2(t){if(t.length>cr){t=qn(t,cr+Un);let n=t.subarray(0,cr),i=t.subarray(cr,t.length);return new en(n,i)}t=qn(t,cr);let e=t.subarray(0,cr),r=t.subarray(Un);return new en(e,r)}function p2(t){return t=qn(t,Un),new Li(t)}async function m2(){let{privateKey:t,publicKey:e}=u0();return new en(t,e)}async function A0(t){let{privateKey:e,publicKey:r}=l0(t);return new en(e,r)}function qn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new S(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var g2={"P-256":256,"P-384":384,"P-521":521},y2=Object.keys(g2),e4=y2.join(" / ");var Qc={};ke(Qc,{MAX_KEY_SIZE:()=>ki,RsaPrivateKey:()=>Vn,RsaPublicKey:()=>Ni,fromJwk:()=>T2,generateKeyPair:()=>R2,unmarshalRsaPrivateKey:()=>I2,unmarshalRsaPublicKey:()=>C2});var Di=we(le(),1);var U4=we(B0(),1);function zs(t){if(isNaN(t)||t<=0)throw new S("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return kn(t)}var w4=we(Es(),1),Wc=we(le(),1);function L0(t,e){return e.map(r=>gt(t[r]))}function P0(t){return Wc.default.pki.setRsaPrivateKey(...L0(t,["n","e","d","p","q","dp","dq","qi"]))}function D0(t){return Wc.default.pki.setRsaPublicKey(...L0(t,["n","e"]))}var rn={};ke(rn,{jwkToPkcs1:()=>E2,jwkToPkix:()=>_2,pkcs1ToJwk:()=>w2,pkixToJwk:()=>v2});var _4=we(gi(),1),S4=we(Es(),1);var lr=we(le(),1);function w2(t){let e=lr.default.asn1.fromDer(mt(t,"ascii")),r=lr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e),d:Lt(r.d),p:Lt(r.p),q:Lt(r.q),dp:Lt(r.dP),dq:Lt(r.dQ),qi:Lt(r.qInv),alg:"RS256"}}function E2(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new S("JWK was missing components","ERR_INVALID_PARAMETERS");let e=lr.default.pki.privateKeyToAsn1({n:gt(t.n),e:gt(t.e),d:gt(t.d),p:gt(t.p),q:gt(t.q),dP:gt(t.dp),dQ:gt(t.dq),qInv:gt(t.qi)});return pt(lr.default.asn1.toDer(e).getBytes(),"ascii")}function v2(t){let e=lr.default.asn1.fromDer(mt(t,"ascii")),r=lr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e)}}function _2(t){if(t.n==null||t.e==null)throw new S("JWK was missing components","ERR_INVALID_PARAMETERS");let e=lr.default.pki.publicKeyToAsn1({n:gt(t.n),e:gt(t.e)});return pt(lr.default.asn1.toDer(e).getBytes(),"ascii")}async function N0(t){let e=await at.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await M0(e);return{privateKey:r[0],publicKey:r[1]}}async function Yc(t){let r=[await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await S2(t)],n=await M0({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function k0(t,e){let r=await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await at.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function O0(t,e,r){let n=await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return at.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function M0(t){if(t.privateKey==null||t.publicKey==null)throw new S("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([at.get().subtle.exportKey("jwk",t.privateKey),at.get().subtle.exportKey("jwk",t.publicKey)])}async function S2(t){return at.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function U0(t,e,r,n){let i=e?D0(t):P0(t),s=mt(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return pt(o,"ascii")}function F0(t,e){return U0(t,!0,e,(r,n)=>n.encrypt(r))}function K0(t,e){return U0(t,!1,e,(r,n)=>n.decrypt(r))}function Hs(t){if(t.kty!=="RSA")throw new S("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new S("invalid key modulus","ERR_INVALID_KEY_MODULUS");return pt(t.n,"base64url").length*8}var ki=8192,Ni=class{_key;constructor(e){this._key=e}verify(e,r){return O0(this._key,r,e)}marshal(){return rn.jwkToPkix(this._key)}get bytes(){return Yt.encode({Type:be.RSA,Data:this.marshal()}).subarray()}encrypt(e){return F0(this._key,e)}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=$e.digest(this.bytes);return vt(e)?e.then(({bytes:r})=>r):e.bytes}},Vn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return zs(16)}sign(e){return k0(this._key,e)}get public(){if(this._publicKey==null)throw new S("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Ni(this._publicKey)}decrypt(e){return K0(this._key,e)}marshal(){return rn.jwkToPkcs1(this._key)}get bytes(){return Qt.encode({Type:be.RSA,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=$e.digest(this.bytes);return vt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return mt(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Di.default.util.ByteBuffer(this.marshal()),i=Di.default.asn1.fromDer(n),s=Di.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Di.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Fn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function I2(t){let e=rn.pkcs1ToJwk(t);if(Hs(e)>ki)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Yc(e);return new Vn(r.privateKey,r.publicKey)}function C2(t){let e=rn.pkixToJwk(t);if(Hs(e)>ki)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Ni(e)}async function T2(t){if(Hs(t)>ki)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Yc(t);return new Vn(e.privateKey,e.publicKey)}async function R2(t){if(t>ki)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await N0(t);return new Vn(e.privateKey,e.publicKey)}var tu={};ke(tu,{Secp256k1PrivateKey:()=>Mi,Secp256k1PublicKey:()=>Oi,generateKeyPair:()=>z2,unmarshalSecp256k1PrivateKey:()=>V2,unmarshalSecp256k1PublicKey:()=>$2});var B2=(t,e,r)=>t&e^~t&r,L2=(t,e,r)=>t&e^t&r^e&r,P2=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Rr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Br=new Uint32Array(64),Xc=class extends On{constructor(){super(64,32,8,!1),this.A=Rr[0]|0,this.B=Rr[1]|0,this.C=Rr[2]|0,this.D=Rr[3]|0,this.E=Rr[4]|0,this.F=Rr[5]|0,this.G=Rr[6]|0,this.H=Rr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[e,r,n,i,s,o,a,c]}set(e,r,n,i,s,o,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let f=0;f<16;f++,r+=4)Br[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let d=Br[f-15],p=Br[f-2],h=Pt(d,7)^Pt(d,18)^d>>>3,m=Pt(p,17)^Pt(p,19)^p>>>10;Br[f]=m+Br[f-7]+h+Br[f-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let d=Pt(a,6)^Pt(a,11)^Pt(a,25),p=l+d+B2(a,c,u)+P2[f]+Br[f]|0,m=(Pt(n,2)^Pt(n,13)^Pt(n,22))+L2(n,i,s)|0;l=u,u=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+m|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,u,l)}roundClean(){Br.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var q0=Bs(()=>new Xc);function D2(t){let e=Ii(t);Wt(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:N2,hexToBytes:k2}=Ds,nn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=nn;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:N2(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=nn,r=typeof t=="string"?k2(t):t;if(!Dt(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=nn._parseInt(r.subarray(2)),{d:o,l:a}=nn._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let l=u.toString(16);return l.length&1?`0${l}`:l},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,o=i.length/2,a=r(s),c=r(o);return`30${r(o+s+4)}02${c}${i}02${a}${n}`}},fr=BigInt(0),_t=BigInt(1),Y4=BigInt(2),V0=BigInt(3),Q4=BigInt(4);function O2(t){let e=D2(t),{Fp:r}=e,n=e.toBytes||((h,m,g)=>{let y=m.toAffine();return or(Uint8Array.from([4]),r.toBytes(y.x),r.toBytes(y.y))}),i=e.fromBytes||(h=>{let m=h.subarray(1),g=r.fromBytes(m.subarray(0,r.BYTES)),y=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:g,y}});function s(h){let{a:m,b:g}=e,y=r.sqr(h),x=r.mul(y,h);return r.add(r.add(x,r.mul(h,m)),g)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(h){return typeof h=="bigint"&&fr<h&&h<e.n}function a(h){if(!o(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:m,nByteLength:g,wrapPrivateKey:y,n:x}=e;if(m&&typeof h!="bigint"){if(Dt(h)&&(h=ir(h)),typeof h!="string"||!m.includes(h.length))throw new Error("Invalid key");h=h.padStart(g*2,"0")}let b;try{b=typeof h=="bigint"?h:sr(Se("private key",h,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof h}`)}return y&&(b=fe(b,x)),a(b),b}let u=new Map;function l(h){if(!(h instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(m,g,y){if(this.px=m,this.py=g,this.pz=y,m==null||!r.isValid(m))throw new Error("x required");if(g==null||!r.isValid(g))throw new Error("y required");if(y==null||!r.isValid(y))throw new Error("z required")}static fromAffine(m){let{x:g,y}=m||{};if(!m||!r.isValid(g)||!r.isValid(y))throw new Error("invalid affine point");if(m instanceof f)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(g)&&x(y)?f.ZERO:new f(g,y,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let g=r.invertBatch(m.map(y=>y.pz));return m.map((y,x)=>y.toAffine(g[x])).map(f.fromAffine)}static fromHex(m){let g=f.fromAffine(i(Se("pointHex",m)));return g.assertValidity(),g}static fromPrivateKey(m){return f.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y:g}=this.toAffine();if(!r.isValid(m)||!r.isValid(g))throw new Error("bad point: x or y not FE");let y=r.sqr(g),x=s(m);if(!r.eql(y,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:g,py:y,pz:x}=this,{px:b,py:I,pz:v}=m,_=r.eql(r.mul(g,v),r.mul(b,x)),P=r.eql(r.mul(y,v),r.mul(I,x));return _&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:g}=e,y=r.mul(g,V0),{px:x,py:b,pz:I}=this,v=r.ZERO,_=r.ZERO,P=r.ZERO,D=r.mul(x,x),H=r.mul(b,b),G=r.mul(I,I),$=r.mul(x,b);return $=r.add($,$),P=r.mul(x,I),P=r.add(P,P),v=r.mul(m,P),_=r.mul(y,G),_=r.add(v,_),v=r.sub(H,_),_=r.add(H,_),_=r.mul(v,_),v=r.mul($,v),P=r.mul(y,P),G=r.mul(m,G),$=r.sub(D,G),$=r.mul(m,$),$=r.add($,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,G),D=r.mul(D,$),_=r.add(_,D),G=r.mul(b,I),G=r.add(G,G),D=r.mul(G,$),v=r.sub(v,D),P=r.mul(G,H),P=r.add(P,P),P=r.add(P,P),new f(v,_,P)}add(m){l(m);let{px:g,py:y,pz:x}=this,{px:b,py:I,pz:v}=m,_=r.ZERO,P=r.ZERO,D=r.ZERO,H=e.a,G=r.mul(e.b,V0),$=r.mul(g,b),j=r.mul(y,I),ue=r.mul(x,v),Ke=r.add(g,y),R=r.add(b,I);Ke=r.mul(Ke,R),R=r.add($,j),Ke=r.sub(Ke,R),R=r.add(g,x);let k=r.add(b,v);return R=r.mul(R,k),k=r.add($,ue),R=r.sub(R,k),k=r.add(y,x),_=r.add(I,v),k=r.mul(k,_),_=r.add(j,ue),k=r.sub(k,_),D=r.mul(H,R),_=r.mul(G,ue),D=r.add(_,D),_=r.sub(j,D),D=r.add(j,D),P=r.mul(_,D),j=r.add($,$),j=r.add(j,$),ue=r.mul(H,ue),R=r.mul(G,R),j=r.add(j,ue),ue=r.sub($,ue),ue=r.mul(H,ue),R=r.add(R,ue),$=r.mul(j,R),P=r.add(P,$),$=r.mul(k,R),_=r.mul(Ke,_),_=r.sub(_,$),$=r.mul(Ke,j),D=r.mul(k,D),D=r.add(D,$),new f(_,P,D)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,g=>{let y=r.invertBatch(g.map(x=>x.pz));return g.map((x,b)=>x.toAffine(y[b])).map(f.fromAffine)})}multiplyUnsafe(m){let g=f.ZERO;if(m===fr)return g;if(a(m),m===_t)return this;let{endo:y}=e;if(!y)return p.unsafeLadder(this,m);let{k1neg:x,k1:b,k2neg:I,k2:v}=y.splitScalar(m),_=g,P=g,D=this;for(;b>fr||v>fr;)b&_t&&(_=_.add(D)),v&_t&&(P=P.add(D)),D=D.double(),b>>=_t,v>>=_t;return x&&(_=_.negate()),I&&(P=P.negate()),P=new f(r.mul(P.px,y.beta),P.py,P.pz),_.add(P)}multiply(m){a(m);let g=m,y,x,{endo:b}=e;if(b){let{k1neg:I,k1:v,k2neg:_,k2:P}=b.splitScalar(g),{p:D,f:H}=this.wNAF(v),{p:G,f:$}=this.wNAF(P);D=p.constTimeNegate(I,D),G=p.constTimeNegate(_,G),G=new f(r.mul(G.px,b.beta),G.py,G.pz),y=D.add(G),x=H.add($)}else{let{p:I,f:v}=this.wNAF(g);y=I,x=v}return f.normalizeZ([y,x])[0]}multiplyAndAddUnsafe(m,g,y){let x=f.BASE,b=(v,_)=>_===fr||_===_t||!v.equals(x)?v.multiplyUnsafe(_):v.multiply(_),I=b(this,g).add(b(m,y));return I.is0()?void 0:I}toAffine(m){let{px:g,py:y,pz:x}=this,b=this.is0();m==null&&(m=b?r.ONE:r.inv(x));let I=r.mul(g,m),v=r.mul(y,m),_=r.mul(x,m);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(_,r.ONE))throw new Error("invZ was invalid");return{x:I,y:v}}isTorsionFree(){let{h:m,isTorsionFree:g}=e;if(m===_t)return!0;if(g)return g(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:g}=e;return m===_t?this:g?g(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return ir(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let d=e.nBitLength,p=Os(f,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function M2(t){let e=Ii(t);return Wt(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function $0(t){let e=M2(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(R){return fr<R&&R<r.ORDER}function a(R){return fe(R,n)}function c(R){return Ns(R,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:d}=O2({...e,toBytes(R,k,L){let N=k.toAffine(),C=r.toBytes(N.x),U=or;return L?U(Uint8Array.from([k.hasEvenY()?2:3]),C):U(Uint8Array.from([4]),C,r.toBytes(N.y))},fromBytes(R){let k=R.length,L=R[0],N=R.subarray(1);if(k===i&&(L===2||L===3)){let C=sr(N);if(!o(C))throw new Error("Point is not on curve");let U=f(C),K=r.sqrt(U),z=(K&_t)===_t;return(L&1)===1!==z&&(K=r.neg(K)),{x:C,y:K}}else if(k===s&&L===4){let C=r.fromBytes(N.subarray(0,r.BYTES)),U=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:C,y:U}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),p=R=>ir(Cr(R,e.nByteLength));function h(R){let k=n>>_t;return R>k}function m(R){return h(R)?a(-R):R}let g=(R,k,L)=>sr(R.slice(k,L));class y{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=e.nByteLength;return k=Se("compactSignature",k,L*2),new y(g(k,0,L),g(k,L,2*L))}static fromDER(k){let{r:L,s:N}=nn.toSig(Se("DER",k));return new y(L,N)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new y(this.r,this.s,k)}recoverPublicKey(k){let{r:L,s:N,recovery:C}=this,U=P(Se("msgHash",k));if(C==null||![0,1,2,3].includes(C))throw new Error("recovery id invalid");let K=C===2||C===3?L+e.n:L;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let z=C&1?"03":"02",X=u.fromHex(z+p(K)),J=c(K),ae=a(-U*J),ee=a(N*J),ne=u.BASE.multiplyAndAddUnsafe(X,ae,ee);if(!ne)throw new Error("point at infinify");return ne.assertValidity(),ne}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Yr(this.toDERHex())}toDERHex(){return nn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Yr(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(R){try{return l(R),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let R=_c(e.n);return i0(e.randomBytes(R),e.n)},precompute(R=8,k=u.BASE){return k._setWindowSize(R),k.multiply(BigInt(3)),k}};function b(R,k=!0){return u.fromPrivateKey(R).toRawBytes(k)}function I(R){let k=Dt(R),L=typeof R=="string",N=(k||L)&&R.length;return k?N===i||N===s:L?N===2*i||N===2*s:R instanceof u}function v(R,k,L=!0){if(I(R))throw new Error("first arg must be private key");if(!I(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(R)).toRawBytes(L)}let _=e.bits2int||function(R){let k=sr(R),L=R.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},P=e.bits2int_modN||function(R){return a(_(R))},D=Ai(e.nBitLength);function H(R){if(typeof R!="bigint")throw new Error("bigint expected");if(!(fr<=R&&R<D))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Cr(R,e.nByteLength)}function G(R,k,L=$){if(["recovered","canonical"].some(ve=>ve in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:C}=e,{lowS:U,prehash:K,extraEntropy:z}=L;U==null&&(U=!0),R=Se("msgHash",R),K&&(R=Se("prehashed msgHash",N(R)));let X=P(R),J=l(k),ae=[H(J),H(X)];if(z!=null){let ve=z===!0?C(r.BYTES):z;ae.push(Se("extraEntropy",ve))}let ee=or(...ae),ne=X;function Te(ve){let qe=_(ve);if(!d(qe))return;let Ve=c(qe),Le=u.BASE.multiply(qe).toAffine(),Qe=a(Le.x);if(Qe===fr)return;let jt=a(Ve*a(ne+Qe*J));if(jt===fr)return;let Ur=(Le.x===Qe?0:2)|Number(Le.y&_t),hi=jt;return U&&h(jt)&&(hi=m(jt),Ur^=1),new y(Qe,hi,Ur)}return{seed:ee,k2sig:Te}}let $={lowS:e.lowS,prehash:!1},j={lowS:e.lowS,prehash:!1};function ue(R,k,L=$){let{seed:N,k2sig:C}=G(R,k,L),U=e;return bc(U.hash.outputLen,U.nByteLength,U.hmac)(N,C)}u.BASE._setWindowSize(8);function Ke(R,k,L,N=j){let C=R;if(k=Se("msgHash",k),L=Se("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:U,prehash:K}=N,z,X;try{if(typeof C=="string"||Dt(C))try{z=y.fromDER(C)}catch(Le){if(!(Le instanceof nn.Err))throw Le;z=y.fromCompact(C)}else if(typeof C=="object"&&typeof C.r=="bigint"&&typeof C.s=="bigint"){let{r:Le,s:Qe}=C;z=new y(Le,Qe)}else throw new Error("PARSE");X=u.fromHex(L)}catch(Le){if(Le.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(U&&z.hasHighS())return!1;K&&(k=e.hash(k));let{r:J,s:ae}=z,ee=P(k),ne=c(ae),Te=a(ee*ne),ve=a(J*ne),qe=u.BASE.multiplyAndAddUnsafe(X,Te,ve)?.toAffine();return qe?a(qe.x)===J:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:v,sign:ue,verify:Ke,ProjectivePoint:u,Signature:y,utils:x}}var Gs=class extends Nn{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Hh(e);let n=Si(r);if(this.iHash=e.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 i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Dn(this),this.iHash.update(e),this}digestInto(e){Dn(this),hc(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Zc=(t,e,r)=>new Gs(t,e).update(r).digest();Zc.create=(t,e)=>new Gs(t,e);function U2(t){return{hash:t,hmac:(e,...r)=>Zc(t,e,Rs(...r)),randomBytes:kn}}function z0(t,e){let r=n=>$0({...t,...U2(n)});return Object.freeze({...r(e),create:r})}var W0=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),H0=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),F2=BigInt(1),jc=BigInt(2),G0=(t,e)=>(t+e/jc)/e;function K2(t){let e=W0,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,f=xe(l,r,e)*l%e,d=xe(f,r,e)*l%e,p=xe(d,jc,e)*u%e,h=xe(p,i,e)*p%e,m=xe(h,s,e)*h%e,g=xe(m,a,e)*m%e,y=xe(g,c,e)*g%e,x=xe(y,a,e)*m%e,b=xe(x,r,e)*l%e,I=xe(b,o,e)*h%e,v=xe(I,n,e)*u%e,_=xe(v,jc,e);if(!Jc.eql(Jc.sqr(_),t))throw new Error("Cannot find square root");return _}var Jc=ks(W0,void 0,void 0,{sqrt:K2}),Ot=z0({a:BigInt(0),b:BigInt(7),Fp:Jc,n:H0,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=H0,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-F2*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=G0(s*t,e),c=G0(-n*t,e),u=fe(t-a*r-c*i,e),l=fe(-a*n-c*s,e),f=u>o,d=l>o;if(f&&(u=e-u),d&&(l=e-l),u>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:d,k2:l}}}},q0),a8=BigInt(0);var c8=Ot.ProjectivePoint;function Y0(){return Ot.utils.randomPrivateKey()}function Q0(t,e){let r=$e.digest(e instanceof Uint8Array?e:e.subarray());if(vt(r))return r.then(({digest:n})=>Ot.sign(n,t).toDERRawBytes()).catch(n=>{throw new S(String(n),"ERR_INVALID_INPUT")});try{return Ot.sign(r.digest,t).toDERRawBytes()}catch(n){throw new S(String(n),"ERR_INVALID_INPUT")}}function X0(t,e,r){let n=$e.digest(r instanceof Uint8Array?r:r.subarray());if(vt(n))return n.then(({digest:i})=>Ot.verify(e,i,t)).catch(i=>{throw new S(String(i),"ERR_INVALID_INPUT")});try{return Ot.verify(e,n.digest,t)}catch(i){throw new S(String(i),"ERR_INVALID_INPUT")}}function Z0(t){return Ot.ProjectivePoint.fromHex(t).toRawBytes(!0)}function j0(t){try{Ot.getPublicKey(t,!0)}catch(e){throw new S(String(e),"ERR_INVALID_PRIVATE_KEY")}}function eu(t){try{Ot.ProjectivePoint.fromHex(t)}catch(e){throw new S(String(e),"ERR_INVALID_PUBLIC_KEY")}}function J0(t){try{return Ot.getPublicKey(t,!0)}catch(e){throw new S(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Oi=class{_key;constructor(e){eu(e),this._key=e}verify(e,r){return X0(this._key,r,e)}marshal(){return Z0(this._key)}get bytes(){return Yt.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}async hash(){let e=$e.digest(this.bytes),r;return vt(e)?{bytes:r}=await e:r=e.bytes,r}},Mi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??J0(e),j0(this._key),eu(this._publicKey)}sign(e){return Q0(this._key,e)}get public(){return new Oi(this._publicKey)}marshal(){return this._key}get bytes(){return Qt.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=$e.digest(this.bytes);return vt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return mt(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Fn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function V2(t){return new Mi(t)}function $2(t){return new Oi(t)}async function z2(){let t=Y0();return new Mi(t)}var Lr={rsa:Qc,ed25519:zc,secp256k1:tu};function ru(t){let e=Object.keys(Lr).join(" / ");return new S(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function nu(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Lr[t];throw ru(t)}async function ed(t,e){return nu(t).generateKeyPair(e??2048)}function Ui(t){let e=Yt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return Lr.rsa.unmarshalRsaPublicKey(r);case be.Ed25519:return Lr.ed25519.unmarshalEd25519PublicKey(r);case be.Secp256k1:return Lr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ru(e.Type??"unknown")}}function td(t,e){return e=(e??"rsa").toLowerCase(),nu(e),t.bytes}async function iu(t){let e=Qt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return Lr.rsa.unmarshalRsaPrivateKey(r);case be.Ed25519:return Lr.ed25519.unmarshalEd25519PrivateKey(r);case be.Secp256k1:return Lr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ru(e.Type??"RSA")}}function rd(t,e){return e=(e??"rsa").toLowerCase(),nu(e),t.bytes}var bt=we(ou(),1);bt.default.formatters.b=t=>t==null?"undefined":Ee.baseEncode(t);bt.default.formatters.t=t=>t==null?"undefined":dt.baseEncode(t);bt.default.formatters.m=t=>t==null?"undefined":Rn.baseEncode(t);bt.default.formatters.p=t=>t==null?"undefined":t.toString();bt.default.formatters.c=t=>t==null?"undefined":t.toString();bt.default.formatters.k=t=>t==null?"undefined":t.toString();bt.default.formatters.a=t=>t==null?"undefined":t.toString();function iw(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Qs(){return{forComponent(t){return sw(t)}}}function sw(t){let e=iw(`${t}:trace`);return bt.default.enabled(`${t}:trace`)&&bt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,bt.default)(`${t}:trace`)),Object.assign((0,bt.default)(t),{error:(0,bt.default)(`${t}:error`),trace:e})}function au(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var ow=Symbol.for("nodejs.util.inspect.custom"),od=Object.values(de).map(t=>t.decoder).reduce((t,e)=>t.or(e),de.identity.decoder),ad=114,cu=36,uu=37,Fi=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Fa]=!0;toString(){return this.string==null&&(this.string=Ee.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Bt.createV1(ad,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return au(this.multihash.bytes,e);if(typeof e=="string")return se(e).equals(this);if(e?.multihash?.bytes!=null)return au(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[ow](){return`PeerId(${this.toString()})`}},on=class extends Fi{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},an=class extends Fi{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},cn=class extends Fi{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function cd(t){if(t.type==="RSA")return new on(t);if(t.type==="Ed25519")return new an(t);if(t.type==="secp256k1")return new cn(t);throw new S("Not a PeerId","ERR_INVALID_PARAMETERS")}function se(t,e){if(e=e??od,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Hr(Ee.decode(`z${t}`));return t.startsWith("12D")?new an({multihash:r}):t.startsWith("16U")?new cn({multihash:r}):new on({multihash:r})}return Gn(od.decode(t))}function Gn(t){try{let e=Hr(t);if(e.code===_r.code){if(e.digest.length===cu)return new an({multihash:e});if(e.digest.length===uu)return new cn({multihash:e})}if(e.code===$e.code)return new on({multihash:e})}catch{return aw(Bt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function aw(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==ad)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===$e.code)return new on({multihash:t.multihash});if(e.code===_r.code){if(e.digest.length===cu)return new an({multihash:t.multihash});if(e.digest.length===uu)return new cn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Xs(t,e){return t.length===cu?new an({multihash:Ht(_r.code,t),privateKey:e}):t.length===uu?new cn({multihash:Ht(_r.code,t),privateKey:e}):new on({multihash:await $e.digest(t),publicKey:t,privateKey:e})}function hr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var je=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return hr(this.map.entries(),e=>[se(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,se(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return hr(this.map.keys(),e=>se(e))}values(){return this.map.values()}get size(){return this.map.size}};var St=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return hr(this.set.entries(),e=>{let r=se(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=se(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return hr(this.set.values(),e=>se(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Zs=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return hr(this.list.entries(),e=>se(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return hr(this.list.entries(),e=>[e[0],se(e[1])])}every(e){return this.list.every((r,n)=>e(se(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let s=se(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(se(n),i,this));if(r!=null)return se(r)}findIndex(e){return this.list.findIndex((r,n)=>e(se(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(se(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return se(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return se(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};function lu(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function ud(t=0){return globalThis.Buffer?.allocUnsafe!=null?lu(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function fd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var ld=fd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),fu=fd("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=ud(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),BC={utf8:ld,"utf-8":ld,hex:de.base16,latin1:fu,ascii:fu,binary:fu,...de};var hu;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(hu||(hu={}));var hd=async()=>{let t=await ed("Ed25519"),e=await cw(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function cw(t){return Xs(td(t.public),rd(t))}var uw=Math.pow(2,7),lw=Math.pow(2,14),fw=Math.pow(2,21),du=Math.pow(2,28),pu=Math.pow(2,35),mu=Math.pow(2,42),gu=Math.pow(2,49),oe=128,Je=127;function et(t){if(t<uw)return 1;if(t<lw)return 2;if(t<fw)return 3;if(t<du)return 4;if(t<pu)return 5;if(t<mu)return 6;if(t<gu)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function hw(t,e,r=0){switch(et(t)){case 8:e[r++]=t&255|oe,t/=128;case 7:e[r++]=t&255|oe,t/=128;case 6:e[r++]=t&255|oe,t/=128;case 5:e[r++]=t&255|oe,t/=128;case 4:e[r++]=t&255|oe,t>>>=7;case 3:e[r++]=t&255|oe,t>>>=7;case 2:e[r++]=t&255|oe,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function dw(t,e,r=0){switch(et(t)){case 8:e.set(r++,t&255|oe),t/=128;case 7:e.set(r++,t&255|oe),t/=128;case 6:e.set(r++,t&255|oe),t/=128;case 5:e.set(r++,t&255|oe),t/=128;case 4:e.set(r++,t&255|oe),t>>>=7;case 3:e.set(r++,t&255|oe),t>>>=7;case 2:e.set(r++,t&255|oe),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function pw(t,e){let r=t[e],n=0;if(n+=r&Je,r<oe||(r=t[e+1],n+=(r&Je)<<7,r<oe)||(r=t[e+2],n+=(r&Je)<<14,r<oe)||(r=t[e+3],n+=(r&Je)<<21,r<oe)||(r=t[e+4],n+=(r&Je)*du,r<oe)||(r=t[e+5],n+=(r&Je)*pu,r<oe)||(r=t[e+6],n+=(r&Je)*mu,r<oe)||(r=t[e+7],n+=(r&Je)*gu,r<oe))return n;throw new RangeError("Could not decode varint")}function mw(t,e){let r=t.get(e),n=0;if(n+=r&Je,r<oe||(r=t.get(e+1),n+=(r&Je)<<7,r<oe)||(r=t.get(e+2),n+=(r&Je)<<14,r<oe)||(r=t.get(e+3),n+=(r&Je)<<21,r<oe)||(r=t.get(e+4),n+=(r&Je)*du,r<oe)||(r=t.get(e+5),n+=(r&Je)*pu,r<oe)||(r=t.get(e+6),n+=(r&Je)*mu,r<oe)||(r=t.get(e+7),n+=(r&Je)*gu,r<oe))return n;throw new RangeError("Could not decode varint")}function ut(t,e,r=0){return e==null&&(e=Ze(et(t))),e instanceof Uint8Array?hw(t,e,r):dw(t,e,r)}function Mt(t,e=0){return t instanceof Uint8Array?pw(t,e):mw(t,e)}function At(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Ze(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return jr(r)}function js(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var pd=Symbol.for("@achingbrain/uint8arraylist");function dd(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Js(t){return!!t?.[pd]}var Fe=class t{bufs;length;[pd]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Js(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Js(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(e){let r=dd(this.bufs,e);return r.buf[r.index]}set(e,r){let n=dd(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Js(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return At(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:At(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new t;return s.length=i,s.bufs=[...n],s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Js(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let p=this.get(f+d);if(n[d]!==p){l=Math.max(1,d-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ze(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=ur(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=ur(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=ur(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Ze(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=ur(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=ur(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=ur(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=ur(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=ur(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!js(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function md(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function eo(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function gd(t=0){return globalThis.Buffer?.allocUnsafe!=null?eo(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function xd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var yd=xd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),yu=xd("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=gd(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),gw={utf8:yd,"utf-8":yd,hex:de.base16,latin1:yu,ascii:yu,binary:yu,...de},bd=gw;function wd(t,e="utf8"){let r=bd[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?eo(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Ed={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Ki;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(Ki||(Ki={}));var Wn=class t{static createFromProtobuf=async e=>{let r=Ki.decode(e),n=await Xs(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,s=e.marshal(),o=vd(n,i,s),c=await(await iu(r.privateKey)).sign(o.subarray());return new t({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new S("envelope signature is not valid for the given domain",Ed.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:s}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Ki.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return md(this.marshal(),e.marshal())}async validate(e){let r=vd(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Ui(this.peerId.publicKey).verify(r.subarray(),this.signature)}},vd=(t,e,r)=>{let n=wd(t),i=ut(n.byteLength),s=ut(e.length),o=ut(r.length);return new Fe(i,n,s,e,o,r)};function _d(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}function lt(t,e="utf8"){let r=qs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var to=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,e);if(!Number.isNaN(d))return d});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Sd=45,yw=15,Yn=new to;function xu(t){if(!(t.length>yw))return Yn.new(t).parseWith(()=>Yn.readIPv4Addr())}function bu(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Sd))return Yn.new(t).parseWith(()=>Yn.readIPv6Addr())}function ro(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Sd))return Yn.new(t).parseWith(()=>Yn.readIPAddr())}var DT=parseInt("0xFFFF",16),NT=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function no(t){return!!xu(t)}function io(t){return!!bu(t)}function Qn(t){return!!ro(t)}var Cd=no,vw=io,wu=function(t){let e=0;if(t=t.toString().trim(),Cd(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(vw(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Cd(r[n]),o;s&&(o=wu(r[n]),r[n]=lt(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,lt(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},Td=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Xn={},Eu={},Sw=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];Sw.forEach(t=>{let e=Aw(...t);Eu[e.code]=e,Xn[e.name]=e});function Aw(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ce(t){if(typeof t=="number"){if(Eu[t]!=null)return Eu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Xn[t]!=null)return Xn[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var yR=ce("ip4"),xR=ce("ip6"),bR=ce("ipcidr");function _u(t,e){switch(ce(t).code){case 4:case 41:return Cw(e);case 42:return Ld(e);case 6:case 273:case 33:case 132:return Dd(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ld(e);case 421:return Lw(e);case 444:return Pd(e);case 445:return Pd(e);case 466:return Bw(e);default:return lt(e,"base16")}}function Su(t,e){switch(ce(t).code){case 4:return Rd(e);case 41:return Rd(e);case 42:return Bd(e);case 6:case 273:case 33:case 132:return Au(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Bd(e);case 421:return Tw(e);case 444:return Pw(e);case 445:return Dw(e);case 466:return Rw(e);default:return Ci(e,"base16")}}var vu=Object.values(de).map(t=>t.decoder),Iw=function(){let t=vu[0].or(vu[1]);return vu.slice(2).forEach(e=>t=t.or(e)),t}();function Rd(t){if(!Qn(t))throw new Error("invalid ip address");return wu(t)}function Cw(t){let e=Td(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Qn(e))throw new Error("invalid ip address");return e}function Au(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Dd(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Bd(t){let e=Ci(t),r=Uint8Array.from(ut(e.length));return At([r,e],r.length+e.length)}function Ld(t){let e=Mt(t);if(t=t.slice(et(e)),t.length!==e)throw new Error("inconsistent lengths");return lt(t)}function Tw(t){let e;t[0]==="Q"||t[0]==="1"?e=Hr(Ee.decode(`z${t}`)).bytes:e=Bt.parse(t).multihash.bytes;let r=Uint8Array.from(ut(e.length));return At([r,e],r.length+e.length)}function Rw(t){let e=Iw.decode(t),r=Uint8Array.from(ut(e.length));return At([r,e],r.length+e.length)}function Bw(t){let e=Mt(t),r=t.slice(et(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+lt(r,"base64url")}function Lw(t){let e=Mt(t),r=t.slice(et(e));if(r.length!==e)throw new Error("inconsistent lengths");return lt(r,"base58btc")}function Pw(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=dt.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Au(n);return At([r,i],r.length+i.length)}function Dw(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=dt.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Au(n);return At([r,i],r.length+i.length)}function Pd(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=lt(e,"base32"),i=Dd(r);return`${n}:${i}`}function Nd(t){t=Iu(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<i.length;s++){let o=i[s],a=ce(o);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw Od("invalid address: "+t);if(a.path===!0){n=Iu(i.slice(s).join("/")),e.push([a.code,Su(a.code,n)]),r.push([a.code,n]);break}let c=Su(a.code,i[s]);e.push([a.code,c]),r.push([a.code,_u(a.code,c)])}return{string:kd(r),bytes:Tu(e),tuples:e,stringTuples:r,path:n}}function Cu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let s=Mt(t,i),o=et(s),a=ce(s),c=Nw(a,t.slice(i+o));if(c===0){e.push([s]),r.push([s]),i+=o;continue}let u=t.slice(i+o,i+o+c);if(i+=c+o,i>t.length)throw Od("Invalid address Uint8Array: "+lt(t,"base16"));e.push([s,u]);let l=_u(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:kd(r),tuples:e,stringTuples:r,path:n}}function kd(t){let e=[];return t.map(r=>{let n=ce(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Iu(e.join("/"))}function Tu(t){return At(t.map(e=>{let r=ce(e[0]),n=Uint8Array.from(ut(r.code));return e.length>1&&e[1]!=null&&(n=At([n,e[1]])),n}))}function Nw(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Mt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+et(r)}}function Iu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Od(t){return new Error("Error parsing address: "+t)}var kw=Symbol.for("nodejs.util.inspect.custom"),Ru=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ow=[ce("dns").code,ce("dns4").code,ce("dns6").code,ce("dnsaddr").code],so=class t{bytes;#e;#i;#s;#a;[Ru]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Cu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Nd(e)}else if(Pr(e))r=Cu(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#i=r.tuples,this.#s=r.stringTuples,this.#a=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=ce("tcp"),a=ce("udp"),c=ce("ip4"),u=ce("ip6"),l=ce("dns6"),f=ce("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(s=`%${h??""}`),Ow.includes(p)&&(r=o.name,i=443,n=`${h??""}${s}`,e=p===l.code?6:4),(p===o.code||p===a.code)&&(r=ce(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=ce(p).name,n=`${h??""}${s}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#i.map(([e])=>Object.assign({},ce(e)))}protoCodes(){return this.#i.map(([e])=>e)}protoNames(){return this.#i.map(([e])=>ce(e).name)}tuples(){return this.#i}stringTuples(){return this.#s}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Tu(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Xn.p2p.code&&e.push([n,i]),n===Xn["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?lt(Ee.decode(`z${n}`),"base58btc"):lt(Bt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return js(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=oo.get(r.name);if(n==null)throw new S(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new t(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[kw](){return`Multiaddr(${this.#e})`}};var oo=new Map;function Pr(t){return!!t?.[Ru]}function De(t){return new so(t)}var Md="libp2p-peer-record",Ud=Uint8Array.from([3,1]);var qi;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=Ge((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>He(s,n.codec()),n.decode=s=>ze(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=Ge((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),t.encode=n=>He(n,t.codec()),t.decode=n=>ze(n,t.codec())})(qi||(qi={}));var ln=class t{static createFromProtobuf=e=>{let r=qi.decode(e),n=Gn(r.peerId),i=(r.addresses??[]).map(o=>De(o.multiaddr)),s=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=Md;static CODEC=Ud;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=qi.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!_d(this.multiaddrs,e.multiaddrs))}};function Mw(t){return t[Symbol.asyncIterator]!=null}function Uw(t){if(Mw(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var Vi=Uw;var fn=we(Kd(),1);var dr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Lu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},qd=t=>globalThis.DOMException===void 0?new Lu(t):new DOMException(t),Vd=t=>{let e=t.reason===void 0?qd("This operation was aborted."):t.reason;return e instanceof Error?e:qd(e)};function pr(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:d}=e;d.aborted&&l(Vd(d)),d.addEventListener("abort",()=>{l(Vd(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new dr;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){l(d)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(d){l(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}function Pu(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var zi=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Pu(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Zn=class extends fn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:zi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=pr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof dr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};var Dr={},jn=t=>{t.addEventListener("message",e=>{jn.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{jn.dispatchEvent("message",t,e)})};jn.addEventListener=(t,e)=>{Dr[t]==null&&(Dr[t]=[]),Dr[t].push(e)};jn.removeEventListener=(t,e)=>{Dr[t]!=null&&(Dr[t]=Dr[t].filter(r=>r===e))};jn.dispatchEvent=function(t,e,r){Dr[t]!=null&&Dr[t].forEach(n=>n(e,r))};var Du=jn;var Nu="lock:worker:request-read",ku="lock:worker:release-read",Ou="lock:master:grant-read",Mu="lock:worker:request-write",Uu="lock:worker:release-write",Fu="lock:master:grant-write";var $d=(t=21)=>Math.random().toString().substring(2);var zd=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>{s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})}}}))},Hd=(t,e,r,n)=>async()=>{let i=$d();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},qw={singleProcess:!1},Gd=t=>{if(t=Object.assign({},qw,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Du.addEventListener("message",zd(r,"requestReadLock",Nu,ku,Ou)),Du.addEventListener("message",zd(r,"requestWriteLock",Mu,Uu,Fu)),r}return{isWorker:!0,readLock:r=>Hd(r,Nu,Ou,ku),writeLock:r=>Hd(r,Mu,Fu,Uu)}};var hn={},Nr;async function Ku(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>pr((async()=>{await new Promise(i=>{r(()=>{i()})})})(),{milliseconds:e.timeout})),n}var Vw=(t,e)=>{if(Nr.isWorker===!0)return{readLock:Nr.readLock(t,e),writeLock:Nr.writeLock(t,e)};let r=new Zn({concurrency:1}),n;return{async readLock(){if(n!=null)return Ku(n,e);n=new Zn({concurrency:e.concurrency,autoStart:!1});let i=n,s=Ku(n,e);return r.add(async()=>{i.start(),await i.onIdle().then(()=>{n===i&&(n=null)})}),s},async writeLock(){return n=null,Ku(r,e)}}},$w={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function qu(t){let e=Object.assign({},$w,t);return Nr==null&&(Nr=Gd(e),Nr.isWorker!==!0&&(Nr.addEventListener("requestReadLock",r=>{hn[r.data.name]!=null&&hn[r.data.name].readLock().then(async n=>r.data.handler().finally(()=>{n()}))}),Nr.addEventListener("requestWriteLock",async r=>{hn[r.data.name]!=null&&hn[r.data.name].writeLock().then(async n=>r.data.handler().finally(()=>{n()}))}))),hn[e.name]==null&&(hn[e.name]=Vw(e.name,e)),hn[e.name]}function co(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var We={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Jn;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=Ge((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>He(o,i.codec()),i.decode=o=>ze(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=Ge((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),lo.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=lo.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>He(o,i.codec()),i.decode=o=>ze(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=Ge((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),uo.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(uo.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>He(i,t.codec()),t.decode=i=>ze(i,t.codec())})(Jn||(Jn={}));var uo;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(uo||(uo={}));var lo;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(lo||(lo={}));function ei(t,e){let r=Jn.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=cd({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:De(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}function fo(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Wd(t=0){return globalThis.Buffer?.allocUnsafe!=null?fo(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Qd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Yd=Qd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Vu=Qd("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Wd(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),zw={utf8:Yd,"utf-8":Yd,hex:de.base16,latin1:Vu,ascii:Vu,binary:Vu,...de},ho=zw;function Xd(t,e="utf8"){let r=ho[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?fo(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Zd(t,e="utf8"){let r=ho[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var mr="/",jd=new TextEncoder().encode(mr),po=jd[0],dn=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=Xd(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==po)throw new Error("Invalid key")}toString(e="utf8"){return Zd(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(mr))}static random(){return new t(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=jd),this._buf[0]!==po){let e=new Uint8Array(this._buf.byteLength+1);e.fill(po,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===po;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(mr).slice(1)}type(){return Hw(this.baseNamespace())}name(){return Gw(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(mr)||(e+=mr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(mr):new t(e.slice(0,-1).join(mr))}child(e){return this.toString()===mr?e:e.toString()===mr?this:new t(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return t.withNamespaces([...this.namespaces(),...Ww(e.map(r=>r.namespaces()))])}};function Hw(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Gw(t){let e=t.split(":");return e[e.length-1]}function Ww(t){return[].concat(...t)}var $u="/peers/";function ti(t){if(!vs(t)||t.type==null)throw new S("Invalid PeerId",We.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new dn(`${$u}${e}`)}async function Jd(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=De(i.multiaddr)),!Pr(i.multiaddr))throw new S("Multiaddr was invalid",We.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function go(t,e,r,n){if(e==null)throw new S("Invalid PeerData",We.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!co(e.publicKey,t.publicKey))throw new S("publicKey bytes do not match peer id publicKey bytes",We.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new S("peer id did not match existing peer id",We.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=mo(f,{validate:ep})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=mo(f,{validate:tp,map:rp})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[d,p]of f)p==null?a.delete(d):a.set(d,p);a=mo([...a.entries()],{validate:ep})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),d=new Map(c);for(let[p,h]of f)h==null?d.delete(p):d.set(p,h);c=mo([...d.entries()],{validate:tp,map:rp})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Jd(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,d)=>f.localeCompare(d)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function mo(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function ep(t,e){if(typeof t!="string")throw new S("Metadata key must be a string",We.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new S("Metadata value must be a Uint8Array",We.ERR_INVALID_PARAMETERS)}function tp(t,e){if(typeof t!="string")throw new S("Tag name must be a string",We.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new S("Tag value must be an integer",We.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new S("Tag value must be between 0-100",We.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new S("Tag ttl must be an integer",We.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new S("Tag ttl must be between greater than 0",We.ERR_INVALID_PARAMETERS)}}function rp(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function yo(t,e,r){let n=t.toString().split("/")[2],i=dt.decode(n),s=Gn(i),o=r.get(s);if(o!=null)return o;let a=ei(s,e);return r.set(s,a),a}function Yw(t,e){return t==null?{}:{prefix:$u,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(yo(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(yo(n.key,n.value,e),yo(i.key,i.value,e)))}}var xo=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=qu({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(ti(e))}async delete(e){if(this.peerId.equals(e))throw new S("Cannot delete self peer",We.ERR_INVALID_PARAMETERS);await this.datastore.delete(ti(e))}async load(e){let r=await this.datastore.get(ti(e));return ei(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await go(e,r,"patch",{addressFilter:this.addressFilter});return this.#i(e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await go(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await go(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,s,n,i)}async*all(e){let r=new je;for await(let{key:n,value:i}of this.datastore.query(Yw(e??{},r))){let s=yo(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(ti(e)),n=ei(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#i(e,r,n,i){let s=Jn.encode(r);return n!=null&&co(s,n)?{peer:ei(e,s),previous:i,updated:!1}:(await this.datastore.put(ti(e),s),{peer:ei(e,s),previous:i,updated:!0})}};var bo=class{store;events;peerId;log;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:peer-store"),this.events=e.events,this.peerId=e.peerId,this.store=new xo(e,r)}async forEach(e,r){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{this.log.trace("forEach release read lock"),n()}}async all(e){this.log.trace("all await read lock");let r=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Vi(this.store.all(e))}finally{this.log.trace("all release read lock"),r()}}async delete(e){this.log.trace("delete await write lock");let r=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(e)}finally{this.log.trace("delete release write lock"),r()}}async has(e){this.log.trace("has await read lock");let r=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(e)}finally{this.log.trace("has release read lock"),r()}}async get(e){this.log.trace("get await read lock");let r=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(e)}finally{this.log.trace("get release read lock"),r()}}async save(e,r){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("save release write lock"),n()}}async patch(e,r){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(e,r){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Wn.openAndCertify(e,ln.DOMAIN);if(r?.equals(n.peerId)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=ln.createFromProtobuf(n.payload),s;try{s=await this.get(n.peerId)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(s?.peerRecordEnvelope!=null){let o=await Wn.createFromProtobuf(s.peerRecordEnvelope),a=ln.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function Qw(t){return t[Symbol.asyncIterator]!=null}function Xw(t){if(Qw(t))return(async()=>{for await(let e of t);})();for(let e of t);}var zu=Xw;function Zw(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var np=Zw;function jw(t){return t[Symbol.asyncIterator]!=null}function Jw(t,e){if(jw(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=np(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var pn=Jw;function eE(t){return t[Symbol.asyncIterator]!=null}function tE(t,e){return eE(t)?async function*(){yield*(await Vi(t)).sort(e)}():function*(){yield*Vi(t).sort(e)}()}var Hu=tE;function rE(t){return t[Symbol.asyncIterator]!=null}function nE(t,e){return rE(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Gu=nE;var wo=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await zu(this.putMany(e,n)),e=[],await zu(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=pn(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>pn(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Hu(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=pn(n,()=>i++>=s)}return e.limit!=null&&(n=Gu(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=pn(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>pn(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Hu(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=pn(n,()=>s++>=i)}return e.limit!=null&&(n=Gu(n,e.limit)),n}};var op=we(Wu(),1);function ap(t){return t=t??new Error("Not Found"),(0,op.default)(t,"ERR_NOT_FOUND")}var Eo=class extends wo{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw ap();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new dn(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new dn(e)}};function mn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function vo(t=0){return globalThis.Buffer?.allocUnsafe!=null?mn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function cp(t,e){if(globalThis.Buffer!=null)return mn(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=vo(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return mn(r)}function lp(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var up=lp("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Yu=lp("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=vo(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),oE={utf8:up,"utf-8":up,hex:de.base16,latin1:Yu,ascii:Yu,binary:Yu,...de},_o=oE;function So(t,e="utf8"){let r=_o[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?mn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function fp(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var aE=t=>t;function Qu(t,e){let r=t.getPeerId();return r!=null&&se(r).equals(e)&&(t=t.decapsulate(De(`/p2p/${e.toString()}`))),t}var Ao=class{log;components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.log=e.logger.forComponent("libp2p:address-manager"),this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??aE,this._updatePeerStoreAddresses=fp(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>De(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{this.log.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>De(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>De(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>De(e))}addObservedAddr(e){e=Qu(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Qu(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=Qu(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>De(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Xu=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n;this.components.logger==null&&(this.components.logger=Qs())}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>Eh(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},cE=["metrics","connectionProtector"],uE=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function hp(t={}){let e=new Xu(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!uE.includes(i)){let o=e.components[i];if(o==null&&!cE.includes(i))throw new S(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var bp=we(dp(),1);var pp="[a-fA-F\\d:]",kr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${pp})|(?<=${pp})(?=\\s|$))`:"",Ut="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Be="[a-fA-F\\d]{1,4}",Io=`
35
+ expire = ${s}
36
+ RETURNING points, expire;`,values:[e,r,o,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
37
+ SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};gv.exports=Ip});var bv=z(()=>{});var vv=z((QX,wv)=>{wv.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var Av=z((jX,Ev)=>{var vN=vv(),_p=bt();Ev.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return!this._storage[e].expiresAt||i>0?(this._storage[e].value=this._storage[e].value+r,new _p(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new vN(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new _p(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new _p(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var Rp=z((JX,Cv)=>{var EN=js(),AN=Av(),Sv=bt(),Tp=class extends EN{constructor(e={}){super(e),this._memoryStorage=new AN}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new Sv(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new Sv(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};Cv.exports=Tp});var Lv=z((ZX,Dv)=>{var Iv=bv(),SN=$o(),CN=js(),Tv=Rp(),IN=bt(),Pt="rate_limiter_flexible",Bo=null,_v=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:Pt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Rv=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Rv.call(this,t)},30)},To=function(t,e,r,n,i){let o={channel:Pt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):Rv.call(this,o)},Bv=function(t,e){if(!e||e.channel!==Pt||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{_v(t,e,"resolve",n)}).catch(n=>{_v(t,e,"reject",n)})},_N=function(t){if(!t||t.channel!==Pt||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new IN(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},TN=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Ro=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=SN.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},Bp=class{constructor(){if(Bo)return Bo;this._rateLimiters={},Iv.setMaxListeners(0),Iv.on("message",(e,r)=>{r&&r.channel===Pt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new Tv(r.opts)),e.send({channel:Pt,type:"init",keyPrefix:r.opts.keyPrefix})):Bv.call(this,e,r)}),Bo=this}},Dp=class{constructor(e){if(Bo)return Bo;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===Pt&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new Tv(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Pt,channel:Pt,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=Pt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,f)=>{u&&console.log(u,f)})}};Bv.call(this,s,o)}})}),Bo=this}},Lp=class extends CN{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Pt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:_N.call(this,r)}),process.send({channel:Pt,type:"init",opts:TN.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Ro.call(this,i,o);To.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Ro.call(this,n,i);To.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Ro.call(this,n,i);To.call(this,"delete",o,e,r)})}};Dv.exports={RateLimiterClusterMaster:Bp,RateLimiterClusterMasterPM2:Dp,RateLimiterCluster:Lp}});var Pv=z((ej,Nv)=>{var RN=ti(),BN=bt(),Np=class extends RN{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new BN;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,f=>{f?a(f):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(h)})}):this.client.incr(e,r,(f,h)=>{f||h===!1?this.client.add(e,r,u,(p,y)=>{if(p||!y)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let l=Object.assign({},o);l.attemptNumber=l.attemptNumber?l.attemptNumber+1:1,this._upsert(e,r,n,i,l).then(d=>s(d)).catch(d=>a(d))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let l={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(l)})}):this.client.get(`${e}_expire`,(p,y)=>{if(p)a(p);else{let l=y===!1?0:y,d={consumedPoints:h,msBeforeNext:l>=0?Math.max(l-c,0):-1};s(d)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,f={consumedPoints:s,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(f)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};Nv.exports=Np});var Uv=z((rj,kv)=>{var Ov=bt();kv.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Ov(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Ov(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var Fv=z((ij,Mv)=>{var DN=js();Mv.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof DN))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var Vv=z((sj,Kv)=>{Kv.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var Hv=z((cj,$v)=>{var qv=Vv(),zv=4294967295,Pp="limiter";$v.exports=class{constructor(e,r={maxQueueSize:zv}){this._queueLimiters={KEY_DEFAULT:new nu(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Pp){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Pp){return this._queueLimiters[r]||(this._queueLimiters[r]=new nu(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var nu=class{constructor(e,r={maxQueueSize:zv,key:Pp}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new qv(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new qv(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Wv=z((fj,Gv)=>{var Op=bt();Gv.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new Op(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Op?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Op?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var Qv=z((lj,Yv)=>{var LN=bt(),NN=ti(),iu=class{constructor(e,r,n){this.key=e,this.points=r,this.expire=n}},PN=25,ON=25,kp=class extends NN{constructor(e,r=null){super(e),this.client=e.storeClient,this.tableName=e.tableName,this.tableCreated=e.tableCreated,this.tableCreated?this._setTTL().finally(()=>{typeof r=="function"&&r()}):this._createTable(e.dynamoTableOpts).then(n=>{this.tableCreated=!0,this._setTTL().finally(()=>{typeof r=="function"&&r()})}).catch(n=>{if(typeof r=="function")r(n);else throw n})}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?"node-rate-limiter-flexible":e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}async _createTable(e){let r={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:e&&e.readCapacityUnits?e.readCapacityUnits:PN,WriteCapacityUnits:e&&e.writeCapacityUnits?e.writeCapacityUnits:ON}};try{return await this.client.createTable(r)}catch(n){if(n.__type&&n.__type.includes("ResourceInUseException"))return null;throw n}}async _get(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}}},n=await this.client.getItem(r);return n.Item?new iu(n.Item.key.S,Number(n.Item.points.N),Number(n.Item.expire.N)):null}async _delete(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{return(await this._client.deleteItem(r)).$metadata.httpStatusCode===200}catch(n){if(n.__type&&n.__type.includes("ConditionalCheckFailedException"))return!1;throw n}}async _upsert(e,r,n,i=!1,o={}){if(!this.tableCreated)throw new Error("Table is not created yet");let s=Date.now(),a=s/1e3,c=n>0?(s+n)/1e3:-1;if(i)return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:r.toString()},":expire":{N:c.toString()}},ReturnValues:"ALL_NEW"});try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:r.toString()},":new_expire":{N:c.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:r.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(e){if(!this.tableCreated)throw new Error("Table is not created yet");try{let r=await this.client.updateItem(e);return new iu(r.Attributes.key.S,Number(r.Attributes.points.N),Number(r.Attributes.expire.N))}catch(r){throw r}}async _setTTL(){if(!this.tableCreated)throw new Error("Table is not created yet");try{if(await this._isTTLSet())return;let r={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:!0}};return await this.client.updateTimeToLive(r)}catch(e){throw e}}async _isTTLSet(){if(!this.tableCreated)throw new Error("Table is not created yet");try{let e=await this.client.describeTimeToLive({TableName:this.tableName});return e.$metadata.httpStatusCode==200&&e.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&e.TimeToLiveDescription.AttributeName==="expire"}catch(e){throw e}}_getRateLimiterRes(e,r,n){let i=new LN;return i.isFirstInDuration=r===n.points,i.consumedPoints=i.isFirstInDuration?r:n.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.expire!=-1?Math.max(n.expire*1e3-Date.now(),0):-1,i}};Yv.exports=kp});var jv=z((hj,Xv)=>{var kN=lv(),UN=pv(),MN=yv(),FN=xv(),{RateLimiterClusterMaster:KN,RateLimiterClusterMasterPM2:VN,RateLimiterCluster:qN}=Lv(),zN=Rp(),$N=Pv(),HN=Uv(),GN=Fv(),WN=Hv(),YN=Wv(),QN=bt(),XN=Qv();Xv.exports={RateLimiterRedis:kN,RateLimiterMongo:UN,RateLimiterMySQL:MN,RateLimiterPostgres:FN,RateLimiterMemory:zN,RateLimiterMemcache:$N,RateLimiterClusterMaster:KN,RateLimiterClusterMasterPM2:VN,RateLimiterCluster:qN,RLWrapperBlackAndWhite:HN,RateLimiterUnion:GN,RateLimiterQueue:WN,BurstyRateLimiter:YN,RateLimiterRes:QN,RateLimiterDynamo:XN}});var BO={};R(BO,{createLibp2p:()=>RO});var jF=we(zo(),1),JF=we(Yy(),1);var Qy=Symbol.for("@libp2p/connection");var of=Symbol.for("@libp2p/content-routing");var sf=Symbol.for("@libp2p/peer-discovery");var af=Symbol.for("@libp2p/peer-id");function Ta(t){return t!=null&&!!t[af]}var cf=Symbol.for("@libp2p/peer-routing");var Xy="keep-alive";var jy;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(jy||(jy={}));var lk=Symbol.for("@libp2p/transport");var $r;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})($r||($r={}));var hi=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},_=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ra="ERR_TIMEOUT",uf="ERR_INVALID_PARAMETERS";var Wo=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new lf(e,r))}},ff=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},lf=globalThis.CustomEvent??ff;var wt=(t,...e)=>{try{[...e]}catch{}};function Jy(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var oT=we(le(),1);function An(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var yf={};R(yf,{base10:()=>_8});function E8(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var A8=E8,S8=A8,Zy=S8;var Hk=new Uint8Array(0);var eg=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},yr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var tg=t=>new TextEncoder().encode(t),rg=t=>new TextDecoder().decode(t);var hf=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},df=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ig(this,e)}},pf=class{constructor(e){this.decoders=e}or(e){return ig(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ig=(t,e)=>new pf({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),mf=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new hf(e,r,n),this.decoder=new df(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},di=({name:t,prefix:e,encode:r,decode:n})=>new mf(t,e,r,n),Hr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Zy(r,e);return di({prefix:t,name:e,encode:n,decode:o=>yr(i(o))})},C8=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},I8=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ee=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>di({prefix:e,name:t,encode(i){return I8(i,n,r)},decode(i){return C8(i,n,r,t)}});var _8=Hr({prefix:"9",name:"base10",alphabet:"0123456789"});var gf={};R(gf,{base16:()=>T8,base16upper:()=>R8});var T8=Ee({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),R8=Ee({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var xf={};R(xf,{base2:()=>B8});var B8=Ee({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var bf={};R(bf,{base256emoji:()=>O8});var og=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}"),D8=og.reduce((t,e,r)=>(t[r]=e,t),[]),L8=og.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function N8(t){return t.reduce((e,r)=>(e+=D8[r],e),"")}function P8(t){let e=[];for(let r of t){let n=L8[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var O8=di({prefix:"\u{1F680}",name:"base256emoji",encode:N8,decode:P8});var wf={};R(wf,{base32:()=>pi,base32hex:()=>F8,base32hexpad:()=>V8,base32hexpadupper:()=>q8,base32hexupper:()=>K8,base32pad:()=>U8,base32padupper:()=>M8,base32upper:()=>k8,base32z:()=>z8});var pi=Ee({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),k8=Ee({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),U8=Ee({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),M8=Ee({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),F8=Ee({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),K8=Ee({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),V8=Ee({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),q8=Ee({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),z8=Ee({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var vf={};R(vf,{base36:()=>$8,base36upper:()=>H8});var $8=Hr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),H8=Hr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ef={};R(Ef,{base58btc:()=>jt,base58flickr:()=>G8});var jt=Hr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),G8=Hr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Af={};R(Af,{base64:()=>W8,base64pad:()=>Y8,base64url:()=>Q8,base64urlpad:()=>X8});var W8=Ee({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Y8=Ee({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Q8=Ee({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),X8=Ee({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Sf={};R(Sf,{base8:()=>j8});var j8=Ee({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Cf={};R(Cf,{identity:()=>J8});var J8=di({prefix:"\0",name:"identity",encode:t=>rg(t),decode:t=>tg(t)});var sU=new TextEncoder,aU=new TextDecoder;var _f={};R(_f,{identity:()=>vC});var tC=cg,sg=128,rC=127,nC=~rC,iC=Math.pow(2,31);function cg(t,e,r){e=e||[],r=r||0;for(var n=r;t>=iC;)e[r++]=t&255|sg,t/=128;for(;t&nC;)e[r++]=t&255|sg,t>>>=7;return e[r]=t|0,cg.bytes=r-n+1,e}var oC=If,sC=128,ag=127;function If(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw If.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&ag)<<i:(s&ag)*Math.pow(2,i),i+=7}while(s>=sC);return If.bytes=o-n,r}var aC=Math.pow(2,7),cC=Math.pow(2,14),uC=Math.pow(2,21),fC=Math.pow(2,28),lC=Math.pow(2,35),hC=Math.pow(2,42),dC=Math.pow(2,49),pC=Math.pow(2,56),mC=Math.pow(2,63),yC=function(t){return t<aC?1:t<cC?2:t<uC?3:t<fC?4:t<lC?5:t<hC?6:t<dC?7:t<pC?8:t<mC?9:10},gC={encode:tC,decode:oC,encodingLength:yC},xC=gC,Yo=xC;var Qo=(t,e=0)=>[Yo.decode(t,e),Yo.decode.bytes],mi=(t,e,r=0)=>(Yo.encode(t,e,r),e),yi=t=>Yo.encodingLength(t);var Sn=(t,e)=>{let r=e.byteLength,n=yi(t),i=n+yi(r),o=new Uint8Array(i+r);return mi(t,o,0),mi(r,o,n),o.set(e,i),new gi(t,r,e,o)},ug=t=>{let e=yr(t),[r,n]=Qo(e),[i,o]=Qo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new gi(r,i,s,e)},fg=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&eg(t.bytes,r.bytes)}},gi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var lg=0,bC="identity",hg=yr,wC=t=>Sn(lg,hg(t)),vC={code:lg,name:bC,encode:hg,digest:wC};var Bf={};R(Bf,{sha256:()=>EC,sha512:()=>AC});var Rf=({name:t,code:e,encode:r})=>new Tf(t,e,r),Tf=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Sn(this.code,r):r.then(n=>Sn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var pg=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),EC=Rf({name:"sha2-256",code:18,encode:pg("SHA-256")}),AC=Rf({name:"sha2-512",code:19,encode:pg("SHA-512")});var mg=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return CC(r,Df(t),e||jt.encoder);default:return IC(r,Df(t),e||pi.encoder)}};var yg=new WeakMap,Df=t=>{let e=yg.get(t);if(e==null){let r=new Map;return yg.set(t,r),r}return e},Da=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==jo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==_C)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Sn(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&fg(e.multihash,n.multihash)}toString(e){return mg(this,e)}toJSON(){return{"/":mg(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||gg(n,i,o.bytes))}else if(r[TC]===!0){let{version:n,multihash:i,code:o}=r,s=ug(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==jo)throw new Error(`Version 0 CID must use dag-pb (code: ${jo}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=gg(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,jo,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=yr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new gi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Qo(e.subarray(r));return r+=p,h},i=n(),o=jo;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=SC(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Df(o).set(n,e),o}},SC=(t,e)=>{switch(t[0]){case"Q":{let r=e||jt;return[jt.prefix,r.decode(`${jt.prefix}${t}`)]}case jt.prefix:{let r=e||jt;return[jt.prefix,r.decode(t)]}case pi.prefix:{let r=e||pi;return[pi.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},CC=(t,e,r)=>{let{prefix:n}=r;if(n!==jt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},IC=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},jo=112,_C=18,gg=(t,e,r)=>{let n=yi(t),i=n+yi(e),o=new Uint8Array(i+r.byteLength);return mi(t,o,0),mi(e,o,n),o.set(r,i),o},TC=Symbol.for("@ipld/js-cid/CID");var Lf={...Cf,...xf,...Sf,...yf,...gf,...wf,...vf,...Ef,...Af,...bf},AU={...Bf,..._f};function La(t=0){return globalThis.Buffer?.allocUnsafe!=null?An(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function bg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var xg=bg("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Nf=bg("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=La(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),RC={utf8:xg,"utf-8":xg,hex:Lf.base16,latin1:Nf,ascii:Nf,binary:Nf,...Lf},Na=RC;function vt(t,e="utf8"){let r=Na[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?An(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var $l={};R($l,{Ed25519PrivateKey:()=>Nn,Ed25519PublicKey:()=>hs,generateKeyPair:()=>R_,generateKeyPairFromSeed:()=>kx,unmarshalEd25519PrivateKey:()=>__,unmarshalEd25519PublicKey:()=>T_});var Mf={};R(Mf,{base58btc:()=>Qe,base58flickr:()=>OC});var NU=new Uint8Array(0);function wg(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function gr(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function vg(t){return new TextEncoder().encode(t)}function Eg(t){return new TextDecoder().decode(t)}function BC(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var DC=BC,LC=DC,Sg=LC;var Pf=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Of=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Cg(this,e)}},kf=class{decoders;constructor(e){this.decoders=e}or(e){return Cg(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Cg(t,e){return new kf({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Uf=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Pf(e,r,n),this.decoder=new Of(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function xi({name:t,prefix:e,encode:r,decode:n}){return new Uf(t,e,r,n)}function Gr({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=Sg(r,t);return xi({prefix:e,name:t,encode:n,decode:o=>gr(i(o))})}function NC(t,e,r,n){let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function PC(t,e,r){let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s!==0&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o}function Ae({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return xi({prefix:e,name:t,encode(i){return PC(i,n,r)},decode(i){return NC(i,n,r,t)}})}var Qe=Gr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),OC=Gr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Kf={};R(Kf,{identity:()=>Wr});var kC=Tg,Ig=128,UC=127,MC=~UC,FC=Math.pow(2,31);function Tg(t,e,r){e=e||[],r=r||0;for(var n=r;t>=FC;)e[r++]=t&255|Ig,t/=128;for(;t&MC;)e[r++]=t&255|Ig,t>>>=7;return e[r]=t|0,Tg.bytes=r-n+1,e}var KC=Ff,VC=128,_g=127;function Ff(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Ff.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&_g)<<i:(s&_g)*Math.pow(2,i),i+=7}while(s>=VC);return Ff.bytes=o-n,r}var qC=Math.pow(2,7),zC=Math.pow(2,14),$C=Math.pow(2,21),HC=Math.pow(2,28),GC=Math.pow(2,35),WC=Math.pow(2,42),YC=Math.pow(2,49),QC=Math.pow(2,56),XC=Math.pow(2,63),jC=function(t){return t<qC?1:t<zC?2:t<$C?3:t<HC?4:t<GC?5:t<WC?6:t<YC?7:t<QC?8:t<XC?9:10},JC={encode:kC,decode:KC,encodingLength:jC},ZC=JC,Jo=ZC;function Zo(t,e=0){return[Jo.decode(t,e),Jo.decode.bytes]}function bi(t,e,r=0){return Jo.encode(t,e,r),e}function wi(t){return Jo.encodingLength(t)}function Jt(t,e){let r=e.byteLength,n=wi(t),i=n+wi(r),o=new Uint8Array(i+r);return bi(t,o,0),bi(r,o,n),o.set(e,i),new vi(t,r,e,o)}function es(t){let e=gr(t),[r,n]=Zo(e),[i,o]=Zo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new vi(r,i,s,e)}function Rg(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&wg(t.bytes,r.bytes)}}var vi=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Bg=0,eI="identity",Dg=gr;function tI(t){return Jt(Bg,Dg(t))}var Wr={code:Bg,name:eI,encode:Dg,digest:tI};var zf={};R(zf,{sha256:()=>Xe,sha512:()=>rI});function qf({name:t,code:e,encode:r}){return new Vf(t,e,r)}var Vf=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Jt(this.code,r):r.then(n=>Jt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Ng(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Xe=qf({name:"sha2-256",code:18,encode:Ng("SHA-256")}),rI=qf({name:"sha2-512",code:19,encode:Ng("SHA-512")});function Zt(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var XU=we(ke(),1),jU=we(Sa(),1),Pg=we(le(),1);function Cn(t,e){if(globalThis.Buffer!=null)return An(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=La(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return An(r)}function Et(t,e="utf8"){let r=Na[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function Ut(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Cn([new Uint8Array(e-r.length),r])}return Et(r,"base64url")}function At(t){let e=Og(t);return new Pg.default.jsbn.BigInteger(Et(e,"base16"),16)}function Og(t,e){let r=vt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Cn([new Uint8Array(e-r.length),r])}return r}function Rt(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function kg(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function nI(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function $f(t,...e){if(!nI(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function Ug(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");kg(t.outputLen),kg(t.blockLen)}function Ai(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Mg(t,e){$f(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Oa=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Fg(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var ka=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Mt=(t,e)=>t<<32-e|t>>>e,iI=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!iI)throw new Error("Non little-endian hardware is not supported");function Hf(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function ts(t){if(typeof t=="string"&&(t=Hf(t)),!Fg(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function Ua(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!Fg(i))throw new Error("Uint8Array expected");e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let o=t[n];r.set(o,i),i+=o.length}return r}var Si=class{clone(){return this._cloneInto()}},oM={}.toString;function Ma(t){let e=n=>t().update(ts(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Ci(t=32){if(Oa&&typeof Oa.getRandomValues=="function")return Oa.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function oI(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}var Ii=class extends Si{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ka(this.buffer)}update(e){Ai(this);let{view:r,buffer:n,blockLen:i}=this;e=ts(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=ka(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ai(this),Mg(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let h=s;h<i;h++)r[h]=0;oI(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=ka(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)a.setUint32(4*h,f[h],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var Fa=BigInt(4294967295),Gf=BigInt(32);function Kg(t,e=!1){return e?{h:Number(t&Fa),l:Number(t>>Gf&Fa)}:{h:Number(t>>Gf&Fa)|0,l:Number(t&Fa)|0}}function sI(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=Kg(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var aI=(t,e)=>BigInt(t>>>0)<<Gf|BigInt(e>>>0),cI=(t,e,r)=>t>>>r,uI=(t,e,r)=>t<<32-r|e>>>r,fI=(t,e,r)=>t>>>r|e<<32-r,lI=(t,e,r)=>t<<32-r|e>>>r,hI=(t,e,r)=>t<<64-r|e>>>r-32,dI=(t,e,r)=>t>>>r-32|e<<64-r,pI=(t,e)=>e,mI=(t,e)=>t,yI=(t,e,r)=>t<<r|e>>>32-r,gI=(t,e,r)=>e<<r|t>>>32-r,xI=(t,e,r)=>e<<r-32|t>>>64-r,bI=(t,e,r)=>t<<r-32|e>>>64-r;function wI(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var vI=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),EI=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,AI=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),SI=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,CI=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),II=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var _I={fromBig:Kg,split:sI,toBig:aI,shrSH:cI,shrSL:uI,rotrSH:fI,rotrSL:lI,rotrBH:hI,rotrBL:dI,rotr32H:pI,rotr32L:mI,rotlSH:yI,rotlSL:gI,rotlBH:xI,rotlBL:bI,add:wI,add3L:vI,add3H:EI,add4L:AI,add4H:SI,add5H:II,add5L:CI},X=_I;var[TI,RI]=X.split(["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(t=>BigInt(t))),Yr=new Uint32Array(80),Qr=new Uint32Array(80),Wf=class extends Ii{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:h,Fl:p,Gh:y,Gl:l,Hh:d,Hl:m}=this;return[e,r,n,i,o,s,a,c,u,f,h,p,y,l,d,m]}set(e,r,n,i,o,s,a,c,u,f,h,p,y,l,d,m){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=h|0,this.Fl=p|0,this.Gh=y|0,this.Gl=l|0,this.Hh=d|0,this.Hl=m|0}process(e,r){for(let b=0;b<16;b++,r+=4)Yr[b]=e.getUint32(r),Qr[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let v=Yr[b-15]|0,w=Qr[b-15]|0,E=X.rotrSH(v,w,1)^X.rotrSH(v,w,8)^X.shrSH(v,w,7),A=X.rotrSL(v,w,1)^X.rotrSL(v,w,8)^X.shrSL(v,w,7),C=Yr[b-2]|0,P=Qr[b-2]|0,W=X.rotrSH(C,P,19)^X.rotrBH(C,P,61)^X.shrSH(C,P,6),H=X.rotrSL(C,P,19)^X.rotrBL(C,P,61)^X.shrSL(C,P,6),Z=X.add4L(A,H,Qr[b-7],Qr[b-16]),fe=X.add4H(Z,E,W,Yr[b-7],Yr[b-16]);Yr[b]=fe|0,Qr[b]=Z|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:h,El:p,Fh:y,Fl:l,Gh:d,Gl:m,Hh:g,Hl:x}=this;for(let b=0;b<80;b++){let v=X.rotrSH(h,p,14)^X.rotrSH(h,p,18)^X.rotrBH(h,p,41),w=X.rotrSL(h,p,14)^X.rotrSL(h,p,18)^X.rotrBL(h,p,41),E=h&y^~h&d,A=p&l^~p&m,C=X.add5L(x,w,A,RI[b],Qr[b]),P=X.add5H(C,g,v,E,TI[b],Yr[b]),W=C|0,H=X.rotrSH(n,i,28)^X.rotrBH(n,i,34)^X.rotrBH(n,i,39),Z=X.rotrSL(n,i,28)^X.rotrBL(n,i,34)^X.rotrBL(n,i,39),fe=n&o^n&a^o&a,Ge=i&s^i&c^s&c;g=d|0,x=m|0,d=y|0,m=l|0,y=h|0,l=p|0,{h,l:p}=X.add(u|0,f|0,P|0,W|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let L=X.add3L(W,Z,Ge);n=X.add3H(L,P,H,fe),i=L|0}({h:n,l:i}=X.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=X.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=X.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=X.add(this.Dh|0,this.Dl|0,u|0,f|0),{h,l:p}=X.add(this.Eh|0,this.El|0,h|0,p|0),{h:y,l}=X.add(this.Fh|0,this.Fl|0,y|0,l|0),{h:d,l:m}=X.add(this.Gh|0,this.Gl|0,d|0,m|0),{h:g,l:x}=X.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,o,s,a,c,u,f,h,p,y,l,d,m,g,x)}roundClean(){Yr.fill(0),Qr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Yf=Ma(()=>new Wf);var Va={};R(Va,{bitGet:()=>kI,bitLen:()=>OI,bitMask:()=>rs,bitSet:()=>UI,bytesToHex:()=>br,bytesToNumberBE:()=>wr,bytesToNumberLE:()=>Xr,concatBytes:()=>vr,createHmacDrbg:()=>jf,ensureBytes:()=>Se,equalBytes:()=>NI,hexToBytes:()=>In,hexToNumber:()=>Xf,isBytes:()=>Ft,numberToBytesBE:()=>jr,numberToBytesLE:()=>_n,numberToHexUnpadded:()=>$g,numberToVarBytesBE:()=>LI,utf8ToBytes:()=>PI,validateObject:()=>er});var zg=BigInt(0),Ka=BigInt(1),BI=BigInt(2);function Ft(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var DI=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function br(t){if(!Ft(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=DI[t[r]];return e}function $g(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Xf(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var xr={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Vg(t){if(t>=xr._0&&t<=xr._9)return t-xr._0;if(t>=xr._A&&t<=xr._F)return t-(xr._A-10);if(t>=xr._a&&t<=xr._f)return t-(xr._a-10)}function In(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=Vg(t.charCodeAt(o)),a=Vg(t.charCodeAt(o+1));if(s===void 0||a===void 0){let c=t[o]+t[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[i]=s*16+a}return n}function wr(t){return Xf(br(t))}function Xr(t){if(!Ft(t))throw new Error("Uint8Array expected");return Xf(br(Uint8Array.from(t).reverse()))}function jr(t,e){return In(t.toString(16).padStart(e*2,"0"))}function _n(t,e){return jr(t,e).reverse()}function LI(t){return In($g(t))}function Se(t,e,r){let n;if(typeof e=="string")try{n=In(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(Ft(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function vr(...t){let e=0;for(let i=0;i<t.length;i++){let o=t[i];if(!Ft(o))throw new Error("Uint8Array expected");e+=o.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let o=t[i];r.set(o,n),n+=o.length}return r}function NI(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function PI(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function OI(t){let e;for(e=0;t>zg;t>>=Ka,e+=1);return e}function kI(t,e){return t>>BigInt(e)&Ka}var UI=(t,e,r)=>t|(r?Ka:zg)<<BigInt(e),rs=t=>(BI<<BigInt(t-1))-Ka,Qf=t=>new Uint8Array(t),qg=t=>Uint8Array.from(t);function jf(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Qf(t),i=Qf(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...h)=>r(i,n,...h),c=(h=Qf())=>{i=a(qg([0]),h),n=a(),h.length!==0&&(i=a(qg([1]),h),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let h=0,p=[];for(;h<e;){n=a();let y=n.slice();p.push(y),h+=n.length}return vr(...p)};return(h,p)=>{s(),c(h);let y;for(;!(y=p(u()));)c();return s(),y}}var MI={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Ft(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function er(t,e,r={}){let n=(i,o,s)=>{let a=MI[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Fe=BigInt(0),ge=BigInt(1),Tn=BigInt(2),FI=BigInt(3),Jf=BigInt(4),Hg=BigInt(5),Gg=BigInt(8),KI=BigInt(9),VI=BigInt(16);function he(t,e){let r=t%e;return r>=Fe?r:e+r}function qI(t,e,r){if(r<=Fe||e<Fe)throw new Error("Expected power/modulo > 0");if(r===ge)return Fe;let n=ge;for(;e>Fe;)e&ge&&(n=n*t%r),t=t*t%r,e>>=ge;return n}function xe(t,e,r){let n=t;for(;e-- >Fe;)n*=n,n%=r;return n}function qa(t,e){if(t===Fe||e<=Fe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=he(t,e),n=e,i=Fe,o=ge,s=ge,a=Fe;for(;r!==Fe;){let u=n/r,f=n%r,h=i-s*u,p=o-a*u;n=r,r=f,i=s,o=a,s=h,a=p}if(n!==ge)throw new Error("invert: does not exist");return he(i,e)}function zI(t){let e=(t-ge)/Tn,r,n,i;for(r=t-ge,n=0;r%Tn===Fe;r/=Tn,n++);for(i=Tn;i<t&&qI(i,e,t)!==t-ge;i++);if(n===1){let s=(t+ge)/Jf;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+ge)/Tn;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),h=a.pow(c,o),p=a.pow(c,r);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let y=1;for(let d=a.sqr(p);y<u&&!a.eql(d,a.ONE);y++)d=a.sqr(d);let l=a.pow(f,ge<<BigInt(u-y-1));f=a.sqr(l),h=a.mul(h,l),p=a.mul(p,f),u=y}return h}}function $I(t){if(t%Jf===FI){let e=(t+ge)/Jf;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%Gg===Hg){let e=(t-Hg)/Gg;return function(n,i){let o=n.mul(i,Tn),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,Tn),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%VI,zI(t)}var Wg=(t,e)=>(he(t,e)&ge)===ge,HI=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zf(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=HI.reduce((n,i)=>(n[i]="function",n),e);return er(t,r)}function GI(t,e,r){if(r<Fe)throw new Error("Expected power > 0");if(r===Fe)return t.ONE;if(r===ge)return e;let n=t.ONE,i=e;for(;r>Fe;)r&ge&&(n=t.mul(n,i)),i=t.sqr(i),r>>=ge;return n}function WI(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function el(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function za(t,e,r=!1,n={}){if(t<=Fe)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=el(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=$I(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:rs(i),ZERO:Fe,ONE:ge,create:c=>he(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Fe<=c&&c<t},is0:c=>c===Fe,isOdd:c=>(c&ge)===ge,neg:c=>he(-c,t),eql:(c,u)=>c===u,sqr:c=>he(c*c,t),add:(c,u)=>he(c+u,t),sub:(c,u)=>he(c-u,t),mul:(c,u)=>he(c*u,t),pow:(c,u)=>GI(a,c,u),div:(c,u)=>he(c*qa(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>qa(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>WI(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?_n(c,o):jr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Xr(c):wr(c)}});return Object.freeze(a)}function Yg(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function Qg(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function tl(t){let e=Qg(t);return e+Math.ceil(e/2)}function Xg(t,e,r=!1){let n=t.length,i=Qg(e),o=tl(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?wr(t):Xr(t),a=he(s,e-ge)+ge;return r?_n(a,i):jr(a,i)}var QI=BigInt(0),rl=BigInt(1);function $a(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>QI;)o&rl&&(s=s.add(a)),a=a.double(),o>>=rl;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let h=0;h<s;h++){f=u,c.push(f);for(let p=1;p<a;p++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,f=t.BASE,h=BigInt(2**i-1),p=2**i,y=BigInt(i);for(let l=0;l<a;l++){let d=l*c,m=Number(s&h);s>>=y,m>c&&(m-=p,s+=rl);let g=d,x=d+Math.abs(m)-1,b=l%2!==0,v=m<0;m===0?f=f.add(r(b,o[g])):u=u.add(r(v,o[x]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function ns(t){return Zf(t.Fp),er(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...el(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Kt=BigInt(0),St=BigInt(1),Ha=BigInt(2),XI=BigInt(8),jI={zip215:!0};function JI(t){let e=ns(t);return er(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ga(t){let e=JI(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=Ha<<BigInt(a*8)-St,f=r.create,h=e.uvRatio||((k,B)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(B))}}catch{return{isValid:!1,value:Kt}}}),p=e.adjustScalarBytes||(k=>k),y=e.domain||((k,B,K)=>{if(B.length||K)throw new Error("Contexts/pre-hash are not supported");return k}),l=k=>typeof k=="bigint"&&Kt<k,d=(k,B)=>l(k)&&l(B)&&k<B,m=k=>k===Kt||d(k,u);function g(k,B){if(d(k,B))return k;throw new Error(`Expected valid scalar < ${B}, got ${typeof k} ${k}`)}function x(k){return k===Kt?k:g(k,n)}let b=new Map;function v(k){if(!(k instanceof w))throw new Error("ExtendedPoint expected")}class w{constructor(B,K,q,G){if(this.ex=B,this.ey=K,this.ez=q,this.et=G,!m(B))throw new Error("x required");if(!m(K))throw new Error("y required");if(!m(q))throw new Error("z required");if(!m(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(B){if(B instanceof w)throw new Error("extended point not allowed");let{x:K,y:q}=B||{};if(!m(K)||!m(q))throw new Error("invalid affine point");return new w(K,q,St,f(K*q))}static normalizeZ(B){let K=r.invertBatch(B.map(q=>q.ez));return B.map((q,G)=>q.toAffine(K[G])).map(w.fromAffine)}_setWindowSize(B){this._WINDOW_SIZE=B,b.delete(this)}assertValidity(){let{a:B,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:q,ey:G,ez:j,et:ee}=this,ce=f(q*q),te=f(G*G),ie=f(j*j),Oe=f(ie*ie),ve=f(ce*B),We=f(ie*f(ve+te)),Ye=f(Oe+f(K*f(ce*te)));if(We!==Ye)throw new Error("bad point: equation left != right (1)");let Me=f(q*G),rt=f(j*ee);if(Me!==rt)throw new Error("bad point: equation left != right (2)")}equals(B){v(B);let{ex:K,ey:q,ez:G}=this,{ex:j,ey:ee,ez:ce}=B,te=f(K*ce),ie=f(j*G),Oe=f(q*ce),ve=f(ee*G);return te===ie&&Oe===ve}is0(){return this.equals(w.ZERO)}negate(){return new w(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:B}=e,{ex:K,ey:q,ez:G}=this,j=f(K*K),ee=f(q*q),ce=f(Ha*f(G*G)),te=f(B*j),ie=K+q,Oe=f(f(ie*ie)-j-ee),ve=te+ee,We=ve-ce,Ye=te-ee,Me=f(Oe*We),rt=f(ve*Ye),hr=f(Oe*Ye),gn=f(We*ve);return new w(Me,rt,gn,hr)}add(B){v(B);let{a:K,d:q}=e,{ex:G,ey:j,ez:ee,et:ce}=this,{ex:te,ey:ie,ez:Oe,et:ve}=B;if(K===BigInt(-1)){let Cm=f((j-G)*(ie+te)),Im=f((j+G)*(ie-te)),Ou=f(Im-Cm);if(Ou===Kt)return this.double();let _m=f(ee*Ha*ve),Tm=f(ce*Ha*Oe),Rm=Tm+_m,Bm=Im+Cm,Dm=Tm-_m,qE=f(Rm*Ou),zE=f(Bm*Dm),$E=f(Rm*Dm),HE=f(Ou*Bm);return new w(qE,zE,HE,$E)}let We=f(G*te),Ye=f(j*ie),Me=f(ce*q*ve),rt=f(ee*Oe),hr=f((G+j)*(te+ie)-We-Ye),gn=rt-Me,Fo=rt+Me,Sm=f(Ye-K*We),ME=f(hr*gn),FE=f(Fo*Sm),KE=f(hr*Sm),VE=f(gn*Fo);return new w(ME,FE,VE,KE)}subtract(B){return this.add(B.negate())}wNAF(B){return C.wNAFCached(this,b,B,w.normalizeZ)}multiply(B){let{p:K,f:q}=this.wNAF(g(B,n));return w.normalizeZ([K,q])[0]}multiplyUnsafe(B){let K=x(B);return K===Kt?A:this.equals(A)||K===St?this:this.equals(E)?this.wNAF(K).p:C.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return C.unsafeLadder(this,n).is0()}toAffine(B){let{ex:K,ey:q,ez:G}=this,j=this.is0();B==null&&(B=j?XI:r.inv(G));let ee=f(K*B),ce=f(q*B),te=f(G*B);if(j)return{x:Kt,y:St};if(te!==St)throw new Error("invZ was invalid");return{x:ee,y:ce}}clearCofactor(){let{h:B}=e;return B===St?this:this.multiplyUnsafe(B)}static fromHex(B,K=!1){let{d:q,a:G}=e,j=r.BYTES;B=Se("pointHex",B,j);let ee=B.slice(),ce=B[j-1];ee[j-1]=ce&-129;let te=Xr(ee);te===Kt||(K?g(te,u):g(te,r.ORDER));let ie=f(te*te),Oe=f(ie-St),ve=f(q*ie-G),{isValid:We,value:Ye}=h(Oe,ve);if(!We)throw new Error("Point.fromHex: invalid y coordinate");let Me=(Ye&St)===St,rt=(ce&128)!==0;if(!K&&Ye===Kt&&rt)throw new Error("Point.fromHex: x=0 and x_0=1");return rt!==Me&&(Ye=f(-Ye)),w.fromAffine({x:Ye,y:te})}static fromPrivateKey(B){return H(B).point}toRawBytes(){let{x:B,y:K}=this.toAffine(),q=_n(K,r.BYTES);return q[q.length-1]|=B&St?128:0,q}toHex(){return br(this.toRawBytes())}}w.BASE=new w(e.Gx,e.Gy,St,f(e.Gx*e.Gy)),w.ZERO=new w(Kt,St,St,Kt);let{BASE:E,ZERO:A}=w,C=$a(w,a*8);function P(k){return he(k,n)}function W(k){return P(Xr(k))}function H(k){let B=a;k=Se("private key",k,B);let K=Se("hashed private key",o(k),2*B),q=p(K.slice(0,B)),G=K.slice(B,2*B),j=W(q),ee=E.multiply(j),ce=ee.toRawBytes();return{head:q,prefix:G,scalar:j,point:ee,pointBytes:ce}}function Z(k){return H(k).pointBytes}function fe(k=new Uint8Array,...B){let K=vr(...B);return W(o(y(K,Se("context",k),!!i)))}function Ge(k,B,K={}){k=Se("message",k),i&&(k=i(k));let{prefix:q,scalar:G,pointBytes:j}=H(B),ee=fe(K.context,q,k),ce=E.multiply(ee).toRawBytes(),te=fe(K.context,ce,j,k),ie=P(ee+te*G);x(ie);let Oe=vr(ce,_n(ie,r.BYTES));return Se("result",Oe,a*2)}let L=jI;function U(k,B,K,q=L){let{context:G,zip215:j}=q,ee=r.BYTES;k=Se("signature",k,2*ee),B=Se("message",B),i&&(B=i(B));let ce=Xr(k.slice(ee,2*ee)),te,ie,Oe;try{te=w.fromHex(K,j),ie=w.fromHex(k.slice(0,ee),j),Oe=E.multiplyUnsafe(ce)}catch{return!1}if(!j&&te.isSmallOrder())return!1;let ve=fe(G,ie.toRawBytes(),te.toRawBytes(),B);return ie.add(te.multiplyUnsafe(ve)).subtract(Oe).clearCofactor().equals(w.ZERO)}return E._setWindowSize(8),{CURVE:e,getPublicKey:Z,sign:Ge,verify:U,ExtendedPoint:w,utils:{getExtendedPublicKey:H,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,B=w.BASE){return B._setWindowSize(k),B.multiply(BigInt(3)),B}}}}var il=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),jg=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),_M=BigInt(0),ZI=BigInt(1),nl=BigInt(2),e4=BigInt(5),Jg=BigInt(10),t4=BigInt(20),r4=BigInt(40),Zg=BigInt(80);function n4(t){let e=il,n=t*t%e*t%e,i=xe(n,nl,e)*n%e,o=xe(i,ZI,e)*t%e,s=xe(o,e4,e)*o%e,a=xe(s,Jg,e)*s%e,c=xe(a,t4,e)*a%e,u=xe(c,r4,e)*c%e,f=xe(u,Zg,e)*u%e,h=xe(f,Zg,e)*u%e,p=xe(h,Jg,e)*s%e;return{pow_p_5_8:xe(p,nl,e)*t%e,b2:n}}function i4(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function o4(t,e){let r=il,n=he(e*e*e,r),i=he(n*n*e,r),o=n4(t*i).pow_p_5_8,s=he(t*n*o,r),a=he(e*s*s,r),c=s,u=he(s*jg,r),f=a===t,h=a===he(-t,r),p=a===he(-t*jg,r);return f&&(s=c),(h||p)&&(s=u),Wg(s,r)&&(s=he(-s,r)),{isValid:f||h,value:s}}var Er=za(il,void 0,!0),ol={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Er,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Yf,randomBytes:Ci,adjustScalarBytes:i4,uvRatio:o4},_i=Ga(ol);function ex(t,e,r){if(e.length>255)throw new Error("Context is too big");return Ua(Hf("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var TM=Ga({...ol,domain:ex}),RM=Ga({...ol,domain:ex,prehash:Yf});var s4=(Er.ORDER+BigInt(3))/BigInt(8),BM=Er.pow(nl,s4),DM=Er.sqrt(Er.neg(Er.ONE)),LM=(Er.ORDER-BigInt(5))/BigInt(8),NM=BigInt(486662);var PM=Yg(Er,Er.neg(BigInt(486664)));var OM=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),kM=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),UM=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),MM=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var FM=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Ti=32,Ar=64,Wa=32;function tx(){let t=_i.utils.randomPrivateKey(),e=_i.getPublicKey(t);return{privateKey:ox(t,e),publicKey:e}}function rx(t){if(t.length!==Wa)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=_i.getPublicKey(e);return{privateKey:ox(e,r),publicKey:r}}function nx(t,e){let r=t.subarray(0,Wa);return _i.sign(e instanceof Uint8Array?e:e.subarray(),r)}function ix(t,e,r){return _i.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function ox(t,e){let r=new Uint8Array(Ar);for(let n=0;n<Wa;n++)r[n]=t[n],r[Wa+n]=e[n];return r}var sl={};R(sl,{base64:()=>Ri,base64pad:()=>c4,base64url:()=>u4,base64urlpad:()=>f4});var Ri=Ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),c4=Ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),u4=Ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),f4=Ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var pt={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("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"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var al={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function cl(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=pt.get();r*=8;async function c(h,p){let y=a.getRandomValues(new Uint8Array(o)),l=a.getRandomValues(new Uint8Array(n)),d={name:e,iv:l};typeof p=="string"&&(p=vt(p));let m;if(p.length===0){m=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(d,m,h);return Cn([y,d.iv,new Uint8Array(g)])}async function u(h,p){let y=h.subarray(0,o),l=h.subarray(o,o+n),d=h.subarray(o+n),m={name:e,iv:l};typeof p=="string"&&(p=vt(p));let g;if(p.length===0)try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,v,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",al,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(b,v,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(m,g,d);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Bi(t,e){let n=await cl().encrypt(t,e);return Ri.encode(n)}var ul=new Float32Array([-0]),Jr=new Uint8Array(ul.buffer);function ax(t,e,r){ul[0]=t,e[r]=Jr[0],e[r+1]=Jr[1],e[r+2]=Jr[2],e[r+3]=Jr[3]}function cx(t,e){return Jr[0]=t[e],Jr[1]=t[e+1],Jr[2]=t[e+2],Jr[3]=t[e+3],ul[0]}var fl=new Float64Array([-0]),nt=new Uint8Array(fl.buffer);function ux(t,e,r){fl[0]=t,e[r]=nt[0],e[r+1]=nt[1],e[r+2]=nt[2],e[r+3]=nt[3],e[r+4]=nt[4],e[r+5]=nt[5],e[r+6]=nt[6],e[r+7]=nt[7]}function fx(t,e){return nt[0]=t[e],nt[1]=t[e+1],nt[2]=t[e+2],nt[3]=t[e+3],nt[4]=t[e+4],nt[5]=t[e+5],nt[6]=t[e+6],nt[7]=t[e+7],fl[0]}var l4=BigInt(Number.MAX_SAFE_INTEGER),h4=BigInt(Number.MIN_SAFE_INTEGER),mt=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Rn;if(e<l4&&e>h4)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>lx&&(i=0n,++n>lx&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Rn;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Rn}},Rn=new mt(0,0);Rn.toBigInt=function(){return 0n};Rn.zzEncode=Rn.zzDecode=function(){return this};Rn.length=function(){return 1};var lx=4294967296n;function hx(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function dx(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ll(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function Vt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Ya(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var hl=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Vt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Vt(this,4);return Ya(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Vt(this,4);return Ya(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Vt(this,4);let e=cx(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Vt(this,4);let e=fx(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Vt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return dx(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Vt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Vt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new mt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Vt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw Vt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Vt(this,8);let e=Ya(this.buf,this.pos+=4),r=Ya(this.buf,this.pos+=4);return new mt(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 dl(t){return new hl(t instanceof Uint8Array?t:t.subarray())}function je(t,e){let r=dl(t);return e.decode(r)}function Bn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Sr(t=0){return globalThis.Buffer?.alloc!=null?Bn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function it(t=0){return globalThis.Buffer?.allocUnsafe!=null?Bn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var xl={};R(xl,{base10:()=>x4});function d4(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var p4=d4,m4=p4,mx=m4;var s7=new Uint8Array(0);var yx=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Cr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var gx=t=>new TextEncoder().encode(t),xx=t=>new TextDecoder().decode(t);var pl=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},ml=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return wx(this,e)}},yl=class{constructor(e){this.decoders=e}or(e){return wx(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},wx=(t,e)=>new yl({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),gl=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new pl(e,r,n),this.decoder=new ml(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Di=({name:t,prefix:e,encode:r,decode:n})=>new gl(t,e,r,n),Zr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=mx(r,e);return Di({prefix:t,name:e,encode:n,decode:o=>Cr(i(o))})},y4=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},g4=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ce=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Di({prefix:e,name:t,encode(i){return g4(i,n,r)},decode(i){return y4(i,n,r,t)}});var x4=Zr({prefix:"9",name:"base10",alphabet:"0123456789"});var bl={};R(bl,{base16:()=>b4,base16upper:()=>w4});var b4=Ce({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),w4=Ce({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var wl={};R(wl,{base2:()=>v4});var v4=Ce({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var vl={};R(vl,{base256emoji:()=>I4});var vx=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}"),E4=vx.reduce((t,e,r)=>(t[r]=e,t),[]),A4=vx.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function S4(t){return t.reduce((e,r)=>(e+=E4[r],e),"")}function C4(t){let e=[];for(let r of t){let n=A4[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var I4=Di({prefix:"\u{1F680}",name:"base256emoji",encode:S4,decode:C4});var El={};R(El,{base32:()=>Li,base32hex:()=>B4,base32hexpad:()=>L4,base32hexpadupper:()=>N4,base32hexupper:()=>D4,base32pad:()=>T4,base32padupper:()=>R4,base32upper:()=>_4,base32z:()=>P4});var Li=Ce({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_4=Ce({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),T4=Ce({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),R4=Ce({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),B4=Ce({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),D4=Ce({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),L4=Ce({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),N4=Ce({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),P4=Ce({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Al={};R(Al,{base36:()=>O4,base36upper:()=>k4});var O4=Zr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),k4=Zr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Sl={};R(Sl,{base58btc:()=>tr,base58flickr:()=>U4});var tr=Zr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),U4=Zr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Cl={};R(Cl,{base64:()=>M4,base64pad:()=>F4,base64url:()=>K4,base64urlpad:()=>V4});var M4=Ce({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),F4=Ce({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),K4=Ce({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),V4=Ce({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Il={};R(Il,{base8:()=>q4});var q4=Ce({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var _l={};R(_l,{identity:()=>z4});var z4=Di({prefix:"\0",name:"identity",encode:t=>xx(t),decode:t=>gx(t)});var v7=new TextEncoder,E7=new TextDecoder;var Rl={};R(Rl,{identity:()=>h_});var G4=Sx,Ex=128,W4=127,Y4=~W4,Q4=Math.pow(2,31);function Sx(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Q4;)e[r++]=t&255|Ex,t/=128;for(;t&Y4;)e[r++]=t&255|Ex,t>>>=7;return e[r]=t|0,Sx.bytes=r-n+1,e}var X4=Tl,j4=128,Ax=127;function Tl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Tl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ax)<<i:(s&Ax)*Math.pow(2,i),i+=7}while(s>=j4);return Tl.bytes=o-n,r}var J4=Math.pow(2,7),Z4=Math.pow(2,14),e_=Math.pow(2,21),t_=Math.pow(2,28),r_=Math.pow(2,35),n_=Math.pow(2,42),i_=Math.pow(2,49),o_=Math.pow(2,56),s_=Math.pow(2,63),a_=function(t){return t<J4?1:t<Z4?2:t<e_?3:t<t_?4:t<r_?5:t<n_?6:t<i_?7:t<o_?8:t<s_?9:10},c_={encode:G4,decode:X4,encodingLength:a_},u_=c_,is=u_;var os=(t,e=0)=>[is.decode(t,e),is.decode.bytes],Ni=(t,e,r=0)=>(is.encode(t,e,r),e),Pi=t=>is.encodingLength(t);var Dn=(t,e)=>{let r=e.byteLength,n=Pi(t),i=n+Pi(r),o=new Uint8Array(i+r);return Ni(t,o,0),Ni(r,o,n),o.set(e,i),new Oi(t,r,e,o)},Cx=t=>{let e=Cr(t),[r,n]=os(e),[i,o]=os(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Oi(r,i,s,e)},Ix=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&yx(t.bytes,r.bytes)}},Oi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var _x=0,f_="identity",Tx=Cr,l_=t=>Dn(_x,Tx(t)),h_={code:_x,name:f_,encode:Tx,digest:l_};var Ll={};R(Ll,{sha256:()=>d_,sha512:()=>p_});var Dl=({name:t,code:e,encode:r})=>new Bl(t,e,r),Bl=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Dn(this.code,r):r.then(n=>Dn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Bx=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),d_=Dl({name:"sha2-256",code:18,encode:Bx("SHA-256")}),p_=Dl({name:"sha2-512",code:19,encode:Bx("SHA-512")});var Dx=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return y_(r,Nl(t),e||tr.encoder);default:return g_(r,Nl(t),e||Li.encoder)}};var Lx=new WeakMap,Nl=t=>{let e=Lx.get(t);if(e==null){let r=new Map;return Lx.set(t,r),r}return e},Xa=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==as)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==x_)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Dn(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ix(e.multihash,n.multihash)}toString(e){return Dx(this,e)}toJSON(){return{"/":Dx(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||Nx(n,i,o.bytes))}else if(r[b_]===!0){let{version:n,multihash:i,code:o}=r,s=Cx(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==as)throw new Error(`Version 0 CID must use dag-pb (code: ${as}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Nx(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,as,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Cr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Oi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=os(e.subarray(r));return r+=p,h},i=n(),o=as;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=m_(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Nl(o).set(n,e),o}},m_=(t,e)=>{switch(t[0]){case"Q":{let r=e||tr;return[tr.prefix,r.decode(`${tr.prefix}${t}`)]}case tr.prefix:{let r=e||tr;return[tr.prefix,r.decode(t)]}case Li.prefix:{let r=e||Li;return[Li.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},y_=(t,e,r)=>{let{prefix:n}=r;if(n!==tr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},g_=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},as=112,x_=18,Nx=(t,e,r)=>{let n=Pi(t),i=n+Pi(e),o=new Uint8Array(i+r.byteLength);return Ni(t,o,0),Ni(e,o,n),o.set(r,i),o},b_=Symbol.for("@ipld/js-cid/CID");var Pl={..._l,...wl,...Il,...xl,...bl,...El,...Al,...Sl,...Cl,...vl},M7={...Ll,...Rl};function Ox(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Px=Ox("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ol=Ox("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=it(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),w_={utf8:Px,"utf-8":Px,hex:Pl.base16,latin1:Ol,ascii:Ol,binary:Ol,...Pl},ja=w_;function cs(t,e="utf8"){let r=ja[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Bn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function kl(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return it(s);i+s>e&&(n=it(e),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Ln=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Ul(){}var Fl=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},v_=kl();function E_(t){return globalThis.Buffer!=null?it(t):v_(t)}var ls=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ln(Ul,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Ln(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Kl((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(us,10,mt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=mt.fromBigInt(e);return this._push(us,r.length(),r)}uint64Number(e){let r=mt.fromNumber(e);return this._push(us,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=mt.fromBigInt(e).zzEncode();return this._push(us,r.length(),r)}sint64Number(e){let r=mt.fromNumber(e).zzEncode();return this._push(us,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Ml,1,e?1:0)}fixed32(e){return this._push(fs,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=mt.fromBigInt(e);return this._push(fs,4,r.lo)._push(fs,4,r.hi)}fixed64Number(e){let r=mt.fromNumber(e);return this._push(fs,4,r.lo)._push(fs,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(ax,4,e)}double(e){return this._push(ux,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Ml,1,0):this.uint32(r)._push(S_,r,e)}string(e){let r=hx(e);return r!==0?this.uint32(r)._push(ll,r,e):this._push(Ml,1,0)}fork(){return this.states=new Fl(this),this.head=this.tail=new Ln(Ul,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 Ln(Ul,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=E_(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Ml(t,e,r){e[r]=t&255}function A_(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Kl=class extends Ln{next;constructor(e,r){super(A_,e,r),this.next=void 0}};function us(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function fs(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function S_(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(ls.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(C_,e,t),this},ls.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(I_,e,t),this});function C_(t,e,r){e.set(t,r)}function I_(t,e,r){t.length<40?ll(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(cs(t),r)}function Vl(){return new ls}function Je(t,e){let r=Vl();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ki;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(ki||(ki={}));function Ja(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ql(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Ja("enum",ki.VARINT,r,n)}function Ze(t,e){return Ja("message",ki.LENGTH_DELIMITED,t,e)}var be;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(be||(be={}));var zl;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(zl||(zl={}));(function(t){t.codec=()=>ql(zl)})(be||(be={}));var rr;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(rr||(rr={}));var nr;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(nr||(nr={}));var hs=class{_key;constructor(e){this._key=Ui(e,Ti)}verify(e,r){return ix(this._key,r,e)}marshal(){return this._key}get bytes(){return rr.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}},Nn=class{_key;_publicKey;constructor(e,r){this._key=Ui(e,Ar),this._publicKey=Ui(r,Ti)}sign(e){return nx(this._key,e)}get public(){return new hs(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}async hash(){let e=Xe.digest(this.bytes),r;return Rt(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Wr.digest(this.public.bytes);return Qe.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function __(t){if(t.length>Ar){t=Ui(t,Ar+Ti);let n=t.subarray(0,Ar),i=t.subarray(Ar,t.length);return new Nn(n,i)}t=Ui(t,Ar);let e=t.subarray(0,Ar),r=t.subarray(Ti);return new Nn(e,r)}function T_(t){return t=Ui(t,Ti),new hs(t)}async function R_(){let{privateKey:t,publicKey:e}=tx();return new Nn(t,e)}async function kx(t){let{privateKey:e,publicKey:r}=rx(t);return new Nn(e,r)}function Ui(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new _(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var B_={"P-256":256,"P-384":384,"P-521":521},D_=Object.keys(B_),T9=D_.join(" / ");var Ql={};R(Ql,{MAX_KEY_SIZE:()=>ys,RsaPrivateKey:()=>Mi,RsaPublicKey:()=>ms,fromJwk:()=>q_,generateKeyPair:()=>z_,unmarshalRsaPrivateKey:()=>K_,unmarshalRsaPublicKey:()=>V_});var ps=we(le(),1);var hF=we(Vx(),1);function ec(t){if(isNaN(t)||t<=0)throw new _("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ci(t)}var Y9=we(_a(),1),Wl=we(le(),1);function qx(t,e){return e.map(r=>At(t[r]))}function zx(t){return Wl.default.pki.setRsaPrivateKey(...qx(t,["n","e","d","p","q","dp","dq","qi"]))}function $x(t){return Wl.default.pki.setRsaPublicKey(...qx(t,["n","e"]))}var On={};R(On,{jwkToPkcs1:()=>O_,jwkToPkix:()=>U_,pkcs1ToJwk:()=>P_,pkixToJwk:()=>k_});var j9=we(zo(),1),J9=we(_a(),1);var Ir=we(le(),1);function P_(t){let e=Ir.default.asn1.fromDer(Et(t,"ascii")),r=Ir.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Ut(r.n),e:Ut(r.e),d:Ut(r.d),p:Ut(r.p),q:Ut(r.q),dp:Ut(r.dP),dq:Ut(r.dQ),qi:Ut(r.qInv),alg:"RS256"}}function O_(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ir.default.pki.privateKeyToAsn1({n:At(t.n),e:At(t.e),d:At(t.d),p:At(t.p),q:At(t.q),dP:At(t.dp),dQ:At(t.dq),qInv:At(t.qi)});return vt(Ir.default.asn1.toDer(e).getBytes(),"ascii")}function k_(t){let e=Ir.default.asn1.fromDer(Et(t,"ascii")),r=Ir.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Ut(r.n),e:Ut(r.e)}}function U_(t){if(t.n==null||t.e==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ir.default.pki.publicKeyToAsn1({n:At(t.n),e:At(t.e)});return vt(Ir.default.asn1.toDer(e).getBytes(),"ascii")}async function Hx(t){let e=await pt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Yx(e);return{privateKey:r[0],publicKey:r[1]}}async function Yl(t){let r=[await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await M_(t)],n=await Yx({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Gx(t,e){let r=await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await pt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function Wx(t,e,r){let n=await pt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return pt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function Yx(t){if(t.privateKey==null||t.publicKey==null)throw new _("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([pt.get().subtle.exportKey("jwk",t.privateKey),pt.get().subtle.exportKey("jwk",t.publicKey)])}async function M_(t){return pt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Qx(t,e,r,n){let i=e?$x(t):zx(t),o=Et(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return vt(s,"ascii")}function Xx(t,e){return Qx(t,!0,e,(r,n)=>n.encrypt(r))}function jx(t,e){return Qx(t,!1,e,(r,n)=>n.decrypt(r))}function tc(t){if(t.kty!=="RSA")throw new _("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new _("invalid key modulus","ERR_INVALID_KEY_MODULUS");return vt(t.n,"base64url").length*8}var ys=8192,ms=class{_key;constructor(e){this._key=e}verify(e,r){return Wx(this._key,r,e)}marshal(){return On.jwkToPkix(this._key)}get bytes(){return rr.encode({Type:be.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Xx(this._key,e)}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}},Mi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return ec(16)}sign(e){return Gx(this._key,e)}get public(){if(this._publicKey==null)throw new _("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ms(this._publicKey)}decrypt(e){return jx(this._key,e)}marshal(){return On.jwkToPkcs1(this._key)}get bytes(){return nr.encode({Type:be.RSA,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Et(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new ps.default.util.ByteBuffer(this.marshal()),i=ps.default.asn1.fromDer(n),o=ps.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return ps.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function K_(t){let e=On.pkcs1ToJwk(t);if(tc(e)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Yl(e);return new Mi(r.privateKey,r.publicKey)}function V_(t){let e=On.pkixToJwk(t);if(tc(e)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ms(e)}async function q_(t){if(tc(t)>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Yl(t);return new Mi(e.privateKey,e.publicKey)}async function z_(t){if(t>ys)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Hx(t);return new Mi(e.privateKey,e.publicKey)}var th={};R(th,{Secp256k1PrivateKey:()=>xs,Secp256k1PublicKey:()=>gs,generateKeyPair:()=>iT,unmarshalSecp256k1PrivateKey:()=>rT,unmarshalSecp256k1PublicKey:()=>nT});var $_=(t,e,r)=>t&e^~t&r,H_=(t,e,r)=>t&e^t&r^e&r,G_=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),en=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),tn=new Uint32Array(64),Xl=class extends Ii{constructor(){super(64,32,8,!1),this.A=en[0]|0,this.B=en[1]|0,this.C=en[2]|0,this.D=en[3]|0,this.E=en[4]|0,this.F=en[5]|0,this.G=en[6]|0,this.H=en[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let h=0;h<16;h++,r+=4)tn[h]=e.getUint32(r,!1);for(let h=16;h<64;h++){let p=tn[h-15],y=tn[h-2],l=Mt(p,7)^Mt(p,18)^p>>>3,d=Mt(y,17)^Mt(y,19)^y>>>10;tn[h]=d+tn[h-7]+l+tn[h-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let h=0;h<64;h++){let p=Mt(a,6)^Mt(a,11)^Mt(a,25),y=f+p+$_(a,c,u)+G_[h]+tn[h]|0,d=(Mt(n,2)^Mt(n,13)^Mt(n,22))+H_(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+d|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){tn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Jx=Ma(()=>new Xl);function W_(t){let e=ns(t);er(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Y_,hexToBytes:Q_}=Va,kn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=kn;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Y_(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=kn,r=typeof t=="string"?Q_(t):t;if(!Ft(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=kn._parseInt(r.subarray(2)),{d:s,l:a}=kn._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},_r=BigInt(0),Bt=BigInt(1),EF=BigInt(2),Zx=BigInt(3),AF=BigInt(4);function X_(t){let e=W_(t),{Fp:r}=e,n=e.toBytes||((l,d,m)=>{let g=d.toAffine();return vr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(l=>{let d=l.subarray(1),m=r.fromBytes(d.subarray(0,r.BYTES)),g=r.fromBytes(d.subarray(r.BYTES,2*r.BYTES));return{x:m,y:g}});function o(l){let{a:d,b:m}=e,g=r.sqr(l),x=r.mul(g,l);return r.add(r.add(x,r.mul(l,d)),m)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(l){return typeof l=="bigint"&&_r<l&&l<e.n}function a(l){if(!s(l))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(l){let{allowedPrivateKeyLengths:d,nByteLength:m,wrapPrivateKey:g,n:x}=e;if(d&&typeof l!="bigint"){if(Ft(l)&&(l=br(l)),typeof l!="string"||!d.includes(l.length))throw new Error("Invalid key");l=l.padStart(m*2,"0")}let b;try{b=typeof l=="bigint"?l:wr(Se("private key",l,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof l}`)}return g&&(b=he(b,x)),a(b),b}let u=new Map;function f(l){if(!(l instanceof h))throw new Error("ProjectivePoint expected")}class h{constructor(d,m,g){if(this.px=d,this.py=m,this.pz=g,d==null||!r.isValid(d))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(d){let{x:m,y:g}=d||{};if(!d||!r.isValid(m)||!r.isValid(g))throw new Error("invalid affine point");if(d instanceof h)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(m)&&x(g)?h.ZERO:new h(m,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let m=r.invertBatch(d.map(g=>g.pz));return d.map((g,x)=>g.toAffine(m[x])).map(h.fromAffine)}static fromHex(d){let m=h.fromAffine(i(Se("pointHex",d)));return m.assertValidity(),m}static fromPrivateKey(d){return h.BASE.multiply(c(d))}_setWindowSize(d){this._WINDOW_SIZE=d,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y:m}=this.toAffine();if(!r.isValid(d)||!r.isValid(m))throw new Error("bad point: x or y not FE");let g=r.sqr(m),x=o(d);if(!r.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(r.isOdd)return!r.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:m,py:g,pz:x}=this,{px:b,py:v,pz:w}=d,E=r.eql(r.mul(m,w),r.mul(b,x)),A=r.eql(r.mul(g,w),r.mul(v,x));return E&&A}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:d,b:m}=e,g=r.mul(m,Zx),{px:x,py:b,pz:v}=this,w=r.ZERO,E=r.ZERO,A=r.ZERO,C=r.mul(x,x),P=r.mul(b,b),W=r.mul(v,v),H=r.mul(x,b);return H=r.add(H,H),A=r.mul(x,v),A=r.add(A,A),w=r.mul(d,A),E=r.mul(g,W),E=r.add(w,E),w=r.sub(P,E),E=r.add(P,E),E=r.mul(w,E),w=r.mul(H,w),A=r.mul(g,A),W=r.mul(d,W),H=r.sub(C,W),H=r.mul(d,H),H=r.add(H,A),A=r.add(C,C),C=r.add(A,C),C=r.add(C,W),C=r.mul(C,H),E=r.add(E,C),W=r.mul(b,v),W=r.add(W,W),C=r.mul(W,H),w=r.sub(w,C),A=r.mul(W,P),A=r.add(A,A),A=r.add(A,A),new h(w,E,A)}add(d){f(d);let{px:m,py:g,pz:x}=this,{px:b,py:v,pz:w}=d,E=r.ZERO,A=r.ZERO,C=r.ZERO,P=e.a,W=r.mul(e.b,Zx),H=r.mul(m,b),Z=r.mul(g,v),fe=r.mul(x,w),Ge=r.add(m,g),L=r.add(b,v);Ge=r.mul(Ge,L),L=r.add(H,Z),Ge=r.sub(Ge,L),L=r.add(m,x);let U=r.add(b,w);return L=r.mul(L,U),U=r.add(H,fe),L=r.sub(L,U),U=r.add(g,x),E=r.add(v,w),U=r.mul(U,E),E=r.add(Z,fe),U=r.sub(U,E),C=r.mul(P,L),E=r.mul(W,fe),C=r.add(E,C),E=r.sub(Z,C),C=r.add(Z,C),A=r.mul(E,C),Z=r.add(H,H),Z=r.add(Z,H),fe=r.mul(P,fe),L=r.mul(W,L),Z=r.add(Z,fe),fe=r.sub(H,fe),fe=r.mul(P,fe),L=r.add(L,fe),H=r.mul(Z,L),A=r.add(A,H),H=r.mul(U,L),E=r.mul(Ge,E),E=r.sub(E,H),H=r.mul(Ge,Z),C=r.mul(U,C),C=r.add(C,H),new h(E,A,C)}subtract(d){return this.add(d.negate())}is0(){return this.equals(h.ZERO)}wNAF(d){return y.wNAFCached(this,u,d,m=>{let g=r.invertBatch(m.map(x=>x.pz));return m.map((x,b)=>x.toAffine(g[b])).map(h.fromAffine)})}multiplyUnsafe(d){let m=h.ZERO;if(d===_r)return m;if(a(d),d===Bt)return this;let{endo:g}=e;if(!g)return y.unsafeLadder(this,d);let{k1neg:x,k1:b,k2neg:v,k2:w}=g.splitScalar(d),E=m,A=m,C=this;for(;b>_r||w>_r;)b&Bt&&(E=E.add(C)),w&Bt&&(A=A.add(C)),C=C.double(),b>>=Bt,w>>=Bt;return x&&(E=E.negate()),v&&(A=A.negate()),A=new h(r.mul(A.px,g.beta),A.py,A.pz),E.add(A)}multiply(d){a(d);let m=d,g,x,{endo:b}=e;if(b){let{k1neg:v,k1:w,k2neg:E,k2:A}=b.splitScalar(m),{p:C,f:P}=this.wNAF(w),{p:W,f:H}=this.wNAF(A);C=y.constTimeNegate(v,C),W=y.constTimeNegate(E,W),W=new h(r.mul(W.px,b.beta),W.py,W.pz),g=C.add(W),x=P.add(H)}else{let{p:v,f:w}=this.wNAF(m);g=v,x=w}return h.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(d,m,g){let x=h.BASE,b=(w,E)=>E===_r||E===Bt||!w.equals(x)?w.multiplyUnsafe(E):w.multiply(E),v=b(this,m).add(b(d,g));return v.is0()?void 0:v}toAffine(d){let{px:m,py:g,pz:x}=this,b=this.is0();d==null&&(d=b?r.ONE:r.inv(x));let v=r.mul(m,d),w=r.mul(g,d),E=r.mul(x,d);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:v,y:w}}isTorsionFree(){let{h:d,isTorsionFree:m}=e;if(d===Bt)return!0;if(m)return m(h,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:m}=e;return d===Bt?this:m?m(h,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return this.assertValidity(),n(h,this,d)}toHex(d=!0){return br(this.toRawBytes(d))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let p=e.nBitLength,y=$a(h,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function j_(t){let e=ns(t);return er(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function eb(t){let e=j_(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(L){return _r<L&&L<r.ORDER}function a(L){return he(L,n)}function c(L){return qa(L,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:h,isWithinCurveOrder:p}=X_({...e,toBytes(L,U,O){let k=U.toAffine(),B=r.toBytes(k.x),K=vr;return O?K(Uint8Array.from([U.hasEvenY()?2:3]),B):K(Uint8Array.from([4]),B,r.toBytes(k.y))},fromBytes(L){let U=L.length,O=L[0],k=L.subarray(1);if(U===i&&(O===2||O===3)){let B=wr(k);if(!s(B))throw new Error("Point is not on curve");let K=h(B),q=r.sqrt(K),G=(q&Bt)===Bt;return(O&1)===1!==G&&(q=r.neg(q)),{x:B,y:q}}else if(U===o&&O===4){let B=r.fromBytes(k.subarray(0,r.BYTES)),K=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:B,y:K}}else throw new Error(`Point of length ${U} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=L=>br(jr(L,e.nByteLength));function l(L){let U=n>>Bt;return L>U}function d(L){return l(L)?a(-L):L}let m=(L,U,O)=>wr(L.slice(U,O));class g{constructor(U,O,k){this.r=U,this.s=O,this.recovery=k,this.assertValidity()}static fromCompact(U){let O=e.nByteLength;return U=Se("compactSignature",U,O*2),new g(m(U,0,O),m(U,O,2*O))}static fromDER(U){let{r:O,s:k}=kn.toSig(Se("DER",U));return new g(O,k)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(U){return new g(this.r,this.s,U)}recoverPublicKey(U){let{r:O,s:k,recovery:B}=this,K=A(Se("msgHash",U));if(B==null||![0,1,2,3].includes(B))throw new Error("recovery id invalid");let q=B===2||B===3?O+e.n:O;if(q>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=B&1?"03":"02",j=u.fromHex(G+y(q)),ee=c(q),ce=a(-K*ee),te=a(k*ee),ie=u.BASE.multiplyAndAddUnsafe(j,ce,te);if(!ie)throw new Error("point at infinify");return ie.assertValidity(),ie}hasHighS(){return l(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return In(this.toDERHex())}toDERHex(){return kn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return In(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let x={isValidPrivateKey(L){try{return f(L),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let L=tl(e.n);return Xg(e.randomBytes(L),e.n)},precompute(L=8,U=u.BASE){return U._setWindowSize(L),U.multiply(BigInt(3)),U}};function b(L,U=!0){return u.fromPrivateKey(L).toRawBytes(U)}function v(L){let U=Ft(L),O=typeof L=="string",k=(U||O)&&L.length;return U?k===i||k===o:O?k===2*i||k===2*o:L instanceof u}function w(L,U,O=!0){if(v(L))throw new Error("first arg must be private key");if(!v(U))throw new Error("second arg must be public key");return u.fromHex(U).multiply(f(L)).toRawBytes(O)}let E=e.bits2int||function(L){let U=wr(L),O=L.length*8-e.nBitLength;return O>0?U>>BigInt(O):U},A=e.bits2int_modN||function(L){return a(E(L))},C=rs(e.nBitLength);function P(L){if(typeof L!="bigint")throw new Error("bigint expected");if(!(_r<=L&&L<C))throw new Error(`bigint expected < 2^${e.nBitLength}`);return jr(L,e.nByteLength)}function W(L,U,O=H){if(["recovered","canonical"].some(ve=>ve in O))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:B}=e,{lowS:K,prehash:q,extraEntropy:G}=O;K==null&&(K=!0),L=Se("msgHash",L),q&&(L=Se("prehashed msgHash",k(L)));let j=A(L),ee=f(U),ce=[P(ee),P(j)];if(G!=null){let ve=G===!0?B(r.BYTES):G;ce.push(Se("extraEntropy",ve))}let te=vr(...ce),ie=j;function Oe(ve){let We=E(ve);if(!p(We))return;let Ye=c(We),Me=u.BASE.multiply(We).toAffine(),rt=a(Me.x);if(rt===_r)return;let hr=a(Ye*a(ie+rt*ee));if(hr===_r)return;let gn=(Me.x===rt?0:2)|Number(Me.y&Bt),Fo=hr;return K&&l(hr)&&(Fo=d(hr),gn^=1),new g(rt,Fo,gn)}return{seed:te,k2sig:Oe}}let H={lowS:e.lowS,prehash:!1},Z={lowS:e.lowS,prehash:!1};function fe(L,U,O=H){let{seed:k,k2sig:B}=W(L,U,O),K=e;return jf(K.hash.outputLen,K.nByteLength,K.hmac)(k,B)}u.BASE._setWindowSize(8);function Ge(L,U,O,k=Z){let B=L;if(U=Se("msgHash",U),O=Se("publicKey",O),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:q}=k,G,j;try{if(typeof B=="string"||Ft(B))try{G=g.fromDER(B)}catch(Me){if(!(Me instanceof kn.Err))throw Me;G=g.fromCompact(B)}else if(typeof B=="object"&&typeof B.r=="bigint"&&typeof B.s=="bigint"){let{r:Me,s:rt}=B;G=new g(Me,rt)}else throw new Error("PARSE");j=u.fromHex(O)}catch(Me){if(Me.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&G.hasHighS())return!1;q&&(U=e.hash(U));let{r:ee,s:ce}=G,te=A(U),ie=c(ce),Oe=a(te*ie),ve=a(ee*ie),We=u.BASE.multiplyAndAddUnsafe(j,Oe,ve)?.toAffine();return We?a(We.x)===ee:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:w,sign:fe,verify:Ge,ProjectivePoint:u,Signature:g,utils:x}}var rc=class extends Si{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Ug(e);let n=ts(r);if(this.iHash=e.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 i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return Ai(this),this.iHash.update(e),this}digestInto(e){Ai(this),$f(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},jl=(t,e,r)=>new rc(t,e).update(r).digest();jl.create=(t,e)=>new rc(t,e);function J_(t){return{hash:t,hmac:(e,...r)=>jl(t,e,Ua(...r)),randomBytes:Ci}}function tb(t,e){let r=n=>eb({...t,...J_(n)});return Object.freeze({...r(e),create:r})}var ib=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),rb=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Z_=BigInt(1),Jl=BigInt(2),nb=(t,e)=>(t+e/Jl)/e;function eT(t){let e=ib,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,f=u*u*t%e,h=xe(f,r,e)*f%e,p=xe(h,r,e)*f%e,y=xe(p,Jl,e)*u%e,l=xe(y,i,e)*y%e,d=xe(l,o,e)*l%e,m=xe(d,a,e)*d%e,g=xe(m,c,e)*m%e,x=xe(g,a,e)*d%e,b=xe(x,r,e)*f%e,v=xe(b,s,e)*l%e,w=xe(v,n,e)*u%e,E=xe(w,Jl,e);if(!Zl.eql(Zl.sqr(E),t))throw new Error("Cannot find square root");return E}var Zl=za(ib,void 0,void 0,{sqrt:eT}),qt=tb({a:BigInt(0),b:BigInt(7),Fp:Zl,n:rb,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=rb,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Z_*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=nb(o*t,e),c=nb(-n*t,e),u=he(t-a*r-c*i,e),f=he(-a*n-c*o,e),h=u>s,p=f>s;if(h&&(u=e-u),p&&(f=e-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:h,k1:u,k2neg:p,k2:f}}}},Jx),OF=BigInt(0);var kF=qt.ProjectivePoint;function ob(){return qt.utils.randomPrivateKey()}function sb(t,e){let r=Xe.digest(e instanceof Uint8Array?e:e.subarray());if(Rt(r))return r.then(({digest:n})=>qt.sign(n,t).toDERRawBytes()).catch(n=>{throw new _(String(n),"ERR_INVALID_INPUT")});try{return qt.sign(r.digest,t).toDERRawBytes()}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}function ab(t,e,r){let n=Xe.digest(r instanceof Uint8Array?r:r.subarray());if(Rt(n))return n.then(({digest:i})=>qt.verify(e,i,t)).catch(i=>{throw new _(String(i),"ERR_INVALID_INPUT")});try{return qt.verify(e,n.digest,t)}catch(i){throw new _(String(i),"ERR_INVALID_INPUT")}}function cb(t){return qt.ProjectivePoint.fromHex(t).toRawBytes(!0)}function ub(t){try{qt.getPublicKey(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}function eh(t){try{qt.ProjectivePoint.fromHex(t)}catch(e){throw new _(String(e),"ERR_INVALID_PUBLIC_KEY")}}function fb(t){try{return qt.getPublicKey(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}var gs=class{_key;constructor(e){eh(e),this._key=e}verify(e,r){return ab(this._key,r,e)}marshal(){return cb(this._key)}get bytes(){return rr.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}async hash(){let e=Xe.digest(this.bytes),r;return Rt(e)?{bytes:r}=await e:r=e.bytes,r}},xs=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??fb(e),ub(this._key),eh(this._publicKey)}sign(e){return sb(this._key,e)}get public(){return new gs(this._publicKey)}marshal(){return this._key}get bytes(){return nr.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Zt(this.bytes,e.bytes)}hash(){let e=Xe.digest(this.bytes);return Rt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return Et(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Bi(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function rT(t){return new xs(t)}function nT(t){return new gs(t)}async function iT(){let t=ob();return new xs(t)}var rn={rsa:Ql,ed25519:$l,secp256k1:th};function rh(t){let e=Object.keys(rn).join(" / ");return new _(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function nh(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return rn[t];throw rh(t)}async function lb(t,e){return nh(t).generateKeyPair(e??2048)}function bs(t){let e=rr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return rn.rsa.unmarshalRsaPublicKey(r);case be.Ed25519:return rn.ed25519.unmarshalEd25519PublicKey(r);case be.Secp256k1:return rn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw rh(e.Type??"unknown")}}function hb(t,e){return e=(e??"rsa").toLowerCase(),nh(e),t.bytes}async function ih(t){let e=nr.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return rn.rsa.unmarshalRsaPrivateKey(r);case be.Ed25519:return rn.ed25519.unmarshalEd25519PrivateKey(r);case be.Secp256k1:return rn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw rh(e.Type??"RSA")}}function db(t,e){return e=(e??"rsa").toLowerCase(),nh(e),t.bytes}var It=we(sh(),1);var ah={};R(ah,{base32:()=>ir,base32hex:()=>vT,base32hexpad:()=>AT,base32hexpadupper:()=>ST,base32hexupper:()=>ET,base32pad:()=>bT,base32padupper:()=>wT,base32upper:()=>xT,base32z:()=>CT});var ir=Ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xT=Ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),bT=Ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),wT=Ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),vT=Ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ET=Ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),AT=Ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ST=Ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),CT=Ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});It.default.formatters.b=t=>t==null?"undefined":Qe.baseEncode(t);It.default.formatters.t=t=>t==null?"undefined":ir.baseEncode(t);It.default.formatters.m=t=>t==null?"undefined":Ri.baseEncode(t);It.default.formatters.p=t=>t==null?"undefined":t.toString();It.default.formatters.c=t=>t==null?"undefined":t.toString();It.default.formatters.k=t=>t==null?"undefined":t.toString();It.default.formatters.a=t=>t==null?"undefined":t.toString();function IT(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function oc(){return{forComponent(t){return _T(t)}}}function _T(t){let e=IT(`${t}:trace`);return It.default.enabled(`${t}:trace`)&&It.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,It.default)(`${t}:trace`)),Object.assign((0,It.default)(t),{error:(0,It.default)(`${t}:error`),trace:e})}var ch={};R(ch,{base10:()=>TT});var TT=Gr({prefix:"9",name:"base10",alphabet:"0123456789"});var uh={};R(uh,{base16:()=>RT,base16upper:()=>BT});var RT=Ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),BT=Ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var fh={};R(fh,{base2:()=>DT});var DT=Ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var lh={};R(lh,{base256emoji:()=>kT});var gb=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}"),LT=gb.reduce((t,e,r)=>(t[r]=e,t),[]),NT=gb.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function PT(t){return t.reduce((e,r)=>(e+=LT[r],e),"")}function OT(t){let e=[];for(let r of t){let n=NT[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var kT=xi({prefix:"\u{1F680}",name:"base256emoji",encode:PT,decode:OT});var hh={};R(hh,{base36:()=>UT,base36upper:()=>MT});var UT=Gr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),MT=Gr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var dh={};R(dh,{base8:()=>FT});var FT=Ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ph={};R(ph,{identity:()=>KT});var KT=xi({prefix:"\0",name:"identity",encode:t=>Eg(t),decode:t=>vg(t)});var AK=new TextEncoder,SK=new TextDecoder;function xb(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return $T(r,mh(t),e??Qe.encoder);default:return HT(r,mh(t),e??ir.encoder)}}var bb=new WeakMap;function mh(t){let e=bb.get(t);if(e==null){let r=new Map;return bb.set(t,r),r}return e}var Mn=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==ws)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==GT)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Jt(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&Rg(e.multihash,n.multihash)}toString(e){return xb(this,e)}toJSON(){return{"/":xb(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s??wb(n,i,o.bytes))}else if(r[WT]===!0){let{version:n,multihash:i,code:o}=r,s=es(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==ws)throw new Error(`Version 0 CID must use dag-pb (code: ${ws}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=wb(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,ws,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=gr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new vi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Zo(e.subarray(r));return r+=p,h},i=n(),o=ws;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=zT(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return mh(o).set(n,e),o}};function zT(t,e){switch(t[0]){case"Q":{let r=e??Qe;return[Qe.prefix,r.decode(`${Qe.prefix}${t}`)]}case Qe.prefix:{let r=e??Qe;return[Qe.prefix,r.decode(t)]}case ir.prefix:{let r=e??ir;return[ir.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function $T(t,e,r){let{prefix:n}=r;if(n!==Qe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i}function HT(t,e,r){let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i}var ws=112,GT=18;function wb(t,e,r){let n=wi(t),i=n+wi(e),o=new Uint8Array(i+r.byteLength);return bi(t,o,0),bi(e,o,n),o.set(r,i),o}var WT=Symbol.for("@ipld/js-cid/CID");var yh={...ph,...fh,...dh,...ch,...uh,...ah,...hh,...Mf,...sl,...lh},KK={...zf,...Kf};function gh(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var YT=Symbol.for("nodejs.util.inspect.custom"),vb=Object.values(yh).map(t=>t.decoder).reduce((t,e)=>t.or(e),yh.identity.decoder),Eb=114,xh=36,bh=37,vs=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[af]=!0;toString(){return this.string==null&&(this.string=Qe.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Mn.createV1(Eb,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return gh(this.multihash.bytes,e);if(typeof e=="string")return se(e).equals(this);if(e?.multihash?.bytes!=null)return gh(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[YT](){return`PeerId(${this.toString()})`}},Fn=class extends vs{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Kn=class extends vs{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Vn=class extends vs{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Ab(t){if(t.type==="RSA")return new Fn(t);if(t.type==="Ed25519")return new Kn(t);if(t.type==="secp256k1")return new Vn(t);throw new _("Not a PeerId","ERR_INVALID_PARAMETERS")}function se(t,e){if(e=e??vb,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=es(Qe.decode(`z${t}`));return t.startsWith("12D")?new Kn({multihash:r}):t.startsWith("16U")?new Vn({multihash:r}):new Fn({multihash:r})}return qi(vb.decode(t))}function qi(t){try{let e=es(t);if(e.code===Wr.code){if(e.digest.length===xh)return new Kn({multihash:e});if(e.digest.length===bh)return new Vn({multihash:e})}if(e.code===Xe.code)return new Fn({multihash:e})}catch{return QT(Mn.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function QT(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Eb)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Xe.code)return new Fn({multihash:t.multihash});if(e.code===Wr.code){if(e.digest.length===xh)return new Kn({multihash:t.multihash});if(e.digest.length===bh)return new Vn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function sc(t,e){return t.length===xh?new Kn({multihash:Jt(Wr.code,t),privateKey:e}):t.length===bh?new Vn({multihash:Jt(Wr.code,t),privateKey:e}):new Fn({multihash:await Xe.digest(t),publicKey:t,privateKey:e})}function Tr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var ot=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return Tr(this.map.entries(),e=>[se(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,se(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return Tr(this.map.keys(),e=>se(e))}values(){return this.map.values()}get size(){return this.map.size}};var Dt=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return Tr(this.set.entries(),e=>{let r=se(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=se(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Tr(this.set.values(),e=>se(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var ac=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Tr(this.list.entries(),e=>se(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Tr(this.list.entries(),e=>[e[0],se(e[1])])}every(e){return this.list.every((r,n)=>e(se(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=se(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(se(n),i,this));if(r!=null)return se(r)}findIndex(e){return this.list.findIndex((r,n)=>e(se(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(se(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return se(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return se(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};function wh(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ch={};R(Ch,{base10:()=>t3});function XT(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var jT=XT,JT=jT,Sb=JT;var RV=new Uint8Array(0);var Cb=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Rr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Ib=t=>new TextEncoder().encode(t),_b=t=>new TextDecoder().decode(t);var vh=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Eh=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Rb(this,e)}},Ah=class{constructor(e){this.decoders=e}or(e){return Rb(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Rb=(t,e)=>new Ah({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Sh=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new vh(e,r,n),this.decoder=new Eh(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},zi=({name:t,prefix:e,encode:r,decode:n})=>new Sh(t,e,r,n),nn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Sb(r,e);return zi({prefix:t,name:e,encode:n,decode:o=>Rr(i(o))})},ZT=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},e3=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ie=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>zi({prefix:e,name:t,encode(i){return e3(i,n,r)},decode(i){return ZT(i,n,r,t)}});var t3=nn({prefix:"9",name:"base10",alphabet:"0123456789"});var Ih={};R(Ih,{base16:()=>r3,base16upper:()=>n3});var r3=Ie({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),n3=Ie({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var _h={};R(_h,{base2:()=>i3});var i3=Ie({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Th={};R(Th,{base256emoji:()=>u3});var Bb=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}"),o3=Bb.reduce((t,e,r)=>(t[r]=e,t),[]),s3=Bb.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function a3(t){return t.reduce((e,r)=>(e+=o3[r],e),"")}function c3(t){let e=[];for(let r of t){let n=s3[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var u3=zi({prefix:"\u{1F680}",name:"base256emoji",encode:a3,decode:c3});var Rh={};R(Rh,{base32:()=>$i,base32hex:()=>d3,base32hexpad:()=>m3,base32hexpadupper:()=>y3,base32hexupper:()=>p3,base32pad:()=>l3,base32padupper:()=>h3,base32upper:()=>f3,base32z:()=>g3});var $i=Ie({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),f3=Ie({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),l3=Ie({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),h3=Ie({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),d3=Ie({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),p3=Ie({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),m3=Ie({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),y3=Ie({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),g3=Ie({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Bh={};R(Bh,{base36:()=>x3,base36upper:()=>b3});var x3=nn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),b3=nn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Dh={};R(Dh,{base58btc:()=>or,base58flickr:()=>w3});var or=nn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),w3=nn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Lh={};R(Lh,{base64:()=>v3,base64pad:()=>E3,base64url:()=>A3,base64urlpad:()=>S3});var v3=Ie({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),E3=Ie({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),A3=Ie({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),S3=Ie({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Nh={};R(Nh,{base8:()=>C3});var C3=Ie({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ph={};R(Ph,{identity:()=>I3});var I3=zi({prefix:"\0",name:"identity",encode:t=>_b(t),decode:t=>Ib(t)});var $V=new TextEncoder,HV=new TextDecoder;var kh={};R(kh,{identity:()=>Q3});var R3=Nb,Db=128,B3=127,D3=~B3,L3=Math.pow(2,31);function Nb(t,e,r){e=e||[],r=r||0;for(var n=r;t>=L3;)e[r++]=t&255|Db,t/=128;for(;t&D3;)e[r++]=t&255|Db,t>>>=7;return e[r]=t|0,Nb.bytes=r-n+1,e}var N3=Oh,P3=128,Lb=127;function Oh(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Oh.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Lb)<<i:(s&Lb)*Math.pow(2,i),i+=7}while(s>=P3);return Oh.bytes=o-n,r}var O3=Math.pow(2,7),k3=Math.pow(2,14),U3=Math.pow(2,21),M3=Math.pow(2,28),F3=Math.pow(2,35),K3=Math.pow(2,42),V3=Math.pow(2,49),q3=Math.pow(2,56),z3=Math.pow(2,63),$3=function(t){return t<O3?1:t<k3?2:t<U3?3:t<M3?4:t<F3?5:t<K3?6:t<V3?7:t<q3?8:t<z3?9:10},H3={encode:R3,decode:N3,encodingLength:$3},G3=H3,Es=G3;var As=(t,e=0)=>[Es.decode(t,e),Es.decode.bytes],Hi=(t,e,r=0)=>(Es.encode(t,e,r),e),Gi=t=>Es.encodingLength(t);var qn=(t,e)=>{let r=e.byteLength,n=Gi(t),i=n+Gi(r),o=new Uint8Array(i+r);return Hi(t,o,0),Hi(r,o,n),o.set(e,i),new Wi(t,r,e,o)},Pb=t=>{let e=Rr(t),[r,n]=As(e),[i,o]=As(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Wi(r,i,s,e)},Ob=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Cb(t.bytes,r.bytes)}},Wi=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var kb=0,W3="identity",Ub=Rr,Y3=t=>qn(kb,Ub(t)),Q3={code:kb,name:W3,encode:Ub,digest:Y3};var Fh={};R(Fh,{sha256:()=>X3,sha512:()=>j3});var Mh=({name:t,code:e,encode:r})=>new Uh(t,e,r),Uh=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?qn(this.code,r):r.then(n=>qn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Fb=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),X3=Mh({name:"sha2-256",code:18,encode:Fb("SHA-256")}),j3=Mh({name:"sha2-512",code:19,encode:Fb("SHA-512")});var Kb=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Z3(r,Kh(t),e||or.encoder);default:return e6(r,Kh(t),e||$i.encoder)}};var Vb=new WeakMap,Kh=t=>{let e=Vb.get(t);if(e==null){let r=new Map;return Vb.set(t,r),r}return e},uc=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==Cs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==t6)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=qn(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ob(e.multihash,n.multihash)}toString(e){return Kb(this,e)}toJSON(){return{"/":Kb(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||qb(n,i,o.bytes))}else if(r[r6]===!0){let{version:n,multihash:i,code:o}=r,s=Pb(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==Cs)throw new Error(`Version 0 CID must use dag-pb (code: ${Cs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=qb(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Cs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Rr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Wi(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=As(e.subarray(r));return r+=p,h},i=n(),o=Cs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=J3(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Kh(o).set(n,e),o}},J3=(t,e)=>{switch(t[0]){case"Q":{let r=e||or;return[or.prefix,r.decode(`${or.prefix}${t}`)]}case or.prefix:{let r=e||or;return[or.prefix,r.decode(t)]}case $i.prefix:{let r=e||$i;return[$i.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Z3=(t,e,r)=>{let{prefix:n}=r;if(n!==or.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},e6=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Cs=112,t6=18,qb=(t,e,r)=>{let n=Gi(t),i=n+Gi(e),o=new Uint8Array(i+r.byteLength);return Hi(t,o,0),Hi(e,o,n),o.set(r,i),o},r6=Symbol.for("@ipld/js-cid/CID");var Vh={...Ph,..._h,...Nh,...Ch,...Ih,...Rh,...Bh,...Dh,...Lh,...Th},aq={...Fh,...kh};function zb(t=0){return globalThis.Buffer?.allocUnsafe!=null?wh(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Hb(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var $b=Hb("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),qh=Hb("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=zb(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),dq={utf8:$b,"utf-8":$b,hex:Vh.base16,latin1:qh,ascii:qh,binary:qh,...Vh};var zh;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(zh||(zh={}));var Gb=async()=>{let t=await lb("Ed25519"),e=await n6(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function n6(t){return sc(hb(t.public),db(t))}var i6=Math.pow(2,7),o6=Math.pow(2,14),s6=Math.pow(2,21),$h=Math.pow(2,28),Hh=Math.pow(2,35),Gh=Math.pow(2,42),Wh=Math.pow(2,49),ae=128,st=127;function at(t){if(t<i6)return 1;if(t<o6)return 2;if(t<s6)return 3;if(t<$h)return 4;if(t<Hh)return 5;if(t<Gh)return 6;if(t<Wh)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function a6(t,e,r=0){switch(at(t)){case 8:e[r++]=t&255|ae,t/=128;case 7:e[r++]=t&255|ae,t/=128;case 6:e[r++]=t&255|ae,t/=128;case 5:e[r++]=t&255|ae,t/=128;case 4:e[r++]=t&255|ae,t>>>=7;case 3:e[r++]=t&255|ae,t>>>=7;case 2:e[r++]=t&255|ae,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function c6(t,e,r=0){switch(at(t)){case 8:e.set(r++,t&255|ae),t/=128;case 7:e.set(r++,t&255|ae),t/=128;case 6:e.set(r++,t&255|ae),t/=128;case 5:e.set(r++,t&255|ae),t/=128;case 4:e.set(r++,t&255|ae),t>>>=7;case 3:e.set(r++,t&255|ae),t>>>=7;case 2:e.set(r++,t&255|ae),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function u6(t,e){let r=t[e],n=0;if(n+=r&st,r<ae||(r=t[e+1],n+=(r&st)<<7,r<ae)||(r=t[e+2],n+=(r&st)<<14,r<ae)||(r=t[e+3],n+=(r&st)<<21,r<ae)||(r=t[e+4],n+=(r&st)*$h,r<ae)||(r=t[e+5],n+=(r&st)*Hh,r<ae)||(r=t[e+6],n+=(r&st)*Gh,r<ae)||(r=t[e+7],n+=(r&st)*Wh,r<ae))return n;throw new RangeError("Could not decode varint")}function f6(t,e){let r=t.get(e),n=0;if(n+=r&st,r<ae||(r=t.get(e+1),n+=(r&st)<<7,r<ae)||(r=t.get(e+2),n+=(r&st)<<14,r<ae)||(r=t.get(e+3),n+=(r&st)<<21,r<ae)||(r=t.get(e+4),n+=(r&st)*$h,r<ae)||(r=t.get(e+5),n+=(r&st)*Hh,r<ae)||(r=t.get(e+6),n+=(r&st)*Gh,r<ae)||(r=t.get(e+7),n+=(r&st)*Wh,r<ae))return n;throw new RangeError("Could not decode varint")}function yt(t,e,r=0){return e==null&&(e=it(at(t))),e instanceof Uint8Array?a6(t,e,r):c6(t,e,r)}function zt(t,e=0){return t instanceof Uint8Array?u6(t,e):f6(t,e)}function Lt(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=it(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Bn(r)}function fc(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Yb=Symbol.for("@achingbrain/uint8arraylist");function Wb(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function lc(t){return!!t?.[Yb]}var He=class t{bufs;length;[Yb]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(lc(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(lc(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(e){let r=Wb(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Wb(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(lc(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Lt(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Lt(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=[...n],o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,f=r>a&&r<=c;if(u&&f){if(e===a&&r===c){n.push(s);break}let h=e-a;n.push(s.subarray(h,h+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!lc(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let h=0;h<o;h++)s[h]=-1;for(let h=0;h<i;h++)s[n[h]]=h;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let h=r;h<=c;h+=f){f=0;for(let p=u;p>=0;p--){let y=this.get(h+p);if(n[p]!==y){f=Math.max(1,p-a[y]);break}}if(f===0)return h}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=it(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Sr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=it(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Sr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!fc(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Qb(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function hc(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Jh={};R(Jh,{base10:()=>y6});function l6(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var h6=l6,d6=h6,Xb=d6;var Fq=new Uint8Array(0);var jb=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Br=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Jb=t=>new TextEncoder().encode(t),Zb=t=>new TextDecoder().decode(t);var Yh=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Qh=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return tw(this,e)}},Xh=class{constructor(e){this.decoders=e}or(e){return tw(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},tw=(t,e)=>new Xh({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),jh=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Yh(e,r,n),this.decoder=new Qh(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Yi=({name:t,prefix:e,encode:r,decode:n})=>new jh(t,e,r,n),on=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Xb(r,e);return Yi({prefix:t,name:e,encode:n,decode:o=>Br(i(o))})},p6=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},m6=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},_e=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Yi({prefix:e,name:t,encode(i){return m6(i,n,r)},decode(i){return p6(i,n,r,t)}});var y6=on({prefix:"9",name:"base10",alphabet:"0123456789"});var Zh={};R(Zh,{base16:()=>g6,base16upper:()=>x6});var g6=_e({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),x6=_e({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ed={};R(ed,{base2:()=>b6});var b6=_e({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var td={};R(td,{base256emoji:()=>S6});var rw=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}"),w6=rw.reduce((t,e,r)=>(t[r]=e,t),[]),v6=rw.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function E6(t){return t.reduce((e,r)=>(e+=w6[r],e),"")}function A6(t){let e=[];for(let r of t){let n=v6[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var S6=Yi({prefix:"\u{1F680}",name:"base256emoji",encode:E6,decode:A6});var rd={};R(rd,{base32:()=>Qi,base32hex:()=>T6,base32hexpad:()=>B6,base32hexpadupper:()=>D6,base32hexupper:()=>R6,base32pad:()=>I6,base32padupper:()=>_6,base32upper:()=>C6,base32z:()=>L6});var Qi=_e({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),C6=_e({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),I6=_e({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_6=_e({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),T6=_e({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),R6=_e({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),B6=_e({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),D6=_e({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),L6=_e({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var nd={};R(nd,{base36:()=>N6,base36upper:()=>P6});var N6=on({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),P6=on({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var id={};R(id,{base58btc:()=>sr,base58flickr:()=>O6});var sr=on({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),O6=on({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var od={};R(od,{base64:()=>k6,base64pad:()=>U6,base64url:()=>M6,base64urlpad:()=>F6});var k6=_e({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),U6=_e({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),M6=_e({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),F6=_e({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var sd={};R(sd,{base8:()=>K6});var K6=_e({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ad={};R(ad,{identity:()=>V6});var V6=Yi({prefix:"\0",name:"identity",encode:t=>Zb(t),decode:t=>Jb(t)});var ez=new TextEncoder,tz=new TextDecoder;var ud={};R(ud,{identity:()=>f5});var $6=ow,nw=128,H6=127,G6=~H6,W6=Math.pow(2,31);function ow(t,e,r){e=e||[],r=r||0;for(var n=r;t>=W6;)e[r++]=t&255|nw,t/=128;for(;t&G6;)e[r++]=t&255|nw,t>>>=7;return e[r]=t|0,ow.bytes=r-n+1,e}var Y6=cd,Q6=128,iw=127;function cd(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw cd.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&iw)<<i:(s&iw)*Math.pow(2,i),i+=7}while(s>=Q6);return cd.bytes=o-n,r}var X6=Math.pow(2,7),j6=Math.pow(2,14),J6=Math.pow(2,21),Z6=Math.pow(2,28),e5=Math.pow(2,35),t5=Math.pow(2,42),r5=Math.pow(2,49),n5=Math.pow(2,56),i5=Math.pow(2,63),o5=function(t){return t<X6?1:t<j6?2:t<J6?3:t<Z6?4:t<e5?5:t<t5?6:t<r5?7:t<n5?8:t<i5?9:10},s5={encode:$6,decode:Y6,encodingLength:o5},a5=s5,Is=a5;var _s=(t,e=0)=>[Is.decode(t,e),Is.decode.bytes],Xi=(t,e,r=0)=>(Is.encode(t,e,r),e),ji=t=>Is.encodingLength(t);var $n=(t,e)=>{let r=e.byteLength,n=ji(t),i=n+ji(r),o=new Uint8Array(i+r);return Xi(t,o,0),Xi(r,o,n),o.set(e,i),new Ji(t,r,e,o)},sw=t=>{let e=Br(t),[r,n]=_s(e),[i,o]=_s(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Ji(r,i,s,e)},aw=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&jb(t.bytes,r.bytes)}},Ji=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var cw=0,c5="identity",uw=Br,u5=t=>$n(cw,uw(t)),f5={code:cw,name:c5,encode:uw,digest:u5};var hd={};R(hd,{sha256:()=>l5,sha512:()=>h5});var ld=({name:t,code:e,encode:r})=>new fd(t,e,r),fd=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?$n(this.code,r):r.then(n=>$n(this.code,n))}else throw Error("Unknown type, must be binary type")}};var lw=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),l5=ld({name:"sha2-256",code:18,encode:lw("SHA-256")}),h5=ld({name:"sha2-512",code:19,encode:lw("SHA-512")});var hw=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return p5(r,dd(t),e||sr.encoder);default:return m5(r,dd(t),e||Qi.encoder)}};var dw=new WeakMap,dd=t=>{let e=dw.get(t);if(e==null){let r=new Map;return dw.set(t,r),r}return e},pc=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==Rs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==y5)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=$n(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&aw(e.multihash,n.multihash)}toString(e){return hw(this,e)}toJSON(){return{"/":hw(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||pw(n,i,o.bytes))}else if(r[g5]===!0){let{version:n,multihash:i,code:o}=r,s=sw(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==Rs)throw new Error(`Version 0 CID must use dag-pb (code: ${Rs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=pw(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Rs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Br(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Ji(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=_s(e.subarray(r));return r+=p,h},i=n(),o=Rs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=d5(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return dd(o).set(n,e),o}},d5=(t,e)=>{switch(t[0]){case"Q":{let r=e||sr;return[sr.prefix,r.decode(`${sr.prefix}${t}`)]}case sr.prefix:{let r=e||sr;return[sr.prefix,r.decode(t)]}case Qi.prefix:{let r=e||Qi;return[Qi.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},p5=(t,e,r)=>{let{prefix:n}=r;if(n!==sr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},m5=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Rs=112,y5=18,pw=(t,e,r)=>{let n=ji(t),i=n+ji(e),o=new Uint8Array(i+r.byteLength);return Xi(t,o,0),Xi(e,o,n),o.set(r,i),o},g5=Symbol.for("@ipld/js-cid/CID");var pd={...ad,...ed,...sd,...Jh,...Zh,...rd,...nd,...id,...od,...td},gz={...hd,...ud};function mw(t=0){return globalThis.Buffer?.allocUnsafe!=null?hc(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function gw(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var yw=gw("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),md=gw("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=mw(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),x5={utf8:yw,"utf-8":yw,hex:pd.base16,latin1:md,ascii:md,binary:md,...pd},xw=x5;function bw(t,e="utf8"){let r=xw[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?hc(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var ww={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Bs;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Bs||(Bs={}));var Zi=class t{static createFromProtobuf=async e=>{let r=Bs.decode(e),n=await sc(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=vw(n,i,o),c=await(await ih(r.privateKey)).sign(s.subarray());return new t({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new _("envelope signature is not valid for the given domain",ww.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Bs.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Qb(this.marshal(),e.marshal())}async validate(e){let r=vw(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return bs(this.peerId.publicKey).verify(r.subarray(),this.signature)}},vw=(t,e,r)=>{let n=bw(t),i=yt(n.byteLength),o=yt(e.length),s=yt(r.length);return new He(i,n,o,e,s,r)};function Ew(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var wd={};R(wd,{base58btc:()=>gt,base58flickr:()=>S5});function b5(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var w5=b5,v5=w5,Aw=v5;var Vz=new Uint8Array(0);var Sw=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Dr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Cw=t=>new TextEncoder().encode(t),Iw=t=>new TextDecoder().decode(t);var yd=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},gd=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Tw(this,e)}},xd=class{constructor(e){this.decoders=e}or(e){return Tw(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Tw=(t,e)=>new xd({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),bd=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new yd(e,r,n),this.decoder=new gd(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},eo=({name:t,prefix:e,encode:r,decode:n})=>new bd(t,e,r,n),sn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Aw(r,e);return eo({prefix:t,name:e,encode:n,decode:o=>Dr(i(o))})},E5=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},A5=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Te=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>eo({prefix:e,name:t,encode(i){return A5(i,n,r)},decode(i){return E5(i,n,r,t)}});var gt=sn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),S5=sn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var vd={};R(vd,{base32:()=>Lr,base32hex:()=>T5,base32hexpad:()=>B5,base32hexpadupper:()=>D5,base32hexupper:()=>R5,base32pad:()=>I5,base32padupper:()=>_5,base32upper:()=>C5,base32z:()=>L5});var Lr=Te({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),C5=Te({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),I5=Te({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_5=Te({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),T5=Te({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),R5=Te({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),B5=Te({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),D5=Te({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),L5=Te({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var N5=Dw,Rw=128,P5=127,O5=~P5,k5=Math.pow(2,31);function Dw(t,e,r){e=e||[],r=r||0;for(var n=r;t>=k5;)e[r++]=t&255|Rw,t/=128;for(;t&O5;)e[r++]=t&255|Rw,t>>>=7;return e[r]=t|0,Dw.bytes=r-n+1,e}var U5=Ed,M5=128,Bw=127;function Ed(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Ed.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Bw)<<i:(s&Bw)*Math.pow(2,i),i+=7}while(s>=M5);return Ed.bytes=o-n,r}var F5=Math.pow(2,7),K5=Math.pow(2,14),V5=Math.pow(2,21),q5=Math.pow(2,28),z5=Math.pow(2,35),$5=Math.pow(2,42),H5=Math.pow(2,49),G5=Math.pow(2,56),W5=Math.pow(2,63),Y5=function(t){return t<F5?1:t<K5?2:t<V5?3:t<q5?4:t<z5?5:t<$5?6:t<H5?7:t<G5?8:t<W5?9:10},Q5={encode:N5,decode:U5,encodingLength:Y5},X5=Q5,Ds=X5;var Ls=(t,e=0)=>[Ds.decode(t,e),Ds.decode.bytes],to=(t,e,r=0)=>(Ds.encode(t,e,r),e),ro=t=>Ds.encodingLength(t);var Hn=(t,e)=>{let r=e.byteLength,n=ro(t),i=n+ro(r),o=new Uint8Array(i+r);return to(t,o,0),to(r,o,n),o.set(e,i),new no(t,r,e,o)},yc=t=>{let e=Dr(t),[r,n]=Ls(e),[i,o]=Ls(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new no(r,i,s,e)},Lw=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Sw(t.bytes,r.bytes)}},no=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Nw=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return J5(r,Ad(t),e||gt.encoder);default:return Z5(r,Ad(t),e||Lr.encoder)}};var Pw=new WeakMap,Ad=t=>{let e=Pw.get(t);if(e==null){let r=new Map;return Pw.set(t,r),r}return e},an=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==Ns)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==eR)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Hn(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Lw(e.multihash,n.multihash)}toString(e){return Nw(this,e)}toJSON(){return{"/":Nw(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||Ow(n,i,o.bytes))}else if(r[tR]===!0){let{version:n,multihash:i,code:o}=r,s=yc(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==Ns)throw new Error(`Version 0 CID must use dag-pb (code: ${Ns}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Ow(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ns,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Dr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new no(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Ls(e.subarray(r));return r+=p,h},i=n(),o=Ns;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=j5(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ad(o).set(n,e),o}},j5=(t,e)=>{switch(t[0]){case"Q":{let r=e||gt;return[gt.prefix,r.decode(`${gt.prefix}${t}`)]}case gt.prefix:{let r=e||gt;return[gt.prefix,r.decode(t)]}case Lr.prefix:{let r=e||Lr;return[Lr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},J5=(t,e,r)=>{let{prefix:n}=r;if(n!==gt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Z5=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Ns=112,eR=18,Ow=(t,e,r)=>{let n=ro(t),i=n+ro(e),o=new Uint8Array(i+r.byteLength);return to(t,o,0),to(e,o,n),o.set(r,i),o},tR=Symbol.for("@ipld/js-cid/CID");function xt(t,e="utf8"){let r=ja[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var gc=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let p=Number.parseInt(h,e);if(!Number.isNaN(p))return p});if(f===void 0)break;if(o*=e,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var kw=45,rR=15,oo=new gc;function Sd(t){if(!(t.length>rR))return oo.new(t).parseWith(()=>oo.readIPv4Addr())}function Cd(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>kw))return oo.new(t).parseWith(()=>oo.readIPv6Addr())}function xc(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>kw))return oo.new(t).parseWith(()=>oo.readIPAddr())}var h$=parseInt("0xFFFF",16),d$=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Id={};R(Id,{base10:()=>aR});var aR=sn({prefix:"9",name:"base10",alphabet:"0123456789"});var _d={};R(_d,{base16:()=>cR,base16upper:()=>uR});var cR=Te({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),uR=Te({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Td={};R(Td,{base2:()=>fR});var fR=Te({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Rd={};R(Rd,{base256emoji:()=>mR});var Fw=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}"),lR=Fw.reduce((t,e,r)=>(t[r]=e,t),[]),hR=Fw.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function dR(t){return t.reduce((e,r)=>(e+=lR[r],e),"")}function pR(t){let e=[];for(let r of t){let n=hR[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var mR=eo({prefix:"\u{1F680}",name:"base256emoji",encode:dR,decode:pR});var Bd={};R(Bd,{base36:()=>yR,base36upper:()=>gR});var yR=sn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),gR=sn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Dd={};R(Dd,{base64:()=>xR,base64pad:()=>bR,base64url:()=>wR,base64urlpad:()=>vR});var xR=Te({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),bR=Te({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),wR=Te({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),vR=Te({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ld={};R(Ld,{base8:()=>ER});var ER=Te({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nd={};R(Nd,{identity:()=>AR});var AR=eo({prefix:"\0",name:"identity",encode:t=>Iw(t),decode:t=>Cw(t)});var $$=new TextEncoder,H$=new TextDecoder;var Pd={};R(Pd,{identity:()=>TR});var Kw=0,IR="identity",Vw=Dr,_R=t=>Hn(Kw,Vw(t)),TR={code:Kw,name:IR,encode:Vw,digest:_R};var Ud={};R(Ud,{sha256:()=>RR,sha512:()=>BR});var kd=({name:t,code:e,encode:r})=>new Od(t,e,r),Od=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Hn(this.code,r):r.then(n=>Hn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var zw=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),RR=kd({name:"sha2-256",code:18,encode:zw("SHA-256")}),BR=kd({name:"sha2-512",code:19,encode:zw("SHA-512")});var $w={...Nd,...Td,...Ld,...Id,..._d,...vd,...Bd,...wd,...Dd,...Rd},Z$={...Ud,...Pd};function bc(t){return!!Sd(t)}function wc(t){return!!Cd(t)}function so(t){return!!xc(t)}var Hw=bc,DR=wc,Md=function(t){let e=0;if(t=t.toString().trim(),Hw(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(DR(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Hw(r[n]),s;o&&(s=Md(r[n]),r[n]=xt(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,xt(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},Gw=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ao={},Fd={},NR=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];NR.forEach(t=>{let e=PR(...t);Fd[e.code]=e,ao[e.name]=e});function PR(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ue(t){if(typeof t=="number"){if(Fd[t]!=null)return Fd[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ao[t]!=null)return ao[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var yH=ue("ip4"),gH=ue("ip6"),xH=ue("ipcidr");function Vd(t,e){switch(ue(t).code){case 4:case 41:return kR(e);case 42:return Qw(e);case 6:case 273:case 33:case 132:return jw(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qw(e);case 421:return KR(e);case 444:return Xw(e);case 445:return Xw(e);case 466:return FR(e);default:return xt(e,"base16")}}function qd(t,e){switch(ue(t).code){case 4:return Ww(e);case 41:return Ww(e);case 42:return Yw(e);case 6:case 273:case 33:case 132:return zd(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Yw(e);case 421:return UR(e);case 444:return VR(e);case 445:return qR(e);case 466:return MR(e);default:return cs(e,"base16")}}var Kd=Object.values($w).map(t=>t.decoder),OR=function(){let t=Kd[0].or(Kd[1]);return Kd.slice(2).forEach(e=>t=t.or(e)),t}();function Ww(t){if(!so(t))throw new Error("invalid ip address");return Md(t)}function kR(t){let e=Gw(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!so(e))throw new Error("invalid ip address");return e}function zd(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function jw(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Yw(t){let e=cs(t),r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function Qw(t){let e=zt(t);if(t=t.slice(at(e)),t.length!==e)throw new Error("inconsistent lengths");return xt(t)}function UR(t){let e;t[0]==="Q"||t[0]==="1"?e=yc(gt.decode(`z${t}`)).bytes:e=an.parse(t).multihash.bytes;let r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function MR(t){let e=OR.decode(t),r=Uint8Array.from(yt(e.length));return Lt([r,e],r.length+e.length)}function FR(t){let e=zt(t),r=t.slice(at(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+xt(r,"base64url")}function KR(t){let e=zt(t),r=t.slice(at(e));if(r.length!==e)throw new Error("inconsistent lengths");return xt(r,"base58btc")}function VR(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Lr.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=zd(n);return Lt([r,i],r.length+i.length)}function qR(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Lr.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=zd(n);return Lt([r,i],r.length+i.length)}function Xw(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=xt(e,"base32"),i=jw(r);return`${n}:${i}`}function Jw(t){t=$d(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=ue(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw e1("invalid address: "+t);if(a.path===!0){n=$d(i.slice(o).join("/")),e.push([a.code,qd(a.code,n)]),r.push([a.code,n]);break}let c=qd(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Vd(a.code,c)])}return{string:Zw(r),bytes:Gd(e),tuples:e,stringTuples:r,path:n}}function Hd(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=zt(t,i),s=at(o),a=ue(o),c=zR(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw e1("Invalid address Uint8Array: "+xt(t,"base16"));e.push([o,u]);let f=Vd(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(t),string:Zw(r),tuples:e,stringTuples:r,path:n}}function Zw(t){let e=[];return t.map(r=>{let n=ue(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),$d(e.join("/"))}function Gd(t){return Lt(t.map(e=>{let r=ue(e[0]),n=Uint8Array.from(yt(r.code));return e.length>1&&e[1]!=null&&(n=Lt([n,e[1]])),n}))}function zR(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=zt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+at(r)}}function $d(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function e1(t){return new Error("Error parsing address: "+t)}var $R=Symbol.for("nodejs.util.inspect.custom"),Wd=Symbol.for("@multiformats/js-multiaddr/multiaddr"),HR=[ue("dns").code,ue("dns4").code,ue("dns6").code,ue("dnsaddr").code],vc=class t{bytes;#e;#i;#o;#a;[Wd]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Hd(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Jw(e)}else if(cn(e))r=Hd(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#i=r.tuples,this.#o=r.stringTuples,this.#a=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=ue("tcp"),a=ue("udp"),c=ue("ip4"),u=ue("ip6"),f=ue("dns6"),h=ue("ip6zone");for(let[y,l]of this.stringTuples())y===h.code&&(o=`%${l??""}`),HR.includes(y)&&(r=s.name,i=443,n=`${l??""}${o}`,e=y===f.code?6:4),(y===s.code||y===a.code)&&(r=ue(y).name,i=parseInt(l??"")),(y===c.code||y===u.code)&&(r=ue(y).name,n=`${l??""}${o}`,e=y===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#i.map(([e])=>Object.assign({},ue(e)))}protoCodes(){return this.#i.map(([e])=>e)}protoNames(){return this.#i.map(([e])=>ue(e).name)}tuples(){return this.#i}stringTuples(){return this.#o}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Gd(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===ao.p2p.code&&e.push([n,i]),n===ao["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?xt(gt.decode(`z${n}`),"base58btc"):xt(an.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return fc(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Ec.get(r.name);if(n==null)throw new _(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[$R](){return`Multiaddr(${this.#e})`}};var Ec=new Map;function cn(t){return!!t?.[Wd]}function Ke(t){return new vc(t)}var t1="libp2p-peer-record",r1=Uint8Array.from([3,1]);var Ps;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=Ze((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>Je(o,n.codec()),n.decode=o=>je(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=Ze((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>Je(n,t.codec()),t.decode=n=>je(n,t.codec())})(Ps||(Ps={}));var Gn=class t{static createFromProtobuf=e=>{let r=Ps.decode(e),n=qi(r.peerId),i=(r.addresses??[]).map(s=>Ke(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=t1;static CODEC=r1;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Ps.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!Ew(this.multiaddrs,e.multiaddrs))}};function GR(t){return t[Symbol.asyncIterator]!=null}function WR(t){if(GR(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var Os=WR;var Wn=we(i1(),1);var Nr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Qd=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},o1=t=>globalThis.DOMException===void 0?new Qd(t):new DOMException(t),s1=t=>{let e=t.reason===void 0?o1("This operation was aborted."):t.reason;return e instanceof Error?e:o1(e)};function Pr(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:p}=e;p.aborted&&f(s1(p)),p.addEventListener("abort",()=>{f(s1(p))})}if(r===Number.POSITIVE_INFINITY){t.then(u,f);return}let h=new Nr;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(p){f(p)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?f(i):(h.message=i??`Promise timed out after ${r} milliseconds`,f(h))},r),(async()=>{try{u(await t)}catch(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}function Xd(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Us=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Xd(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var co=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Us,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n:0,this.#h()}#h(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#f=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!r.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#v()}},r),this.emit("add"),this.#l()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};var un={},uo=t=>{t.addEventListener("message",e=>{uo.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{uo.dispatchEvent("message",t,e)})};uo.addEventListener=(t,e)=>{un[t]==null&&(un[t]=[]),un[t].push(e)};uo.removeEventListener=(t,e)=>{un[t]!=null&&(un[t]=un[t].filter(r=>r===e))};uo.dispatchEvent=function(t,e,r){un[t]!=null&&un[t].forEach(n=>n(e,r))};var jd=uo;var Jd="lock:worker:request-read",Zd="lock:worker:release-read",e0="lock:master:grant-read",t0="lock:worker:request-write",r0="lock:worker:release-write",n0="lock:master:grant-write";var a1=(t=21)=>Math.random().toString().substring(2);var c1=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>{o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=f=>{if(f==null||f.data==null)return;let h={type:f.data.type,name:f.data.name,identifier:f.data.identifier};h.type===n&&h.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)})}}}))},u1=(t,e,r,n)=>async()=>{let i=a1();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},XR={singleProcess:!1},f1=t=>{if(t=Object.assign({},XR,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return jd.addEventListener("message",c1(r,"requestReadLock",Jd,Zd,e0)),jd.addEventListener("message",c1(r,"requestWriteLock",t0,r0,n0)),r}return{isWorker:!0,readLock:r=>u1(r,Jd,e0,Zd),writeLock:r=>u1(r,t0,n0,r0)}};var Yn={},fn;async function i0(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>Pr((async()=>{await new Promise(i=>{r(()=>{i()})})})(),{milliseconds:e.timeout})),n}var jR=(t,e)=>{if(fn.isWorker===!0)return{readLock:fn.readLock(t,e),writeLock:fn.writeLock(t,e)};let r=new co({concurrency:1}),n;return{async readLock(){if(n!=null)return i0(n,e);n=new co({concurrency:e.concurrency,autoStart:!1});let i=n,o=i0(n,e);return r.add(async()=>{i.start(),await i.onIdle().then(()=>{n===i&&(n=null)})}),o},async writeLock(){return n=null,i0(r,e)}}},JR={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function o0(t){let e=Object.assign({},JR,t);return fn==null&&(fn=f1(e),fn.isWorker!==!0&&(fn.addEventListener("requestReadLock",r=>{Yn[r.data.name]!=null&&Yn[r.data.name].readLock().then(async n=>r.data.handler().finally(()=>{n()}))}),fn.addEventListener("requestWriteLock",async r=>{Yn[r.data.name]!=null&&Yn[r.data.name].writeLock().then(async n=>r.data.handler().finally(()=>{n()}))}))),Yn[e.name]==null&&(Yn[e.name]=jR(e.name,e)),Yn[e.name]}function Sc(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var et={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var fo;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=Ze((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&s.value.byteLength>0&&(a.uint32(18),a.bytes(s.value)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let f=s.uint32();switch(f>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(f&7);break}}return c})),o),i.encode=s=>Je(s,i.codec()),i.decode=s=>je(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=Ze((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&(a.uint32(18),Ic.codec().encode(s.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:""},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let f=s.uint32();switch(f>>>3){case 1:c.key=s.string();break;case 2:c.value=Ic.codec().decode(s,s.uint32());break;default:s.skipType(f&7);break}}return c})),o),i.encode=s=>Je(s,i.codec()),i.decode=s=>je(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=Ze((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),Cc.codec().encode(a,o);if(i.protocols!=null)for(let a of i.protocols)o.uint32(18),o.string(a);if(i.publicKey!=null&&(o.uint32(34),o.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(o.uint32(42),o.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())o.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},o);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())o.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},o);s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.addresses.push(Cc.codec().decode(i,i.uint32()));break;case 2:s.protocols.push(i.string());break;case 4:s.publicKey=i.bytes();break;case 5:s.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());s.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());s.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return s})),n),t.encode=i=>Je(i,t.codec()),t.decode=i=>je(i,t.codec())})(fo||(fo={}));var Cc;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Cc||(Cc={}));var Ic;(function(t){let e;t.codec=()=>(e==null&&(e=Ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Je(r,t.codec()),t.decode=r=>je(r,t.codec())})(Ic||(Ic={}));function lo(t,e){let r=fo.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Ab({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[o,s]of r.tags.entries())s.expiry!=null&&s.expiry<i||n.set(o,s);return{...r,id:t,addresses:r.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:Ke(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}function _c(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var f0={};R(f0,{base10:()=>iB});function ZR(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var eB=ZR,tB=eB,l1=tB;var NG=new Uint8Array(0);var h1=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Or=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var d1=t=>new TextEncoder().encode(t),p1=t=>new TextDecoder().decode(t);var s0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},a0=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return y1(this,e)}},c0=class{constructor(e){this.decoders=e}or(e){return y1(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},y1=(t,e)=>new c0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),u0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new s0(e,r,n),this.decoder=new a0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},ho=({name:t,prefix:e,encode:r,decode:n})=>new u0(t,e,r,n),ln=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=l1(r,e);return ho({prefix:t,name:e,encode:n,decode:o=>Or(i(o))})},rB=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},nB=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Re=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>ho({prefix:e,name:t,encode(i){return nB(i,n,r)},decode(i){return rB(i,n,r,t)}});var iB=ln({prefix:"9",name:"base10",alphabet:"0123456789"});var l0={};R(l0,{base16:()=>oB,base16upper:()=>sB});var oB=Re({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),sB=Re({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var h0={};R(h0,{base2:()=>aB});var aB=Re({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var d0={};R(d0,{base256emoji:()=>hB});var g1=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}"),cB=g1.reduce((t,e,r)=>(t[r]=e,t),[]),uB=g1.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function fB(t){return t.reduce((e,r)=>(e+=cB[r],e),"")}function lB(t){let e=[];for(let r of t){let n=uB[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var hB=ho({prefix:"\u{1F680}",name:"base256emoji",encode:fB,decode:lB});var p0={};R(p0,{base32:()=>po,base32hex:()=>yB,base32hexpad:()=>xB,base32hexpadupper:()=>bB,base32hexupper:()=>gB,base32pad:()=>pB,base32padupper:()=>mB,base32upper:()=>dB,base32z:()=>wB});var po=Re({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),dB=Re({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),pB=Re({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),mB=Re({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),yB=Re({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),gB=Re({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),xB=Re({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),bB=Re({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wB=Re({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var m0={};R(m0,{base36:()=>vB,base36upper:()=>EB});var vB=ln({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),EB=ln({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var y0={};R(y0,{base58btc:()=>ar,base58flickr:()=>AB});var ar=ln({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),AB=ln({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var g0={};R(g0,{base64:()=>SB,base64pad:()=>CB,base64url:()=>IB,base64urlpad:()=>_B});var SB=Re({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),CB=Re({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),IB=Re({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),_B=Re({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var x0={};R(x0,{base8:()=>TB});var TB=Re({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var b0={};R(b0,{identity:()=>RB});var RB=ho({prefix:"\0",name:"identity",encode:t=>p1(t),decode:t=>d1(t)});var YG=new TextEncoder,QG=new TextDecoder;var v0={};R(v0,{identity:()=>JB});var LB=w1,x1=128,NB=127,PB=~NB,OB=Math.pow(2,31);function w1(t,e,r){e=e||[],r=r||0;for(var n=r;t>=OB;)e[r++]=t&255|x1,t/=128;for(;t&PB;)e[r++]=t&255|x1,t>>>=7;return e[r]=t|0,w1.bytes=r-n+1,e}var kB=w0,UB=128,b1=127;function w0(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw w0.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&b1)<<i:(s&b1)*Math.pow(2,i),i+=7}while(s>=UB);return w0.bytes=o-n,r}var MB=Math.pow(2,7),FB=Math.pow(2,14),KB=Math.pow(2,21),VB=Math.pow(2,28),qB=Math.pow(2,35),zB=Math.pow(2,42),$B=Math.pow(2,49),HB=Math.pow(2,56),GB=Math.pow(2,63),WB=function(t){return t<MB?1:t<FB?2:t<KB?3:t<VB?4:t<qB?5:t<zB?6:t<$B?7:t<HB?8:t<GB?9:10},YB={encode:LB,decode:kB,encodingLength:WB},QB=YB,Ms=QB;var Fs=(t,e=0)=>[Ms.decode(t,e),Ms.decode.bytes],mo=(t,e,r=0)=>(Ms.encode(t,e,r),e),yo=t=>Ms.encodingLength(t);var Qn=(t,e)=>{let r=e.byteLength,n=yo(t),i=n+yo(r),o=new Uint8Array(i+r);return mo(t,o,0),mo(r,o,n),o.set(e,i),new go(t,r,e,o)},v1=t=>{let e=Or(t),[r,n]=Fs(e),[i,o]=Fs(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new go(r,i,s,e)},E1=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&h1(t.bytes,r.bytes)}},go=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var A1=0,XB="identity",S1=Or,jB=t=>Qn(A1,S1(t)),JB={code:A1,name:XB,encode:S1,digest:jB};var S0={};R(S0,{sha256:()=>ZB,sha512:()=>eD});var A0=({name:t,code:e,encode:r})=>new E0(t,e,r),E0=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Qn(this.code,r):r.then(n=>Qn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var I1=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),ZB=A0({name:"sha2-256",code:18,encode:I1("SHA-256")}),eD=A0({name:"sha2-512",code:19,encode:I1("SHA-512")});var _1=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return rD(r,C0(t),e||ar.encoder);default:return nD(r,C0(t),e||po.encoder)}};var T1=new WeakMap,C0=t=>{let e=T1.get(t);if(e==null){let r=new Map;return T1.set(t,r),r}return e},Rc=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==Vs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==iD)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Qn(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&E1(e.multihash,n.multihash)}toString(e){return _1(this,e)}toJSON(){return{"/":_1(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||R1(n,i,o.bytes))}else if(r[oD]===!0){let{version:n,multihash:i,code:o}=r,s=v1(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==Vs)throw new Error(`Version 0 CID must use dag-pb (code: ${Vs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=R1(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Vs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Or(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new go(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Fs(e.subarray(r));return r+=p,h},i=n(),o=Vs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=tD(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return C0(o).set(n,e),o}},tD=(t,e)=>{switch(t[0]){case"Q":{let r=e||ar;return[ar.prefix,r.decode(`${ar.prefix}${t}`)]}case ar.prefix:{let r=e||ar;return[ar.prefix,r.decode(t)]}case po.prefix:{let r=e||po;return[po.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},rD=(t,e,r)=>{let{prefix:n}=r;if(n!==ar.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},nD=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Vs=112,iD=18,R1=(t,e,r)=>{let n=yo(t),i=n+yo(e),o=new Uint8Array(i+r.byteLength);return mo(t,o,0),mo(e,o,n),o.set(r,i),o},oD=Symbol.for("@ipld/js-cid/CID");var I0={...b0,...h0,...x0,...f0,...l0,...p0,...m0,...y0,...g0,...d0},lW={...S0,...v0};function B1(t=0){return globalThis.Buffer?.allocUnsafe!=null?_c(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function L1(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var D1=L1("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),_0=L1("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=B1(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),sD={utf8:D1,"utf-8":D1,hex:I0.base16,latin1:_0,ascii:_0,binary:_0,...I0},Bc=sD;function N1(t,e="utf8"){let r=Bc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?_c(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function P1(t,e="utf8"){let r=Bc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var kr="/",O1=new TextEncoder().encode(kr),Dc=O1[0],Xn=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=N1(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Dc)throw new Error("Invalid key")}toString(e="utf8"){return P1(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(kr))}static random(){return new t(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=O1),this._buf[0]!==Dc){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Dc,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Dc;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(kr).slice(1)}type(){return aD(this.baseNamespace())}name(){return cD(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(kr)||(e+=kr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(kr):new t(e.slice(0,-1).join(kr))}child(e){return this.toString()===kr?e:e.toString()===kr?this:new t(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return t.withNamespaces([...this.namespaces(),...uD(e.map(r=>r.namespaces()))])}};function aD(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function cD(t){let e=t.split(":");return e[e.length-1]}function uD(t){return[].concat(...t)}var T0="/peers/";function xo(t){if(!Ta(t)||t.type==null)throw new _("Invalid PeerId",et.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Xn(`${T0}${e}`)}async function k1(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ke(i.multiaddr)),!cn(i.multiaddr))throw new _("Multiaddr was invalid",et.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let o=i.isCertified??!1,s=i.multiaddr.toString(),a=n.get(s);a!=null?i.isCertified=a.isCertified||o:n.set(s,{multiaddr:i.multiaddr,isCertified:o})}return[...n.values()].sort((i,o)=>i.multiaddr.toString().localeCompare(o.multiaddr.toString())).map(({isCertified:i,multiaddr:o})=>({isCertified:i,multiaddr:o.bytes}))}async function Nc(t,e,r,n){if(e==null)throw new _("Invalid PeerData",et.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Sc(e.publicKey,t.publicKey))throw new _("publicKey bytes do not match peer id publicKey bytes",et.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new _("peer id did not match existing peer id",et.ERR_INVALID_PARAMETERS);let o=i?.addresses??[],s=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(o=[],e.multiaddrs!=null&&o.push(...e.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let h=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Lc(h,{validate:U1})}if(e.tags!=null){let h=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Lc(h,{validate:M1,map:F1})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(h=>({isCertified:!1,multiaddr:h}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let h=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[p,y]of h)y==null?a.delete(p):a.set(p,y);a=Lc([...a.entries()],{validate:U1})}if(e.tags!=null){let h=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),p=new Map(c);for(let[y,l]of h)l==null?p.delete(y):p.set(y,l);c=Lc([...p.entries()],{validate:M1,map:F1})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let f={addresses:await k1(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((h,p)=>h.localeCompare(p)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete f.publicKey,f}function Lc(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([o],[s])=>o.localeCompare(s)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function U1(t,e){if(typeof t!="string")throw new _("Metadata key must be a string",et.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new _("Metadata value must be a Uint8Array",et.ERR_INVALID_PARAMETERS)}function M1(t,e){if(typeof t!="string")throw new _("Tag name must be a string",et.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new _("Tag value must be an integer",et.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new _("Tag value must be between 0-100",et.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new _("Tag ttl must be an integer",et.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new _("Tag ttl must be between greater than 0",et.ERR_INVALID_PARAMETERS)}}function F1(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function Pc(t,e,r){let n=t.toString().split("/")[2],i=ir.decode(n),o=qi(i),s=r.get(o);if(s!=null)return s;let a=lo(o,e);return r.set(o,a),a}function fD(t,e){return t==null?{}:{prefix:T0,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(Pc(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(Pc(n.key,n.value,e),Pc(i.key,i.value,e)))}}var Oc=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=o0({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(xo(e))}async delete(e){if(this.peerId.equals(e))throw new _("Cannot delete self peer",et.ERR_INVALID_PARAMETERS);await this.datastore.delete(xo(e))}async load(e){let r=await this.datastore.get(xo(e));return lo(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"patch",{addressFilter:this.addressFilter});return this.#i(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Nc(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,o,n,i)}async*all(e){let r=new ot;for await(let{key:n,value:i}of this.datastore.query(fD(e??{},r))){let o=Pc(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(xo(e)),n=lo(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#i(e,r,n,i){let o=fo.encode(r);return n!=null&&Sc(o,n)?{peer:lo(e,o),previous:i,updated:!1}:(await this.datastore.put(xo(e),o),{peer:lo(e,o),previous:i,updated:!0})}};var kc=class{store;events;peerId;log;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:peer-store"),this.events=e.events,this.peerId=e.peerId,this.store=new Oc(e,r)}async forEach(e,r){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{this.log.trace("forEach release read lock"),n()}}async all(e){this.log.trace("all await read lock");let r=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Os(this.store.all(e))}finally{this.log.trace("all release read lock"),r()}}async delete(e){this.log.trace("delete await write lock");let r=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(e)}finally{this.log.trace("delete release write lock"),r()}}async has(e){this.log.trace("has await read lock");let r=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(e)}finally{this.log.trace("has release read lock"),r()}}async get(e){this.log.trace("get await read lock");let r=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(e)}finally{this.log.trace("get release read lock"),r()}}async save(e,r){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("save release write lock"),n()}}async patch(e,r){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(e,r){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Zi.openAndCertify(e,Gn.DOMAIN);if(r?.equals(n.peerId)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=Gn.createFromProtobuf(n.payload),o;try{o=await this.get(n.peerId)}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(o?.peerRecordEnvelope!=null){let s=await Zi.createFromProtobuf(o.peerRecordEnvelope),a=Gn.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(s=>({isCertified:!0,multiaddr:s}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function lD(t){return t[Symbol.asyncIterator]!=null}function hD(t){if(lD(t))return(async()=>{for await(let e of t);})();for(let e of t);}var R0=hD;function dD(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var K1=dD;function pD(t){return t[Symbol.asyncIterator]!=null}function mD(t,e){if(pD(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=K1(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var jn=mD;function yD(t){return t[Symbol.asyncIterator]!=null}function gD(t,e){return yD(t)?async function*(){yield*(await Os(t)).sort(e)}():function*(){yield*Os(t).sort(e)}()}var B0=gD;function xD(t){return t[Symbol.asyncIterator]!=null}function bD(t,e){return xD(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var D0=bD;var Uc=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await R0(this.putMany(e,n)),e=[],await R0(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=jn(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>jn(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>B0(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=jn(n,()=>i++>=o)}return e.limit!=null&&(n=D0(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=jn(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>jn(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>B0(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=jn(n,()=>o++>=i)}return e.limit!=null&&(n=D0(n,e.limit)),n}};var z1=we(L0(),1);function $1(t){return t=t??new Error("Not Found"),(0,z1.default)(t,"ERR_NOT_FOUND")}var Mc=class extends Uc{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw $1();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new Xn(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Xn(e)}};function Jn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Fc(t=0){return globalThis.Buffer?.allocUnsafe!=null?Jn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function H1(t,e){if(globalThis.Buffer!=null)return Jn(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Fc(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Jn(r)}var U0={};R(U0,{base10:()=>_D});function ED(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var AD=ED,SD=AD,G1=SD;var CY=new Uint8Array(0);var W1=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Ur=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Y1=t=>new TextEncoder().encode(t),Q1=t=>new TextDecoder().decode(t);var N0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},P0=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return j1(this,e)}},O0=class{constructor(e){this.decoders=e}or(e){return j1(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},j1=(t,e)=>new O0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),k0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new N0(e,r,n),this.decoder=new P0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},bo=({name:t,prefix:e,encode:r,decode:n})=>new k0(t,e,r,n),hn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=G1(r,e);return bo({prefix:t,name:e,encode:n,decode:o=>Ur(i(o))})},CD=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},ID=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>bo({prefix:e,name:t,encode(i){return ID(i,n,r)},decode(i){return CD(i,n,r,t)}});var _D=hn({prefix:"9",name:"base10",alphabet:"0123456789"});var M0={};R(M0,{base16:()=>TD,base16upper:()=>RD});var TD=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),RD=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var F0={};R(F0,{base2:()=>BD});var BD=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var K0={};R(K0,{base256emoji:()=>OD});var J1=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}"),DD=J1.reduce((t,e,r)=>(t[r]=e,t),[]),LD=J1.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function ND(t){return t.reduce((e,r)=>(e+=DD[r],e),"")}function PD(t){let e=[];for(let r of t){let n=LD[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var OD=bo({prefix:"\u{1F680}",name:"base256emoji",encode:ND,decode:PD});var V0={};R(V0,{base32:()=>wo,base32hex:()=>FD,base32hexpad:()=>VD,base32hexpadupper:()=>qD,base32hexupper:()=>KD,base32pad:()=>UD,base32padupper:()=>MD,base32upper:()=>kD,base32z:()=>zD});var wo=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),kD=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),UD=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),MD=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),FD=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),KD=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),VD=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),qD=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),zD=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var q0={};R(q0,{base36:()=>$D,base36upper:()=>HD});var $D=hn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),HD=hn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var z0={};R(z0,{base58btc:()=>cr,base58flickr:()=>GD});var cr=hn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),GD=hn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var $0={};R($0,{base64:()=>WD,base64pad:()=>YD,base64url:()=>QD,base64urlpad:()=>XD});var WD=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),YD=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),QD=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),XD=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var H0={};R(H0,{base8:()=>jD});var jD=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var G0={};R(G0,{identity:()=>JD});var JD=bo({prefix:"\0",name:"identity",encode:t=>Q1(t),decode:t=>Y1(t)});var KY=new TextEncoder,VY=new TextDecoder;var Y0={};R(Y0,{identity:()=>vL});var tL=t2,Z1=128,rL=127,nL=~rL,iL=Math.pow(2,31);function t2(t,e,r){e=e||[],r=r||0;for(var n=r;t>=iL;)e[r++]=t&255|Z1,t/=128;for(;t&nL;)e[r++]=t&255|Z1,t>>>=7;return e[r]=t|0,t2.bytes=r-n+1,e}var oL=W0,sL=128,e2=127;function W0(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw W0.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&e2)<<i:(s&e2)*Math.pow(2,i),i+=7}while(s>=sL);return W0.bytes=o-n,r}var aL=Math.pow(2,7),cL=Math.pow(2,14),uL=Math.pow(2,21),fL=Math.pow(2,28),lL=Math.pow(2,35),hL=Math.pow(2,42),dL=Math.pow(2,49),pL=Math.pow(2,56),mL=Math.pow(2,63),yL=function(t){return t<aL?1:t<cL?2:t<uL?3:t<fL?4:t<lL?5:t<hL?6:t<dL?7:t<pL?8:t<mL?9:10},gL={encode:tL,decode:oL,encodingLength:yL},xL=gL,qs=xL;var zs=(t,e=0)=>[qs.decode(t,e),qs.decode.bytes],vo=(t,e,r=0)=>(qs.encode(t,e,r),e),Eo=t=>qs.encodingLength(t);var Zn=(t,e)=>{let r=e.byteLength,n=Eo(t),i=n+Eo(r),o=new Uint8Array(i+r);return vo(t,o,0),vo(r,o,n),o.set(e,i),new Ao(t,r,e,o)},r2=t=>{let e=Ur(t),[r,n]=zs(e),[i,o]=zs(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Ao(r,i,s,e)},n2=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&W1(t.bytes,r.bytes)}},Ao=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var i2=0,bL="identity",o2=Ur,wL=t=>Zn(i2,o2(t)),vL={code:i2,name:bL,encode:o2,digest:wL};var j0={};R(j0,{sha256:()=>EL,sha512:()=>AL});var X0=({name:t,code:e,encode:r})=>new Q0(t,e,r),Q0=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Zn(this.code,r):r.then(n=>Zn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var a2=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),EL=X0({name:"sha2-256",code:18,encode:a2("SHA-256")}),AL=X0({name:"sha2-512",code:19,encode:a2("SHA-512")});var c2=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return CL(r,J0(t),e||cr.encoder);default:return IL(r,J0(t),e||wo.encoder)}};var u2=new WeakMap,J0=t=>{let e=u2.get(t);if(e==null){let r=new Map;return u2.set(t,r),r}return e},Vc=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==Hs)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==_L)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=Zn(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&n2(e.multihash,n.multihash)}toString(e){return c2(this,e)}toJSON(){return{"/":c2(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||f2(n,i,o.bytes))}else if(r[TL]===!0){let{version:n,multihash:i,code:o}=r,s=r2(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==Hs)throw new Error(`Version 0 CID must use dag-pb (code: ${Hs}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=f2(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Hs,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Ur(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Ao(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=zs(e.subarray(r));return r+=p,h},i=n(),o=Hs;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=SL(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return J0(o).set(n,e),o}},SL=(t,e)=>{switch(t[0]){case"Q":{let r=e||cr;return[cr.prefix,r.decode(`${cr.prefix}${t}`)]}case cr.prefix:{let r=e||cr;return[cr.prefix,r.decode(t)]}case wo.prefix:{let r=e||wo;return[wo.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},CL=(t,e,r)=>{let{prefix:n}=r;if(n!==cr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},IL=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Hs=112,_L=18,f2=(t,e,r)=>{let n=Eo(t),i=n+Eo(e),o=new Uint8Array(i+r.byteLength);return vo(t,o,0),vo(e,o,n),o.set(r,i),o},TL=Symbol.for("@ipld/js-cid/CID");var Z0={...G0,...F0,...H0,...U0,...M0,...V0,...q0,...z0,...$0,...K0},nQ={...j0,...Y0};function h2(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var l2=h2("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),ep=h2("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Fc(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),RL={utf8:l2,"utf-8":l2,hex:Z0.base16,latin1:ep,ascii:ep,binary:ep,...Z0},qc=RL;function zc(t,e="utf8"){let r=qc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Jn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function d2(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var BL=t=>t;function tp(t,e){let r=t.getPeerId();return r!=null&&se(r).equals(e)&&(t=t.decapsulate(Ke(`/p2p/${e.toString()}`))),t}var $c=class{log;components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.log=e.logger.forComponent("libp2p:address-manager"),this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??BL,this._updatePeerStoreAddresses=d2(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ke(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{this.log.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ke(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ke(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ke(e))}addObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=tp(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ke(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var rp=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n;this.components.logger==null&&(this.components.logger=oc())}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>Jy(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},DL=["metrics","connectionProtector"],LL=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function p2(t={}){let e=new rp(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!LL.includes(i)){let s=e.components[i];if(s==null&&!DL.includes(i))throw new _(`${i} not set`,"ERR_SERVICE_MISSING");return s}return Reflect.get(n,i,o)},set(n,i,o){return typeof i=="string"?e.components[i]=o:Reflect.set(n,i,o),!0}})}var v2=we(m2(),1);var y2="[a-fA-F\\d:]",dn=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${y2})|(?<=${y2})(?=\\s|$))`:"",$t="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Ue="[a-fA-F\\d]{1,4}",Hc=`
38
38
  (?:
39
- (?:${Be}:){7}(?:${Be}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
- (?:${Be}:){6}(?:${Ut}|:${Be}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
41
- (?:${Be}:){5}(?::${Ut}|(?::${Be}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
42
- (?:${Be}:){4}(?:(?::${Be}){0,1}:${Ut}|(?::${Be}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
43
- (?:${Be}:){3}(?:(?::${Be}){0,2}:${Ut}|(?::${Be}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
44
- (?:${Be}:){2}(?:(?::${Be}){0,3}:${Ut}|(?::${Be}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
45
- (?:${Be}:){1}(?:(?::${Be}){0,4}:${Ut}|(?::${Be}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
- (?::(?:(?::${Be}){0,5}:${Ut}|(?::${Be}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
39
+ (?:${Ue}:){7}(?:${Ue}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
+ (?:${Ue}:){6}(?:${$t}|:${Ue}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
41
+ (?:${Ue}:){5}(?::${$t}|(?::${Ue}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
42
+ (?:${Ue}:){4}(?:(?::${Ue}){0,1}:${$t}|(?::${Ue}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
43
+ (?:${Ue}:){3}(?:(?::${Ue}){0,2}:${$t}|(?::${Ue}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
44
+ (?:${Ue}:){2}(?:(?::${Ue}){0,3}:${$t}|(?::${Ue}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
45
+ (?:${Ue}:){1}(?:(?::${Ue}){0,4}:${$t}|(?::${Ue}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
+ (?::(?:(?::${Ue}){0,5}:${$t}|(?::${Ue}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
47
47
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
48
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),lE=new RegExp(`(?:^${Ut}$)|(?:^${Io}$)`),fE=new RegExp(`^${Ut}$`),hE=new RegExp(`^${Io}$`),Zu=t=>t&&t.exact?lE:new RegExp(`(?:${kr(t)}${Ut}${kr(t)})|(?:${kr(t)}${Io}${kr(t)})`,"g");Zu.v4=t=>t&&t.exact?fE:new RegExp(`${kr(t)}${Ut}${kr(t)}`,"g");Zu.v6=t=>t&&t.exact?hE:new RegExp(`${kr(t)}${Io}${kr(t)}`,"g");var mp=Zu;var wp=we(yp(),1),{isValid:dE,parse:pE}=wp.default,mE=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],gE=mE.map(t=>new bp.Netmask(t));function yE(t){for(let e of gE)if(e.contains(t))return!0;return!1}function xp(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Ep=t=>{if(dE(t)){let e=pE(t);if(e.kind()==="ipv4")return yE(e.toNormalizedString());if(e.kind()==="ipv6")return xp(t)}else if(Qn(t)&&mp.v6().test(t))return xp(t)};var To=Ep;function vp(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!To(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var xE=t=>t.toString().split("/").slice(1),Gi=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Ie=t=>({match:e=>Gi(r=>r===t).match(e),pattern:t}),Lo=()=>({match:t=>Gi(e=>typeof e=="string").match(t),pattern:"{string}"}),_p=()=>({match:t=>Gi(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),It=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{Ee.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),Ro=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{tc.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),Xt=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),Zt=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Ce=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Ne(...t){function e(i){let s=xE(i);for(let o of t){let a=o.match(s);if(a===!1)return!1;s=a}return s}function r(i){return e(i)!==!1}function n(i){let s=e(i);return s===!1?!1:s.length===0}return{matches:r,exactMatch:n}}var Ju=Ce(Ie("dns4"),Lo()),el=Ce(Ie("dns6"),Lo()),tl=Ce(Ie("dnsaddr"),Lo()),Sp=Ce(Ie("dns"),Lo()),xL=Ne(Ju),bL=Ne(el),wL=Ne(tl),EL=Ne(Zt(Sp,tl,Ju,el)),Ap=Ce(Ie("ip4"),Gi(no)),Ip=Ce(Ie("ip6"),Gi(io)),Cp=Zt(Ap,Ip),Wi=Zt(Cp,Sp,Ju,el,tl),vL=Ne(Wi),_L=Ne(Ap),SL=Ne(Ip),AL=Ne(Cp),Po=Ce(Wi,Ie("tcp"),_p()),Yi=Ce(Wi,Ie("udp"),_p()),bE=Zt(Po,Yi),IL=Ne(Po),CL=Ne(Yi),rl=Ce(Yi,Ie("quic")),Do=Ce(Yi,Ie("quic-v1")),wE=Zt(rl,Do),TL=Ne(rl),RL=Ne(Do),ju=Zt(Wi,Po,Yi,rl,Do),Tp=Zt(Ce(ju,Ie("ws"),Xt(It()))),BL=Ne(Tp),Rp=Zt(Ce(ju,Ie("wss"),Xt(It())),Ce(ju,Ie("tls"),Ie("ws"),Xt(It()))),LL=Ne(Rp),Bp=Ce(bE,Ie("webrtc-direct"),Ro(),Xt(Ro()),Xt(It())),PL=Ne(Bp),Lp=Ce(Do,Ie("webtransport"),Ro(),Ro(),Xt(It())),DL=Ne(Lp),Bo=Zt(Tp,Rp,Ce(Po,Xt(It())),Ce(wE,Xt(It())),Ce(Wi,Xt(It())),Bp,Lp,It()),NL=Ne(Bo),EE=Ce(Bo,Ie("p2p-circuit"),It()),nl=Ne(EE),vE=Zt(Ce(Bo,Ie("p2p-circuit"),Ie("webrtc"),It()),Ce(Bo,Ie("webrtc"),Xt(It())),Ie("webrtc")),kL=Ne(vE);function il(t){try{let{address:e}=t.nodeAddress();return!!To(e)}catch{return!0}}function _E(t,e){let r=il(t.multiaddr),n=il(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function SE(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function AE(t,e){let r=nl.exactMatch(t.multiaddr),n=nl.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function ri(t,e){let r=_E(t,e);if(r!==0)return r;let n=AE(t,e);return n!==0?n:SE(t,e)}var ol=we(ou(),1),al=we(Np(),1);function No(t,e,r){return`${t}?name=${e}&type=${r}`}async function kp(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function gn(t,e){return`${e}_${t}`}var sl=Object.assign((0,ol.default)("dns-over-http-resolver"),{error:(0,ol.default)("dns-over-http-resolver:error")}),cl=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new al.default({max:e?.maxCache??100}),this._TXTcache=new al.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??kp,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(gn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(No(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(gn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),sl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(gn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(No(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(gn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),sl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(gn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(No(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(gn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),sl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Op=cl;var Mp=Op;var{code:BE}=ce("dnsaddr");async function ni(t,e={}){let r=new Mp;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===BE)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var Gp=we(Hp(),1),Mo=Gp.default;var gr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(gr||(gr={}));var F;(function(t){t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(F||(F={}));var OE={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:ni},addressSorter:ri},transportManager:{faultTolerance:Er.FATAL_ALL}};function Wp(t){let e=Mo(OE,t);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new S(gr.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return e}var Ym=we($m(),1);function Ko(t){if(vs(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:se(r),t.forEach(n=>{if(!Pr(n))throw new S("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new S("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let s=se(i);if(e==null||!e.equals(s))throw new S("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function Ae(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}function Il(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Xi=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Il(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Zi=class extends fn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Xi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=pr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof dr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};function _v(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Cl=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new S("missing peer id",qa);let s={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(s);return}let o=_v(this.#e,s,(a,c)=>c.priority-a.priority);this.#e.splice(o,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},qo=class extends Zi{results;constructor(e={}){super({...e,queueClass:Cl}),this.results=new je}hasJob(e){return this.sizeBy({peerId:e})>0}async joinJob(e){let r=this.results.get(e);if(r==null)throw new S("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=Ae(),this.results.set(e,r)),r.promise}async add(e,r){let n=r?.peerId;if(n==null)throw new S("missing peer id",qa);return this.results.set(r.peerId,!0),super.add(async i=>{try{let s=await e(i),o=this.results.get(n);return o!=null&&o!==!0&&o.resolve(s),s}catch(s){let o=this.results.get(n);throw o!=null&&o!==!0&&o.reject(s),s}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};function zm(t,e="utf8"){let r=_o[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Vo="last-dial-failure";var $o=5,zo=100,Ho=50,Hm=1e3*60*7;var xn={minConnections:$o,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:Hm,autoDialDiscoveredPeersDebounce:10},Go=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;log;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??xn.minConnections,this.autoDialPriority=r.autoDialPriority??xn.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??xn.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??xn.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??xn.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??xn.autoDialDiscoveredPeersDebounce,this.log=e.logger.forComponent("libp2p:connection-manager:auto-dial"),this.started=!1,this.running=!1,this.queue=new qo({concurrency:r.autoDialConcurrency??xn.autoDialConcurrency}),this.queue.addListener("error",i=>{this.log.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{this.log.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{this.log.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.started=!0}afterStart(){this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started||this.running)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&this.log.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){this.log("not enough connections %d/%d but auto dial queue is full",r,this.minConnections),this.sheduleNextAutodial();return}this.running=!0,this.log("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new St(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(this.log.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(this.log.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(this.log.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(this.log.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new je;for(let u of s)o.has(u.id)||o.set(u.id,[...u.tags.values()].reduce((l,f)=>l+f.value,0));let c=s.sort((u,l)=>{let f=o.get(u.id)??0,d=o.get(l.id)??0;return f>d?-1:f<d?1:0}).filter(u=>{let l=u.metadata.get(Vo);if(l==null)return!0;let f=parseInt(zm(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});this.log("selected %d/%d peers to dial",c.length,i.length);for(let u of c)this.queue.add(async()=>{let l=this.connectionManager.getConnectionsMap().size;if(l>=this.minConnections){this.log("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}this.log("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{this.log.error("could not connect to peerStore stored peer",l)});this.running=!1,this.sheduleNextAutodial()}sheduleNextAutodial(){this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})},this.autoDialIntervalMs))}};var Gm={maxConnections:zo,allow:[]},Wo=class{maxConnections;connectionManager;peerStore;allow;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??Gm.maxConnections,this.allow=r.allow??Gm.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager:connection-pruner"),e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{this.log.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(this.log("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;this.log("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new je;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&this.log.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.timeline.open,d=c.timeline.open;return f<d?1:f>d?-1:0}),o=[];for(let a of s)if(this.log("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){this.log.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};function Yo(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function Ll(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var ji=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Ll(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var ui=class extends fn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:ji,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=pr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof dr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};async function Pl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await Iv(t,e),o=(await Promise.all(n.map(async a=>Pl(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return e.log("resolved %s to",t,o.map(a=>a.toString())),o}async function Iv(t,e){try{return t=De(t.toString()),await t.resolve(e)}catch(r){return e.log.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Wm(...t){let e=[];for(let n of t)n!=null&&(ht(1/0,n),e.push(n));let r=Yo(e);return ht(1/0,r),r}var Qo={addressSorter:ri,maxParallelDials:Ho,maxPeerAddrsToDial:25,dialTimeout:3e4,resolvers:{dnsaddr:ni}},Xo=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;log;constructor(e,r={}){this.addressSorter=r.addressSorter??Qo.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Qo.maxPeerAddrsToDial,this.dialTimeout=r.dialTimeout??Qo.dialTimeout,this.connections=r.connections??new je,this.log=e.logger.forComponent("libp2p:connection-manager:dial-queue"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,ht(1/0,this.shutDownController.signal),this.pendingDialCount=e.metrics?.registerMetric("libp2p_dial_queue_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dial_queue_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))oo.set(n,i);this.queue=new ui({concurrency:r.maxParallelDials??Qo.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{this.log.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}start(){this.shutDownController=new AbortController}stop(){this.shutDownController.abort(),this.queue.clear()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Ko(e),s=i.map(d=>({multiaddr:d,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(d){throw o.clear(),d}let c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:a.find(p=>p.multiaddr.equals(d.remoteAddr)));if(c!=null)return this.log("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(d=>!!(d.peerId!=null&&n!=null&&d.peerId.equals(n)||a.map(({multiaddr:p})=>p.toString()).join()===d.multiaddrs.map(p=>p.toString()).join()));if(u!=null)return this.log("joining existing dial target for %p",n),o.clear(),u.promise;this.log("creating dial target for",a.map(({multiaddr:d})=>d.toString()));let l={id:Cv(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:d})=>d)};l.promise=this.performDial(l,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(d=>d.id!==l.id),o.clear()}).catch(async d=>{if(this.log.error("dial failed to %s",l.multiaddrs.map(p=>p.toString()).join(", "),d),n!=null)try{await this.peerStore.patch(n,{metadata:{[Vo]:So(Date.now().toString())}})}catch(p){this.log.error("could not update last dial failure key for %p",n,p)}throw o.aborted?new S(d.message,_s):d}),this.pendingDials.push(l);let f=await l.promise;return c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:d.id!==f.id&&d.remoteAddr.equals(f.remoteAddr)),c!=null?(this.log("already connected to %a",c.remoteAddr),await f.close(),c):(this.log("connection opened to %a",f.remoteAddr),f)}createDialAbortControllers(e){let r=Yo([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);return ht(1/0,r),r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new S("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new S("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){this.log("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),this.log("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==F.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await Pl(l.multiaddr,{...n,log:this.log});return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat();if(e!=null){let l=`/p2p/${e.toString()}`;i=i.map(f=>f.multiaddr.protos().pop()?.path===!0?f:f.multiaddr.getPeerId()==null?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f)}let s=i.filter(l=>{if(this.transportManager.transportForMultiaddr(l.multiaddr)==null)return!1;let f=l.multiaddr.getPeerId();return e!=null&&f!=null?e.equals(f):!0}),o=new Map;for(let l of s){let f=l.multiaddr.toString(),d=o.get(f);if(d!=null){d.isCertified=d.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(this.log("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),this.log("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new S("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new S("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new S("The connection gater denied all addresses in the dial request",F.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new ui({concurrency:1});i.on("error",o=>{this.log.error("error dialing %s %o",e.multiaddrs,o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new S("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=Wm(c.signal,r.signal);u.addEventListener("abort",()=>{this.log("dial to %a aborted",o)});let l=Ae();return await i.add(async()=>{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new Cn);return}await this.queue.add(async()=>{try{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new Cn);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){this.log("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{this.log.error("error closing superfluous connection",d)}),l.reject(new Cn);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),this.log("dial to %a succeeded",o),l.resolve(f)}catch(f){this.log.error("error during dial of %a",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(s==null)throw new S("successful dial led to empty object returned from peer dial queue",F.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function Cv(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Bv=50,bn={minConnections:$o,maxConnections:zo,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},Zo=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??bn.maxConnections;let n=r.minConnections??bn.minConnections;if(this.maxConnections<n)throw new S("Connection Manager maxConnections must be greater than minConnections",F.ERR_INVALID_PARAMETERS);this.connections=new je,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager"),this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>De(i)),this.deny=(r.deny??[]).map(i=>De(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??bn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Ym.RateLimiterMemory({points:r.inboundConnectionThreshold??bn.inboundConnectionThreshold,duration:1}),this.autoDial=new Go({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??bn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??bn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??bn.autoDialMaxQueueLength}),this.connectionPruner=new Wo({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new Xo({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater,logger:e.logger},{addressSorter:r.addressSorter??ri,maxParallelDials:r.maxParallelDials??Ho,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:ni},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.direction} ${i.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.direction} ${o.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.dialQueue.start(),this.autoDial.start(),this.started=!0,this.log("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(bh)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{this.log.error(n)})}))}).catch(e=>{this.log.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){this.log.error(i)}})());this.log("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),this.log("stopped")}onConnect(e){this._onConnect(e).catch(r=>{this.log.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new S("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=Ko(e);if(n!=null&&r.force!==!0){this.log("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return this.log("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??Bv}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(s){i.abort(s)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.log("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return this.log("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return this.log("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(this.log("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var jo=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},li=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new jo(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new jo(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var kl=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Qm(t={}){return Lv(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Lv(t,e){e=e??{};let r=e.onEnd,n=new li,i,s,o,a=Ae(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((g,y)=>{s=x=>{s=null,n.push(x);try{g(t(n))}catch(b){y(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Ae()})}},u=g=>s!=null?s(g):(n.push(g),i),l=g=>(n=new li,s!=null?s({error:g}):(n.push({error:g}),i)),f=g=>{if(o)return i;if(e?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:g})},d=g=>o?i:(o=!0,g!=null?l(g):u({done:!0})),p=()=>(n=new li,d(),{done:!0}),h=g=>(d(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:h,push:f,end:d,get readableLength(){return n.size},onEmpty:async g=>{let y=g?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let x,b;y!=null&&(x=new Promise((I,v)=>{b=()=>{v(new kl)},y.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&y!=null&&y?.removeEventListener("abort",b)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(g){return m.throw(g),r!=null&&(r(g),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(g){return m.end(g),r!=null&&(r(g),r=void 0),i},get readableLength(){return m.readableLength},onEmpty:g=>m.onEmpty(g)},i}function Pv(t){return t[Symbol.asyncIterator]!=null}function Dv(...t){let e=[];for(let r of t)Pv(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Qm({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Ji=Dv;var Jo=globalThis.CustomEvent??Event;async function*es(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,s=[],o=Ae(),a=Ae(),c=!1,u,l=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(s.length===r&&(o=Ae(),await o.promise),l)break;let m={done:!1};s.push(m),h().then(g=>{m.done=!0,m.ok=!0,m.value=g,i.dispatchEvent(new Jo("task-complete"))},g=>{m.done=!0,m.err=g,i.dispatchEvent(new Jo("task-complete"))})}c=!0,i.dispatchEvent(new Jo("task-complete"))}catch(h){u=h,i.dispatchEvent(new Jo("task-complete"))}});function f(){return n?s[0]?.done:!!s.find(h=>h.done)}function*d(){for(;s.length>0&&s[0].done;){let h=s[0];if(s.shift(),h.ok)yield h.value;else throw l=!0,o.resolve(),h.err;o.resolve()}}function*p(){for(;f();)for(let h=0;h<s.length;h++)if(s[h].done){let m=s[h];if(s.splice(h,1),h--,m.ok)yield m.value;else throw l=!0,o.resolve(),m.err;o.resolve()}}for(;;){if(f()||(a=Ae(),await a.promise),u!=null)throw u;if(n?yield*d():yield*p(),c&&s.length===0)break}}var ea=class{log;routers;started;components;constructor(e,r){this.log=e.logger.forComponent("libp2p:content-routing"),this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new S("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new St;for await(let s of es(async function*(){let o=Ji(...n.routers.map(a=>a.findProviders(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.components.peerRouting.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.components.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}async provide(e,r={}){if(this.routers.length===0)throw new S("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new S(gr.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new S(gr.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};var ta=class{log;peerId;peerStore;routers;constructor(e,r){this.log=e.logger.forComponent("libp2p:peer-routing"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new S("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.peerId.toString())throw new S("Should not try to find self",F.ERR_FIND_SELF);let n=this,i=Ji(...this.routers.map(s=>async function*(){try{yield await s.findPeer(e,r)}catch(o){n.log.error(o)}}()));for await(let s of i)if(s!=null)return await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),s;throw new S(gr.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){if(this.routers.length===0)throw new S("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new St;for await(let s of es(async function*(){let o=Ji(...n.routers.map(a=>a.getClosestPeers(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}};var Ol=32,Ml=64,ra=class{log;topologies;handlers;components;constructor(e){this.log=e.logger.forComponent("libp2p:registrar"),this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onPeerIdentify=this._onPeerIdentify.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate),this.components.events.addEventListener("peer:identify",this._onPeerIdentify)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new S(`No handler registered for protocol ${e}`,F.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new S(`Handler already registered for protocol ${e}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Mo.bind({ignoreUndefined:!0})({maxInboundStreams:Ol,maxOutboundStreams:Ml},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){(Array.isArray(e)?e:[e]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(e,r){if(r==null)throw new S("invalid topology",F.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect?.(r)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&this.log.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s));for(let s of i){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onDisconnect?.(r.id)}}_onPeerIdentify(e){let r=e.detail.protocols,n=e.detail.connection,i=e.detail.peerId;for(let s of r){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())n.transient&&a.notifyOnTransient!==!0||a.onConnect?.(i,n)}}};var Ul=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Xm(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Ul({name:e,metrics:r}):n=new Map,n}var na=class{log;components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:transports"),this.components=e,this.started=!1,this.transports=new Map,this.listeners=Xm({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Er.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new S("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new S(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);this.log("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(this.log("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),this.log("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new S(`No transport available for address ${String(e)}`,F.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=F.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new S("Not started",F.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){this.log("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let s=i.filter(e),o=[];for(let u of s){this.log("creating listener for %s on %a",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let d=f.findIndex(p=>p===l);f.splice(d,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Er.NO_FATAL)throw new S(`Transport (${n}) could not listen on any available address`,F.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Er.FATAL_ALL)throw new S(n,F.ERR_NO_VALID_ADDRESSES);this.log(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];this.log.trace("removing transport %s",e);let n=[];for(this.log.trace("closing listeners for %s",e);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var Ye="/multistream/1.0.0";var ia=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function sa(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new ia(r?.errorMessage,r?.errorCode));let n,i=new ia(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((s,o)=>{n=()=>{o(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Fl=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Ae(),this.haveNext=Ae()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=Ae(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Ae(),await sa(this.needNext.promise,r?.signal,r)}};function Zm(){return new Fl}var oa=class extends Error{code;constructor(e,r){super(e),this.code=r}},Kl=class extends oa{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function jm(t,e){let r=Zm();t.sink(r).catch(async o=>{await r.end(o)}),t.sink=async o=>{for await(let a of o)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new Fe;return{read:async(o,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((l,f)=>{c=()=>{f(new Kl("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(o==null){let{done:f,value:d}=await Promise.race([n.next(),u]);return f===!0?new Fe:d}for(;i.byteLength<o;){let{value:f,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new oa("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(f)}let l=i.sublist(0,o);return i.consume(o),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(o,a)=>{a?.signal?.throwIfAborted(),o instanceof Uint8Array?await r.push(o,a):await r.push(o.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let o=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*o}()}return t}}}function aa(t){return t[Symbol.asyncIterator]!=null}var ca=t=>{let e=et(t),r=Ze(e);return ut(t,r),ca.bytes=e,r};ca.bytes=0;function wn(t,e){e=e??{};let r=e.lengthEncoder??ca;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return aa(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}wn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??ca;return new Fe(r(t.byteLength),t)};var fi=we(Wu(),1);var Nv=8,kv=1024*1024*4,En;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(En||(En={}));var Vl=t=>{let e=Mt(t);return Vl.bytes=et(e),e};Vl.bytes=0;function ql(t,e){let r=new Fe,n=En.LENGTH,i=-1,s=e?.lengthDecoder??Vl,o=e?.maxLengthLength??Nv,a=e?.maxDataLength??kv;function*c(){for(;r.byteLength>0;){if(n===En.LENGTH)try{if(i=s(r),i<0)throw(0,fi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,fi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=En.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,fi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===En.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=En.LENGTH}}}return aa(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,fi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,fi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}ql.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return ql(n,{...e??{},onLength:s=>{r=s}})};var ua=class extends Error{code;constructor(e,r){super(e),this.code=r}},Jm=t=>Mt(t);Jm.bytes=0;function ts(t,e={}){let r=jm(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=et(e.maxDataLength)),{read:async i=>{let s=-1,o=new Fe,a=e?.lengthDecoder??Jm;for(;;){o.append(await r.read(1,i));try{s=a(o)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&o.byteLength>e.maxLengthLength)throw new ua("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(s>-1)break}if(e?.maxDataLength!=null&&s>e.maxDataLength)throw new ua("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(s,i)},write:async(i,s)=>{await r.write(wn.single(i,e),s)},writeV:async(i,s)=>{let o=new Fe(...i.map(a=>wn.single(a,e)));await r.write(o,s)},unwrap:()=>r.unwrap()}}function la(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function eg(t=0){return globalThis.Buffer?.allocUnsafe!=null?la(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function rg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var tg=rg("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),$l=rg("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=eg(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Mv={utf8:tg,"utf-8":tg,hex:de.base16,latin1:$l,ascii:$l,binary:$l,...de},fa=Mv;function rt(t,e="utf8"){let r=fa[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?la(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function ng(t,e="utf8"){let r=fa[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Uv=rt(`
49
- `);async function vn(t,e,r){await t.write(e,r)}async function ig(t,e,r){await t.writeV(e,r)}async function Fv(t,e){let r=await t.read(e);if(r.byteLength===0||r.get(r.byteLength-1)!==Uv[0])throw e.log.error("Invalid mss message - missing newline",r),new S("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return r.sublist(0,-1)}async function Mr(t,e){let r=await Fv(t,e);return ng(r.subarray())}async function rs(t,e,r){if(e=Array.isArray(e)?[...e]:[e],e.length===1)return Kv(t,e[0],r);let n=ts(t,{...r,maxDataLength:1024}),i=e.shift();if(i==null)throw new Error("At least one protocol must be specified");r.log.trace('select: write ["%s", "%s"]',Ye,i);let s=rt(`${Ye}
50
- `),o=rt(`${i}
51
- `);await ig(n,[s,o],r),r.log.trace("select: reading multistream-select header");let a=await Mr(n,r);if(r.log.trace('select: read "%s"',a),a===Ye&&(r.log.trace("select: reading protocol response"),a=await Mr(n,r),r.log.trace('select: read "%s"',a)),a===i)return{stream:n.unwrap(),protocol:i};for(let c of e){r.log.trace('select: write "%s"',c),await vn(n,rt(`${c}
52
- `),r),r.log.trace("select: reading protocol response");let u=await Mr(n,r);if(r.log.trace('select: read "%s" for "%s"',u,c),u===c)return{stream:n.unwrap(),protocol:c}}throw new S("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}function Kv(t,e,r){let n=t.sink.bind(t),i=t.source,s=!1,o=!1,a=Ae(),c=!1,u=!1,l=Ae(),f=!1,d=!1,p=Ae(),h=ts({sink:n,source:i},{...r,maxDataLength:1024});t.sink=async x=>{let{sink:b}=h.unwrap();await b(async function*(){let I=!1;for await(let v of x){if(u&&await l.promise,c)yield v;else{u=!0,r.log.trace('optimistic: write ["%s", "%s", data(%d)] in sink',Ye,e,v.byteLength);let _=`${e}
53
- `;yield new Fe(Uint8Array.from([19]),rt(`${Ye}
54
- `),ut(_.length),rt(_),v).subarray(),r.log.trace('optimistic: wrote ["%s", "%s", data(%d)] in sink',Ye,e,v.byteLength),c=!0,u=!1,l.resolve(),m().catch(P=>{r.log.error("could not finish optimistic protocol negotiation of %s",e,P)})}I=!0}I||await m()}())};async function m(){if(o){r.log.trace("optimistic: already negotiating %s stream",e),await a.promise;return}o=!0;try{c||(r.log.trace("optimistic: doing send protocol for %s stream",e),await g()),f||(r.log.trace("optimistic: doing read protocol for %s stream",e),await y())}finally{o=!1,s=!0,a.resolve()}}async function g(){if(u){await l.promise;return}u=!0;try{r.log.trace('optimistic: write ["%s", "%s", data] in source',Ye,e),await h.writeV([rt(`${Ye}
55
- `),rt(`${e}
56
- `)]),r.log.trace('optimistic: wrote ["%s", "%s", data] in source',Ye,e)}finally{c=!0,u=!1,l.resolve()}}async function y(){if(d){await p.promise;return}d=!0;try{r.log.trace("optimistic: reading multistream select header");let x=await Mr(h,r);if(r.log.trace('optimistic: read multistream select header "%s"',x),x===Ye&&(x=await Mr(h,r)),r.log.trace('optimistic: read protocol "%s", expecting "%s"',x,e),x!==e)throw new S("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}finally{f=!0,d=!1,p.resolve()}}if(t.source=async function*(){await m(),r.log.trace('optimistic: reading data from "%s" stream',e),yield*h.unwrap().source}(),t.closeRead!=null){let x=t.closeRead.bind(t);t.closeRead=async b=>{s||await m().catch(I=>{r.log.error("could not negotiate protocol before close read",I)}),await x(b)}}if(t.closeWrite!=null){let x=t.closeWrite.bind(t);t.closeWrite=async b=>{s||await m().catch(I=>{r.log.error("could not negotiate protocol before close write",I)}),await x(b)}}if(t.close!=null){let x=t.close.bind(t);t.close=async b=>{let I=[];u&&I.push(l.promise),d&&I.push(p.promise),I.length>0?await sa(Promise.all(I),b?.signal):(s=!0,o=!1,a.resolve()),await x(b)}}return{stream:t,protocol:e}}async function ns(t,e,r){e=Array.isArray(e)?e:[e],r.log.trace("handle: available protocols %s",e);let n=ts(t,{...r,maxDataLength:1024,maxLengthLength:2});for(;;){r.log.trace("handle: reading incoming string");let i=await Mr(n,r);if(r.log.trace('handle: read "%s"',i),i===Ye){r.log.trace('handle: respond with "%s" for "%s"',Ye,i),await vn(n,rt(`${Ye}
57
- `),r),r.log.trace('handle: responded with "%s" for "%s"',Ye,i);continue}if(e.includes(i))return r.log.trace('handle: respond with "%s" for "%s"',i,i),await vn(n,rt(`${i}
58
- `),r),r.log.trace('handle: responded with "%s" for "%s"',i,i),{stream:n.unwrap(),protocol:i};if(i==="ls"){let s=new Fe(...e.map(o=>wn.single(rt(`${o}
59
- `))),rt(`
60
- `));r.log.trace('handle: respond with "%s" for %s',e,i),await vn(n,s,r),r.log.trace('handle: responded with "%s" for %s',e,i);continue}r.log('handle: respond with "na" for "%s"',i),await vn(n,rt(`na
61
- `),r),r.log('handle: responded with "na" for "%s"',i)}}var Vv=500,zl=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,abort:o,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=i,this._close=s,this._abort=o,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[xh]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new S("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new S("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new S("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let r=AbortSignal.timeout(Vv);ht(1/0,r),e={...e,signal:r}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function og(t){return new zl(t)}var zv=3e4;function Hv(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Ol}function Gv(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??Ml}function ag(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var da=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new S(`The multiaddr connection is blocked by gater.${n}`,F.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new S("connection denied",F.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{e.abort(new S("inbound upgrade timeout",_s))};u.addEventListener("abort",l,{once:!0}),ht(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new S("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(e.log("protecting the inbound connection"),f=await d.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let d={...f,...i};await this.shouldBlockConnection(s,d,"denyInboundEncryptedConnection")}else{let d=e.remoteAddr.getPeerId();if(d==null)throw new S("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=se(d);c="native",s=p}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,o=d.stream}}catch(d){throw e.log.error("failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s,transient:r?.transient})}finally{u.removeEventListener("abort",l),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=se(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new S("Encryption was skipped but no peer id was passed",F.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw e.log.error("failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a,transient:c}=e,u,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:h=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:g,protocol:y}=await ns(h,m,{log:h.log,yieldBytes:!1});if(f==null)return;f.log("incoming stream opened on %s",y);let x=Hv(y,this.components.registrar);if(ag(y,"inbound",f)===x){let I=new S(`Too many inbound protocol streams for protocol "${y}" - limit ${x}`,F.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw h.abort(I),I}h.source=g.source,h.sink=g.sink,h.protocol=y,g.closeWrite!=null&&(h.closeWrite=g.closeWrite),g.closeRead!=null&&(h.closeRead=g.closeRead),g.close!=null&&(h.close=g.close),await this.components.peerStore.merge(o,{protocols:[y]}),this.components.metrics?.trackProtocolStream(h,f),this._onStream({connection:f,stream:h,protocol:y})}).catch(async m=>{f.log.error("error handling incoming stream id %s",h.id,m.message,m.code,m.stack),h.timeline.close==null&&await h.close()})}}),l=async(h,m={})=>{if(u==null)throw new S("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);f.log("starting new stream for protocols %s",h);let g=await u.newStream();f.log.trace("started new stream %s for protocols %s",g.id,h);try{if(m.signal==null){g.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h);let v=AbortSignal.timeout(zv);ht(1/0,v),m={...m,signal:v}}g.log.trace("selecting protocol from protocols %s",h);let{stream:y,protocol:x}=await rs(g,h,{...m,log:g.log,yieldBytes:!0});g.log("selected protocol %s",x);let b=Gv(x,this.components.registrar,m);if(ag(x,"outbound",f)>=b){let v=new S(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw g.abort(v),v}return await this.components.peerStore.merge(o,{protocols:[x]}),g.source=y.source,g.sink=y.sink,g.protocol=x,y.closeWrite!=null&&(g.closeWrite=y.closeWrite),y.closeRead!=null&&(g.closeRead=y.closeRead),y.close!=null&&(g.close=y.close),this.components.metrics?.trackProtocolStream(g,f),g}catch(y){throw f.log.error("could not create new stream for protocols %s",h,y),g.timeline.close==null&&g.abort(y),y.code!=null?y:new S(String(y),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(h=>{f.log.error("error piping data through muxer",h)}));let d=i.timeline;i.timeline=new Proxy(d,{set:(...h)=>(f!=null&&h[1]==="close"&&h[2]!=null&&d.close==null&&(async()=>{try{f.status==="open"&&await f.close()}catch(m){f.log.error("error closing connection after timeline close",m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{f.log.error("error thrown while dispatching connection:close event",m)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let p=()=>{throw new S("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=og({remoteAddr:i.remoteAddr,remotePeer:o,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,logger:this.components.logger,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async h=>{u!=null&&(f.log.trace("close muxer"),await u.close(h)),f.log.trace("close maconn"),await i.close(h),f.log.trace("closed maconn")},abort:h=>{i.abort(h),u?.abort(h)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s,options:o}=this.components.registrar.getHandler(i);if(r.transient&&o.runOnTransientConnection!==!0)throw new S("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await ns(e,r,{log:e.log}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return e.log("encrypting inbound connection using",i),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new S(n.message,F.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:i,protocol:s}=await rs(e,n,{log:e.log,yieldBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return e.log("encrypting outbound connection to %p using %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw e.log.error("encrypting outbound connection to %p failed",i),new S(i.message,F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:i,protocol:s}=await rs(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing outbound connection",i),new S(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());e.log("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await ns(e,n,{log:e.log}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing inbound connection",i),new S(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var cg="1.0.11-cd8cafcd5",ug="libp2p";var Hl=class extends wi{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let r=new wi,n=r.dispatchEvent.bind(r);r.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new $a(a.type,{detail:a.detail}));return c||u},ht(1/0,r),this.peerId=e.peerId,this.logger=e.logger??Qs(),this.log=this.logger.forComponent("libp2p"),this.services={};let i=this.components=hp({peerId:e.peerId,nodeInfo:e.nodeInfo??{name:ug,version:cg},logger:this.logger,events:r,datastore:e.datastore??new Eo,connectionGater:vp(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new bo(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new da(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new na(this.components,e.transportManager)),this.configureComponent("connectionManager",new Zo(this.components,e.connectionManager)),this.configureComponent("registrar",new ra(this.components)),this.configureComponent("addressManager",new Ao(this.components,e.addresses));let s=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new ta(this.components,{routers:s}));let o=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new ea(this.components,{routers:o})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",l=>{this.#e(l)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[Ma]!=null&&(this.log("registering service %s for content routing",a),o.push(u[Ma])),u[Ka]!=null&&(this.log("registering service %s for peer routing",a),s.push(u[Ka])),u[Ua]!=null&&(this.log("registering service %s for peer discovery",a),u[Ua].addEventListener?.("peer",l=>{this.#e(l)}))}}configureComponent(e,r){return r==null&&this.log.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new St;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,{priority:75,...r})}async dialProtocol(e,r,n={}){if(r==null)throw new S("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new S("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){Pr(e)&&(e=se(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=cp([So("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return Ui(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){this.log.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs}).catch(n=>{this.log.error(n)})}};async function lg(t={}){return t.peerId??=await hd(),new Hl(Wp(t))}async function Yv(t={}){let e=await lg(t);return t.start!==!1&&await e.start(),e}return Sg(Qv);})();
48
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),NL=new RegExp(`(?:^${$t}$)|(?:^${Hc}$)`),PL=new RegExp(`^${$t}$`),OL=new RegExp(`^${Hc}$`),np=t=>t&&t.exact?NL:new RegExp(`(?:${dn(t)}${$t}${dn(t)})|(?:${dn(t)}${Hc}${dn(t)})`,"g");np.v4=t=>t&&t.exact?PL:new RegExp(`${dn(t)}${$t}${dn(t)}`,"g");np.v6=t=>t&&t.exact?OL:new RegExp(`${dn(t)}${Hc}${dn(t)}`,"g");var g2=np;var E2=we(b2(),1),{isValid:kL,parse:UL}=E2.default,ML=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],FL=ML.map(t=>new v2.Netmask(t));function KL(t){for(let e of FL)if(e.contains(t))return!0;return!1}function w2(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var A2=t=>{if(kL(t)){let e=UL(t);if(e.kind()==="ipv4")return KL(e.toNormalizedString());if(e.kind()==="ipv6")return w2(t)}else if(so(t)&&g2.v6().test(t))return w2(t)};var Wc=A2;function S2(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Wc(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}function VL(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var qL=VL,zL=qL,C2=zL;var BQ=new Uint8Array(0);var I2=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var ip=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},op=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return _2(this,e)}},sp=class{constructor(e){this.decoders=e}or(e){return _2(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},_2=(t,e)=>new sp({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),ap=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ip(e,r,n),this.decoder=new op(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},T2=({name:t,prefix:e,encode:r,decode:n})=>new ap(t,e,r,n),cp=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=C2(r,e);return T2({prefix:t,name:e,encode:n,decode:o=>I2(i(o))})},$L=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},HL=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ws=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>T2({prefix:e,name:t,encode(i){return HL(i,n,r)},decode(i){return $L(i,n,r,t)}});var R2=cp({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),kQ=cp({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var FQ=Ws({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),KQ=Ws({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),B2=Ws({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),VQ=Ws({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var GL=t=>t.toString().split("/").slice(1),Ys=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Ne=t=>({match:e=>Ys(r=>r===t).match(e),pattern:t}),Xc=()=>({match:t=>Ys(e=>typeof e=="string").match(t),pattern:"{string}"}),D2=()=>({match:t=>Ys(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),Nt=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{R2.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),Yc=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{B2.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),ur=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),fr=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Pe=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Ve(...t){function e(i){let o=GL(i);for(let s of t){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return e(i)!==!1}function n(i){let o=e(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var fp=Pe(Ne("dns4"),Xc()),lp=Pe(Ne("dns6"),Xc()),hp=Pe(Ne("dnsaddr"),Xc()),L2=Pe(Ne("dns"),Xc()),WQ=Ve(fp),YQ=Ve(lp),QQ=Ve(hp),XQ=Ve(fr(L2,hp,fp,lp)),N2=Pe(Ne("ip4"),Ys(bc)),P2=Pe(Ne("ip6"),Ys(wc)),O2=fr(N2,P2),Qs=fr(O2,L2,fp,lp,hp),jQ=Ve(Qs),JQ=Ve(N2),ZQ=Ve(P2),eX=Ve(O2),jc=Pe(Qs,Ne("tcp"),D2()),Xs=Pe(Qs,Ne("udp"),D2()),WL=fr(jc,Xs),tX=Ve(jc),rX=Ve(Xs),dp=Pe(Xs,Ne("quic")),Jc=Pe(Xs,Ne("quic-v1")),YL=fr(dp,Jc),nX=Ve(dp),iX=Ve(Jc),up=fr(Qs,jc,Xs,dp,Jc),k2=fr(Pe(up,Ne("ws"),ur(Nt()))),oX=Ve(k2),U2=fr(Pe(up,Ne("wss"),ur(Nt())),Pe(up,Ne("tls"),Ne("ws"),ur(Nt()))),sX=Ve(U2),M2=Pe(WL,Ne("webrtc-direct"),Yc(),ur(Yc()),ur(Nt())),aX=Ve(M2),F2=Pe(Jc,Ne("webtransport"),Yc(),Yc(),ur(Nt())),cX=Ve(F2),Qc=fr(k2,U2,Pe(jc,ur(Nt())),Pe(YL,ur(Nt())),Pe(Qs,ur(Nt())),M2,F2,Nt()),uX=Ve(Qc),QL=Pe(Qc,Ne("p2p-circuit"),Nt()),pp=Ve(QL),XL=fr(Pe(Qc,Ne("p2p-circuit"),Ne("webrtc"),Nt()),Pe(Qc,Ne("webrtc"),ur(Nt())),Ne("webrtc")),fX=Ve(XL);function mp(t){try{let{address:e}=t.nodeAddress();return!!Wc(e)}catch{return!0}}function jL(t,e){let r=mp(t.multiaddr),n=mp(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function JL(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function ZL(t,e){let r=pp.exactMatch(t.multiaddr),n=pp.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function So(t,e){let r=jL(t,e);if(r!==0)return r;let n=ZL(t,e);return n!==0?n:JL(t,e)}var gp=we(sh(),1),xp=we(q2(),1);function Zc(t,e,r){return`${t}?name=${e}&type=${r}`}async function z2(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function ei(t,e){return`${e}_${t}`}var yp=Object.assign((0,gp.default)("dns-over-http-resolver"),{error:(0,gp.default)("dns-over-http-resolver:error")}),bp=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new xp.default({max:e?.maxCache??100}),this._TXTcache=new xp.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??z2,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(ei(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Zc(o,e,r),s.signal),c=a.Answer.map(f=>f.data),u=Math.min(...a.Answer.map(f=>f.TTL));return this._cache.set(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(ei(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Zc(o,e,r),s.signal),c=a.Answer.map(f=>f.data),u=Math.min(...a.Answer.map(f=>f.TTL));return this._cache.set(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(ei(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Zc(o,e,r),s.signal),c=a.Answer.map(f=>[f.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(f=>f.TTL));return this._TXTcache.set(ei(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),yp.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},$2=bp;var H2=$2;var{code:iN}=ue("dnsaddr");async function Co(t,e={}){let r=new H2;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===iN)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var ev=we(Z2(),1),ru=ev.default;var Mr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(Mr||(Mr={}));var V;(function(t){t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(V||(V={}));var fN={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Co},addressSorter:So},transportManager:{faultTolerance:$r.FATAL_ALL}};function tv(t){let e=ru(fN,t);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new _(Mr.ERR_PROTECTOR_REQUIRED,V.ERR_PROTECTOR_REQUIRED);return e}var rE=we(jv(),1);function ou(t){if(Ta(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:se(r),t.forEach(n=>{if(!cn(n))throw new _("Invalid Multiaddr",V.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new _("Multiaddrs must all have the same peer id or have no peer id",V.ERR_INVALID_PARAMETERS)}else{let o=se(i);if(e==null||!e.equals(o))throw new _("Multiaddrs must all have the same peer id or have no peer id",V.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function De(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}function Up(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Js=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Up(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Zs=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Js,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n:0,this.#h()}#h(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#f=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!r.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#v()}},r),this.emit("add"),this.#l()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};function jN(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Mp=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new _("missing peer id",uf);let o={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(o);return}let s=jN(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},su=class extends Zs{results;constructor(e={}){super({...e,queueClass:Mp}),this.results=new ot}hasJob(e){return this.sizeBy({peerId:e})>0}async joinJob(e){let r=this.results.get(e);if(r==null)throw new _("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=De(),this.results.set(e,r)),r.promise}async add(e,r){let n=r?.peerId;if(n==null)throw new _("missing peer id",uf);return this.results.set(r.peerId,!0),super.add(async i=>{try{let o=await e(i),s=this.results.get(n);return s!=null&&s!==!0&&s.resolve(o),o}catch(o){let s=this.results.get(n);throw s!=null&&s!==!0&&s.reject(o),o}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};function Jv(t,e="utf8"){let r=qc[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var au="last-dial-failure";var cu=5,uu=100,fu=50,Zv=1e3*60*7;var ri={minConnections:cu,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:Zv,autoDialDiscoveredPeersDebounce:10},lu=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;log;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??ri.minConnections,this.autoDialPriority=r.autoDialPriority??ri.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??ri.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??ri.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??ri.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??ri.autoDialDiscoveredPeersDebounce,this.log=e.logger.forComponent("libp2p:connection-manager:auto-dial"),this.started=!1,this.running=!1,this.queue=new su({concurrency:r.autoDialConcurrency??ri.autoDialConcurrency}),this.queue.addListener("error",i=>{this.log.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{this.log.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{this.log.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.started=!0}afterStart(){this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started||this.running)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&this.log.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){this.log("not enough connections %d/%d but auto dial queue is full",r,this.minConnections),this.sheduleNextAutodial();return}this.running=!0,this.log("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Dt(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(this.log.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(this.log.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(this.log.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(this.log.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new ot;for(let u of o)s.has(u.id)||s.set(u.id,[...u.tags.values()].reduce((f,h)=>f+h.value,0));let c=o.sort((u,f)=>{let h=s.get(u.id)??0,p=s.get(f.id)??0;return h>p?-1:h<p?1:0}).filter(u=>{let f=u.metadata.get(au);if(f==null)return!0;let h=parseInt(Jv(f));return isNaN(h)?!0:Date.now()-h>this.autoDialPeerRetryThresholdMs});this.log("selected %d/%d peers to dial",c.length,i.length);for(let u of c)this.queue.add(async()=>{let f=this.connectionManager.getConnectionsMap().size;if(f>=this.minConnections){this.log("got enough connections now %d/%d",f,this.minConnections),this.queue.clear();return}this.log("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(f=>{this.log.error("could not connect to peerStore stored peer",f)});this.running=!1,this.sheduleNextAutodial()}sheduleNextAutodial(){this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})},this.autoDialIntervalMs))}};var eE={maxConnections:uu,allow:[]},hu=class{maxConnections;connectionManager;peerStore;allow;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??eE.maxConnections,this.allow=r.allow??eE.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager:connection-pruner"),e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{this.log.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(this.log("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;this.log("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new ot;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((f,h)=>f+h.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&this.log.error("error loading peer tags",u)}}}let o=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,f=i.get(c.remotePeer)??0;if(u>f)return 1;if(u<f)return-1;let h=a.timeline.open,p=c.timeline.open;return h<p?1:h>p?-1:0}),s=[];for(let a of o)if(this.log("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||s.push(a),s.length===n)break;await Promise.all(s.map(async a=>{try{await a.close()}catch(c){this.log.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};function du(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function qp(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var ea=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=qp(this.#e,n,(o,s)=>s.priority-o.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Do=class extends Wn.default{#e;#i;#o=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#f;#s;#y;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:ea,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#y=e.throwOnTimeout===!0,this.#s=e.autoStart===!1}get#b(){return this.#i||this.#o<this.#a}get#w(){return this.#n<this.#f}#v(){this.#n--,this.#l(),this.emit("next")}#E(){this.#x(),this.#g(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#o=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#E()},r)),!0}return!1}#l(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#g(),!0):!1}}return!1}#g(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#o===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#o=this.#e?this.#n:0,this.#h()}#h(){for(;this.#l(););}get concurrency(){return this.#f}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#f=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#y,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#o++;try{r.signal?.throwIfAborted();let o=e({signal:r.signal});r.timeout&&(o=Pr(Promise.resolve(o),{milliseconds:r.timeout})),r.signal&&(o=Promise.race([o,this.#S(r.signal)]));let s=await o;n(s),this.emit("completed",s)}catch(o){if(o instanceof Nr&&!r.throwOnTimeout){n();return}i(o),this.emit("error",o)}finally{this.#v()}},r),this.emit("add"),this.#l()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#s?(this.#s=!1,this.#h(),this):this}pause(){this.#s=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#s}};async function zp(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await eP(t,e),s=(await Promise.all(n.map(async a=>zp(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return e.log("resolved %s to",t,s.map(a=>a.toString())),s}async function eP(t,e){try{return t=Ke(t.toString()),await t.resolve(e)}catch(r){return e.log.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function tE(...t){let e=[];for(let n of t)n!=null&&(wt(1/0,n),e.push(n));let r=du(e);return wt(1/0,r),r}var pu={addressSorter:So,maxParallelDials:fu,maxPeerAddrsToDial:25,dialTimeout:3e4,resolvers:{dnsaddr:Co}},mu=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;log;constructor(e,r={}){this.addressSorter=r.addressSorter??pu.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??pu.maxPeerAddrsToDial,this.dialTimeout=r.dialTimeout??pu.dialTimeout,this.connections=r.connections??new ot,this.log=e.logger.forComponent("libp2p:connection-manager:dial-queue"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,wt(1/0,this.shutDownController.signal),this.pendingDialCount=e.metrics?.registerMetric("libp2p_dial_queue_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dial_queue_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))Ec.set(n,i);this.queue=new Do({concurrency:r.maxParallelDials??pu.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{this.log.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}start(){this.shutDownController=new AbortController}stop(){this.shutDownController.abort(),this.queue.clear()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=ou(e),o=i.map(p=>({multiaddr:p,isCertified:!1})),s=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,o,{...r,signal:s})}catch(p){throw s.clear(),p}let c=Array.from(this.connections.values()).flat().find(p=>r.force===!0?!1:a.find(y=>y.multiaddr.equals(p.remoteAddr)));if(c!=null)return this.log("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(p=>!!(p.peerId!=null&&n!=null&&p.peerId.equals(n)||a.map(({multiaddr:y})=>y.toString()).join()===p.multiaddrs.map(y=>y.toString()).join()));if(u!=null)return this.log("joining existing dial target for %p",n),s.clear(),u.promise;this.log("creating dial target for",a.map(({multiaddr:p})=>p.toString()));let f={id:tP(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:p})=>p)};f.promise=this.performDial(f,{...r,signal:s}).finally(()=>{this.pendingDials=this.pendingDials.filter(p=>p.id!==f.id),s.clear()}).catch(async p=>{if(this.log.error("dial failed to %s",f.multiaddrs.map(y=>y.toString()).join(", "),p),n!=null)try{await this.peerStore.patch(n,{metadata:{[au]:zc(Date.now().toString())}})}catch(y){this.log.error("could not update last dial failure key for %p",n,y)}throw s.aborted?new _(p.message,Ra):p}),this.pendingDials.push(f);let h=await f.promise;return c=Array.from(this.connections.values()).flat().find(p=>r.force===!0?!1:p.id!==h.id&&p.remoteAddr.equals(h.remoteAddr)),c!=null?(this.log("already connected to %a",c.remoteAddr),await h.close(),c):(this.log("connection opened to %a",h.remoteAddr),h)}createDialAbortControllers(e){let r=du([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);return wt(1/0,r),r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new _("Tried to dial self",V.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new _("The dial request is blocked by gater.allowDialPeer",V.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){this.log("loading multiaddrs for %p",e);try{let f=await this.peerStore.get(e);r.push(...f.addresses),this.log("loaded multiaddrs for %p",e,r.map(({multiaddr:h})=>h.toString()))}catch(f){if(f.code!==V.ERR_NOT_FOUND)throw f}}}let i=(await Promise.all(r.map(async f=>{let h=await zp(f.multiaddr,{...n,log:this.log});return h.length===1&&h[0].equals(f.multiaddr)?f:h.map(p=>({multiaddr:p,isCertified:!1}))}))).flat();if(e!=null){let f=`/p2p/${e.toString()}`;i=i.map(h=>h.multiaddr.protos().pop()?.path===!0?h:h.multiaddr.getPeerId()==null?{multiaddr:h.multiaddr.encapsulate(f),isCertified:h.isCertified}:h)}let o=i.filter(f=>{if(this.transportManager.transportForMultiaddr(f.multiaddr)==null)return!1;let h=f.multiaddr.getPeerId();return e!=null&&h!=null?e.equals(h):!0}),s=new Map;for(let f of o){let h=f.multiaddr.toString(),p=s.get(h);if(p!=null){p.isCertified=p.isCertified||f.isCertified||!1;continue}s.set(h,f)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(this.log("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:f})=>f.toString())),this.log("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:f})=>f.toString()))),a.length===0)throw new _("The dial request has no valid addresses",V.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new _("dial with more addresses than allowed",V.ERR_TOO_MANY_ADDRESSES);let c=[];for(let f of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(f.multiaddr)||c.push(f);let u=c.sort(this.addressSorter);if(u.length===0)throw new _("The connection gater denied all addresses in the dial request",V.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Do({concurrency:1});i.on("error",s=>{this.log.error("error dialing %s %o",e.multiaddrs,s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new _("dialAction did not come with an AbortController",V.ERR_INVALID_PARAMETERS);let u=tE(c.signal,r.signal);u.addEventListener("abort",()=>{this.log("dial to %a aborted",s)});let f=De();return await i.add(async()=>{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the peer dial queue",s),f.reject(new hi);return}await this.queue.add(async()=>{try{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the dial queue",s),f.reject(new hi);return}e.status="active";let h=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){this.log("multiple dials succeeded, closing superfluous connection"),h.close().catch(p=>{this.log.error("error closing superfluous connection",p)}),f.reject(new hi);return}n[a]=void 0,n.forEach(p=>{p!==void 0&&p.abort()}),this.log("dial to %a succeeded",s),f.resolve(h)}catch(h){this.log.error("error during dial of %a",s,h),f.reject(h)}},{...r,signal:u}).catch(h=>{f.reject(h)})},{signal:u}).catch(h=>{f.reject(h)}).finally(()=>{u.clear()}),f.promise}));if(o==null)throw new _("successful dial led to empty object returned from peer dial queue",V.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",o}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function tP(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var iP=50,ni={minConnections:cu,maxConnections:uu,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},yu=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??ni.maxConnections;let n=r.minConnections??ni.minConnections;if(this.maxConnections<n)throw new _("Connection Manager maxConnections must be greater than minConnections",V.ERR_INVALID_PARAMETERS);this.connections=new ot,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager"),this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>Ke(i)),this.deny=(r.deny??[]).map(i=>Ke(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??ni.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new rE.RateLimiterMemory({points:r.inboundConnectionThreshold??ni.inboundConnectionThreshold,duration:1}),this.autoDial=new lu({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??ni.autoDialConcurrency,autoDialPriority:r.autoDialPriority??ni.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??ni.autoDialMaxQueueLength}),this.connectionPruner=new hu({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new mu({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater,logger:e.logger},{addressSorter:r.addressSorter??So,maxParallelDials:r.maxParallelDials??fu,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Co},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let o=`${i.direction} ${i.protocol??"unnegotiated"}`;e[o]=(e[o]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.direction} ${s.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))e[s]=e[s]??[],e[s].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);r[n]=i[o]}return r}}),this.dialQueue.start(),this.autoDial.start(),this.started=!0,this.log("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Xy)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{this.log.error(n)})}))}).catch(e=>{this.log.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){this.log.error(i)}})());this.log("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),this.log("stopped")}onConnect(e){this._onConnect(e).catch(r=>{this.log.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),o=!1;i!=null?i.push(r):(o=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),o&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new _("Not started",V.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=ou(e);if(n!=null&&r.force!==!0){this.log("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return this.log("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??iP}),o=this.connections.get(i.remotePeer);o==null&&(o=[],this.connections.set(i.remotePeer,o));let s=!1;for(let a of o)a.id===i.id&&(s=!0);return s||o.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(o){i.abort(o)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.log("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return this.log("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return this.log("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(this.log("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var gu=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Lo=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new gu(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new gu(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Gp=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function nE(t={}){return oP(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function oP(t,e){e=e??{};let r=e.onEnd,n=new Lo,i,o,s,a=De(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{o=x=>{o=null,n.push(x);try{m(t(n))}catch(b){g(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=De()})}},u=m=>o!=null?o(m):(n.push(m),i),f=m=>(n=new Lo,o!=null?o({error:m}):(n.push({error:m}),i)),h=m=>{if(s)return i;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:m})},p=m=>s?i:(s=!0,m!=null?f(m):u({done:!0})),y=()=>(n=new Lo,p(),{done:!0}),l=m=>(p(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:l,push:h,end:p,get readableLength(){return n.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,b;g!=null&&(x=new Promise((v,w)=>{b=()=>{w(new Gp)},g.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&g!=null&&g?.removeEventListener("abort",b)}}},r==null)return i;let d=i;return i={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(m){return d.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return d.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(m){return d.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return d.readableLength},onEmpty:m=>d.onEmpty(m)},i}function sP(t){return t[Symbol.asyncIterator]!=null}function aP(...t){let e=[];for(let r of t)sP(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=nE({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var ta=aP;var xu=globalThis.CustomEvent??Event;async function*ra(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,o=[],s=De(),a=De(),c=!1,u,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let l of t){if(o.length===r&&(s=De(),await s.promise),f)break;let d={done:!1};o.push(d),l().then(m=>{d.done=!0,d.ok=!0,d.value=m,i.dispatchEvent(new xu("task-complete"))},m=>{d.done=!0,d.err=m,i.dispatchEvent(new xu("task-complete"))})}c=!0,i.dispatchEvent(new xu("task-complete"))}catch(l){u=l,i.dispatchEvent(new xu("task-complete"))}});function h(){return n?o[0]?.done:!!o.find(l=>l.done)}function*p(){for(;o.length>0&&o[0].done;){let l=o[0];if(o.shift(),l.ok)yield l.value;else throw f=!0,s.resolve(),l.err;s.resolve()}}function*y(){for(;h();)for(let l=0;l<o.length;l++)if(o[l].done){let d=o[l];if(o.splice(l,1),l--,d.ok)yield d.value;else throw f=!0,s.resolve(),d.err;s.resolve()}}for(;;){if(h()||(a=De(),await a.promise),u!=null)throw u;if(n?yield*p():yield*y(),c&&o.length===0)break}}var bu=class{log;routers;started;components;constructor(e,r){this.log=e.logger.forComponent("libp2p:content-routing"),this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new _("No content routers available",V.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new Dt;for await(let o of ra(async function*(){let s=ta(...n.routers.map(a=>a.findProviders(e,r)));for await(let a of s)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.components.peerRouting.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))o!=null&&o.multiaddrs.length!==0&&(await this.components.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),!i.has(o.id)&&(i.add(o.id),yield o))}async provide(e,r={}){if(this.routers.length===0)throw new _("No content routers available",V.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new _(Mr.NOT_STARTED_YET,V.ERR_NODE_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new _(Mr.NOT_STARTED_YET,V.ERR_NODE_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};var wu=class{log;peerId;peerStore;routers;constructor(e,r){this.log=e.logger.forComponent("libp2p:peer-routing"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new _("No peer routers available",V.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.peerId.toString())throw new _("Should not try to find self",V.ERR_FIND_SELF);let n=this,i=ta(...this.routers.map(o=>async function*(){try{yield await o.findPeer(e,r)}catch(s){n.log.error(s)}}()));for await(let o of i)if(o!=null)return await this.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),o;throw new _(Mr.NOT_FOUND,V.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){if(this.routers.length===0)throw new _("No peer routers available",V.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new Dt;for await(let o of ra(async function*(){let s=ta(...n.routers.map(a=>a.getClosestPeers(e,r)));for await(let a of s)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))o!=null&&o.multiaddrs.length!==0&&(await this.peerStore.merge(o.id,{multiaddrs:o.multiaddrs}),!i.has(o.id)&&(i.add(o.id),yield o))}};var Wp=32,Yp=64,vu=class{log;topologies;handlers;components;constructor(e){this.log=e.logger.forComponent("libp2p:registrar"),this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onPeerIdentify=this._onPeerIdentify.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate),this.components.events.addEventListener("peer:identify",this._onPeerIdentify)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new _(`No handler registered for protocol ${e}`,V.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new _(`Handler already registered for protocol ${e}`,V.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=ru.bind({ignoreUndefined:!0})({maxInboundStreams:Wp,maxOutboundStreams:Yp},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){(Array.isArray(e)?e:[e]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(e,r){if(r==null)throw new _("invalid topology",V.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect?.(r)}}).catch(n=>{n.code!==V.ERR_NOT_FOUND&&this.log.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o));for(let o of i){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())a.onDisconnect?.(r.id)}}_onPeerIdentify(e){let r=e.detail.protocols,n=e.detail.connection,i=e.detail.peerId;for(let o of r){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())n.transient&&a.notifyOnTransient!==!0||a.onConnect?.(i,n)}}};var Qp=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function iE(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Qp({name:e,metrics:r}):n=new Map,n}var Eu=class{log;components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:transports"),this.components=e,this.started=!1,this.transports=new Map,this.listeners=iE({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??$r.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new _("Transport must have a valid tag",V.ERR_INVALID_KEY);if(this.transports.has(r))throw new _(`There is already a transport with the tag ${r}`,V.ERR_DUPLICATE_TRANSPORT);this.log("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(this.log("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),this.log("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new _(`No transport available for address ${String(e)}`,V.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=V.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new _("Not started",V.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){this.log("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let o=i.filter(e),s=[];for(let u of o){this.log("creating listener for %s on %a",n,u);let f=i.createListener({upgrader:this.components.upgrader}),h=this.listeners.get(n)??[];h==null&&(h=[],this.listeners.set(n,h)),h.push(f),f.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:f})}),f.addEventListener("close",()=>{let p=h.findIndex(y=>y===f);h.splice(p,1),this.components.events.safeDispatchEvent("transport:close",{detail:f})}),s.push(f.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==$r.NO_FATAL)throw new _(`Transport (${n}) could not listen on any available address`,V.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===$r.FATAL_ALL)throw new _(n,V.ERR_NO_VALID_ADDRESSES);this.log(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];this.log.trace("removing transport %s",e);let n=[];for(this.log.trace("closing listeners for %s",e);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var tt="/multistream/1.0.0";var Au=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Su(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new Au(r?.errorMessage,r?.errorCode));let n,i=new Au(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Xp=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=De(),this.haveNext=De()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=De(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=De(),await Su(this.needNext.promise,r?.signal,r)}};function oE(){return new Xp}var Cu=class extends Error{code;constructor(e,r){super(e),this.code=r}},jp=class extends Cu{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function sE(t,e){let r=oE();t.sink(r).catch(async s=>{await r.end(s)}),t.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new He;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,h)=>{c=()=>{h(new jp("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:h,value:p}=await Promise.race([n.next(),u]);return h===!0?new He:p}for(;i.byteLength<s;){let{value:h,done:p}=await Promise.race([n.next(),u]);if(p===!0)throw new Cu("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(h)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*s}()}return t}}}function Iu(t){return t[Symbol.asyncIterator]!=null}var _u=t=>{let e=at(t),r=it(e);return yt(t,r),_u.bytes=e,r};_u.bytes=0;function ii(t,e){e=e??{};let r=e.lengthEncoder??_u;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Iu(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}ii.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??_u;return new He(r(t.byteLength),t)};var No=we(L0(),1);var cP=8,uP=1024*1024*4,oi;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(oi||(oi={}));var Zp=t=>{let e=zt(t);return Zp.bytes=at(e),e};Zp.bytes=0;function Jp(t,e){let r=new He,n=oi.LENGTH,i=-1,o=e?.lengthDecoder??Zp,s=e?.maxLengthLength??cP,a=e?.maxDataLength??uP;function*c(){for(;r.byteLength>0;){if(n===oi.LENGTH)try{if(i=o(r),i<0)throw(0,No.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,No.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=oi.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,No.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===oi.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=oi.LENGTH}}}return Iu(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,No.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,No.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Jp.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Jp(n,{...e??{},onLength:o=>{r=o}})};var Tu=class extends Error{code;constructor(e,r){super(e),this.code=r}},aE=t=>zt(t);aE.bytes=0;function na(t,e={}){let r=sE(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=at(e.maxDataLength)),{read:async i=>{let o=-1,s=new He,a=e?.lengthDecoder??aE;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&s.byteLength>e.maxLengthLength)throw new Tu("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(e?.maxDataLength!=null&&o>e.maxDataLength)throw new Tu("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(ii.single(i,e),o)},writeV:async(i,o)=>{let s=new He(...i.map(a=>ii.single(a,e)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Ru(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var im={};R(im,{base10:()=>yP});function lP(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";for(var d=0,m=0,g=0,x=l.length;g!==x&&l[g]===0;)g++,d++;for(var b=(x-g)*f+1>>>0,v=new Uint8Array(b);g!==x;){for(var w=l[g],E=0,A=b-1;(w!==0||E<m)&&A!==-1;A--,E++)w+=256*v[A]>>>0,v[A]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=E,g++}for(var C=b-m;C!==b&&v[C]===0;)C++;for(var P=c.repeat(d);C<b;++C)P+=t.charAt(v[C]);return P}function p(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;var d=0;if(l[d]!==" "){for(var m=0,g=0;l[d]===c;)m++,d++;for(var x=(l.length-d)*u+1>>>0,b=new Uint8Array(x);l[d];){var v=r[l.charCodeAt(d)];if(v===255)return;for(var w=0,E=x-1;(v!==0||w<g)&&E!==-1;E--,w++)v+=a*b[E]>>>0,b[E]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");g=w,d++}if(l[d]!==" "){for(var A=x-g;A!==x&&b[A]===0;)A++;for(var C=new Uint8Array(m+(x-A)),P=m;A!==x;)C[P++]=b[A++];return C}}}function y(l){var d=p(l);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:y}}var hP=lP,dP=hP,cE=dP;var _Z=new Uint8Array(0);var uE=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Fr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var fE=t=>new TextEncoder().encode(t),lE=t=>new TextDecoder().decode(t);var em=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},tm=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return dE(this,e)}},rm=class{constructor(e){this.decoders=e}or(e){return dE(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},dE=(t,e)=>new rm({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),nm=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new em(e,r,n),this.decoder=new tm(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Po=({name:t,prefix:e,encode:r,decode:n})=>new nm(t,e,r,n),mn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=cE(r,e);return Po({prefix:t,name:e,encode:n,decode:o=>Fr(i(o))})},pP=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let h=i[t[f]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|h,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},mP=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Le=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Po({prefix:e,name:t,encode(i){return mP(i,n,r)},decode(i){return pP(i,n,r,t)}});var yP=mn({prefix:"9",name:"base10",alphabet:"0123456789"});var om={};R(om,{base16:()=>gP,base16upper:()=>xP});var gP=Le({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),xP=Le({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var sm={};R(sm,{base2:()=>bP});var bP=Le({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var am={};R(am,{base256emoji:()=>SP});var pE=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}"),wP=pE.reduce((t,e,r)=>(t[r]=e,t),[]),vP=pE.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function EP(t){return t.reduce((e,r)=>(e+=wP[r],e),"")}function AP(t){let e=[];for(let r of t){let n=vP[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var SP=Po({prefix:"\u{1F680}",name:"base256emoji",encode:EP,decode:AP});var cm={};R(cm,{base32:()=>Oo,base32hex:()=>TP,base32hexpad:()=>BP,base32hexpadupper:()=>DP,base32hexupper:()=>RP,base32pad:()=>IP,base32padupper:()=>_P,base32upper:()=>CP,base32z:()=>LP});var Oo=Le({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),CP=Le({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),IP=Le({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),_P=Le({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),TP=Le({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),RP=Le({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),BP=Le({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),DP=Le({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),LP=Le({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var um={};R(um,{base36:()=>NP,base36upper:()=>PP});var NP=mn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),PP=mn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var fm={};R(fm,{base58btc:()=>lr,base58flickr:()=>OP});var lr=mn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),OP=mn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lm={};R(lm,{base64:()=>kP,base64pad:()=>UP,base64url:()=>MP,base64urlpad:()=>FP});var kP=Le({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),UP=Le({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),MP=Le({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),FP=Le({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var hm={};R(hm,{base8:()=>KP});var KP=Le({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dm={};R(dm,{identity:()=>VP});var VP=Po({prefix:"\0",name:"identity",encode:t=>lE(t),decode:t=>fE(t)});var qZ=new TextEncoder,zZ=new TextDecoder;var mm={};R(mm,{identity:()=>fO});var $P=gE,mE=128,HP=127,GP=~HP,WP=Math.pow(2,31);function gE(t,e,r){e=e||[],r=r||0;for(var n=r;t>=WP;)e[r++]=t&255|mE,t/=128;for(;t&GP;)e[r++]=t&255|mE,t>>>=7;return e[r]=t|0,gE.bytes=r-n+1,e}var YP=pm,QP=128,yE=127;function pm(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw pm.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&yE)<<i:(s&yE)*Math.pow(2,i),i+=7}while(s>=QP);return pm.bytes=o-n,r}var XP=Math.pow(2,7),jP=Math.pow(2,14),JP=Math.pow(2,21),ZP=Math.pow(2,28),eO=Math.pow(2,35),tO=Math.pow(2,42),rO=Math.pow(2,49),nO=Math.pow(2,56),iO=Math.pow(2,63),oO=function(t){return t<XP?1:t<jP?2:t<JP?3:t<ZP?4:t<eO?5:t<tO?6:t<rO?7:t<nO?8:t<iO?9:10},sO={encode:$P,decode:YP,encodingLength:oO},aO=sO,ia=aO;var oa=(t,e=0)=>[ia.decode(t,e),ia.decode.bytes],ko=(t,e,r=0)=>(ia.encode(t,e,r),e),Uo=t=>ia.encodingLength(t);var si=(t,e)=>{let r=e.byteLength,n=Uo(t),i=n+Uo(r),o=new Uint8Array(i+r);return ko(t,o,0),ko(r,o,n),o.set(e,i),new Mo(t,r,e,o)},xE=t=>{let e=Fr(t),[r,n]=oa(e),[i,o]=oa(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Mo(r,i,s,e)},bE=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&uE(t.bytes,r.bytes)}},Mo=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var wE=0,cO="identity",vE=Fr,uO=t=>si(wE,vE(t)),fO={code:wE,name:cO,encode:vE,digest:uO};var xm={};R(xm,{sha256:()=>lO,sha512:()=>hO});var gm=({name:t,code:e,encode:r})=>new ym(t,e,r),ym=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?si(this.code,r):r.then(n=>si(this.code,n))}else throw Error("Unknown type, must be binary type")}};var AE=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),lO=gm({name:"sha2-256",code:18,encode:AE("SHA-256")}),hO=gm({name:"sha2-512",code:19,encode:AE("SHA-512")});var SE=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return pO(r,bm(t),e||lr.encoder);default:return mO(r,bm(t),e||Oo.encoder)}};var CE=new WeakMap,bm=t=>{let e=CE.get(t);if(e==null){let r=new Map;return CE.set(t,r),r}return e},Du=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}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:e,multihash:r}=this;if(e!==aa)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==yO)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=si(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&bE(e.multihash,n.multihash)}toString(e){return SE(this,e)}toJSON(){return{"/":SE(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||IE(n,i,o.bytes))}else if(r[gO]===!0){let{version:n,multihash:i,code:o}=r,s=xE(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==aa)throw new Error(`Version 0 CID must use dag-pb (code: ${aa}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=IE(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,aa,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Fr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Mo(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=oa(e.subarray(r));return r+=p,h},i=n(),o=aa;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=dO(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return bm(o).set(n,e),o}},dO=(t,e)=>{switch(t[0]){case"Q":{let r=e||lr;return[lr.prefix,r.decode(`${lr.prefix}${t}`)]}case lr.prefix:{let r=e||lr;return[lr.prefix,r.decode(t)]}case Oo.prefix:{let r=e||Oo;return[Oo.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},pO=(t,e,r)=>{let{prefix:n}=r;if(n!==lr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},mO=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},aa=112,yO=18,IE=(t,e,r)=>{let n=Uo(t),i=n+Uo(e),o=new Uint8Array(i+r.byteLength);return ko(t,o,0),ko(e,o,n),o.set(r,i),o},gO=Symbol.for("@ipld/js-cid/CID");var wm={...dm,...sm,...hm,...im,...om,...cm,...um,...fm,...lm,...am},oee={...xm,...mm};function _E(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ru(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function RE(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var TE=RE("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),vm=RE("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=_E(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),xO={utf8:TE,"utf-8":TE,hex:wm.base16,latin1:vm,ascii:vm,binary:vm,...wm},Lu=xO;function ut(t,e="utf8"){let r=Lu[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ru(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function BE(t,e="utf8"){let r=Lu[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var bO=ut(`
49
+ `);async function ai(t,e,r){await t.write(e,r)}async function DE(t,e,r){await t.writeV(e,r)}async function wO(t,e){let r=await t.read(e);if(r.byteLength===0||r.get(r.byteLength-1)!==bO[0])throw e.log.error("Invalid mss message - missing newline",r),new _("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return r.sublist(0,-1)}async function yn(t,e){let r=await wO(t,e);return BE(r.subarray())}async function ca(t,e,r){if(e=Array.isArray(e)?[...e]:[e],e.length===1)return vO(t,e[0],r);let n=na(t,{...r,maxDataLength:1024}),i=e.shift();if(i==null)throw new Error("At least one protocol must be specified");r.log.trace('select: write ["%s", "%s"]',tt,i);let o=ut(`${tt}
50
+ `),s=ut(`${i}
51
+ `);await DE(n,[o,s],r),r.log.trace("select: reading multistream-select header");let a=await yn(n,r);if(r.log.trace('select: read "%s"',a),a===tt&&(r.log.trace("select: reading protocol response"),a=await yn(n,r),r.log.trace('select: read "%s"',a)),a===i)return{stream:n.unwrap(),protocol:i};for(let c of e){r.log.trace('select: write "%s"',c),await ai(n,ut(`${c}
52
+ `),r),r.log.trace("select: reading protocol response");let u=await yn(n,r);if(r.log.trace('select: read "%s" for "%s"',u,c),u===c)return{stream:n.unwrap(),protocol:c}}throw new _("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}function vO(t,e,r){let n=t.sink.bind(t),i=t.source,o=!1,s=!1,a=De(),c=!1,u=!1,f=De(),h=!1,p=!1,y=De(),l=na({sink:n,source:i},{...r,maxDataLength:1024});t.sink=async x=>{let{sink:b}=l.unwrap();await b(async function*(){let v=!1;for await(let w of x){if(u&&await f.promise,c)yield w;else{u=!0,r.log.trace('optimistic: write ["%s", "%s", data(%d)] in sink',tt,e,w.byteLength);let E=`${e}
53
+ `;yield new He(Uint8Array.from([19]),ut(`${tt}
54
+ `),yt(E.length),ut(E),w).subarray(),r.log.trace('optimistic: wrote ["%s", "%s", data(%d)] in sink',tt,e,w.byteLength),c=!0,u=!1,f.resolve(),d().catch(A=>{r.log.error("could not finish optimistic protocol negotiation of %s",e,A)})}v=!0}v||await d()}())};async function d(){if(s){r.log.trace("optimistic: already negotiating %s stream",e),await a.promise;return}s=!0;try{c||(r.log.trace("optimistic: doing send protocol for %s stream",e),await m()),h||(r.log.trace("optimistic: doing read protocol for %s stream",e),await g())}finally{s=!1,o=!0,a.resolve()}}async function m(){if(u){await f.promise;return}u=!0;try{r.log.trace('optimistic: write ["%s", "%s", data] in source',tt,e),await l.writeV([ut(`${tt}
55
+ `),ut(`${e}
56
+ `)]),r.log.trace('optimistic: wrote ["%s", "%s", data] in source',tt,e)}finally{c=!0,u=!1,f.resolve()}}async function g(){if(p){await y.promise;return}p=!0;try{r.log.trace("optimistic: reading multistream select header");let x=await yn(l,r);if(r.log.trace('optimistic: read multistream select header "%s"',x),x===tt&&(x=await yn(l,r)),r.log.trace('optimistic: read protocol "%s", expecting "%s"',x,e),x!==e)throw new _("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}finally{h=!0,p=!1,y.resolve()}}if(t.source=async function*(){await d(),r.log.trace('optimistic: reading data from "%s" stream',e),yield*l.unwrap().source}(),t.closeRead!=null){let x=t.closeRead.bind(t);t.closeRead=async b=>{o||await d().catch(v=>{r.log.error("could not negotiate protocol before close read",v)}),await x(b)}}if(t.closeWrite!=null){let x=t.closeWrite.bind(t);t.closeWrite=async b=>{o||await d().catch(v=>{r.log.error("could not negotiate protocol before close write",v)}),await x(b)}}if(t.close!=null){let x=t.close.bind(t);t.close=async b=>{let v=[];u&&v.push(f.promise),p&&v.push(y.promise),v.length>0?await Su(Promise.all(v),b?.signal):(o=!0,s=!1,a.resolve()),await x(b)}}return{stream:t,protocol:e}}async function ua(t,e,r){e=Array.isArray(e)?e:[e],r.log.trace("handle: available protocols %s",e);let n=na(t,{...r,maxDataLength:1024,maxLengthLength:2});for(;;){r.log.trace("handle: reading incoming string");let i=await yn(n,r);if(r.log.trace('handle: read "%s"',i),i===tt){r.log.trace('handle: respond with "%s" for "%s"',tt,i),await ai(n,ut(`${tt}
57
+ `),r),r.log.trace('handle: responded with "%s" for "%s"',tt,i);continue}if(e.includes(i))return r.log.trace('handle: respond with "%s" for "%s"',i,i),await ai(n,ut(`${i}
58
+ `),r),r.log.trace('handle: responded with "%s" for "%s"',i,i),{stream:n.unwrap(),protocol:i};if(i==="ls"){let o=new He(...e.map(s=>ii.single(ut(`${s}
59
+ `))),ut(`
60
+ `));r.log.trace('handle: respond with "%s" for %s',e,i),await ai(n,o,r),r.log.trace('handle: responded with "%s" for %s',e,i);continue}r.log('handle: respond with "na" for "%s"',i),await ai(n,ut(`na
61
+ `),r),r.log('handle: responded with "na" for "%s"',i)}}var AO=500,Em=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:o,abort:s,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=i,this._close=o,this._abort=s,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[Qy]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new _("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new _("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new _("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let r=AbortSignal.timeout(AO);wt(1/0,r),e={...e,signal:r}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function NE(t){return new Em(t)}var CO=3e4;function IO(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==V.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Wp}function _O(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==V.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??Yp}function PE(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Pu=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new _(`The multiaddr connection is blocked by gater.${n}`,V.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new _("connection denied",V.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),f=()=>{e.abort(new _("inbound upgrade timeout",Ra))};u.addEventListener("abort",f,{once:!0}),wt(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new _("The multiaddr connection is blocked by gater.acceptConnection",V.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let h=e;if(r?.skipProtection!==!0){let p=this.components.connectionProtector;p!=null&&(e.log("protecting the inbound connection"),h=await p.protect(e))}try{if(i=h,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(h));let p={...h,...i};await this.shouldBlockConnection(o,p,"denyInboundEncryptedConnection")}else{let p=e.remoteAddr.getPeerId();if(p==null)throw new _("inbound connection that skipped encryption must have a peer id",V.ERR_INVALID_MULTIADDR);let y=se(p);c="native",o=y}if(s=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let p=await this._multiplexInbound({...h,...i},this.muxers);a=p.muxerFactory,s=p.stream}}catch(p){throw e.log.error("failed to upgrade inbound connection",p),p}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:s,muxerFactory:a,remotePeer:o,transient:r?.transient})}finally{u.removeEventListener("abort",f),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=se(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(f=await h.protect(e))}try{if(o=f,r?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(f,i));let h={...f,...o};await this.shouldBlockConnection(s,h,"denyOutboundEncryptedConnection")}else{if(i==null)throw new _("Encryption was skipped but no peer id was passed",V.ERR_INVALID_PEER);c="native",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexOutbound({...f,...o},this.muxers);u=h.muxerFactory,a=h.stream}}catch(h){throw e.log.error("failed to upgrade outbound connection",h),await e.close(h),h}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:s,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a,transient:c}=e,u,f,h;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:l=>{h!=null&&Promise.resolve().then(async()=>{let d=this.components.registrar.getProtocols(),{stream:m,protocol:g}=await ua(l,d,{log:l.log,yieldBytes:!1});if(h==null)return;h.log("incoming stream opened on %s",g);let x=IO(g,this.components.registrar);if(PE(g,"inbound",h)===x){let v=new _(`Too many inbound protocol streams for protocol "${g}" - limit ${x}`,V.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw l.abort(v),v}l.source=m.source,l.sink=m.sink,l.protocol=g,m.closeWrite!=null&&(l.closeWrite=m.closeWrite),m.closeRead!=null&&(l.closeRead=m.closeRead),m.close!=null&&(l.close=m.close),await this.components.peerStore.merge(s,{protocols:[g]}),this.components.metrics?.trackProtocolStream(l,h),this._onStream({connection:h,stream:l,protocol:g})}).catch(async d=>{h.log.error("error handling incoming stream id %s",l.id,d.message,d.code,d.stack),l.timeline.close==null&&await l.close()})}}),f=async(l,d={})=>{if(u==null)throw new _("Stream is not multiplexed",V.ERR_MUXER_UNAVAILABLE);h.log("starting new stream for protocols %s",l);let m=await u.newStream();h.log.trace("started new stream %s for protocols %s",m.id,l);try{if(d.signal==null){m.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",l);let w=AbortSignal.timeout(CO);wt(1/0,w),d={...d,signal:w}}m.log.trace("selecting protocol from protocols %s",l);let{stream:g,protocol:x}=await ca(m,l,{...d,log:m.log,yieldBytes:!0});m.log("selected protocol %s",x);let b=_O(x,this.components.registrar,d);if(PE(x,"outbound",h)>=b){let w=new _(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,V.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(w),w}return await this.components.peerStore.merge(s,{protocols:[x]}),m.source=g.source,m.sink=g.sink,m.protocol=x,g.closeWrite!=null&&(m.closeWrite=g.closeWrite),g.closeRead!=null&&(m.closeRead=g.closeRead),g.close!=null&&(m.close=g.close),this.components.metrics?.trackProtocolStream(m,h),m}catch(g){throw h.log.error("could not create new stream for protocols %s",l,g),m.timeline.close==null&&m.abort(g),g.code!=null?g:new _(String(g),V.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(o.source),o.sink(u.source)]).catch(l=>{h.log.error("error piping data through muxer",l)}));let p=i.timeline;i.timeline=new Proxy(p,{set:(...l)=>(h!=null&&l[1]==="close"&&l[2]!=null&&p.close==null&&(async()=>{try{h.status==="open"&&await h.close()}catch(d){h.log.error("error closing connection after timeline close",d)}finally{this.events.safeDispatchEvent("connection:close",{detail:h})}})().catch(d=>{h.log.error("error thrown while dispatching connection:close event",d)}),Reflect.set(...l))}),i.timeline.upgraded=Date.now();let y=()=>{throw new _("connection is not multiplexed",V.ERR_CONNECTION_NOT_MULTIPLEXED)};return h=NE({remoteAddr:i.remoteAddr,remotePeer:s,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,logger:this.components.logger,newStream:f??y,getStreams:()=>u!=null?u.streams:[],close:async l=>{u!=null&&(h.log.trace("close muxer"),await u.close(l)),h.log.trace("close maconn"),await i.close(l),h.log.trace("closed maconn")},abort:l=>{i.abort(l),u?.abort(l)}}),this.events.safeDispatchEvent("connection:open",{detail:h}),h}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:o,options:s}=this.components.registrar.getHandler(i);if(r.transient&&s.runOnTransientConnection!==!0)throw new _("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");o({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await ua(e,r,{log:e.log}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return e.log("encrypting inbound connection using",i),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new _(n.message,V.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:i,protocol:o}=await ca(e,n,{log:e.log,yieldBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return e.log("encrypting outbound connection to %p using %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw e.log.error("encrypting outbound connection to %p failed",i),new _(i.message,V.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:i,protocol:o}=await ca(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw e.log.error("error multiplexing outbound connection",i),new _(String(i),V.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());e.log("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await ua(e,n,{log:e.log}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw e.log.error("error multiplexing inbound connection",i),new _(String(i),V.ERR_MUXER_UNAVAILABLE)}}};var OE="1.0.12-4e0135c7d",kE="libp2p";var Am=class extends Wo{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let r=new Wo,n=r.dispatchEvent.bind(r);r.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new lf(a.type,{detail:a.detail}));return c||u},wt(1/0,r),this.peerId=e.peerId,this.logger=e.logger??oc(),this.log=this.logger.forComponent("libp2p"),this.services={};let i=this.components=p2({peerId:e.peerId,nodeInfo:e.nodeInfo??{name:kE,version:OE},logger:this.logger,events:r,datastore:e.datastore??new Mc,connectionGater:S2(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new kc(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Pu(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new Eu(this.components,e.transportManager)),this.configureComponent("connectionManager",new yu(this.components,e.connectionManager)),this.configureComponent("registrar",new vu(this.components)),this.configureComponent("addressManager",new $c(this.components,e.addresses));let o=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new wu(this.components,{routers:o}));let s=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new bu(this.components,{routers:s})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",f=>{this.#e(f)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[of]!=null&&(this.log("registering service %s for content routing",a),s.push(u[of])),u[cf]!=null&&(this.log("registering service %s for peer routing",a),o.push(u[cf])),u[sf]!=null&&(this.log("registering service %s for peer discovery",a),u[sf].addEventListener?.("peer",f=>{this.#e(f)}))}}configureComponent(e,r){return r==null&&this.log.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new Dt;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,{priority:75,...r})}async dialProtocol(e,r,n={}){if(r==null)throw new _("no protocols were provided to open a stream",V.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new _("no protocols were provided to open a stream",V.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){cn(e)&&(e=se(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=H1([zc("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return bs(o),await this.peerStore.patch(e,{publicKey:o}),o}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){this.log.error(new Error(V.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs}).catch(n=>{this.log.error(n)})}};async function UE(t={}){return t.peerId??=await Gb(),new Am(tv(t))}async function RO(t={}){let e=await UE(t);return t.start!==!1&&await e.start(),e}return jE(BO);})();
62
62
  /*! Bundled license information:
63
63
 
64
64
  @noble/hashes/esm/utils.js: