libp2p 0.35.7 → 0.35.8-9b22c6e
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 +55 -0
- package/dist/src/circuit/auto-relay.d.ts +8 -10
- package/dist/src/circuit/auto-relay.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dialler.d.ts +1 -1
- package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
- package/dist/src/connection-manager/index.d.ts +1 -2
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/content-routing/utils.d.ts +3 -3
- package/dist/src/content-routing/utils.d.ts.map +1 -1
- package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
- package/dist/src/dialer/dial-request.d.ts.map +1 -1
- package/dist/src/dialer/index.d.ts +5 -5
- package/dist/src/dialer/index.d.ts.map +1 -1
- package/dist/src/fetch/constants.d.ts +2 -0
- package/dist/src/fetch/constants.d.ts.map +1 -0
- package/dist/src/fetch/index.d.ts +76 -0
- package/dist/src/fetch/index.d.ts.map +1 -0
- package/dist/src/fetch/proto.d.ts +134 -0
- package/dist/src/identify/index.d.ts +4 -4
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +16 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/metrics/index.d.ts +9 -4
- package/dist/src/metrics/index.d.ts.map +1 -1
- package/dist/src/metrics/tracked-map.d.ts +6 -1
- package/dist/src/metrics/tracked-map.d.ts.map +1 -1
- package/dist/src/peer-routing.d.ts +1 -1
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-store/address-book.d.ts +28 -84
- package/dist/src/peer-store/address-book.d.ts.map +1 -1
- package/dist/src/peer-store/index.d.ts +25 -94
- package/dist/src/peer-store/index.d.ts.map +1 -1
- package/dist/src/peer-store/key-book.d.ts +31 -15
- package/dist/src/peer-store/key-book.d.ts.map +1 -1
- package/dist/src/peer-store/metadata-book.d.ts +33 -29
- package/dist/src/peer-store/metadata-book.d.ts.map +1 -1
- package/dist/src/peer-store/pb/peer.d.ts +222 -0
- package/dist/src/peer-store/proto-book.d.ts +27 -28
- package/dist/src/peer-store/proto-book.d.ts.map +1 -1
- package/dist/src/peer-store/store.d.ts +73 -0
- package/dist/src/peer-store/store.d.ts.map +1 -0
- package/dist/src/peer-store/types.d.ts +202 -0
- package/dist/src/peer-store/types.d.ts.map +1 -0
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/record/peer-record/index.d.ts +2 -2
- package/dist/src/record/peer-record/index.d.ts.map +1 -1
- package/dist/src/registrar.d.ts +5 -5
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/upgrader.d.ts.map +1 -1
- package/package.json +24 -28
- package/src/circuit/auto-relay.js +52 -38
- package/src/connection-manager/auto-dialler.js +23 -9
- package/src/connection-manager/index.js +42 -22
- package/src/content-routing/utils.js +4 -4
- package/src/dht/dht-peer-routing.js +2 -6
- package/src/dialer/dial-request.js +4 -1
- package/src/dialer/index.js +22 -10
- package/src/fetch/README.md +36 -0
- package/src/fetch/constants.js +6 -0
- package/src/fetch/index.js +159 -0
- package/src/fetch/proto.d.ts +134 -0
- package/src/fetch/proto.js +333 -0
- package/src/fetch/proto.proto +15 -0
- package/src/identify/index.js +47 -38
- package/src/index.js +53 -27
- package/src/metrics/index.js +15 -8
- package/src/metrics/tracked-map.js +45 -13
- package/src/peer-routing.js +4 -1
- package/src/peer-store/address-book.js +242 -227
- package/src/peer-store/index.js +77 -110
- package/src/peer-store/key-book.js +99 -54
- package/src/peer-store/metadata-book.js +171 -101
- package/src/peer-store/pb/peer.d.ts +222 -0
- package/src/peer-store/pb/peer.js +643 -0
- package/src/peer-store/pb/peer.proto +31 -0
- package/src/peer-store/proto-book.js +171 -105
- package/src/peer-store/store.js +250 -0
- package/src/peer-store/types.ts +245 -0
- package/src/ping/index.js +6 -0
- package/src/record/peer-record/index.js +1 -1
- package/src/record/utils.js +1 -1
- package/src/registrar.js +4 -4
- package/src/upgrader.js +3 -2
- package/dist/src/peer-store/book.d.ts +0 -81
- package/dist/src/peer-store/book.d.ts.map +0 -1
- package/dist/src/peer-store/persistent/consts.d.ts +0 -6
- package/dist/src/peer-store/persistent/consts.d.ts.map +0 -1
- package/dist/src/peer-store/persistent/index.d.ts +0 -129
- package/dist/src/peer-store/persistent/index.d.ts.map +0 -1
- package/dist/src/peer-store/persistent/pb/address-book.d.ts +0 -198
- package/dist/src/peer-store/persistent/pb/proto-book.d.ts +0 -59
- package/src/peer-store/book.js +0 -124
- package/src/peer-store/persistent/consts.js +0 -15
- package/src/peer-store/persistent/index.js +0 -408
- package/src/peer-store/persistent/pb/address-book.d.ts +0 -198
- package/src/peer-store/persistent/pb/address-book.js +0 -522
- package/src/peer-store/persistent/pb/address-book.proto +0 -27
- package/src/peer-store/persistent/pb/proto-book.d.ts +0 -59
- package/src/peer-store/persistent/pb/proto-book.js +0 -157
- package/src/peer-store/persistent/pb/proto-book.proto +0 -5
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2p = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
+
var Libp2p=(()=>{var ZC=Object.create;var Ha=Object.defineProperty;var JC=Object.getOwnPropertyDescriptor;var eI=Object.getOwnPropertyNames;var tI=Object.getPrototypeOf,rI=Object.prototype.hasOwnProperty;var f0=t=>Ha(t,"__esModule",{value:!0});var h0=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,r)=>(typeof require!="undefined"?require:e)[r]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var xe=(t,e)=>()=>(t&&(e=t(t=0)),e);var w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),gt=(t,e)=>{f0(t);for(var r in e)Ha(t,r,{get:e[r],enumerable:!0})},nI=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of eI(e))!rI.call(t,n)&&n!=="default"&&Ha(t,n,{get:()=>e[n],enumerable:!(r=JC(e,n))||r.enumerable});return t},Ro=t=>nI(f0(Ha(t!=null?ZC(tI(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var ll=w((tq,d0)=>{var ls=1e3,fs=ls*60,hs=fs*60,gi=hs*24,iI=gi*7,sI=gi*365.25;d0.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return oI(t);if(r==="number"&&isFinite(t))return e.long?cI(t):aI(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function oI(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*sI;case"weeks":case"week":case"w":return r*iI;case"days":case"day":case"d":return r*gi;case"hours":case"hour":case"hrs":case"hr":case"h":return r*hs;case"minutes":case"minute":case"mins":case"min":case"m":return r*fs;case"seconds":case"second":case"secs":case"sec":case"s":return r*ls;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function aI(t){var e=Math.abs(t);return e>=gi?Math.round(t/gi)+"d":e>=hs?Math.round(t/hs)+"h":e>=fs?Math.round(t/fs)+"m":e>=ls?Math.round(t/ls)+"s":t+"ms"}function cI(t){var e=Math.abs(t);return e>=gi?za(t,e,gi,"day"):e>=hs?za(t,e,hs,"hour"):e>=fs?za(t,e,fs,"minute"):e>=ls?za(t,e,ls,"second"):t+" ms"}function za(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var y0=w((rq,p0)=>{function uI(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=ll(),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 h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,p,d;function g(...m){if(!g.enabled)return;let x=g,R=Number(new Date),L=R-(f||R);x.diff=L,x.prev=f,x.curr=R,f=R,m[0]=r.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let H=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(k,J)=>{if(k==="%%")return"%";H++;let ie=r.formatters[J];if(typeof ie=="function"){let j=m[H];k=ie.call(x,j),m.splice(H,1),H--}return k}),r.formatArgs.call(x,m),(x.log||r.log).apply(x,m)}return g.namespace=l,g.useColors=r.useColors(),g.color=r.selectColor(l),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(p!==r.namespaces&&(p=r.namespaces,d=r.enabled(l)),d),set:m=>{h=m}}),typeof r.init=="function"&&r.init(g),g}function n(l,f){let h=r(this.namespace+(typeof f=="undefined"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),p=h.length;for(f=0;f<p;f++)!h[f]||(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.substr(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,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;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}p0.exports=uI});var Te=w((rr,Ga)=>{rr.formatArgs=fI;rr.save=hI;rr.load=dI;rr.useColors=lI;rr.storage=pI();rr.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`."))}})();rr.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 lI(){return typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function fI(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ga.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)}rr.log=console.debug||console.log||(()=>{});function hI(t){try{t?rr.storage.setItem("debug",t):rr.storage.removeItem("debug")}catch(e){}}function dI(){let t;try{t=rr.storage.getItem("debug")}catch(e){}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function pI(){try{return localStorage}catch(t){}}Ga.exports=y0()(rr);var{formatters:yI}=Ga.exports;yI.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Qt=w((nq,fl)=>{"use strict";var ds=typeof Reflect=="object"?Reflect:null,g0=ds&&typeof ds.apply=="function"?ds.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Wa;ds&&typeof ds.ownKeys=="function"?Wa=ds.ownKeys:Object.getOwnPropertySymbols?Wa=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Wa=function(e){return Object.getOwnPropertyNames(e)};function gI(t){console&&console.warn&&console.warn(t)}var m0=Number.isNaN||function(e){return e!==e};function Fe(){Fe.init.call(this)}fl.exports=Fe;fl.exports.once=EI;Fe.EventEmitter=Fe;Fe.prototype._events=void 0;Fe.prototype._eventsCount=0;Fe.prototype._maxListeners=void 0;var v0=10;function Ya(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(Fe,"defaultMaxListeners",{enumerable:!0,get:function(){return v0},set:function(t){if(typeof t!="number"||t<0||m0(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");v0=t}});Fe.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Fe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||m0(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function b0(t){return t._maxListeners===void 0?Fe.defaultMaxListeners:t._maxListeners}Fe.prototype.getMaxListeners=function(){return b0(this)};Fe.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")g0(c,this,r);else for(var u=c.length,l=S0(c,u),n=0;n<u;++n)g0(l[n],this,r);return!0};function E0(t,e,r,n){var i,s,o;if(Ya(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=b0(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,gI(a)}return t}Fe.prototype.addListener=function(e,r){return E0(this,e,r,!1)};Fe.prototype.on=Fe.prototype.addListener;Fe.prototype.prependListener=function(e,r){return E0(this,e,r,!0)};function mI(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function w0(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=mI.bind(n);return i.listener=r,n.wrapFn=i,i}Fe.prototype.once=function(e,r){return Ya(r),this.on(e,w0(this,e,r)),this};Fe.prototype.prependOnceListener=function(e,r){return Ya(r),this.prependListener(e,w0(this,e,r)),this};Fe.prototype.removeListener=function(e,r){var n,i,s,o,a;if(Ya(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount==0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():vI(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};Fe.prototype.off=Fe.prototype.removeListener;Fe.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function _0(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?bI(i):S0(i,i.length)}Fe.prototype.listeners=function(e){return _0(this,e,!0)};Fe.prototype.rawListeners=function(e){return _0(this,e,!1)};Fe.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):x0.call(t,e)};Fe.prototype.listenerCount=x0;function x0(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}Fe.prototype.eventNames=function(){return this._eventsCount>0?Wa(this._events):[]};function S0(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function vI(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function bI(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function EI(t,e){return new Promise(function(r,n){function i(o){t.removeListener(e,s),n(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}A0(t,e,s,{once:!0}),e!=="error"&&wI(t,i,{once:!0})})}function wI(t,e,r){typeof t.on=="function"&&A0(t,"error",e,r)}function A0(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(s){n.once&&t.removeEventListener(e,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var he=w((iq,I0)=>{"use strict";function C0(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function _I(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 C0(t,r)}catch(n){r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),C0(new i,r)}}I0.exports=_I});function R0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=CI;)e[r++]=t&255|T0,t/=128;for(;t&AI;)e[r++]=t&255|T0,t>>>=7;return e[r]=t|0,R0.bytes=r-n+1,e}function hl(t,e){var r=0,e=e||0,n=0,i=e,s,o=t.length;do{if(i>=o)throw hl.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=n<28?(s&B0)<<n:(s&B0)*Math.pow(2,n),n+=7}while(s>=TI);return hl.bytes=i-e,r}var xI,T0,SI,AI,CI,II,TI,B0,RI,BI,PI,NI,OI,DI,LI,kI,qI,UI,MI,FI,Bo,P0=xe(()=>{xI=R0,T0=128,SI=127,AI=~SI,CI=Math.pow(2,31);II=hl,TI=128,B0=127;RI=Math.pow(2,7),BI=Math.pow(2,14),PI=Math.pow(2,21),NI=Math.pow(2,28),OI=Math.pow(2,35),DI=Math.pow(2,42),LI=Math.pow(2,49),kI=Math.pow(2,56),qI=Math.pow(2,63),UI=function(t){return t<RI?1:t<BI?2:t<PI?3:t<NI?4:t<OI?5:t<DI?6:t<LI?7:t<kI?8:t<qI?9:10},MI={encode:xI,decode:II,encodingLength:UI},FI=MI,Bo=FI});var Po,ps,ys,Qa=xe(()=>{P0();Po=t=>[Bo.decode(t),Bo.decode.bytes],ps=(t,e,r=0)=>(Bo.encode(t,e,r),e),ys=t=>Bo.encodingLength(t)});var aq,O0,dn,D0,L0,Pn=xe(()=>{aq=new Uint8Array(0),O0=(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},dn=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")},D0=t=>new TextEncoder().encode(t),L0=t=>new TextDecoder().decode(t)});var No={};gt(No,{Digest:()=>gs,create:()=>Nn,decode:()=>dl,equals:()=>pl});var Nn,dl,pl,gs,mi=xe(()=>{Pn();Qa();Nn=(t,e)=>{let r=e.byteLength,n=ys(t),i=n+ys(r),s=new Uint8Array(i+r);return ps(t,s,0),ps(r,s,n),s.set(e,i),new gs(t,r,e,s)},dl=t=>{let e=dn(t),[r,n]=Po(e),[i,s]=Po(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new gs(r,i,o,e)},pl=(t,e)=>t===e?!0:t.code===e.code&&t.size===e.size&&O0(t.bytes,e.bytes),gs=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}}});function KI(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(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var g=0,m=0,x=0,R=d.length;x!==R&&d[x]===0;)x++,g++;for(var L=(R-x)*l+1>>>0,H=new Uint8Array(L);x!==R;){for(var q=d[x],k=0,J=L-1;(q!==0||k<m)&&J!==-1;J--,k++)q+=256*H[J]>>>0,H[J]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error("Non-zero carry");m=k,x++}for(var ie=L-m;ie!==L&&H[ie]===0;)ie++;for(var j=c.repeat(g);ie<L;++ie)j+=t.charAt(H[ie]);return j}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var g=0;if(d[g]!==" "){for(var m=0,x=0;d[g]===c;)m++,g++;for(var R=(d.length-g)*u+1>>>0,L=new Uint8Array(R);d[g];){var H=r[d.charCodeAt(g)];if(H===255)return;for(var q=0,k=R-1;(H!==0||q<x)&&k!==-1;k--,q++)H+=a*L[k]>>>0,L[k]=H%256>>>0,H=H/256>>>0;if(H!==0)throw new Error("Non-zero carry");x=q,g++}if(d[g]!==" "){for(var J=R-x;J!==R&&L[J]===0;)J++;for(var ie=new Uint8Array(m+(R-J)),j=m;J!==R;)ie[j++]=L[J++];return ie}}}function p(d){var g=h(d);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var VI,jI,q0,U0=xe(()=>{VI=KI,jI=VI,q0=jI});var M0,F0,K0,V0,j0,Xa,On,$I,HI,ct,Vr=xe(()=>{U0();Pn();M0=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")}},F0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseDecode=n}decode(e){if(typeof e=="string")switch(e[0]){case this.prefix:return this.baseDecode(e.slice(1));default:throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`)}else throw Error("Can only multibase decode strings")}or(e){return V0(this,e)}},K0=class{constructor(e){this.decoders=e}or(e){return V0(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`)}},V0=(t,e)=>new K0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),j0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new M0(e,r,n),this.decoder=new F0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Xa=({name:t,prefix:e,encode:r,decode:n})=>new j0(t,e,r,n),On=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=q0(r,e);return Xa({prefix:t,name:e,encode:n,decode:s=>dn(i(s))})},$I=(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},HI=(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},ct=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Xa({prefix:e,name:t,encode(i){return HI(i,n,r)},decode(i){return $I(i,n,r,t)}})});var Dn={};gt(Dn,{base58btc:()=>jr,base58flickr:()=>zI});var jr,zI,Ln=xe(()=>{Vr();jr=On({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),zI=On({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var vi={};gt(vi,{base32:()=>ms,base32hex:()=>QI,base32hexpad:()=>ZI,base32hexpadupper:()=>JI,base32hexupper:()=>XI,base32pad:()=>WI,base32padupper:()=>YI,base32upper:()=>GI,base32z:()=>eT});var ms,GI,WI,YI,QI,XI,ZI,JI,eT,bi=xe(()=>{Vr();ms=ct({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),GI=ct({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),WI=ct({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),YI=ct({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),QI=ct({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),XI=ct({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ZI=ct({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),JI=ct({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),eT=ct({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var Do={};gt(Do,{CID:()=>bt});var bt,tT,rT,nT,Oo,iT,$0,H0,Za,Ja,sT,oT,aT,vs=xe(()=>{Qa();mi();Ln();bi();Pn();bt=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:Ja,byteLength:Ja,code:Za,version:Za,multihash:Za,bytes:Za,_baseCache:Ja,asCID:Ja})}toV0(){switch(this.version){case 0:return this;default:{let{code:e,multihash:r}=this;if(e!==Oo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==iT)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return bt.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Nn(e,r);return bt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&pl(this.multihash,e.multihash)}toString(e){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return rT(r,i,e||jr.encoder);default:return nT(r,i,e||ms.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return oT(/^0\.0/,aT),!!(e&&(e[H0]||e.asCID===e))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof bt)return e;if(e!=null&&e.asCID===e){let{version:r,code:n,multihash:i,bytes:s}=e;return new bt(r,n,i,s||$0(r,n,i.bytes))}else if(e!=null&&e[H0]===!0){let{version:r,multihash:n,code:i}=e,s=dl(n);return bt.create(r,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(e){case 0:{if(r!==Oo)throw new Error(`Version 0 CID must use dag-pb (code: ${Oo}) block encoding`);return new bt(e,r,n,n.bytes)}case 1:{let i=$0(e,r,n.bytes);return new bt(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return bt.create(0,Oo,e)}static createV1(e,r){return bt.create(1,e,r)}static decode(e){let[r,n]=bt.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=bt.inspectBytes(e),n=r.size-r.multihashSize,i=dn(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 gs(r.multihashCode,r.digestSize,s,i);return[r.version===0?bt.createV0(o):bt.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Po(e.subarray(r));return r+=h,f},i=n(),s=Oo;if(i===18?(i=0,r=0):i===1&&(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]=tT(e,r),s=bt.decode(i);return s._baseCache.set(n,e),s}},tT=(t,e)=>{switch(t[0]){case"Q":{let r=e||jr;return[jr.prefix,r.decode(`${jr.prefix}${t}`)]}case jr.prefix:{let r=e||jr;return[jr.prefix,r.decode(t)]}case ms.prefix:{let r=e||ms;return[ms.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)]}}},rT=(t,e,r)=>{let{prefix:n}=r;if(n!==jr.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},nT=(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},Oo=112,iT=18,$0=(t,e,r)=>{let n=ys(t),i=n+ys(e),s=new Uint8Array(i+r.byteLength);return ps(t,s,0),ps(e,s,n),s.set(r,i),s},H0=Symbol.for("@ipld/js-cid/CID"),Za={writable:!1,configurable:!1,enumerable:!0},Ja={writable:!1,enumerable:!1,configurable:!1},sT="0.0.0-dev",oT=(t,e)=>{if(t.test(sT))console.warn(e);else throw new Error(e)},aT=`CID.isCID(v) is deprecated and will be removed in the next major release.
|
|
3
|
+
Following code pattern:
|
|
4
|
+
|
|
5
|
+
if (CID.isCID(value)) {
|
|
6
|
+
doSomethingWithCID(value)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
Is replaced with:
|
|
10
|
+
|
|
11
|
+
const cid = CID.asCID(value)
|
|
12
|
+
if (cid) {
|
|
13
|
+
// Make sure to use cid instead of value
|
|
14
|
+
doSomethingWithCID(cid)
|
|
15
|
+
}
|
|
16
|
+
`});var ec={};gt(ec,{base36:()=>cT,base36upper:()=>uT});var cT,uT,yl=xe(()=>{Vr();cT=On({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),uT=On({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var bs={};gt(bs,{base64:()=>lT,base64pad:()=>fT,base64url:()=>hT,base64urlpad:()=>dT});var lT,fT,hT,dT,Lo=xe(()=>{Vr();lT=ct({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),fT=ct({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),hT=ct({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),dT=ct({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var tc={};gt(tc,{base16:()=>pT,base16upper:()=>yT});var pT,yT,gl=xe(()=>{Vr();pT=ct({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),yT=ct({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var G0=w((Sq,z0)=>{"use strict";z0.exports=gT;function gT(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var X0=w(Q0=>{"use strict";var rc=Q0;rc.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Es=new Array(64),W0=new Array(123);for(Rr=0;Rr<64;)W0[Es[Rr]=Rr<26?Rr+65:Rr<52?Rr+71:Rr<62?Rr-4:Rr-59|43]=Rr++;var Rr;rc.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=Es[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=Es[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=Es[c|u>>6],s[o++]=Es[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=Es[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var Y0="invalid encoding";rc.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=W0[c])===void 0)throw Error(Y0);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(Y0);return n-i};rc.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var J0=w((Cq,Z0)=>{"use strict";Z0.exports=nc;function nc(){this._listeners={}}nc.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};nc.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};nc.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var op=w((Iq,sp)=>{"use strict";sp.exports=ep(ep);function ep(t){return typeof Float32Array!="undefined"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,tp),t.writeFloatBE=e.bind(null,rp);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,np),t.readFloatBE=r.bind(null,ip)}(),typeof Float64Array!="undefined"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,tp,0,4),t.writeDoubleBE=e.bind(null,rp,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,np,0,4),t.readDoubleBE=r.bind(null,ip,4,0)}(),t}function tp(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 rp(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function np(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function ip(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var ap=w((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var up=w(cp=>{"use strict";var ml=cp;ml.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)==55296&&(e.charCodeAt(i+1)&64512)==56320?(++i,r+=4):r+=3;return r};ml.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};ml.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)==55296&&((o=e.charCodeAt(a+1))&64512)==56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var fp=w((Rq,lp)=>{"use strict";lp.exports=mT;function mT(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var dp=w((Bq,hp)=>{"use strict";hp.exports=wt;var ko=qn();function wt(t,e){this.lo=t>>>0,this.hi=e>>>0}var Ei=wt.zero=new wt(0,0);Ei.toNumber=function(){return 0};Ei.zzEncode=Ei.zzDecode=function(){return this};Ei.length=function(){return 1};var vT=wt.zeroHash="\0\0\0\0\0\0\0\0";wt.fromNumber=function(e){if(e===0)return Ei;var r=e<0;r&&(e=-e);var 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 wt(n,i)};wt.from=function(e){if(typeof e=="number")return wt.fromNumber(e);if(ko.isString(e))if(ko.Long)e=ko.Long.fromString(e);else return wt.fromNumber(parseInt(e,10));return e.low||e.high?new wt(e.low>>>0,e.high>>>0):Ei};wt.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};wt.prototype.toLong=function(e){return ko.Long?new ko.Long(this.lo|0,this.hi|0,Boolean(e)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(e)}};var kn=String.prototype.charCodeAt;wt.fromHash=function(e){return e===vT?Ei:new wt((kn.call(e,0)|kn.call(e,1)<<8|kn.call(e,2)<<16|kn.call(e,3)<<24)>>>0,(kn.call(e,4)|kn.call(e,5)<<8|kn.call(e,6)<<16|kn.call(e,7)<<24)>>>0)};wt.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};wt.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};wt.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};wt.prototype.length=function(){var 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}});var qn=w(vl=>{"use strict";var se=vl;se.asPromise=G0();se.base64=X0();se.EventEmitter=J0();se.float=op();se.inquire=ap();se.utf8=up();se.pool=fp();se.LongBits=dp();se.isNode=Boolean(typeof globalThis!="undefined"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);se.global=se.isNode&&globalThis||typeof window!="undefined"&&window||typeof self!="undefined"&&self||vl;se.emptyArray=Object.freeze?Object.freeze([]):[];se.emptyObject=Object.freeze?Object.freeze({}):{};se.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};se.isString=function(e){return typeof e=="string"||e instanceof String};se.isObject=function(e){return e&&typeof e=="object"};se.isset=se.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};se.Buffer=function(){try{var t=se.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(e){return null}}();se._Buffer_from=null;se._Buffer_allocUnsafe=null;se.newBuffer=function(e){return typeof e=="number"?se.Buffer?se._Buffer_allocUnsafe(e):new se.Array(e):se.Buffer?se._Buffer_from(e):typeof Uint8Array=="undefined"?e:new Uint8Array(e)};se.Array=typeof Uint8Array!="undefined"?Uint8Array:Array;se.Long=se.global.dcodeIO&&se.global.dcodeIO.Long||se.global.Long||se.inquire("long");se.key2Re=/^true|false|0|1$/;se.key32Re=/^-?(?:0|[1-9][0-9]*)$/;se.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;se.longToHash=function(e){return e?se.LongBits.from(e).toHash():se.LongBits.zeroHash};se.longFromHash=function(e,r){var n=se.LongBits.fromHash(e);return se.Long?se.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function pp(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}se.merge=pp;se.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function yp(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&pp(this,n)}return(e.prototype=Object.create(Error.prototype)).constructor=e,Object.defineProperty(e.prototype,"name",{get:function(){return t}}),e.prototype.toString=function(){return this.name+": "+this.message},e}se.newError=yp;se.ProtocolError=yp("ProtocolError");se.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};se.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};se.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};se._configure=function(){var t=se.Buffer;if(!t){se._Buffer_from=se._Buffer_allocUnsafe=null;return}se._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},se._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Al=w((Nq,bp)=>{"use strict";bp.exports=Re;var ur=qn(),bl,ic=ur.LongBits,gp=ur.base64,mp=ur.utf8;function qo(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function El(){}function bT(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function Re(){this.len=0,this.head=new qo(El,0,0),this.tail=this.head,this.states=null}var vp=function(){return ur.Buffer?function(){return(Re.create=function(){return new bl})()}:function(){return new Re}};Re.create=vp();Re.alloc=function(e){return new ur.Array(e)};ur.Array!==Array&&(Re.alloc=ur.pool(Re.alloc,ur.Array.prototype.subarray));Re.prototype._push=function(e,r,n){return this.tail=this.tail.next=new qo(e,r,n),this.len+=r,this};function wl(t,e,r){e[r]=t&255}function ET(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function _l(t,e){this.len=t,this.next=void 0,this.val=e}_l.prototype=Object.create(qo.prototype);_l.prototype.fn=ET;Re.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new _l((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};Re.prototype.int32=function(e){return e<0?this._push(xl,10,ic.fromNumber(e)):this.uint32(e)};Re.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function xl(t,e,r){for(;t.hi;)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}Re.prototype.uint64=function(e){var r=ic.from(e);return this._push(xl,r.length(),r)};Re.prototype.int64=Re.prototype.uint64;Re.prototype.sint64=function(e){var r=ic.from(e).zzEncode();return this._push(xl,r.length(),r)};Re.prototype.bool=function(e){return this._push(wl,1,e?1:0)};function Sl(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}Re.prototype.fixed32=function(e){return this._push(Sl,4,e>>>0)};Re.prototype.sfixed32=Re.prototype.fixed32;Re.prototype.fixed64=function(e){var r=ic.from(e);return this._push(Sl,4,r.lo)._push(Sl,4,r.hi)};Re.prototype.sfixed64=Re.prototype.fixed64;Re.prototype.float=function(e){return this._push(ur.float.writeFloatLE,4,e)};Re.prototype.double=function(e){return this._push(ur.float.writeDoubleLE,8,e)};var wT=ur.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};Re.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(wl,1,0);if(ur.isString(e)){var n=Re.alloc(r=gp.length(e));gp.decode(e,n,0),e=n}return this.uint32(r)._push(wT,r,e)};Re.prototype.string=function(e){var r=mp.length(e);return r?this.uint32(r)._push(mp.write,r,e):this._push(wl,1,0)};Re.prototype.fork=function(){return this.states=new bT(this),this.head=this.tail=new qo(El,0,0),this.len=0,this};Re.prototype.reset=function(){return this.states?(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 qo(El,0,0),this.len=0),this};Re.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};Re.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};Re._configure=function(t){bl=t,Re.create=vp(),bl._configure()}});var _p=w((Oq,wp)=>{"use strict";wp.exports=$r;var Ep=Al();($r.prototype=Object.create(Ep.prototype)).constructor=$r;var Un=qn();function $r(){Ep.call(this)}$r._configure=function(){$r.alloc=Un._Buffer_allocUnsafe,$r.writeBytesBuffer=Un.Buffer&&Un.Buffer.prototype instanceof Uint8Array&&Un.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};$r.prototype.bytes=function(e){Un.isString(e)&&(e=Un._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push($r.writeBytesBuffer,r,e),this};function _T(t,e,r){t.length<40?Un.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}$r.prototype.string=function(e){var r=Un.Buffer.byteLength(e);return this.uint32(r),r&&this._push(_T,r,e),this};$r._configure()});var Tl=w((Dq,Ip)=>{"use strict";Ip.exports=ht;var Hr=qn(),Cl,xp=Hr.LongBits,xT=Hr.utf8;function Br(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function ht(t){this.buf=t,this.pos=0,this.len=t.length}var Sp=typeof Uint8Array!="undefined"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new ht(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new ht(e);throw Error("illegal buffer")},Ap=function(){return Hr.Buffer?function(r){return(ht.create=function(i){return Hr.Buffer.isBuffer(i)?new Cl(i):Sp(i)})(r)}:Sp};ht.create=Ap();ht.prototype._slice=Hr.Array.prototype.subarray||Hr.Array.prototype.slice;ht.prototype.uint32=function(){var e=4294967295;return function(){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,Br(this,10);return e}}();ht.prototype.int32=function(){return this.uint32()|0};ht.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Il(){var t=new xp(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Br(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Br(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}ht.prototype.bool=function(){return this.uint32()!==0};function sc(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}ht.prototype.fixed32=function(){if(this.pos+4>this.len)throw Br(this,4);return sc(this.buf,this.pos+=4)};ht.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Br(this,4);return sc(this.buf,this.pos+=4)|0};function Cp(){if(this.pos+8>this.len)throw Br(this,8);return new xp(sc(this.buf,this.pos+=4),sc(this.buf,this.pos+=4))}ht.prototype.float=function(){if(this.pos+4>this.len)throw Br(this,4);var e=Hr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};ht.prototype.double=function(){if(this.pos+8>this.len)throw Br(this,4);var e=Hr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};ht.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Br(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};ht.prototype.string=function(){var e=this.bytes();return xT.read(e,0,e.length)};ht.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Br(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Br(this);while(this.buf[this.pos++]&128);return this};ht.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!=4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};ht._configure=function(t){Cl=t,ht.create=Ap(),Cl._configure();var e=Hr.Long?"toLong":"toNumber";Hr.merge(ht.prototype,{int64:function(){return Il.call(this)[e](!1)},uint64:function(){return Il.call(this)[e](!0)},sint64:function(){return Il.call(this).zzDecode()[e](!1)},fixed64:function(){return Cp.call(this)[e](!0)},sfixed64:function(){return Cp.call(this)[e](!1)}})}});var Pp=w((Lq,Bp)=>{"use strict";Bp.exports=wi;var Tp=Tl();(wi.prototype=Object.create(Tp.prototype)).constructor=wi;var Rp=qn();function wi(t){Tp.call(this,t)}wi._configure=function(){Rp.Buffer&&(wi.prototype._slice=Rp.Buffer.prototype.slice)};wi.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};wi._configure()});var Op=w((kq,Np)=>{"use strict";Np.exports=Uo;var Rl=qn();(Uo.prototype=Object.create(Rl.EventEmitter.prototype)).constructor=Uo;function Uo(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");Rl.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(r)}Uo.prototype.rpcCall=function t(e,r,n,i,s){if(!i)throw TypeError("request must be specified");var o=this;if(!s)return Rl.asPromise(t,o,e,r,n,i);if(!o.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return o.rpcImpl(e,r[o.requestDelimited?"encodeDelimited":"encode"](i).finish(),function(c,u){if(c)return o.emit("error",c,e),s(c);if(u===null){o.end(!0);return}if(!(u instanceof n))try{u=n[o.responseDelimited?"decodeDelimited":"decode"](u)}catch(l){return o.emit("error",l,e),s(l)}return o.emit("data",u,e),s(null,u)})}catch(a){o.emit("error",a,e),setTimeout(function(){s(a)},0);return}};Uo.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var Lp=w(Dp=>{"use strict";var ST=Dp;ST.Service=Op()});var qp=w((Uq,kp)=>{"use strict";kp.exports={}});var Fp=w(Mp=>{"use strict";var Xt=Mp;Xt.build="minimal";Xt.Writer=Al();Xt.BufferWriter=_p();Xt.Reader=Tl();Xt.BufferReader=Pp();Xt.util=qn();Xt.rpc=Lp();Xt.roots=qp();Xt.configure=Up;function Up(){Xt.util._configure(),Xt.Writer._configure(Xt.BufferWriter),Xt.Reader._configure(Xt.BufferReader)}Up()});var pn=w((Fq,Kp)=>{"use strict";Kp.exports=Fp()});var ac=w((Kq,jp)=>{"use strict";var _i=pn(),oc=_i.Reader,Vp=_i.Writer,Pt=_i.util,lr=_i.roots["libp2p-crypto-keys"]||(_i.roots["libp2p-crypto-keys"]={});lr.KeyType=function(){var t={},e=Object.create(t);return e[t[0]="RSA"]=0,e[t[1]="Ed25519"]=1,e[t[2]="Secp256k1"]=2,e}();lr.PublicKey=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Pt.newBuffer([]),t.encode=function(r,n){return n||(n=Vp.create()),n.uint32(8).int32(r.Type),n.uint32(18).bytes(r.Data),n},t.decode=function(r,n){r instanceof oc||(r=oc.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new lr.PublicKey;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("Type"))throw Pt.ProtocolError("missing required 'Type'",{instance:s});if(!s.hasOwnProperty("Data"))throw Pt.ProtocolError("missing required 'Data'",{instance:s});return s},t.fromObject=function(r){if(r instanceof lr.PublicKey)return r;var n=new lr.PublicKey;switch(r.Type){case"RSA":case 0:n.Type=0;break;case"Ed25519":case 1:n.Type=1;break;case"Secp256k1":case 2:n.Type=2;break}return r.Data!=null&&(typeof r.Data=="string"?Pt.base64.decode(r.Data,n.Data=Pt.newBuffer(Pt.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.Type=n.enums===String?"RSA":0,n.bytes===String?i.Data="":(i.Data=[],n.bytes!==Array&&(i.Data=Pt.newBuffer(i.Data)))),r.Type!=null&&r.hasOwnProperty("Type")&&(i.Type=n.enums===String?lr.KeyType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(i.Data=n.bytes===String?Pt.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,_i.util.toJSONOptions)},t}();lr.PrivateKey=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Pt.newBuffer([]),t.encode=function(r,n){return n||(n=Vp.create()),n.uint32(8).int32(r.Type),n.uint32(18).bytes(r.Data),n},t.decode=function(r,n){r instanceof oc||(r=oc.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new lr.PrivateKey;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("Type"))throw Pt.ProtocolError("missing required 'Type'",{instance:s});if(!s.hasOwnProperty("Data"))throw Pt.ProtocolError("missing required 'Data'",{instance:s});return s},t.fromObject=function(r){if(r instanceof lr.PrivateKey)return r;var n=new lr.PrivateKey;switch(r.Type){case"RSA":case 0:n.Type=0;break;case"Ed25519":case 1:n.Type=1;break;case"Secp256k1":case 2:n.Type=2;break}return r.Data!=null&&(typeof r.Data=="string"?Pt.base64.decode(r.Data,n.Data=Pt.newBuffer(Pt.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.Type=n.enums===String?"RSA":0,n.bytes===String?i.Data="":(i.Data=[],n.bytes!==Array&&(i.Data=Pt.newBuffer(i.Data)))),r.Type!=null&&r.hasOwnProperty("Type")&&(i.Type=n.enums===String?lr.KeyType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(i.Data=n.bytes===String?Pt.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,_i.util.toJSONOptions)},t}();jp.exports=lr});var be=w((Vq,$p)=>{$p.exports={options:{usePureJavaScript:!1}}});var Gp=w((jq,zp)=>{var Bl={};zp.exports=Bl;var Hp={};Bl.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=AT(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
|
|
17
|
+
`)}return n};Bl.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=Hp[e];if(!r){r=Hp[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!="undefined"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function AT(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 $e=w(($q,Xp)=>{var Wp=be(),Yp=Gp(),P=Xp.exports=Wp.util=Wp.util||{};(function(){if(typeof process!="undefined"&&process.nextTick&&!process.browser){P.nextTick=process.nextTick,typeof setImmediate=="function"?P.setImmediate=setImmediate:P.setImmediate=P.nextTick;return}if(typeof setImmediate=="function"){P.setImmediate=function(){return setImmediate.apply(void 0,arguments)},P.nextTick=function(a){return setImmediate(a)};return}if(P.setImmediate=function(a){setTimeout(a,0)},typeof window!="undefined"&&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=[];P.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver!="undefined"){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=P.setImmediate;P.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}P.nextTick=P.setImmediate})();P.isNodejs=typeof process!="undefined"&&process.versions&&process.versions.node;P.globalScope=function(){return P.isNodejs?globalThis:typeof self=="undefined"?window:self}();P.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};P.isArrayBuffer=function(t){return typeof ArrayBuffer!="undefined"&&t instanceof ArrayBuffer};P.isArrayBufferView=function(t){return t&&P.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Mo(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}P.ByteBuffer=Pl;function Pl(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(P.isArrayBuffer(t)||P.isArrayBufferView(t))if(typeof Buffer!="undefined"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch(n){for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Pl||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}P.ByteStringBuffer=Pl;var CT=4096;P.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>CT&&(this.data.substr(0,1),this._constructedStringLength=0)};P.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};P.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};P.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};P.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};P.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};P.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(P.encodeUtf8(t))};P.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.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))};P.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};P.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};P.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))};P.ByteStringBuffer.prototype.putInt=function(t,e){Mo(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};P.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};P.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};P.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};P.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};P.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};P.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};P.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};P.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};P.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};P.ByteStringBuffer.prototype.getInt=function(t){Mo(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};P.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};P.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};P.ByteStringBuffer.prototype.bytes=function(t){return typeof t=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};P.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};P.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};P.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};P.ByteStringBuffer.prototype.copy=function(){var t=P.createBuffer(this.data);return t.read=this.read,t};P.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};P.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};P.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};P.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};P.ByteStringBuffer.prototype.toString=function(){return P.decodeUtf8(this.bytes())};function IT(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=P.isArrayBuffer(t),n=P.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)}P.DataBuffer=IT;P.DataBuffer.prototype.length=function(){return this.write-this.read};P.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};P.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};P.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};P.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};P.DataBuffer.prototype.putBytes=function(t,e){if(P.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(P.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 P.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&P.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 P.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+=P.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+=P.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=P.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=P.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};P.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};P.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};P.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};P.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};P.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};P.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};P.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};P.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};P.DataBuffer.prototype.putInt=function(t,e){Mo(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};P.DataBuffer.prototype.putSignedInt=function(t,e){return Mo(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};P.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};P.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};P.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};P.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};P.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};P.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};P.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};P.DataBuffer.prototype.getInt=function(t){Mo(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};P.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};P.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};P.DataBuffer.prototype.bytes=function(t){return typeof t=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};P.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};P.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};P.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};P.DataBuffer.prototype.copy=function(){return new P.DataBuffer(this)};P.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};P.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};P.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};P.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};P.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return P.binary.raw.encode(e);if(t==="hex")return P.binary.hex.encode(e);if(t==="base64")return P.binary.base64.encode(e);if(t==="utf8")return P.text.utf8.decode(e);if(t==="utf16")return P.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};P.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=P.encodeUtf8(t)),new P.ByteBuffer(t)};P.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};P.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};P.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};P.bytesToHex=function(t){return P.createBuffer(t).toHex()};P.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Mn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Fn=[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],Qp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";P.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+=Mn.charAt(i>>2),r+=Mn.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Mn.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Mn.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
18
|
+
`,r=r.substr(e));return n+=r,n};P.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=Fn[t.charCodeAt(o++)-43],n=Fn[t.charCodeAt(o++)-43],i=Fn[t.charCodeAt(o++)-43],s=Fn[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};P.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};P.decodeUtf8=function(t){return decodeURIComponent(escape(t))};P.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Yp.encode,decode:Yp.decode}};P.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};P.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};P.binary.hex.encode=P.bytesToHex;P.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};P.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+=Mn.charAt(i>>2),r+=Mn.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Mn.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Mn.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
19
|
+
`,r=r.substr(e));return n+=r,n};P.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=Fn[t.charCodeAt(c++)-43],s=Fn[t.charCodeAt(c++)-43],o=Fn[t.charCodeAt(c++)-43],a=Fn[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)};P.binary.base58.encode=function(t,e){return P.binary.baseN.encode(t,Qp,e)};P.binary.base58.decode=function(t,e){return P.binary.baseN.decode(t,Qp,e)};P.text={utf8:{},utf16:{}};P.text.utf8.encode=function(t,e,r){t=P.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};P.text.utf8.decode=function(t){return P.decodeUtf8(String.fromCharCode.apply(null,t))};P.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};P.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};P.deflate=function(t,e,r){if(e=P.decode64(t.deflate(P.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};P.inflate=function(t,e,r){var n=t.inflate(P.encode64(e)).rval;return n===null?null:P.decode64(n)};var Nl=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=P.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n!="undefined"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Ol=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(P.decode64(r))),r},TT=function(t,e,r,n){var i=Ol(t,e);i===null&&(i={}),i[r]=n,Nl(t,e,i)},RT=function(t,e,r){var n=Ol(t,e);return n!==null&&(n=r in n?n[r]:null),n},BT=function(t,e,r){var n=Ol(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),Nl(t,e,n)}},PT=function(t,e){Nl(t,e,null)},cc=function(t,e,r){var n=null;typeof r=="undefined"&&(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};P.setItem=function(t,e,r,n,i){cc(TT,arguments,i)};P.getItem=function(t,e,r,n){return cc(RT,arguments,n)};P.removeItem=function(t,e,r,n){cc(BT,arguments,n)};P.clearItems=function(t,e,r){cc(PT,arguments,r)};P.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};P.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("")};P.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):"")};P.formatSize=function(t){return t>=1073741824?t=P.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=P.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=P.formatNumber(t/1024,0)+" KiB":t=P.formatNumber(t,0)+" bytes",t};P.bytesFromIP=function(t){return t.indexOf(".")!==-1?P.bytesFromIPv4(t):t.indexOf(":")!==-1?P.bytesFromIPv6(t):null};P.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=P.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};P.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=P.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=P.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};P.bytesToIP=function(t){return t.length===4?P.bytesToIPv4(t):t.length===16?P.bytesToIPv6(t):null};P.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(".")};P.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=P.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(":")};P.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in P&&!t.update)return e(null,P.cores);if(typeof navigator!="undefined"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return P.cores=navigator.hardwareConcurrency,e(null,P.cores);if(typeof Worker=="undefined")return P.cores=1,e(null,P.cores);if(typeof Blob=="undefined")return P.cores=2,e(null,P.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 P.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,P.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(h){if(u.push(h.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]=[],h=0;h<o;++h)if(u!==h){var p=a[h];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(h)}return c.reduce(function(d,g){return Math.max(d,g.length)},0)}}});var ws=w((Hq,Zp)=>{var Fo=be();Fo.pki=Fo.pki||{};var Dl=Zp.exports=Fo.pki.oids=Fo.oids=Fo.oids||{};function $(t,e){Dl[t]=e,Dl[e]=t}function Oe(t,e){Dl[t]=e}$("1.2.840.113549.1.1.1","rsaEncryption");$("1.2.840.113549.1.1.4","md5WithRSAEncryption");$("1.2.840.113549.1.1.5","sha1WithRSAEncryption");$("1.2.840.113549.1.1.7","RSAES-OAEP");$("1.2.840.113549.1.1.8","mgf1");$("1.2.840.113549.1.1.9","pSpecified");$("1.2.840.113549.1.1.10","RSASSA-PSS");$("1.2.840.113549.1.1.11","sha256WithRSAEncryption");$("1.2.840.113549.1.1.12","sha384WithRSAEncryption");$("1.2.840.113549.1.1.13","sha512WithRSAEncryption");$("1.3.101.112","EdDSA25519");$("1.2.840.10040.4.3","dsa-with-sha1");$("1.3.14.3.2.7","desCBC");$("1.3.14.3.2.26","sha1");$("1.3.14.3.2.29","sha1WithRSASignature");$("2.16.840.1.101.3.4.2.1","sha256");$("2.16.840.1.101.3.4.2.2","sha384");$("2.16.840.1.101.3.4.2.3","sha512");$("1.2.840.113549.2.5","md5");$("1.2.840.113549.1.7.1","data");$("1.2.840.113549.1.7.2","signedData");$("1.2.840.113549.1.7.3","envelopedData");$("1.2.840.113549.1.7.4","signedAndEnvelopedData");$("1.2.840.113549.1.7.5","digestedData");$("1.2.840.113549.1.7.6","encryptedData");$("1.2.840.113549.1.9.1","emailAddress");$("1.2.840.113549.1.9.2","unstructuredName");$("1.2.840.113549.1.9.3","contentType");$("1.2.840.113549.1.9.4","messageDigest");$("1.2.840.113549.1.9.5","signingTime");$("1.2.840.113549.1.9.6","counterSignature");$("1.2.840.113549.1.9.7","challengePassword");$("1.2.840.113549.1.9.8","unstructuredAddress");$("1.2.840.113549.1.9.14","extensionRequest");$("1.2.840.113549.1.9.20","friendlyName");$("1.2.840.113549.1.9.21","localKeyId");$("1.2.840.113549.1.9.22.1","x509Certificate");$("1.2.840.113549.1.12.10.1.1","keyBag");$("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");$("1.2.840.113549.1.12.10.1.3","certBag");$("1.2.840.113549.1.12.10.1.4","crlBag");$("1.2.840.113549.1.12.10.1.5","secretBag");$("1.2.840.113549.1.12.10.1.6","safeContentsBag");$("1.2.840.113549.1.5.13","pkcs5PBES2");$("1.2.840.113549.1.5.12","pkcs5PBKDF2");$("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");$("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");$("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");$("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");$("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");$("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");$("1.2.840.113549.2.7","hmacWithSHA1");$("1.2.840.113549.2.8","hmacWithSHA224");$("1.2.840.113549.2.9","hmacWithSHA256");$("1.2.840.113549.2.10","hmacWithSHA384");$("1.2.840.113549.2.11","hmacWithSHA512");$("1.2.840.113549.3.7","des-EDE3-CBC");$("2.16.840.1.101.3.4.1.2","aes128-CBC");$("2.16.840.1.101.3.4.1.22","aes192-CBC");$("2.16.840.1.101.3.4.1.42","aes256-CBC");$("2.5.4.3","commonName");$("2.5.4.4","surname");$("2.5.4.5","serialNumber");$("2.5.4.6","countryName");$("2.5.4.7","localityName");$("2.5.4.8","stateOrProvinceName");$("2.5.4.9","streetAddress");$("2.5.4.10","organizationName");$("2.5.4.11","organizationalUnitName");$("2.5.4.12","title");$("2.5.4.13","description");$("2.5.4.15","businessCategory");$("2.5.4.17","postalCode");$("2.5.4.42","givenName");$("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");$("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");$("2.16.840.1.113730.1.1","nsCertType");$("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");$("2.5.29.14","subjectKeyIdentifier");$("2.5.29.15","keyUsage");Oe("2.5.29.16","privateKeyUsagePeriod");$("2.5.29.17","subjectAltName");$("2.5.29.18","issuerAltName");$("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");$("2.5.29.31","cRLDistributionPoints");$("2.5.29.32","certificatePolicies");Oe("2.5.29.33","policyMappings");Oe("2.5.29.34","policyConstraints");$("2.5.29.35","authorityKeyIdentifier");Oe("2.5.29.36","policyConstraints");$("2.5.29.37","extKeyUsage");Oe("2.5.29.46","freshestCRL");Oe("2.5.29.54","inhibitAnyPolicy");$("1.3.6.1.4.1.11129.2.4.2","timestampList");$("1.3.6.1.5.5.7.1.1","authorityInfoAccess");$("1.3.6.1.5.5.7.3.1","serverAuth");$("1.3.6.1.5.5.7.3.2","clientAuth");$("1.3.6.1.5.5.7.3.3","codeSigning");$("1.3.6.1.5.5.7.3.4","emailProtection");$("1.3.6.1.5.5.7.3.8","timeStamping")});var Kn=w((zq,ey)=>{var Qe=be();$e();ws();var X=ey.exports=Qe.asn1=Qe.asn1||{};X.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};X.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};X.create=function(t,e,r,n,i){if(Qe.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||Qe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=X.copy(a)),a};X.copy=function(t,e){var r;if(Qe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(X.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:X.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};X.equals=function(t,e,r){if(Qe.util.isArray(t)){if(!Qe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!X.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&&X.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};X.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 Ko(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 NT=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;Ko(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};X.fromDer=function(t,e){return e===void 0&&(e={strict:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=Qe.util.createBuffer(t)),uc(t,t.length(),0,e)};function uc(t,e,r,n){var i;Ko(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=NT(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,h=(s&32)==32;if(h)if(l=[],c===void 0)for(;;){if(Ko(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(uc(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(uc(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===X.Class.UNIVERSAL&&a===X.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===X.Class.UNIVERSAL&&a===X.Type.BITSTRING&&c>1){var p=t.read,d=e,g=0;if(a===X.Type.BITSTRING&&(Ko(t,e,1),g=t.getByte(),e--),g===0)try{i=t.length();var m={verbose:n.verbose,strict:!0,decodeBitStrings:!0},x=uc(t,e,r+1,m),R=i-t.length();e-=R,a==X.Type.BITSTRING&&R++;var L=x.tagClass;R===c&&(L===X.Class.UNIVERSAL||L===X.Class.CONTEXT_SPECIFIC)&&(l=[x])}catch(q){}l===void 0&&(t.read=p,e=d)}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===X.Type.BMPSTRING)for(l="";c>0;c-=2)Ko(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c)}var H=f===void 0?null:{bitStringContents:f};return X.create(o,a,h,l,H)}X.toDer=function(t){var e=Qe.util.createBuffer(),r=t.tagClass|t.type,n=Qe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=X.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(X.toDer(t.value[s]))}else if(t.type===X.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===X.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&(t.value.charCodeAt(1)&128)==0||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};X.oidToDer=function(t){var e=t.split("."),r=Qe.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};X.derToOid=function(t){var e;typeof t=="string"&&(t=Qe.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};X.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),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};X.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,h=t.charAt(f);if(h==="+"||h==="-"){var p=parseInt(t.substr(f+1,2),10),d=parseInt(t.substr(f+4,2),10);u=p*60+d,u*=6e4,h==="+"&&(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};X.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};X.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};X.integerToDer=function(t){var e=Qe.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};X.derToInteger=function(t){typeof t=="string"&&(t=Qe.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)};X.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass=="undefined")&&(t.type===e.type||typeof e.type=="undefined"))if(t.constructed===e.constructed||typeof e.constructed=="undefined"){if(i=!0,e.value&&Qe.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=X.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 Jp=/[^\\u0000-\\u00ff]/;X.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
20
|
+
`);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case X.Class.UNIVERSAL:n+="Universal:";break;case X.Class.APPLICATION:n+="Application:";break;case X.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case X.Class.PRIVATE:n+="Private:";break}if(t.tagClass===X.Class.UNIVERSAL)switch(n+=t.type,t.type){case X.Type.NONE:n+=" (None)";break;case X.Type.BOOLEAN:n+=" (Boolean)";break;case X.Type.INTEGER:n+=" (Integer)";break;case X.Type.BITSTRING:n+=" (Bit string)";break;case X.Type.OCTETSTRING:n+=" (Octet string)";break;case X.Type.NULL:n+=" (Null)";break;case X.Type.OID:n+=" (Object Identifier)";break;case X.Type.ODESC:n+=" (Object Descriptor)";break;case X.Type.EXTERNAL:n+=" (External or Instance of)";break;case X.Type.REAL:n+=" (Real)";break;case X.Type.ENUMERATED:n+=" (Enumerated)";break;case X.Type.EMBEDDED:n+=" (Embedded PDV)";break;case X.Type.UTF8:n+=" (UTF8)";break;case X.Type.ROID:n+=" (Relative Object Identifier)";break;case X.Type.SEQUENCE:n+=" (Sequence)";break;case X.Type.SET:n+=" (Set)";break;case X.Type.PRINTABLESTRING:n+=" (Printable String)";break;case X.Type.IA5String:n+=" (IA5String (ASCII))";break;case X.Type.UTCTIME:n+=" (UTC time)";break;case X.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case X.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
|
21
|
+
`,n+=i+"Constructed: "+t.constructed+`
|
|
22
|
+
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=X.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===X.Type.OID){var c=X.derToOid(t.value);n+=c,Qe.pki&&Qe.pki.oids&&c in Qe.pki.oids&&(n+=" ("+Qe.pki.oids[c]+") ")}if(t.type===X.Type.INTEGER)try{n+=X.derToInteger(t.value)}catch(l){n+="0x"+Qe.util.bytesToHex(t.value)}else if(t.type===X.Type.BITSTRING){if(t.value.length>1?n+="0x"+Qe.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 t.type===X.Type.OCTETSTRING?(Jp.test(t.value)||(n+="("+t.value+") "),n+="0x"+Qe.util.bytesToHex(t.value)):t.type===X.Type.UTF8?n+=Qe.util.decodeUtf8(t.value):t.type===X.Type.PRINTABLESTRING||t.type===X.Type.IA5String?n+=t.value:Jp.test(t.value)?n+="0x"+Qe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var kl=w((Gq,ty)=>{var _t=be();$e();ty.exports=_t.cipher=_t.cipher||{};_t.cipher.algorithms=_t.cipher.algorithms||{};_t.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=_t.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new _t.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};_t.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=_t.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new _t.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};_t.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),_t.cipher.algorithms[t]=e};_t.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in _t.cipher.algorithms?_t.cipher.algorithms[t]:null};var Ll=_t.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)};Ll.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=_t.util.createBuffer(),this.output=t.output||_t.util.createBuffer(),this.mode.start(e)};Ll.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()};Ll.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 Ul=w((Wq,ry)=>{var xt=be();$e();xt.cipher=xt.cipher||{};var Ee=ry.exports=xt.cipher.modes=xt.cipher.modes||{};Ee.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)};Ee.ecb.prototype.start=function(t){};Ee.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])};Ee.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])};Ee.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Ee.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)};Ee.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)};Ee.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=lc(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Ee.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};Ee.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)};Ee.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Ee.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)};Ee.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=xt.util.createBuffer(),this._partialBytes=0};Ee.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=lc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.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};Ee.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};Ee.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=xt.util.createBuffer(),this._partialBytes=0};Ee.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=lc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.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};Ee.ofb.prototype.decrypt=Ee.ofb.prototype.encrypt;Ee.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=xt.util.createBuffer(),this._partialBytes=0};Ee.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=lc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.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}fc(this._inBlock)};Ee.ctr.prototype.decrypt=Ee.ctr.prototype.encrypt;Ee.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=xt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Ee.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=xt.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=xt.util.createBuffer(t.additionalData):r=xt.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=xt.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(ql(n*8)))}this._inBlock=this._j0.slice(0),fc(this._inBlock),this._partialBytes=0,r=xt.util.createBuffer(r),this._aDataLength=ql(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()])};Ee.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),fc(this._inBlock)};Ee.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),fc(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};Ee.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=xt.util.createBuffer();var n=this._aDataLength.concat(ql(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};Ee.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};Ee.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)};Ee.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};Ee.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)};Ee.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};Ee.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 lc(t,e){if(typeof t=="string"&&(t=xt.util.createBuffer(t)),xt.util.isArray(t)&&t.length>4){var r=t;t=xt.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(!xt.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function fc(t){t[t.length-1]=t[t.length-1]+1&4294967295}function ql(t){return[t/4294967296|0,t&4294967295]}});var Ss=w((Yq,oy)=>{var He=be();kl();Ul();$e();oy.exports=He.aes=He.aes||{};He.aes.startEncrypting=function(t,e,r,n){var i=hc({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};He.aes.createEncryptionCipher=function(t,e){return hc({key:t,output:null,decrypt:!1,mode:e})};He.aes.startDecrypting=function(t,e,r,n){var i=hc({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};He.aes.createDecryptionCipher=function(t,e){return hc({key:t,output:null,decrypt:!0,mode:e})};He.aes.Algorithm=function(t,e){Ml||iy();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Kl(r._w,n,i,!1)},decrypt:function(n,i){return Kl(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=sy(e,t.decrypt&&!o),this._init=!0}};He.aes._expandKey=function(t,e){return Ml||iy(),sy(t,e)};He.aes._updateBlock=Kl;_s("AES-ECB",He.cipher.modes.ecb);_s("AES-CBC",He.cipher.modes.cbc);_s("AES-CFB",He.cipher.modes.cfb);_s("AES-OFB",He.cipher.modes.ofb);_s("AES-CTR",He.cipher.modes.ctr);_s("AES-GCM",He.cipher.modes.gcm);function _s(t,e){var r=function(){return new He.aes.Algorithm(t,e)};He.cipher.registerAlgorithm(t,r)}var Ml=!1,xs=4,jt,Fl,ny,xi,Pr;function iy(){Ml=!0,ny=[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;jt=new Array(256),Fl=new Array(256),xi=new Array(4),Pr=new Array(4);for(var e=0;e<4;++e)xi[e]=new Array(256),Pr[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,jt[r]=a,Fl[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)xi[f][r]=u,Pr[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 sy(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=xs*o,c=s;c<a;++c)n=r[c-1],c%s==0?(n=jt[n>>>16&255]<<24^jt[n>>>8&255]<<16^jt[n&255]<<8^jt[n>>>24]^ny[i]<<24,i++):s>6&&c%s==4&&(n=jt[n>>>24]<<24^jt[n>>>16&255]<<16^jt[n>>>8&255]<<8^jt[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Pr[0],f=Pr[1],h=Pr[2],p=Pr[3],d=r.slice(0);a=r.length;for(var c=0,g=a-xs;c<a;c+=xs,g-=xs)if(c===0||c===a-xs)d[c]=r[g],d[c+1]=r[g+3],d[c+2]=r[g+2],d[c+3]=r[g+1];else for(var m=0;m<xs;++m)u=r[g+m],d[c+(3&-m)]=l[jt[u>>>24]]^f[jt[u>>>16&255]]^h[jt[u>>>8&255]]^p[jt[u&255]];r=d}return r}function Kl(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Pr[0],o=Pr[1],a=Pr[2],c=Pr[3],u=Fl):(s=xi[0],o=xi[1],a=xi[2],c=xi[3],u=jt);var l,f,h,p,d,g,m;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],p=e[n?1:3]^t[3];for(var x=3,R=1;R<i;++R)d=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++x],g=s[f>>>24]^o[h>>>16&255]^a[p>>>8&255]^c[l&255]^t[++x],m=s[h>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++x],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++x],l=d,f=g,h=m;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[p&255]^t[++x],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++x],r[2]=u[h>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++x],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++x]}function hc(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 pc=w((Qq,cy)=>{var Xe=be();kl();Ul();$e();cy.exports=Xe.des=Xe.des||{};Xe.des.startEncrypting=function(t,e,r,n){var i=dc({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Xe.des.createEncryptionCipher=function(t,e){return dc({key:t,output:null,decrypt:!1,mode:e})};Xe.des.startDecrypting=function(t,e,r,n){var i=dc({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Xe.des.createDecryptionCipher=function(t,e){return dc({key:t,output:null,decrypt:!0,mode:e})};Xe.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return ay(r._keys,n,i,!1)},decrypt:function(n,i){return ay(r._keys,n,i,!0)}}}),r._init=!1};Xe.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Xe.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=KT(e),this._init=!0}};zr("DES-ECB",Xe.cipher.modes.ecb);zr("DES-CBC",Xe.cipher.modes.cbc);zr("DES-CFB",Xe.cipher.modes.cfb);zr("DES-OFB",Xe.cipher.modes.ofb);zr("DES-CTR",Xe.cipher.modes.ctr);zr("3DES-ECB",Xe.cipher.modes.ecb);zr("3DES-CBC",Xe.cipher.modes.cbc);zr("3DES-CFB",Xe.cipher.modes.cfb);zr("3DES-OFB",Xe.cipher.modes.ofb);zr("3DES-CTR",Xe.cipher.modes.ctr);function zr(t,e){var r=function(){return new Xe.des.Algorithm(t,e)};Xe.cipher.registerAlgorithm(t,r)}var OT=[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],DT=[-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],LT=[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],kT=[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],qT=[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],UT=[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],MT=[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],FT=[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 KT(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],h=[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],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],g=t.length()>8?3:1,m=[],x=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],R=0,L,H=0;H<g;H++){var q=t.getInt32(),k=t.getInt32();L=(q>>>4^k)&252645135,k^=L,q^=L<<4,L=(k>>>-16^q)&65535,q^=L,k^=L<<-16,L=(q>>>2^k)&858993459,k^=L,q^=L<<2,L=(k>>>-16^q)&65535,q^=L,k^=L<<-16,L=(q>>>1^k)&1431655765,k^=L,q^=L<<1,L=(k>>>8^q)&16711935,q^=L,k^=L<<8,L=(q>>>1^k)&1431655765,k^=L,q^=L<<1,L=q<<8|k>>>20&240,q=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=L;for(var J=0;J<x.length;++J){x[J]?(q=q<<2|q>>>26,k=k<<2|k>>>26):(q=q<<1|q>>>27,k=k<<1|k>>>27),q&=-15,k&=-15;var ie=e[q>>>28]|r[q>>>24&15]|n[q>>>20&15]|i[q>>>16&15]|s[q>>>12&15]|o[q>>>8&15]|a[q>>>4&15],j=c[k>>>28]|u[k>>>24&15]|l[k>>>20&15]|f[k>>>16&15]|h[k>>>12&15]|p[k>>>8&15]|d[k>>>4&15];L=(j>>>16^ie)&65535,m[R++]=ie^L,m[R++]=j^L<<16}}return m}function ay(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],h=s[u];h!=l;h+=f){var p=c^t[h],d=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(DT[p>>>24&63]|kT[p>>>16&63]|UT[p>>>8&63]|FT[p&63]|OT[d>>>24&63]|LT[d>>>16&63]|qT[d>>>8&63]|MT[d&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 dc(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Xe.cipher.createDecipher(r,t.key):n=Xe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof Xe.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Vn=w((Xq,uy)=>{var yc=be();uy.exports=yc.md=yc.md||{};yc.md.algorithms=yc.md.algorithms||{}});var fy=w((Zq,ly)=>{var yn=be();Vn();$e();var VT=ly.exports=yn.hmac=yn.hmac||{};VT.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 yn.md.algorithms)e=yn.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=yn.util.createBuffer(o);else if(yn.util.isArray(o)){var a=o;o=yn.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=yn.util.createBuffer(),n=yn.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 As=w(()=>{});var Vl=w((tU,hy)=>{var $t=be();fy();Vn();$e();var jT=$t.pkcs5=$t.pkcs5||{},gn;$t.util.isNodejs&&!$t.options.usePureJavaScript&&(gn=As());hy.exports=$t.pbkdf2=jT.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),$t.util.isNodejs&&!$t.options.usePureJavaScript&&gn.pbkdf2&&(i===null||typeof i!="object")&&(gn.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?gn.pbkdf2Sync.length===4?gn.pbkdf2(t,e,r,n,function(L,H){if(L)return s(L);s(null,H.toString("binary"))}):gn.pbkdf2(t,e,r,n,i,function(L,H){if(L)return s(L);s(null,H.toString("binary"))}):gn.pbkdf2Sync.length===4?gn.pbkdf2Sync(t,e,r,n).toString("binary"):gn.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i=="undefined"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in $t.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=$t.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=$t.hmac.create();l.start(i,t);var f="",h,p,d;if(!s){for(var g=1;g<=c;++g){l.start(null,null),l.update(e),l.update($t.util.int32ToBytes(g)),h=d=l.digest().getBytes();for(var m=2;m<=r;++m)l.start(null,null),l.update(d),p=l.digest().getBytes(),h=$t.util.xorBytes(h,p,o),d=p;f+=g<c?h:h.substr(0,u)}return f}var g=1,m;function x(){if(g>c)return s(null,f);l.start(null,null),l.update(e),l.update($t.util.int32ToBytes(g)),h=d=l.digest().getBytes(),m=2,R()}function R(){if(m<=r)return l.start(null,null),l.update(d),p=l.digest().getBytes(),h=$t.util.xorBytes(h,p,o),d=p,++m,$t.util.setImmediate(R);f+=g<c?h:h.substr(0,u),++g,x()}x()}});var vc=w((rU,py)=>{var gc=be();$e();var dy=py.exports=gc.pem=gc.pem||{};dy.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
23
|
+
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=mc(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=mc(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=mc(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=mc(t.headers[i]);return t.procType&&(r+=`\r
|
|
24
|
+
`),r+=gc.util.encode64(t.body,e.maxline||64)+`\r
|
|
25
|
+
`,r+="-----END "+t.type+`-----\r
|
|
26
|
+
`,r};dy.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:gc.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 h=c[f];if(!/\s/.test(h[0]))break;l+=h,u=f}if(s=l.match(n),s){for(var p={name:s[1],values:[]},d=s[2].split(","),g=0;g<d.length;++g)p.values.push($T(d[g]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=d[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:d[0],parameters:d[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:d[0],type:d[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 mc(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
|
|
27
|
+
`;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
|
|
28
|
+
`+e.substr(o)):e=e.substr(0,o)+`\r
|
|
29
|
+
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function $T(t){return t.replace(/^\s+/,"")}});var Ey=w((nU,by)=>{var Gr=be();Vn();$e();var yy=by.exports=Gr.sha256=Gr.sha256||{};Gr.md.sha256=Gr.md.algorithms.sha256=yy;yy.create=function(){gy||HT();var t=null,e=Gr.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=Gr.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=Gr.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),vy(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Gr.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(jl.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};vy(f,r,i);var h=Gr.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var jl=null,gy=!1,my=null;function HT(){jl=String.fromCharCode(128),jl+=Gr.util.fillString(String.fromCharCode(0),64),my=[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],gy=!0}function vy(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,g,m,x,R=r.length();R>=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,h=t.h2,p=t.h3,d=t.h4,g=t.h5,m=t.h6,x=t.h7,u=0;u<64;++u)o=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=m^d&(g^m),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=x+o+a+my[u]+e[u],i=s+c,x=m,m=g,g=d,d=p+n>>>0,p=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+p|0,t.h4=t.h4+d|0,t.h5=t.h5+g|0,t.h6=t.h6+m|0,t.h7=t.h7+x|0,R-=64}}});var _y=w((iU,wy)=>{var Wr=be();$e();var bc=null;Wr.util.isNodejs&&!Wr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(bc=As());var zT=wy.exports=Wr.prng=Wr.prng||{};zT.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,h=e.plugin.increment,p=e.plugin.formatKey,d=e.plugin.formatSeed,g=Wr.util.createBuffer();e.key=null,m();function m(x){if(x)return l(x);if(g.length()>=u)return l(null,g.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Wr.util.nextTick(function(){s(m)});var R=f(e.key,e.seed);e.generated+=R.length,g.putBytes(R),e.key=p(f(e.key,h(e.seed))),e.seed=d(f(e.key,e.seed)),Wr.util.setImmediate(m)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var d=Wr.util.createBuffer();d.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var g=l(e.key,e.seed);e.generated+=g.length,d.putBytes(g),e.key=h(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return d.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,h){if(f)return u(f);e.collect(h),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 h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=Wr.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(q){return h.getRandomValues(q)});var p=Wr.util.createBuffer();if(l)for(;p.length()<u;){var d=Math.max(1,Math.min(u-p.length(),65536)/4),g=new Uint32Array(Math.floor(d));try{l(g);for(var m=0;m<g.length;++m)p.putInt32(g[m])}catch(q){if(!(typeof QuotaExceededError!="undefined"&&q instanceof QuotaExceededError))throw q}}if(p.length()<u)for(var x,R,L,H=Math.floor(Math.random()*65536);p.length()<u;){R=16807*(H&65535),x=16807*(H>>16),R+=(x&32767)<<16,R+=x>>15,R=(R&2147483647)+(R>>31),H=R&4294967295;for(var m=0;m<3;++m)L=H>>>(m<<3),L^=Math.floor(Math.random()*256),p.putByte(L&255)}return p.getBytes(u)}return bc?(e.seedFile=function(u,l){bc.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return bc.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="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function p(d){var g=d.data;g.forge&&g.forge.prng&&(self.removeEventListener("message",p),h(g.forge.prng.err,g.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(p,d){u.postMessage({forge:{prng:{err:p,bytes:d}}})})};u.addEventListener("message",l)}},e}});var Si=w((sU,$l)=>{var St=be();Ss();Ey();_y();$e();(function(){if(St.random&&St.random.getBytes){$l.exports=St.random;return}(function(t){var e={},r=new Array(4),n=St.util.createBuffer();e.formatKey=function(f){var h=St.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),St.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=St.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return St.aes._updateBlock(f,h,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=St.md.sha256;function i(){var f=St.prng.create(e);return f.getBytes=function(h,p){return f.generate(h,p)},f.getBytesSync=function(h){return f.generate(h)},f}var s=i(),o=null,a=St.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),St.options.usePureJavaScript||!St.util.isNodejs&&!o){if(typeof window=="undefined"||window.document===void 0,s.collectInt(+new Date,32),typeof navigator!="undefined"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch(f){}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(!St.random)St.random=s;else for(var l in s)St.random[l]=s[l];St.random.createInstance=i,$l.exports=St.random})(typeof jQuery!="undefined"?jQuery:null)})()});var Cy=w((oU,Ay)=>{var Zt=be();$e();var Hl=[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],xy=[1,2,3,5],GT=function(t,e){return t<<e&65535|(t&65535)>>16-e},WT=function(t,e){return(t&65535)>>e|t<<16-e&65535};Ay.exports=Zt.rc2=Zt.rc2||{};Zt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Zt.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(Hl[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Hl[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Hl[r.at(a+1)^r.at(a+s)]);return r};var Sy=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=Zt.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=GT(d[u],xy[u]),l++},c=function(d){for(u=0;u<4;u++)d[u]+=f[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=WT(d[u],xy[u]),d[u]-=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),l--},c=function(d){for(u=3;u>=0;u--)d[u]-=f[d[(u+3)%4]&63]});var h=function(d){var g=[];for(u=0;u<4;u++){var m=i.getInt16Le();o!==null&&(r?m^=o.getInt16Le():o.putInt16Le(m)),g.push(m&65535)}l=r?0:63;for(var x=0;x<d.length;x++)for(var R=0;R<d[x][0];R++)d[x][1](g);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(g[u]):g[u]^=o.getInt16Le()),s.putInt16Le(g[u])},p=null;return p={start:function(d,g){d&&typeof d=="string"&&(d=Zt.util.createBuffer(d)),n=!1,i=Zt.util.createBuffer(),s=g||new Zt.util.createBuffer,o=d,p.output=s},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var g=!0;if(r)if(d)g=d(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(g&&(n=!0,p.update()),!r&&(g=i.length()===0,g))if(d)g=d(8,s,!r);else{var x=s.length(),R=s.at(x-1);R>x?g=!1:s.truncate(R)}return g}},p};Zt.rc2.startEncrypting=function(t,e,r){var n=Zt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Zt.rc2.createEncryptionCipher=function(t,e){return Sy(t,e,!0)};Zt.rc2.startDecrypting=function(t,e,r){var n=Zt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Zt.rc2.createDecryptionCipher=function(t,e){return Sy(t,e,!1)}});var _c=w((aU,Dy)=>{var zl=be();Dy.exports=zl.jsbn=zl.jsbn||{};var mn,YT=244837814094590,Iy=(YT&16777215)==15715070;function V(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))}zl.jsbn.BigInteger=V;function Be(){return new V(null)}function QT(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 XT(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 Ty(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=="undefined"?(V.prototype.am=Ty,mn=28):Iy&&navigator.appName=="Microsoft Internet Explorer"?(V.prototype.am=XT,mn=30):Iy&&navigator.appName!="Netscape"?(V.prototype.am=QT,mn=26):(V.prototype.am=Ty,mn=28);V.prototype.DB=mn;V.prototype.DM=(1<<mn)-1;V.prototype.DV=1<<mn;var Gl=52;V.prototype.FV=Math.pow(2,Gl);V.prototype.F1=Gl-mn;V.prototype.F2=2*mn-Gl;var ZT="0123456789abcdefghijklmnopqrstuvwxyz",Ec=new Array,Cs,fr;Cs="0".charCodeAt(0);for(fr=0;fr<=9;++fr)Ec[Cs++]=fr;Cs="a".charCodeAt(0);for(fr=10;fr<36;++fr)Ec[Cs++]=fr;Cs="A".charCodeAt(0);for(fr=10;fr<36;++fr)Ec[Cs++]=fr;function Ry(t){return ZT.charAt(t)}function By(t,e){var r=Ec[t.charCodeAt(e)];return r??-1}function JT(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 eR(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 jn(t){var e=Be();return e.fromInt(t),e}function tR(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:By(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)!=0&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&V.ZERO.subTo(this,this)}function rR(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function nR(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=Ry(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+=Ry(n));return i?s:"0"}function iR(){var t=Be();return V.ZERO.subTo(this,t),t}function sR(){return this.s<0?this.negate():this}function oR(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 wc(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 aR(){return this.t<=0?0:this.DB*(this.t-1)+wc(this.data[this.t-1]^this.s&this.DM)}function cR(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 uR(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 lR(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 fR(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 hR(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 dR(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&&V.ZERO.subTo(e,e)}function pR(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 yR(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e!=null&&e.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=Be());var s=Be(),o=this.s,a=t.s,c=this.DB-wc(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),h=this.FV/f,p=(1<<this.F1)/f,d=1<<this.F2,g=r.t,m=g-u,x=e??Be();for(s.dlShiftTo(m,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),V.ONE.dlShiftTo(u,x),x.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--m>=0;){var R=r.data[--g]==l?this.DM:Math.floor(r.data[g]*h+(r.data[g-1]+d)*p);if((r.data[g]+=s.am(0,R,r,m,0,u))<R)for(s.dlShiftTo(m,x),r.subTo(x,r);r.data[g]<--R;)r.subTo(x,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&V.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&V.ZERO.subTo(r,r)}}}function gR(t){var e=Be();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(V.ZERO)>0&&t.subTo(e,e),e}function Ai(t){this.m=t}function mR(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function vR(t){return t}function bR(t){t.divRemTo(this.m,null,t)}function ER(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function wR(t,e){t.squareTo(e),this.reduce(e)}Ai.prototype.convert=mR;Ai.prototype.revert=vR;Ai.prototype.reduce=bR;Ai.prototype.mulTo=ER;Ai.prototype.sqrTo=wR;function _R(){if(this.t<1)return 0;var t=this.data[0];if((t&1)==0)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 Ci(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 xR(t){var e=Be();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(V.ZERO)>0&&this.m.subTo(e,e),e}function SR(t){var e=Be();return t.copyTo(e),this.reduce(e),e}function AR(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 CR(t,e){t.squareTo(e),this.reduce(e)}function IR(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Ci.prototype.convert=xR;Ci.prototype.revert=SR;Ci.prototype.reduce=AR;Ci.prototype.mulTo=IR;Ci.prototype.sqrTo=CR;function TR(){return(this.t>0?this.data[0]&1:this.s)==0}function RR(t,e){if(t>4294967295||t<1)return V.ONE;var r=Be(),n=Be(),i=e.convert(this),s=wc(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 BR(t,e){var r;return t<256||e.isEven()?r=new Ai(e):r=new Ci(e),this.exp(t,r)}V.prototype.copyTo=JT;V.prototype.fromInt=eR;V.prototype.fromString=tR;V.prototype.clamp=rR;V.prototype.dlShiftTo=cR;V.prototype.drShiftTo=uR;V.prototype.lShiftTo=lR;V.prototype.rShiftTo=fR;V.prototype.subTo=hR;V.prototype.multiplyTo=dR;V.prototype.squareTo=pR;V.prototype.divRemTo=yR;V.prototype.invDigit=_R;V.prototype.isEven=TR;V.prototype.exp=RR;V.prototype.toString=nR;V.prototype.negate=iR;V.prototype.abs=sR;V.prototype.compareTo=oR;V.prototype.bitLength=aR;V.prototype.mod=gR;V.prototype.modPowInt=BR;V.ZERO=jn(0);V.ONE=jn(1);function PR(){var t=Be();return this.copyTo(t),t}function NR(){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 OR(){return this.t==0?this.s:this.data[0]<<24>>24}function DR(){return this.t==0?this.s:this.data[0]<<16>>16}function LR(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function kR(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function qR(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=jn(r),i=Be(),s=Be(),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 UR(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=By(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&&V.ZERO.subTo(this,this)}function MR(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(V.ONE.shiftLeft(t-1),Wl,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(V.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 FR(){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)!=0&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function KR(t){return this.compareTo(t)==0}function VR(t){return this.compareTo(t)<0?this:t}function jR(t){return this.compareTo(t)>0?this:t}function $R(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 HR(t,e){return t&e}function zR(t){var e=Be();return this.bitwiseTo(t,HR,e),e}function Wl(t,e){return t|e}function GR(t){var e=Be();return this.bitwiseTo(t,Wl,e),e}function Py(t,e){return t^e}function WR(t){var e=Be();return this.bitwiseTo(t,Py,e),e}function Ny(t,e){return t&~e}function YR(t){var e=Be();return this.bitwiseTo(t,Ny,e),e}function QR(){for(var t=Be(),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 XR(t){var e=Be();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function ZR(t){var e=Be();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function JR(t){if(t==0)return-1;var e=0;return(t&65535)==0&&(t>>=16,e+=16),(t&255)==0&&(t>>=8,e+=8),(t&15)==0&&(t>>=4,e+=4),(t&3)==0&&(t>>=2,e+=2),(t&1)==0&&++e,e}function e4(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+JR(this.data[t]);return this.s<0?this.t*this.DB:-1}function t4(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function r4(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=t4(this.data[r]^e);return t}function n4(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function i4(t,e){var r=V.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function s4(t){return this.changeBit(t,Wl)}function o4(t){return this.changeBit(t,Ny)}function a4(t){return this.changeBit(t,Py)}function c4(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 u4(t){var e=Be();return this.addTo(t,e),e}function l4(t){var e=Be();return this.subTo(t,e),e}function f4(t){var e=Be();return this.multiplyTo(t,e),e}function h4(t){var e=Be();return this.divRemTo(t,e,null),e}function d4(t){var e=Be();return this.divRemTo(t,null,e),e}function p4(t){var e=Be(),r=Be();return this.divRemTo(t,e,r),new Array(e,r)}function y4(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function g4(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 Vo(){}function Oy(t){return t}function m4(t,e,r){t.multiplyTo(e,r)}function v4(t,e){t.squareTo(e)}Vo.prototype.convert=Oy;Vo.prototype.revert=Oy;Vo.prototype.mulTo=m4;Vo.prototype.sqrTo=v4;function b4(t){return this.exp(t,new Vo)}function E4(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 w4(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 Is(t){this.r2=Be(),this.q3=Be(),V.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function _4(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=Be();return t.copyTo(e),this.reduce(e),e}function x4(t){return t}function S4(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 A4(t,e){t.squareTo(e),this.reduce(e)}function C4(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Is.prototype.convert=_4;Is.prototype.revert=x4;Is.prototype.reduce=S4;Is.prototype.mulTo=C4;Is.prototype.sqrTo=A4;function I4(t,e){var r=t.bitLength(),n,i=jn(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 Ai(e):e.isEven()?s=new Is(e):s=new Ci(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=Be();for(s.sqrTo(o[1],l);a<=u;)o[a]=Be(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,p=!0,d=Be(),g;for(r=wc(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;(h&1)==0;)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)o[h].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,d),s.sqrTo(d,i),a-=2;a>0?s.sqrTo(i,d):(g=i,i=d,d=g),s.mulTo(d,o[h],i)}for(;f>=0&&(t.data[f]&1<<r)==0;)s.sqrTo(i,d),g=i,i=d,d=g,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function T4(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 R4(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 B4(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return V.ZERO;for(var r=t.clone(),n=this.clone(),i=jn(1),s=jn(0),o=jn(0),a=jn(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(V.ONE)!=0)return V.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 Nr=[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],P4=(1<<26)/Nr[Nr.length-1];function N4(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Nr[Nr.length-1]){for(e=0;e<Nr.length;++e)if(r.data[0]==Nr[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Nr.length;){for(var n=Nr[e],i=e+1;i<Nr.length&&n<P4;)n*=Nr[i++];for(n=r.modInt(n);e<i;)if(n%Nr[e++]==0)return!1}return r.millerRabin(t)}function O4(t){var e=this.subtract(V.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=D4(),s,o=0;o<t;++o){do s=new V(this.bitLength(),i);while(s.compareTo(V.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(V.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(V.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function D4(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}V.prototype.chunkSize=LR;V.prototype.toRadix=qR;V.prototype.fromRadix=UR;V.prototype.fromNumber=MR;V.prototype.bitwiseTo=$R;V.prototype.changeBit=i4;V.prototype.addTo=c4;V.prototype.dMultiply=y4;V.prototype.dAddOffset=g4;V.prototype.multiplyLowerTo=E4;V.prototype.multiplyUpperTo=w4;V.prototype.modInt=R4;V.prototype.millerRabin=O4;V.prototype.clone=PR;V.prototype.intValue=NR;V.prototype.byteValue=OR;V.prototype.shortValue=DR;V.prototype.signum=kR;V.prototype.toByteArray=FR;V.prototype.equals=KR;V.prototype.min=VR;V.prototype.max=jR;V.prototype.and=zR;V.prototype.or=GR;V.prototype.xor=WR;V.prototype.andNot=YR;V.prototype.not=QR;V.prototype.shiftLeft=XR;V.prototype.shiftRight=ZR;V.prototype.getLowestSetBit=e4;V.prototype.bitCount=r4;V.prototype.testBit=n4;V.prototype.setBit=s4;V.prototype.clearBit=o4;V.prototype.flipBit=a4;V.prototype.add=u4;V.prototype.subtract=l4;V.prototype.multiply=f4;V.prototype.divide=h4;V.prototype.remainder=d4;V.prototype.divideAndRemainder=p4;V.prototype.modPow=I4;V.prototype.modInverse=B4;V.prototype.pow=b4;V.prototype.gcd=T4;V.prototype.isProbablePrime=N4});var My=w((cU,Uy)=>{var Yr=be();Vn();$e();var Ly=Uy.exports=Yr.sha1=Yr.sha1||{};Yr.md.sha1=Yr.md.algorithms.sha1=Ly;Ly.create=function(){ky||L4();var t=null,e=Yr.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=Yr.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Yr.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),qy(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Yr.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Yl.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};qy(f,r,i);var h=Yr.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var Yl=null,ky=!1;function L4(){Yl=String.fromCharCode(128),Yl+=Yr.util.fillString(String.fromCharCode(0),64),ky=!0}function qy(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 Vy=w((uU,Ky)=>{var Qr=be();$e();Si();My();var Fy=Ky.exports=Qr.pkcs1=Qr.pkcs1||{};Fy.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=Qr.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="",h=c-e.length,p=0;p<h;p++)f+="\0";var d=l.getBytes()+f+""+e;if(!i)i=Qr.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 g=xc(i,a-s.digestLength-1,o),m=Qr.util.xorBytes(d,g,d.length),x=xc(m,s.digestLength,o),R=Qr.util.xorBytes(i,x,i.length);return"\0"+R+m};Fy.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 m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=e.length,m.expectedLength=o,m}if(i===void 0?i=Qr.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=xc(l,i.digestLength,s),h=Qr.util.xorBytes(u,f,u.length),p=xc(h,o-i.digestLength-1,s),d=Qr.util.xorBytes(l,p,l.length),g=d.substring(0,i.digestLength),m=c!=="\0",x=0;x<i.digestLength;++x)m|=a.charAt(x)!==g.charAt(x);for(var R=1,L=i.digestLength,H=i.digestLength;H<d.length;H++){var q=d.charCodeAt(H),k=q&1^1,J=R?65534:0;m|=q&J,R=R&k,L+=R}if(m||d.charCodeAt(L)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(L+1)};function xc(t,e,r){r||(r=Qr.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 jy=w((lU,Ql)=>{var $n=be();$e();_c();Si();(function(){if($n.prime){Ql.exports=$n.prime;return}var t=Ql.exports=$n.prime=$n.prime||{},e=$n.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,p){typeof h=="function"&&(p=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var g=h.prng||$n.random,m={nextBytes:function(x){for(var R=g.getBytesSync(x.length),L=0;L<x.length;++L)x[L]=R.charCodeAt(L)}};if(d.name==="PRIMEINC")return s(f,m,d.options,p);throw new Error("Invalid prime generation algorithm: "+d.name)};function s(f,h,p,d){return"workers"in p?c(f,h,p,d):o(f,h,p,d)}function o(f,h,p,d){var g=u(f,h),m=0,x=l(g.bitLength());"millerRabinTests"in p&&(x=p.millerRabinTests);var R=10;"maxBlockTime"in p&&(R=p.maxBlockTime),a(g,f,h,m,x,R,d)}function a(f,h,p,d,g,m,x){var R=+new Date;do{if(f.bitLength()>h&&(f=u(h,p)),f.isProbablePrime(g))return x(null,f);f.dAddOffset(r[d++%8],0)}while(m<0||+new Date-R<m);$n.util.setImmediate(function(){a(f,h,p,d,g,m,x)})}function c(f,h,p,d){if(typeof Worker=="undefined")return o(f,h,p,d);var g=u(f,h),m=p.workers,x=p.workLoad||100,R=x*30/8,L=p.workerScript||"forge/prime.worker.js";if(m===-1)return $n.util.estimateCores(function(q,k){q&&(k=2),m=k-1,H()});H();function H(){m=Math.max(1,m);for(var q=[],k=0;k<m;++k)q[k]=new Worker(L);for(var J=m,k=0;k<m;++k)q[k].addEventListener("message",j);var ie=!1;function j(we){if(!ie){--J;var le=we.data;if(le.found){for(var ye=0;ye<q.length;++ye)q[ye].terminate();return ie=!0,d(null,new e(le.prime,16))}g.bitLength()>f&&(g=u(f,h));var nt=g.toString(16);we.target.postMessage({hex:nt,workLoad:x}),g.dAddOffset(R,0)}}}}function u(f,h){var p=new e(f,h),d=f-1;return p.testBit(d)||p.bitwiseTo(e.ONE.shiftLeft(d),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 jo=w((fU,Qy)=>{var de=be();Kn();_c();ws();Vy();jy();Si();$e();typeof Se=="undefined"&&(Se=de.jsbn.BigInteger);var Se,Xl=de.util.isNodejs?As():null,D=de.asn1,hr=de.util;de.pki=de.pki||{};Qy.exports=de.pki.rsa=de.rsa=de.rsa||{};var pe=de.pki,k4=[6,4,2,4,2,4,6,2],q4={name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},U4={name:"RSAPrivateKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},M4={name:"RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},F4=de.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},K4=function(t){var e;if(t.algorithm in pe.oids)e=pe.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=D.oidToDer(e).getBytes(),i=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]),s=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]);s.value.push(D.create(D.Class.UNIVERSAL,D.Type.OID,!1,n)),s.value.push(D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,""));var o=D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),D.toDer(i).getBytes()},$y=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(Se.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(Se.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new Se(de.util.bytesToHex(de.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(Se.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};pe.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=Hy(t,e,r)):(i=de.util.createBuffer(),i.putBytes(t));for(var o=new Se(i.toHex(),16),a=$y(o,e,n),c=a.toString(16),u=de.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(de.util.hexToBytes(c)),u.getBytes()};pe.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 Se(de.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=$y(o,e,r),c=a.toString(16),u=de.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(de.util.hexToBytes(c)),n!==!1?Sc(u.getBytes(),e,r):u.getBytes()};pe.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||de.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 Se(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};pe.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new Se(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},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 Se(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(Se.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(j4(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(k4[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(Se.ONE).gcd(t.e).compareTo(Se.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(Se.ONE),t.q1=t.q.subtract(Se.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(Se.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:pe.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:pe.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};pe.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),!de.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(zy("generateKeyPair"))return Xl.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:pe.privateKeyFromPem(u),publicKey:pe.publicKeyFromPem(c)})});if(Gy("generateKey")&&Gy("exportKey"))return hr.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Yy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return hr.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=pe.privateKeyFromAsn1(D.fromDer(de.util.createBuffer(a)));n(null,{privateKey:c,publicKey:pe.setRsaPublicKey(c.n,c.e)})}});if(Wy("generateKey")&&Wy("exportKey")){var i=hr.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Yy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=hr.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=pe.privateKeyFromAsn1(D.fromDer(de.util.createBuffer(f)));n(null,{privateKey:h,publicKey:pe.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(zy("generateKeyPairSync")){var s=Xl.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:pe.privateKeyFromPem(s.privateKey),publicKey:pe.publicKeyFromPem(s.publicKey)}}}var o=pe.rsa.createKeyPairGenerationState(t,e,r);if(!n)return pe.rsa.stepKeyPairGenerationState(o,0),o.keys;V4(o,r,n)};pe.setRsaPublicKey=pe.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 Hy(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return de.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 pe.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),s==="RSASSA-PKCS1-V1_5"?s={verify:function(a,c){c=Sc(c,r,!0);var u=D.fromDer(c);return a===u.value[1].value}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(a,c){return c=Sc(c,r,!0),a===c}});var o=pe.rsa.decrypt(i,r,!0,!1);return s.verify(n,o,r.n.bitLength())},r};pe.setRsaPrivateKey=pe.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 h=pe.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Sc};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,d){return de.pkcs1.decode_rsa_oaep(d,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(h,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:K4},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return pe.rsa.encrypt(h,c,f)},c};pe.wrapRsaPrivateKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(pe.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,D.toDer(t).getBytes())])};pe.privateKeyFromAsn1=function(t){var e={},r=[];if(D.validate(t,q4,e,r)&&(t=D.fromDer(de.util.createBuffer(e.privateKey))),e={},r=[],!D.validate(t,U4,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=de.util.createBuffer(e.privateKeyModulus).toHex(),s=de.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=de.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=de.util.createBuffer(e.privateKeyPrime1).toHex(),c=de.util.createBuffer(e.privateKeyPrime2).toHex(),u=de.util.createBuffer(e.privateKeyExponent1).toHex(),l=de.util.createBuffer(e.privateKeyExponent2).toHex(),f=de.util.createBuffer(e.privateKeyCoefficient).toHex(),pe.setRsaPrivateKey(new Se(i,16),new Se(s,16),new Se(o,16),new Se(a,16),new Se(c,16),new Se(u,16),new Se(l,16),new Se(f,16))};pe.privateKeyToAsn1=pe.privateKeyToRSAPrivateKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.e)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.d)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.p)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.q)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.dP)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.dQ)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.qInv))])};pe.publicKeyFromAsn1=function(t){var e={},r=[];if(D.validate(t,F4,e,r)){var n=D.derToOid(e.publicKeyOid);if(n!==pe.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!D.validate(t,M4,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=de.util.createBuffer(e.publicKeyModulus).toHex(),o=de.util.createBuffer(e.publicKeyExponent).toHex();return pe.setRsaPublicKey(new Se(s,16),new Se(o,16))};pe.publicKeyToAsn1=pe.publicKeyToSubjectPublicKeyInfo=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(pe.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.BITSTRING,!1,[pe.publicKeyToRSAPublicKey(t)])])};pe.publicKeyToRSAPublicKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Xr(t.e))])};function Hy(t,e,r){var n=de.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=de.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 Sc(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=de.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=="undefined")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 V4(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){de.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(Se.ONE).gcd(t.e).compareTo(Se.ONE)!==0){t.p=null,i();return}if(t.q.subtract(Se.ONE).gcd(t.e).compareTo(Se.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(Se.ONE),t.q1=t.q.subtract(Se.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(Se.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:pe.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:pe.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Xr(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=de.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&(r.charCodeAt(1)&128)==0||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)==128)?r.substr(1):r}function j4(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 zy(t){return de.util.isNodejs&&typeof Xl[t]=="function"}function Gy(t){return typeof hr.globalScope!="undefined"&&typeof hr.globalScope.crypto=="object"&&typeof hr.globalScope.crypto.subtle=="object"&&typeof hr.globalScope.crypto.subtle[t]=="function"}function Wy(t){return typeof hr.globalScope!="undefined"&&typeof hr.globalScope.msCrypto=="object"&&typeof hr.globalScope.msCrypto.subtle=="object"&&typeof hr.globalScope.msCrypto.subtle[t]=="function"}function Yy(t){for(var e=de.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Zl=w((hU,tg)=>{var te=be();Ss();Kn();pc();Vn();ws();Vl();vc();Si();Cy();jo();$e();typeof Xy=="undefined"&&(Xy=te.jsbn.BigInteger);var Xy,M=te.asn1,me=te.pki=te.pki||{};tg.exports=me.pbe=te.pbe=te.pbe||{};var Ii=me.oids,$4={name:"EncryptedPrivateKeyInfo",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},H4={name:"PBES2Algorithms",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},z4={name:"pkcs-12PbeParams",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,capture:"iterations"}]};me.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=te.random.getBytesSync(r.saltSize),i=r.count,s=M.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=Ii["aes128-CBC"],f=te.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Ii["aes192-CBC"],f=te.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Ii["aes256-CBC"],f=te.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Ii.desCBC,f=te.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),d=eg(p),g=te.pkcs5.pbkdf2(e,n,i,o,d),m=te.random.getBytesSync(u),x=f(g);x.start(m),x.update(M.toDer(t)),x.finish(),c=x.output.getBytes();var R=G4(n,s,o,p);a=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ii.pkcs5PBES2).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ii.pkcs5PBKDF2).getBytes()),R]),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(l).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){o=24;var L=new te.util.ByteBuffer(n),g=me.pbe.generatePkcs12Key(e,L,1,i,o),m=me.pbe.generatePkcs12Key(e,L,2,i,o),x=te.des.createEncryptionCipher(g);x.start(m),x.update(M.toDer(t)),x.finish(),c=x.output.getBytes(),a=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ii["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,n),M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var H=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[a,M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,c)]);return H};me.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!M.validate(t,$4,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=M.derToOid(n.encryptionOid),a=me.pbe.getCipher(o,n.encryptionParams,e),c=te.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=M.fromDer(a.output)),r};me.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:M.toDer(t).getBytes()};return te.pem.encode(r,{maxline:e})};me.encryptedPrivateKeyFromPem=function(t){var e=te.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 M.fromDer(e.body)};me.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=me.wrapRsaPrivateKey(me.privateKeyToAsn1(t));return n=me.encryptPrivateKeyInfo(n,e,r),me.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=te.random.getBytesSync(8),a=te.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=te.random.getBytesSync(8),a=te.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=te.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(M.toDer(me.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:te.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return te.pem.encode(f)};me.decryptRsaPrivateKey=function(t,e){var r=null,n=te.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=te.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=te.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=te.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=te.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=te.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return te.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return te.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return te.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=te.util.hexToBytes(n.dekInfo.parameters),c=te.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(te.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=me.decryptPrivateKeyInfo(M.fromDer(r),e):r=M.fromDer(r),r!==null&&(r=me.privateKeyFromAsn1(r)),r};me.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s=="undefined"||s===null){if(!("sha1"in te.md))throw new Error('"sha1" hash algorithm unavailable.');s=te.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new te.util.ByteBuffer,f=new te.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),p=e.length(),d=new te.util.ByteBuffer;d.fillWithByte(r,u);var g=u*Math.ceil(p/u),m=new te.util.ByteBuffer;for(a=0;a<g;a++)m.putByte(e.at(a%p));var x=u*Math.ceil(h/u),R=new te.util.ByteBuffer;for(a=0;a<x;a++)R.putByte(f.at(a%h));var L=m;L.putBuffer(R);for(var H=Math.ceil(i/c),q=1;q<=H;q++){var k=new te.util.ByteBuffer;k.putBytes(d.bytes()),k.putBytes(L.bytes());for(var J=0;J<n;J++)s.start(),s.update(k.getBytes()),k=s.digest();var ie=new te.util.ByteBuffer;for(a=0;a<u;a++)ie.putByte(k.at(a%c));var j=Math.ceil(p/u)+Math.ceil(h/u),we=new te.util.ByteBuffer;for(o=0;o<j;o++){var le=new te.util.ByteBuffer(L.getBytes(u)),ye=511;for(a=ie.length()-1;a>=0;a--)ye=ye>>8,ye+=ie.at(a)+le.at(a),le.setAt(a,ye&255);we.putBuffer(le)}L=we,l.putBuffer(k)}return l.truncate(l.length()-i),l};me.pbe.getCipher=function(t,e,r){switch(t){case me.oids.pkcs5PBES2:return me.pbe.getCipherForPBES2(t,e,r);case me.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case me.oids["pbewithSHAAnd40BitRC2-CBC"]:return me.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}};me.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!M.validate(e,H4,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=M.derToOid(n.kdfOid),t!==me.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=M.derToOid(n.encOid),t!==me.oids["aes128-CBC"]&&t!==me.oids["aes192-CBC"]&&t!==me.oids["aes256-CBC"]&&t!==me.oids["des-EDE3-CBC"]&&t!==me.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=te.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(me.oids[t]){case"aes128-CBC":c=16,u=te.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=te.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=te.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=te.des.createDecryptionCipher;break;case"desCBC":c=8,u=te.des.createDecryptionCipher;break}var l=Jy(n.prfOid),f=te.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,p=u(f);return p.start(h),p};me.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!M.validate(e,z4,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=te.util.createBuffer(n.salt),a=te.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case me.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=te.des.startDecrypting;break;case me.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(g,m){var x=te.rc2.createDecryptionCipher(g,40);return x.start(m,null),x};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=Jy(n.prfOid),h=me.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=me.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,p)};me.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n=="undefined"||n===null){if(!("md5"in te.md))throw new Error('"md5" hash algorithm unavailable.');n=te.md.md5.create()}e===null&&(e="");for(var i=[Zy(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Zy(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Zy(t,e){return t.start().update(e).digest().getBytes()}function Jy(t){var e;if(!t)e="hmacWithSHA1";else if(e=me.oids[M.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return eg(e)}function eg(t){var e=te.md;switch(t){case"hmacWithSHA224":e=te.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 G4(t,e,r,n){var i=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,t),M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,te.util.hexToBytes(r.toString(16))),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(me.oids[n]).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.NULL,!1,"")])),i}});var Jl={};gt(Jl,{identity:()=>W4});var W4,rg=xe(()=>{Vr();Pn();W4=Xa({prefix:"\0",name:"identity",encode:t=>L0(t),decode:t=>D0(t)})});var ef={};gt(ef,{base2:()=>Y4});var Y4,ng=xe(()=>{Vr();Y4=ct({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var tf={};gt(tf,{base8:()=>Q4});var Q4,ig=xe(()=>{Vr();Q4=ct({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var rf={};gt(rf,{base10:()=>X4});var X4,sg=xe(()=>{Vr();X4=On({prefix:"9",name:"base10",alphabet:"0123456789"})});var nf,og,sf=xe(()=>{mi();nf=({name:t,code:e,encode:r})=>new og(t,e,r),og=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?Nn(this.code,r):r.then(n=>Nn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var Hn={};gt(Hn,{sha256:()=>Z4,sha512:()=>J4});var cg,Z4,J4,Ti=xe(()=>{sf();cg=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Z4=nf({name:"sha2-256",code:18,encode:cg("SHA-256")}),J4=nf({name:"sha2-512",code:19,encode:cg("SHA-512")})});var $o={};gt($o,{identity:()=>rB});var ug,eB,lg,tB,rB,Ac=xe(()=>{Pn();mi();ug=0,eB="identity",lg=dn,tB=t=>Nn(ug,lg(t)),rB={code:ug,name:eB,encode:lg,digest:tB}});var fg=xe(()=>{Pn()});var xU,SU,hg=xe(()=>{xU=new TextEncoder,SU=new TextDecoder});var dg=xe(()=>{vs();Qa();Pn();sf();mi()});var of,TU,pg=xe(()=>{rg();ng();ig();sg();gl();bi();yl();Ln();Lo();Ti();Ac();fg();hg();dg();of={...Jl,...ef,...tf,...rf,...tc,...vi,...ec,...Dn,...bs},TU={...Hn,...$o}});function yg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var gg,af,sB,Cc,cf=xe(()=>{pg();gg=yg("utf8","u",t=>{let e=new TextDecoder("utf8");return"u"+e.decode(t)},t=>new TextEncoder().encode(t.substring(1))),af=yg("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=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),sB={utf8:gg,"utf-8":gg,hex:of.base16,latin1:af,ascii:af,binary:af,...of},Cc=sB});var Nt={};gt(Nt,{fromString:()=>uf});function uf(t,e="utf8"){let r=Cc[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var It=xe(()=>{cf()});var zn={};gt(zn,{concat:()=>oB});function oB(t,e){e||(e=t.reduce((i,s)=>i+s.length,0));let r=new Uint8Array(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return r}var Gn=xe(()=>{});var Ho=w(mg=>{"use strict";mg.get=(t=globalThis)=>{let e=t.crypto;if(!e||!e.subtle)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-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}});var lf=w((DU,bg)=>{"use strict";var{concat:aB}=(Gn(),zn),{fromString:vg}=(It(),Nt),cB=Ho();function uB({algorithm:t="AES-GCM",nonceLength:e=12,keyLength:r=16,digest:n="SHA-256",saltLength:i=16,iterations:s=32767}={}){let o=cB.get();r*=8;async function a(u,l){let f=o.getRandomValues(new Uint8Array(i)),h=o.getRandomValues(new Uint8Array(e)),p={name:t,iv:h},d={name:"PBKDF2",salt:f,iterations:s,hash:{name:n}},g=await o.subtle.importKey("raw",vg(l),{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),m=await o.subtle.deriveKey(d,g,{name:t,length:r},!0,["encrypt"]),x=await o.subtle.encrypt(p,m,u);return aB([f,p.iv,new Uint8Array(x)])}async function c(u,l){let f=u.slice(0,i),h=u.slice(i,i+e),p=u.slice(i+e),d={name:t,iv:h},g={name:"PBKDF2",salt:f,iterations:s,hash:{name:n}},m=await o.subtle.importKey("raw",vg(l),{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),x=await o.subtle.deriveKey(g,m,{name:t,length:r},!0,["decrypt"]),R=await o.subtle.decrypt(d,x,p);return new Uint8Array(R)}return{encrypt:a,decrypt:c}}bg.exports={create:uB}});var wg=w((LU,Eg)=>{"use strict";var{base64:lB}=(Lo(),bs),fB=lf();Eg.exports={import:async function(t,e){let r=lB.decode(t);return await fB.create().decrypt(r,e)}}});var dr={};gt(dr,{equals:()=>hB});function hB(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 pr=xe(()=>{});var Ot={};gt(Ot,{toString:()=>ff});function ff(t,e="utf8"){let r=Cc[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var Tt=xe(()=>{cf()});var pf=w((qU,Ag)=>{var Ye=be();Vn();$e();var zo=Ag.exports=Ye.sha512=Ye.sha512||{};Ye.md.sha512=Ye.md.algorithms.sha512=zo;var _g=Ye.sha384=Ye.sha512.sha384=Ye.sha512.sha384||{};_g.create=function(){return zo.create("SHA-384")};Ye.md.sha384=Ye.md.algorithms.sha384=_g;Ye.sha512.sha256=Ye.sha512.sha256||{create:function(){return zo.create("SHA-512/256")}};Ye.md["sha512/256"]=Ye.md.algorithms["sha512/256"]=Ye.sha512.sha256;Ye.sha512.sha224=Ye.sha512.sha224||{create:function(){return zo.create("SHA-512/224")}};Ye.md["sha512/224"]=Ye.md.algorithms["sha512/224"]=Ye.sha512.sha224;zo.create=function(t){if(xg||dB(),typeof t=="undefined"&&(t="SHA-512"),!(t in Ri))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Ri[t],r=null,n=Ye.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=Ye.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=Ye.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),Sg(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Ye.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(hf.substr(0,a.blockLength-l));for(var f,h,p=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)f=a.fullMessageLength[d+1]*8,h=f/4294967296>>>0,p+=h,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var g=new Array(r.length),d=0;d<r.length;++d)g[d]=r[d].slice(0);Sg(g,i,c);var m=Ye.util.createBuffer(),x;t==="SHA-512"?x=g.length:t==="SHA-384"?x=g.length-2:x=g.length-4;for(var d=0;d<x;++d)m.putInt32(g[d][0]),(d!==x-1||t!=="SHA-512/224")&&m.putInt32(g[d][1]);return m},a};var hf=null,xg=!1,df=null,Ri=null;function dB(){hf=String.fromCharCode(128),hf+=Ye.util.fillString(String.fromCharCode(0),128),df=[[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]],Ri={},Ri["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Ri["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Ri["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Ri["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],xg=!0}function Sg(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,g,m,x,R,L,H,q,k,J,ie,j,we,le,ye,nt,it,Ie,Me,ne,tr,Wt,fn,Yt,hn=r.length();hn>=128;){for(Ie=0;Ie<16;++Ie)e[Ie][0]=r.getInt32()>>>0,e[Ie][1]=r.getInt32()>>>0;for(;Ie<80;++Ie)tr=e[Ie-2],Me=tr[0],ne=tr[1],n=((Me>>>19|ne<<13)^(ne>>>29|Me<<3)^Me>>>6)>>>0,i=((Me<<13|ne>>>19)^(ne<<3|Me>>>29)^(Me<<26|ne>>>6))>>>0,fn=e[Ie-15],Me=fn[0],ne=fn[1],s=((Me>>>1|ne<<31)^(Me>>>8|ne<<24)^Me>>>7)>>>0,o=((Me<<31|ne>>>1)^(Me<<24|ne>>>8)^(Me<<25|ne>>>7))>>>0,Wt=e[Ie-7],Yt=e[Ie-16],ne=i+Wt[1]+o+Yt[1],e[Ie][0]=n+Wt[0]+s+Yt[0]+(ne/4294967296>>>0)>>>0,e[Ie][1]=ne>>>0;for(g=t[0][0],m=t[0][1],x=t[1][0],R=t[1][1],L=t[2][0],H=t[2][1],q=t[3][0],k=t[3][1],J=t[4][0],ie=t[4][1],j=t[5][0],we=t[5][1],le=t[6][0],ye=t[6][1],nt=t[7][0],it=t[7][1],Ie=0;Ie<80;++Ie)u=((J>>>14|ie<<18)^(J>>>18|ie<<14)^(ie>>>9|J<<23))>>>0,l=((J<<18|ie>>>14)^(J<<14|ie>>>18)^(ie<<23|J>>>9))>>>0,f=(le^J&(j^le))>>>0,h=(ye^ie&(we^ye))>>>0,a=((g>>>28|m<<4)^(m>>>2|g<<30)^(m>>>7|g<<25))>>>0,c=((g<<4|m>>>28)^(m<<30|g>>>2)^(m<<25|g>>>7))>>>0,p=(g&x|L&(g^x))>>>0,d=(m&R|H&(m^R))>>>0,ne=it+l+h+df[Ie][1]+e[Ie][1],n=nt+u+f+df[Ie][0]+e[Ie][0]+(ne/4294967296>>>0)>>>0,i=ne>>>0,ne=c+d,s=a+p+(ne/4294967296>>>0)>>>0,o=ne>>>0,nt=le,it=ye,le=j,ye=we,j=J,we=ie,ne=k+i,J=q+n+(ne/4294967296>>>0)>>>0,ie=ne>>>0,q=L,k=H,L=x,H=R,x=g,R=m,ne=i+o,g=n+s+(ne/4294967296>>>0)>>>0,m=ne>>>0;ne=t[0][1]+m,t[0][0]=t[0][0]+g+(ne/4294967296>>>0)>>>0,t[0][1]=ne>>>0,ne=t[1][1]+R,t[1][0]=t[1][0]+x+(ne/4294967296>>>0)>>>0,t[1][1]=ne>>>0,ne=t[2][1]+H,t[2][0]=t[2][0]+L+(ne/4294967296>>>0)>>>0,t[2][1]=ne>>>0,ne=t[3][1]+k,t[3][0]=t[3][0]+q+(ne/4294967296>>>0)>>>0,t[3][1]=ne>>>0,ne=t[4][1]+ie,t[4][0]=t[4][0]+J+(ne/4294967296>>>0)>>>0,t[4][1]=ne>>>0,ne=t[5][1]+we,t[5][0]=t[5][0]+j+(ne/4294967296>>>0)>>>0,t[5][1]=ne>>>0,ne=t[6][1]+ye,t[6][0]=t[6][0]+le+(ne/4294967296>>>0)>>>0,t[6][1]=ne>>>0,ne=t[7][1]+it,t[7][0]=t[7][0]+nt+(ne/4294967296>>>0)>>>0,t[7][1]=ne>>>0,hn-=128}}});var Ig=w((UU,Cg)=>{"use strict";var Ic=65536;function pB(t){let e=new Uint8Array(t),r=0;if(t>0)if(t>Ic)for(;r<t;)r+Ic>t?(crypto.getRandomValues(e.subarray(r,r+(t-r))),r+=t-r):(crypto.getRandomValues(e.subarray(r,r+Ic)),r+=Ic);else crypto.getRandomValues(e);return e}Cg.exports=pB});var Tc=w((MU,Tg)=>{"use strict";var yB=Ig(),gB=he();Tg.exports=function(t){if(isNaN(t)||t<=0)throw gB(new Error("random bytes length must be a Number bigger than 0"),"ERR_INVALID_LENGTH");return yB(t)}});var Rc=w(Go=>{"use strict";$e();_c();var mB=be(),{fromString:vB}=(It(),Nt),{toString:Rg}=(Tt(),Ot),{concat:Bg}=(Gn(),zn);Go.bigIntegerToUintBase64url=(t,e)=>{let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.slice(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Bg([new Uint8Array(e-r.length),r])}return Rg(r,"base64url")};Go.base64urlToBigInteger=t=>{let e=Go.base64urlToBuffer(t);return new mB.jsbn.BigInteger(Rg(e,"base16"),16)};Go.base64urlToBuffer=(t,e)=>{let r=vB(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Bg([new Uint8Array(e-r.length),r])}return r}});var Og=w(Wo=>{"use strict";Kn();jo();var Wn=be(),{bigIntegerToUintBase64url:Zr,base64urlToBigInteger:Jr}=Rc(),{fromString:Pg}=(It(),Nt),{toString:Ng}=(Tt(),Ot);Wo.pkcs1ToJwk=function(t){let e=Wn.asn1.fromDer(Ng(t,"ascii")),r=Wn.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Zr(r.n),e:Zr(r.e),d:Zr(r.d),p:Zr(r.p),q:Zr(r.q),dp:Zr(r.dP),dq:Zr(r.dQ),qi:Zr(r.qInv),alg:"RS256",kid:"2011-04-29"}};Wo.jwkToPkcs1=function(t){let e=Wn.pki.privateKeyToAsn1({n:Jr(t.n),e:Jr(t.e),d:Jr(t.d),p:Jr(t.p),q:Jr(t.q),dP:Jr(t.dp),dQ:Jr(t.dq),qInv:Jr(t.qi)});return Pg(Wn.asn1.toDer(e).getBytes(),"ascii")};Wo.pkixToJwk=function(t){let e=Wn.asn1.fromDer(Ng(t,"ascii")),r=Wn.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Zr(r.n),e:Zr(r.e),alg:"RS256",kid:"2011-04-29"}};Wo.jwkToPkix=function(t){let e=Wn.pki.publicKeyToAsn1({n:Jr(t.n),e:Jr(t.e)});return Pg(Wn.asn1.toDer(e).getBytes(),"ascii")}});var qg=w((VU,kg)=>{"use strict";jo();var Dg=be(),{base64urlToBigInteger:bB}=Rc();function Lg(t,e){return e.map(r=>bB(t[r]))}function EB(t){return Dg.pki.setRsaPrivateKey(...Lg(t,["n","e","d","p","q","dp","dq","qi"]))}function wB(t){return Dg.pki.setRsaPublicKey(...Lg(t,["n","e"]))}kg.exports={jwk2pub:wB,jwk2priv:EB}});var Fg=w(bn=>{"use strict";var vn=Ho(),_B=Tc(),{toString:xB}=(Tt(),Ot),{fromString:SB}=(It(),Nt);bn.utils=Og();bn.generateKey=async function(t){let e=await vn.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 Ug(e);return{privateKey:r[0],publicKey:r[1]}};bn.unmarshalPrivateKey=async function(t){let r=[await vn.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await AB(t)],n=await Ug({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}};bn.getRandomValues=_B;bn.hashAndSign=async function(t,e){let r=await vn.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await vn.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,n.byteOffset,n.byteLength)};bn.hashAndVerify=async function(t,e,r){let n=await vn.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return vn.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)};function Ug(t){return Promise.all([vn.get().subtle.exportKey("jwk",t.privateKey),vn.get().subtle.exportKey("jwk",t.publicKey)])}function AB(t){return vn.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}var{jwk2pub:CB,jwk2priv:IB}=qg();function Mg(t,e,r,n){let i=e?CB(t):IB(t),s=xB(Uint8Array.from(r),"ascii"),o=n(s,i);return SB(o,"ascii")}bn.encrypt=function(t,e){return Mg(t,!0,e,(r,n)=>n.encrypt(r))};bn.decrypt=function(t,e){return Mg(t,!1,e,(r,n)=>n.decrypt(r))}});var Bc=w(($U,Kg)=>{"use strict";var{base64:TB}=(Lo(),bs),RB=lf();Kg.exports={export:async function(t,e){let n=await RB.create().encrypt(t,e);return TB.encode(n)}}});var zg=w((HU,Hg)=>{"use strict";var{sha256:Vg}=(Ti(),Hn),jg=he(),{equals:$g}=(pr(),dr),{toString:BB}=(Tt(),Ot);pf();var Pc=be(),yr=Fg(),Nc=ac(),PB=Bc(),Oc=class{constructor(e){this._key=e}async verify(e,r){return yr.hashAndVerify(this._key,r,e)}marshal(){return yr.utils.jwkToPkix(this._key)}get bytes(){return Nc.PublicKey.encode({Type:Nc.KeyType.RSA,Data:this.marshal()}).finish()}encrypt(e){return yr.encrypt(this._key,e)}equals(e){return $g(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Vg.digest(this.bytes);return e}},Yo=class{constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return yr.getRandomValues(16)}async sign(e){return yr.hashAndSign(this._key,e)}get public(){if(!this._publicKey)throw jg(new Error("public key not provided"),"ERR_PUBKEY_NOT_PROVIDED");return new Oc(this._publicKey)}decrypt(e){return yr.decrypt(this._key,e)}marshal(){return yr.utils.jwkToPkcs1(this._key)}get bytes(){return Nc.PrivateKey.encode({Type:Nc.KeyType.RSA,Data:this.marshal()}).finish()}equals(e){return $g(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Vg.digest(this.bytes);return e}async id(){let e=await this.public.hash();return BB(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Pc.util.ByteBuffer(this.marshal()),i=Pc.asn1.fromDer(n),s=Pc.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Pc.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return PB.export(this.bytes,e);throw jg(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}};async function NB(t){let e=yr.utils.pkcs1ToJwk(t),r=await yr.unmarshalPrivateKey(e);return new Yo(r.privateKey,r.publicKey)}function OB(t){let e=yr.utils.pkixToJwk(t);return new Oc(e)}async function DB(t){let e=await yr.unmarshalPrivateKey(t);return new Yo(e.privateKey,e.publicKey)}async function LB(t){let e=await yr.generateKey(t);return new Yo(e.privateKey,e.publicKey)}Hg.exports={RsaPublicKey:Oc,RsaPrivateKey:Yo,unmarshalRsaPublicKey:OB,unmarshalRsaPrivateKey:NB,generateKeyPair:LB,fromJwk:DB}});var em=w(qe=>{"use strict";var kB=qe&&qe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(qe,"__esModule",{value:!0});qe.utils=qe.curve25519=qe.getSharedSecret=qe.verify=qe.sign=qe.getPublicKey=qe.Signature=qe.Point=qe.ExtendedPoint=qe.CURVE=void 0;var qB=kB(As()),dt=BigInt(0),_e=BigInt(1),Dt=BigInt(2),Gg=BigInt(255),st={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:Dt**Gg-BigInt(19),n:Dt**BigInt(252)+BigInt("27742317777372353535851937790883648493"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")};qe.CURVE=st;var Qo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),zU=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),UB=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),MB=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),FB=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),KB=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Ve=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof Ze))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(Ze.ZERO)?Ve.ZERO:new Ve(e.x,e.y,_e,K(e.x*e.y))}static toAffineBatch(e){let r=$B(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}static fromRistrettoHash(e){e=En(e),Pi(64,e);let r=mf(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=mf(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return n.add(s)}static calcElligatorRistrettoMap(e){let{d:r}=st,n=K(Qo*e*e),i=K((n+_e)*FB),s=BigInt(-1),o=K((s-r*n)*K(n+r)),{isValid:a,value:c}=bf(i,o),u=K(c*e);Yn(u)||(u=K(-u)),a||(c=u),a||(s=n);let l=K(s*(n-_e)*KB-o),f=c*c,h=K((c+c)*o),p=K(l*UB),d=K(_e-f),g=K(_e+f);return new Ve(K(h*g),K(d*p),K(p*g),K(h*d))}static fromRistrettoBytes(e){e=En(e),Pi(32,e);let{a:r,d:n}=st,i="ExtendedPoint.fromRistrettoBytes: Cannot convert bytes to Ristretto Point",s=mf(e);if(!HB(Xo(s,32),e)||Yn(s))throw new Error(i);let o=K(s*s),a=K(_e+r*o),c=K(_e-r*o),u=K(a*a),l=K(c*c),f=K(r*n*u-l),{isValid:h,value:p}=Xg(K(f*l)),d=K(p*c),g=K(p*d*f),m=K((s+s)*d);Yn(m)&&(m=K(-m));let x=K(a*g),R=K(m*x);if(!h||Yn(R)||x===dt)throw new Error(i);return new Ve(m,x,_e,R)}toRistrettoBytes(){let{x:e,y:r,z:n,t:i}=this,s=K(K(n+r)*K(n-r)),o=K(e*r),{value:a}=Xg(K(s*o**Dt)),c=K(a*s),u=K(a*o),l=K(c*u*i),f;if(Yn(i*l)){let p=K(r*Qo),d=K(e*Qo);e=p,r=d,f=K(c*MB)}else f=u;Yn(e*l)&&(r=K(-r));let h=K((n-r)*f);return Yn(h)&&(h=K(-h)),Xo(h,32)}equals(e){let r=this,n=e;return K(r.t*n.z)===K(n.t*r.z)}negate(){return new Ve(K(-this.x),this.y,this.z,K(-this.t))}double(){let e=this.x,r=this.y,n=this.z,{a:i}=st,s=K(e**Dt),o=K(r**Dt),a=K(Dt*n**Dt),c=K(i*s),u=K((e+r)**Dt-s-o),l=K(c+o),f=K(l-a),h=K(c-o),p=K(u*f),d=K(l*h),g=K(u*h),m=K(f*l);return new Ve(p,d,m,g)}add(e){let r=this.x,n=this.y,i=this.z,s=this.t,o=e.x,a=e.y,c=e.z,u=e.t,l=K((n-r)*(a+o)),f=K((n+r)*(a-o)),h=K(f-l);if(h===dt)return this.double();let p=K(i*Dt*u),d=K(s*Dt*c),g=K(d+p),m=K(f+l),x=K(d-p),R=K(g*h),L=K(m*x),H=K(g*x),q=K(h*m);return new Ve(R,L,q,H)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=Rs(e),n=Ve.ZERO;if(this.equals(n)||r===_e)return this;let i=n,s=this;for(;r>dt;)r&_e&&(i=i.add(s)),s=s.double(),r>>=_e;return i}precomputeWindow(e){let r=256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Ve.BASE)&&(r=Ze.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&yf.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Ve.normalizeZ(i),yf.set(r,i)));let s=Ve.ZERO,o=Ve.ZERO,a=256/n+1,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let p=h*c,d=Number(e&u);if(e>>=f,d>c&&(d-=l,e+=_e),d===0){let g=i[p];h%2&&(g=g.negate()),o=o.add(g)}else{let g=i[p+Math.abs(d)-1];d<0&&(g=g.negate()),s=s.add(g)}}return[s,o]}multiply(e,r){let n=Rs(e);return Ve.normalizeZ(this.wNAF(n,r))[0]}toAffine(e=vf(this.z)){let r=K(this.x*e),n=K(this.y*e);return new Ze(r,n)}};qe.ExtendedPoint=Ve;Ve.BASE=new Ve(st.Gx,st.Gy,_e,K(st.Gx*st.Gy));Ve.ZERO=new Ve(dt,_e,_e,dt);var yf=new WeakMap,Ze=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,yf.delete(this)}static fromHex(e){let{d:r,P:n}=st,i=En(e);Pi(32,i);let s=i.slice();s[31]=i[31]&~128;let o=Ts(s);if(o>=n)throw new Error("Point.fromHex expects hex <= Fp");let a=K(o*o),c=K(a-_e),u=K(r*a+_e),{isValid:l,value:f}=bf(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&_e)===_e;return(i[31]&128)!=0!==h&&(f=K(-f)),new Ze(f,o)}static async fromPrivateKey(e){return(await Zo(e)).point}toRawBytes(){let e=Xo(this.y,32);return e[31]|=this.x&_e?128:0,e}toHex(){return gf(this.toRawBytes())}toX25519(){let{y:e}=this;return K((_e+e)*vf(_e-e))}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new Ze(K(-this.x),this.y)}add(e){return Ve.fromAffine(this).add(Ve.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ve.fromAffine(this).multiply(e,this).toAffine()}};qe.Point=Ze;Ze.BASE=new Ze(st.Gx,st.Gy);Ze.ZERO=new Ze(dt,_e);var Bi=class{constructor(e,r){if(this.r=e,!(e instanceof Ze))throw new Error("Expected Point instance");this.s=Rs(r)}static fromHex(e){let r=En(e);Pi(64,r);let n=Ze.fromHex(r.slice(0,32)),i=Ts(r.slice(32,64));return new Bi(n,i)}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Xo(this.s,32),32),e}toHex(){return gf(this.toRawBytes())}};qe.Signature=Bi;function VB(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),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 jB=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function gf(t){let e="";for(let r=0;r<t.length;r++)e+=jB[t[r]];return e}function Wg(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s))throw new Error("Invalid byte sequence");e[r]=s}return e}function Yg(t,e){let r=t.toString(16).padStart(e*2,"0");return Wg(r)}function Xo(t,e){return Yg(t,e).reverse()}function Yn(t){return(K(t)&_e)===_e}function Ts(t){if(!(t instanceof Uint8Array))throw new Error(`bytesToNumberLE: expected Uint8Array, got ${t}`);let e=dt,r=BigInt(8);for(let n=0;n<t.length;n++)e+=BigInt(t[n])<<r*BigInt(n);return e}function mf(t){return K(Ts(t)&Dt**Gg-_e)}function K(t,e=st.P){let r=t%e;return r>=dt?r:e+r}function vf(t,e=st.P){if(t===dt||e<=dt)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=K(t,e),n=e,i=dt,s=_e,o=_e,a=dt;for(;r!==dt;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==_e)throw new Error("invert: does not exist");return K(i,e)}function $B(t,e=st.P){let r=t.length,n=new Array(r),i=_e;for(let s=0;s<r;s++)t[s]!==dt&&(n[s]=i,i=K(i*t[s],e));i=vf(i,e);for(let s=r-1;s>=0;s--){if(t[s]===dt)continue;let o=K(i*t[s],e);t[s]=K(i*n[s],e),i=o}return t}function Or(t,e){let{P:r}=st,n=t;for(;e-- >dt;)n*=n,n%=r;return n}function Qg(t){let{P:e}=st,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=Or(c,Dt)*c%e,l=Or(u,_e)*t%e,f=Or(l,r)*l%e,h=Or(f,n)*f%e,p=Or(h,i)*h%e,d=Or(p,s)*p%e,g=Or(d,o)*d%e,m=Or(g,o)*d%e,x=Or(m,n)*f%e;return{pow_p_5_8:Or(x,Dt)*t%e,b2:c}}function bf(t,e){let r=K(e*e*e),n=K(r*r*e),i=Qg(t*n).pow_p_5_8,s=K(t*r*i),o=K(e*s*s),a=s,c=K(s*Qo),u=o===t,l=o===K(-t),f=o===K(-t*Qo);return u&&(s=a),(l||f)&&(s=c),Yn(s)&&(s=K(-s)),{isValid:u||l,value:s}}function Xg(t){return bf(_e,t)}async function Ef(...t){let e=VB(...t),r=await qe.utils.sha512(e),n=Ts(r);return K(n,st.n)}function HB(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function En(t){return t instanceof Uint8Array?Uint8Array.from(t):Wg(t)}function Pi(t,e){if(e.length!==t)throw new Error(`Expected ${t} bytes`)}function Rs(t,e=st.n){if(typeof t=="number"&&t>0&&Number.isSafeInteger(t))return BigInt(t);if(typeof t=="bigint"&&dt<t&&t<e)return t;throw new TypeError("Expected valid scalar: 0 < scalar < max")}function zB(t){let e=typeof t=="bigint"||typeof t=="number"?Yg(Rs(t,Dt**BigInt(256)),32):En(t);return Pi(32,e),e}function Zg(t){return t=En(t),Pi(32,t),t[0]&=248,t[31]&=127,t[31]|=64,Ts(t)}async function Zo(t){let e=await qe.utils.sha512(zB(t)),r=e.slice(0,32),n=e.slice(32,64),i=K(Zg(r),st.n),s=Ze.BASE.multiply(i),o=s.toRawBytes();return{head:r,prefix:n,scalar:i,point:s,pubBytes:o}}async function GB(t){return(await Zo(t)).pubBytes}qe.getPublicKey=GB;async function WB(t,e){let r=En(t),{prefix:n,scalar:i,pubBytes:s}=await Zo(e),o=await Ef(n,r),a=Ze.BASE.multiply(o),c=await Ef(a.toRawBytes(),s,r),u=K(o+c*i,st.n);return new Bi(a,u).toRawBytes()}qe.sign=WB;async function YB(t,e,r){e=En(e),r instanceof Ze||(r=Ze.fromHex(r)),t instanceof Bi||(t=Bi.fromHex(t));let n=Ve.BASE.multiply(t.s),i=await Ef(t.r.toRawBytes(),r.toRawBytes(),e),s=Ve.fromAffine(r).multiplyUnsafe(i);return Ve.fromAffine(t.r).add(s).subtract(n).multiplyUnsafe(st.h).equals(Ve.ZERO)}qe.verify=YB;async function QB(t,e){let{scalar:r}=await Zo(t),n=Ze.fromHex(e).toX25519();return Jg(r,n)}qe.getSharedSecret=QB;Ze.BASE._setWindowSize(8);function Dc(t,e,r){let n=K(t*(e-r));return e=K(e-n),r=K(r+n),[e,r]}function XB(t,e){let{P:r,n}=st,i=Rs(t,r),s=Rs(e,r),o=BigInt(121665),a=i,c=_e,u=dt,l=i,f=_e,h=dt,p;for(let x=BigInt(255-1);x>=dt;x--){let R=s>>x&_e;h^=R,p=Dc(h,c,l),c=p[0],l=p[1],p=Dc(h,u,f),u=p[0],f=p[1],h=R;let L=K(c+u),H=K(L*L),q=K(c-u),k=K(q*q),J=K(H-k),ie=K(l+f),j=K(l-f),we=K(j*L),le=K(ie*q);l=K(K(we+le)**Dt),f=K(a*K(we-le)**Dt),c=K(H*k),u=K(J*(H+K(o*J)))}p=Dc(h,c,l),c=p[0],l=p[1],p=Dc(h,u,f),u=p[0],f=p[1];let{pow_p_5_8:d,b2:g}=Qg(u),m=K(Or(d,BigInt(3))*g);return K(c*m)}function ZB(t){return Xo(K(t,st.P),32)}function Jg(t,e){let r=XB(t,e);if(r===dt)throw new Error("Invalid private or public key received");return ZB(r)}function JB(t){let e=En(t);return Pi(32,e),e[31]&=127,Ts(e)}qe.curve25519={BASE_POINT_U:"0900000000000000000000000000000000000000000000000000000000000000",scalarMult(t,e){let r=JB(e),n=Zg(t);return Jg(r,n)},scalarMultBase(t){return qe.curve25519.scalarMult(t,qe.curve25519.BASE_POINT_U)}};var Qn={node:qB.default,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};qe.utils={TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],bytesToHex:gf,getExtendedPublicKey:Zo,randomBytes:(t=32)=>{if(Qn.web)return Qn.web.getRandomValues(new Uint8Array(t));if(Qn.node){let{randomBytes:e}=Qn.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>qe.utils.randomBytes(32),sha512:async t=>{if(Qn.web){let e=await Qn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(Qn.node)return Uint8Array.from(Qn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=Ze.BASE){let r=e.equals(Ze.BASE)?e:new Ze(e.x,e.y);return r._setWindowSize(t),r.multiply(_e),r}}});var rm=w(Xn=>{"use strict";var Jo=em(),e8=32,t8=64,Lc=32;Xn.publicKeyLength=e8;Xn.privateKeyLength=t8;Xn.generateKey=async function(){let t=Jo.utils.randomPrivateKey(),e=await Jo.getPublicKey(t);return{privateKey:tm(t,e),publicKey:e}};Xn.generateKeyFromSeed=async function(t){if(t.length!==Lc)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=await Jo.getPublicKey(e);return{privateKey:tm(e,r),publicKey:r}};Xn.hashAndSign=function(t,e){let r=t.slice(0,Lc);return Jo.sign(e,r)};Xn.hashAndVerify=function(t,e,r){return Jo.verify(e,r,t)};function tm(t,e){let r=new Uint8Array(Xn.privateKeyLength);for(let n=0;n<Lc;n++)r[n]=t[n],r[Lc+n]=e[n];return r}});var am=w((YU,om)=>{"use strict";var nm=he(),{equals:im}=(pr(),dr),{sha256:sm}=(Ti(),Hn),{base58btc:r8}=(Ln(),Dn),{identity:n8}=(Ac(),$o),Lt=rm(),kc=ac(),i8=Bc(),qc=class{constructor(e){this._key=Ps(e,Lt.publicKeyLength)}async verify(e,r){return Lt.hashAndVerify(this._key,r,e)}marshal(){return this._key}get bytes(){return kc.PublicKey.encode({Type:kc.KeyType.Ed25519,Data:this.marshal()}).finish()}equals(e){return im(this.bytes,e.bytes)}async hash(){let{bytes:e}=await sm.digest(this.bytes);return e}},Bs=class{constructor(e,r){this._key=Ps(e,Lt.privateKeyLength),this._publicKey=Ps(r,Lt.publicKeyLength)}async sign(e){return Lt.hashAndSign(this._key,e)}get public(){return new qc(this._publicKey)}marshal(){return this._key}get bytes(){return kc.PrivateKey.encode({Type:kc.KeyType.Ed25519,Data:this.marshal()}).finish()}equals(e){return im(this.bytes,e.bytes)}async hash(){let{bytes:e}=await sm.digest(this.bytes);return e}async id(){let e=await n8.digest(this.public.bytes);return r8.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return i8.export(this.bytes,e);throw nm(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function s8(t){if(t.length>Lt.privateKeyLength){t=Ps(t,Lt.privateKeyLength+Lt.publicKeyLength);let n=t.slice(0,Lt.privateKeyLength),i=t.slice(Lt.privateKeyLength,t.length);return new Bs(n,i)}t=Ps(t,Lt.privateKeyLength);let e=t.slice(0,Lt.privateKeyLength),r=t.slice(Lt.publicKeyLength);return new Bs(e,r)}function o8(t){return t=Ps(t,Lt.publicKeyLength),new qc(t)}async function a8(){let{privateKey:t,publicKey:e}=await Lt.generateKey();return new Bs(t,e)}async function c8(t){let{privateKey:e,publicKey:r}=await Lt.generateKeyFromSeed(t);return new Bs(e,r)}function Ps(t,e){if(t=Uint8Array.from(t||[]),t.length!==e)throw nm(new Error(`Key must be a Uint8Array of length ${e}, got ${t.length}`),"ERR_INVALID_KEY_TYPE");return t}om.exports={Ed25519PublicKey:qc,Ed25519PrivateKey:Bs,unmarshalEd25519PrivateKey:s8,unmarshalEd25519PublicKey:o8,generateKeyPair:a8,generateKeyPairFromSeed:c8}});var Am=w(Ae=>{"use strict";var u8=Ae&&Ae.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.utils=Ae.schnorr=Ae.verify=Ae.signSync=Ae.sign=Ae.getSharedSecret=Ae.recoverPublicKey=Ae.getPublicKey=Ae.Signature=Ae.Point=Ae.CURVE=void 0;var l8=u8(As()),Pe=BigInt(0),ut=BigInt(1),pt=BigInt(2),ea=BigInt(3),f8=BigInt(8),wf=pt**BigInt(256),ze={a:Pe,b:BigInt(7),P:wf-pt**BigInt(32)-BigInt(977),n:wf-BigInt("432420386565659656852420866394968145599"),h:ut,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")};Ae.CURVE=ze;function cm(t){let{a:e,b:r}=ze,n=re(t*t),i=re(n*t);return re(i+e*t+r)}var Uc=ze.a===Pe,Ne=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof De))throw new TypeError("JacobianPoint#fromAffine: expected Point");return new Ne(e.x,e.y,ut)}static toAffineBatch(e){let r=y8(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return Ne.toAffineBatch(e).map(Ne.fromAffine)}equals(e){let r=this,n=e,i=re(r.z*r.z),s=re(r.z*i),o=re(n.z*n.z),a=re(n.z*o);return re(r.x*o)===re(i*n.x)&&re(r.y*a)===re(s*n.y)}negate(){return new Ne(this.x,re(-this.y),this.z)}double(){let e=this.x,r=this.y,n=this.z,i=re(e**pt),s=re(r**pt),o=re(s**pt),a=re(pt*(re(re((e+s)**pt))-i-o)),c=re(ea*i),u=re(c**pt),l=re(u-pt*a),f=re(c*(a-l)-f8*o),h=re(pt*r*n);return new Ne(l,f,h)}add(e){if(!(e instanceof Ne))throw new TypeError("JacobianPoint#add: expected JacobianPoint");let r=this.x,n=this.y,i=this.z,s=e.x,o=e.y,a=e.z;if(s===Pe||o===Pe)return this;if(r===Pe||n===Pe)return e;let c=re(i**pt),u=re(a**pt),l=re(r*u),f=re(s*c),h=re(n*a*u),p=re(re(o*i)*c),d=re(f-l),g=re(p-h);if(d===Pe)return g===Pe?this.double():Ne.ZERO;let m=re(d**pt),x=re(d*m),R=re(l*m),L=re(g**pt-x-pt*R),H=re(g*(R-L)-h*x),q=re(i*a*d);return new Ne(L,H,q)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=hm(e);if(!Uc){let l=Ne.ZERO,f=this;for(;r>Pe;)r&ut&&(l=l.add(f)),f=f.double(),r>>=ut;return l}let{k1neg:n,k1:i,k2neg:s,k2:o}=pm(r),a=Ne.ZERO,c=Ne.ZERO,u=this;for(;i>Pe||o>Pe;)i&ut&&(a=a.add(u)),o&ut&&(c=c.add(u)),u=u.double(),i>>=ut,o>>=ut;return n&&(a=a.negate()),s&&(c=c.negate()),c=new Ne(re(c.x*ze.beta),c.y,c.z),a.add(c)}precomputeWindow(e){let r=Uc?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Ne.BASE)&&(r=De.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&_f.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Ne.normalizeZ(i),_f.set(r,i)));let s=Ne.ZERO,o=Ne.ZERO,a=Uc?128/n+1:256/n+1,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let p=h*c,d=Number(e&u);if(e>>=f,d>c&&(d-=l,e+=ut),d===0){let g=i[p];h%2&&(g=g.negate()),o=o.add(g)}else{let g=i[p+Math.abs(d)-1];d<0&&(g=g.negate()),s=s.add(g)}}return{p:s,f:o}}multiply(e,r){let n=hm(e),i,s;if(Uc){let{k1neg:o,k1:a,k2neg:c,k2:u}=pm(n),{p:l,f}=this.wNAF(a,r),{p:h,f:p}=this.wNAF(u,r);o&&(l=l.negate()),c&&(h=h.negate()),h=new Ne(re(h.x*ze.beta),h.y,h.z),i=l.add(h),s=f.add(p)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return Ne.normalizeZ([i,s])[0]}toAffine(e=ra(this.z)){let r=e**pt,n=re(this.x*r),i=re(this.y*r*e);return new De(n,i)}};Ne.BASE=new Ne(ze.Gx,ze.Gy,ut);Ne.ZERO=new Ne(Pe,ut,Pe);var _f=new WeakMap,De=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,_f.delete(this)}static fromCompressedHex(e){let r=e.length===32,n=gr(r?e:e.slice(1)),i=cm(n),s=p8(i),o=(s&ut)===ut;return r?o&&(s=re(-s)):(e[0]&1)==1!==o&&(s=re(-s)),new De(n,s)}static fromUncompressedHex(e){let r=gr(e.slice(1,33)),n=gr(e.slice(33)),i=new De(r,n);return i.assertValidity(),i}static fromHex(e){let r=_n(e),n=r[0];if(r.length===32||r.length===33&&(n===2||n===3))return this.fromCompressedHex(r);if(r.length===65&&n===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${r.length}`)}static fromPrivateKey(e){return De.BASE.multiply(na(e))}static fromSignature(e,r,n){e=_n(e);let i=ym(e),{r:s,s:o}=mm(r);if(n!==0&&n!==1)throw new Error("Cannot recover signature: invalid recovery bit");if(i===Pe)throw new Error("Cannot recover signature: msgHash cannot be 0");let a=2+(n&1),c=De.fromHex(`0${a}${wn(s)}`),u=Ne.fromAffine(c).multiplyUnsafe(o),l=Ne.BASE.multiply(i),f=ra(s,ze.n),p=u.subtract(l).multiplyUnsafe(f).toAffine();return p.assertValidity(),p}toRawBytes(e=!1){return Zn(this.toHex(e))}toHex(e=!1){let r=wn(this.x);return e?`${this.y&ut?"03":"02"}${r}`:`04${r}${wn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!Af(r)||!Af(n))throw new Error(e);let i=re(n*n),s=cm(r);if(re(i-s)!==Pe)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new De(this.x,re(-this.y))}double(){return Ne.fromAffine(this).double().toAffine()}add(e){return Ne.fromAffine(this).add(Ne.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ne.fromAffine(this).multiply(e,this).toAffine()}};Ae.Point=De;De.BASE=new De(ze.Gx,ze.Gy);De.ZERO=new De(Pe,Pe);function um(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function lm(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${Ns(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:gr(r),left:t.subarray(e+2)}}function h8(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${Ns(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=lm(t.subarray(2)),{data:n,left:i}=lm(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Ns(i)}`);return{r:e,s:n}}var en=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=Ni(e),n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Ns(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new en(Mc(i.slice(0,64)),Mc(i.slice(64,128)))}static fromDER(e){let r=Ni(e);if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=h8(r?e:Zn(e));return new en(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!Oi(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Oi(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=ze.n>>ut;return this.s>e}normalizeS(){return this.hasHighS()?new en(this.r,ze.n-this.s):this}toDERRawBytes(e=!1){return Zn(this.toDERHex(e))}toDERHex(e=!1){let r=um(ta(this.s));if(e)return r;let n=um(ta(this.r)),i=ta(n.length/2),s=ta(r.length/2);return`30${ta(n.length/2+r.length/2+4)}02${i}${n}02${s}${r}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Zn(this.toCompactHex())}toCompactHex(){return wn(this.r)+wn(this.s)}};Ae.Signature=en;function xf(...t){if(!t.every(Ni))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),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}function Ni(t){return t instanceof Uint8Array}var d8=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ns(t){if(!Ni(t))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=d8[t[r]];return e}function wn(t){if(t>wf)throw new Error("Expected number < 2^256");return t.toString(16).padStart(64,"0")}function fm(t){return Zn(wn(t))}function ta(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Mc(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function Zn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s))throw new Error("Invalid byte sequence");e[r]=s}return e}function gr(t){return Mc(Ns(t))}function _n(t){return Ni(t)?Uint8Array.from(t):Zn(t)}function hm(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&Oi(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function re(t,e=ze.P){let r=t%e;return r>=0?r:e+r}function mr(t,e){let{P:r}=ze,n=t;for(;e-- >Pe;)n*=n,n%=r;return n}function p8(t){let{P:e}=ze,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=mr(u,ea)*u%e,f=mr(l,ea)*u%e,h=mr(f,pt)*c%e,p=mr(h,n)*h%e,d=mr(p,i)*p%e,g=mr(d,o)*d%e,m=mr(g,a)*g%e,x=mr(m,o)*d%e,R=mr(x,ea)*u%e,L=mr(R,s)*p%e,H=mr(L,r)*c%e;return mr(H,pt)}function ra(t,e=ze.P){if(t===Pe||e<=Pe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=re(t,e),n=e,i=Pe,s=ut,o=ut,a=Pe;for(;r!==Pe;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==ut)throw new Error("invert: does not exist");return re(i,e)}function y8(t,e=ze.P){let r=t.length,n=new Array(r),i=ut;for(let s=0;s<r;s++)t[s]!==Pe&&(n[s]=i,i=re(i*t[s],e));i=ra(i,e);for(let s=r-1;s>=0;s--){if(t[s]===Pe)continue;let o=re(i*t[s],e);t[s]=re(i*n[s],e),i=o}return t}var dm=(t,e)=>(t+e/pt)/e,Fc=pt**BigInt(128);function pm(t){let{n:e}=ze,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ut*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=dm(s*t,e),a=dm(-n*t,e),c=re(t-o*r-a*i,e),u=re(-o*n-a*s,e),l=c>Fc,f=u>Fc;if(l&&(c=e-c),f&&(u=e-u),c>Fc||u>Fc)throw new Error("splitScalarEndo: Endomorphism failed");return{k1neg:l,k1:c,k2neg:f,k2:u}}function ym(t){let{n:e}=ze,n=t.length*8-256,i=gr(t);return n>0&&(i=i>>BigInt(n)),i>=e&&(i-=e),i}var Sf=class{constructor(){this.v=new Uint8Array(32).fill(1),this.k=new Uint8Array(32).fill(0),this.counter=0}hmac(...e){return Ae.utils.hmacSha256(this.k,...e)}hmacSync(...e){if(typeof Ae.utils.hmacSha256Sync!="function")throw new Error("utils.hmacSha256Sync is undefined, you need to set it");let r=Ae.utils.hmacSha256Sync(this.k,...e);if(r instanceof Promise)throw new Error("To use sync sign(), ensure utils.hmacSha256 is sync");return r}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){return this.incr(),this.v=await this.hmac(this.v),this.v}generateSync(){return this.incr(),this.v=this.hmacSync(this.v),this.v}};function Oi(t){return Pe<t&&t<ze.n}function Af(t){return Pe<t&&t<ze.P}function gm(t,e,r){let n=gr(t);if(!Oi(n))return;let{n:i}=ze,s=De.BASE.multiply(n),o=re(s.x,i);if(o===Pe)return;let a=re(ra(n,i)*re(e+r*o,i),i);if(a===Pe)return;let c=new en(o,a),u=(s.x===c.r?0:2)|Number(s.y&ut);return{sig:c,recovery:u}}function na(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==64)throw new Error("Expected 32 bytes of private key");e=Mc(t)}else if(Ni(t)){if(t.length!==32)throw new Error("Expected 32 bytes of private key");e=gr(t)}else throw new TypeError("Expected valid private key");if(!Oi(e))throw new Error("Expected private key: 0 < key < n");return e}function Cf(t){return t instanceof De?(t.assertValidity(),t):De.fromHex(t)}function mm(t){if(t instanceof en)return t.assertValidity(),t;try{return en.fromDER(t)}catch(e){return en.fromCompact(t)}}function g8(t,e=!1){return De.fromPrivateKey(t).toRawBytes(e)}Ae.getPublicKey=g8;function m8(t,e,r){return De.fromSignature(t,e,r).toRawBytes()}Ae.recoverPublicKey=m8;function vm(t){let e=Ni(t),r=typeof t=="string",n=(e||r)&&t.length;return e?n===33||n===65:r?n===66||n===130:t instanceof De}function v8(t,e,r=!1){if(vm(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!vm(e))throw new TypeError("getSharedSecret: second arg must be public key");let n=Cf(e);return n.assertValidity(),n.multiply(na(t)).toRawBytes(r)}Ae.getSharedSecret=v8;function bm(t){let e=t.length>32?t.slice(0,32):t;return gr(e)}function b8(t){let e=bm(t),r=re(e,ze.n);return Em(r<Pe?e:r)}function Em(t){if(typeof t!="bigint")throw new Error("Expected bigint");let e=wn(t);return Zn(e)}function wm(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=_n(t),i=na(e),s=[Em(i),b8(n)];if(r!=null){r===!0&&(r=Ae.utils.randomBytes(32));let c=_n(r);if(c.length!==32)throw new Error("sign: Expected 32 bytes of extra data");s.push(c)}let o=xf(...s),a=bm(n);return{seed:o,m:a,d:i}}function _m(t,e){let{sig:r,recovery:n}=t,{canonical:i,der:s,recovered:o}=Object.assign({canonical:!0,der:!0},e);i&&r.hasHighS()&&(r=r.normalizeS(),n^=1);let a=s?r.toDERRawBytes():r.toCompactRawBytes();return o?[a,n]:a}async function E8(t,e,r={}){let{seed:n,m:i,d:s}=wm(t,e,r.extraEntropy),o,a=new Sf;for(await a.reseed(n);!(o=gm(await a.generate(),i,s));)await a.reseed();return _m(o,r)}Ae.sign=E8;function w8(t,e,r={}){let{seed:n,m:i,d:s}=wm(t,e,r.extraEntropy),o,a=new Sf;for(a.reseedSync(n);!(o=gm(a.generateSync(),i,s));)a.reseedSync();return _m(o,r)}Ae.signSync=w8;var _8={strict:!0};function x8(t,e,r,n=_8){let i;try{i=mm(t),e=_n(e)}catch(x){return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=ym(e);if(a===Pe)return!1;let c;try{c=Ne.fromAffine(Cf(r))}catch(x){return!1}let{n:u}=ze,l=ra(o,u),f=re(a*l,u),h=re(s*l,u),p=Ne.BASE.multiply(f),d=c.multiplyUnsafe(h),g=p.add(d).toAffine();return re(g.x,u)===s}Ae.verify=x8;async function If(t,...e){let r=new Uint8Array(t.split("").map(s=>s.charCodeAt(0))),n=await Ae.utils.sha256(r),i=await Ae.utils.sha256(xf(n,n,...e));return gr(i)}async function xm(t,e,r){let n=fm(t),i=await If("BIP0340/challenge",n,e.toRawX(),r);return re(i,ze.n)}function Tf(t){return re(t.y,pt)===Pe}var Di=class{constructor(e,r){if(this.r=e,this.s=r,!Af(e)||!Oi(r))throw new Error("Invalid signature")}static fromHex(e){let r=_n(e);if(r.length!==64)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${r.length}`);let n=gr(r.slice(0,32)),i=gr(r.slice(32,64));return new Di(n,i)}toHex(){return wn(this.r)+wn(this.s)}toRawBytes(){return Zn(this.toHex())}};function S8(t){return De.fromPrivateKey(t).toRawX()}async function A8(t,e,r=Ae.utils.randomBytes()){if(t==null)throw new TypeError(`sign: Expected valid message, not "${t}"`);let{n}=ze,i=_n(t),s=na(e),o=_n(r);if(o.length!==32)throw new TypeError("sign: Expected 32 bytes of aux randomness");let a=De.fromPrivateKey(s),c=Tf(a)?s:n-s,u=await If("BIP0340/aux",o),l=c^u,f=await If("BIP0340/nonce",fm(l),a.toRawX(),i),h=re(f,n);if(h===Pe)throw new Error("sign: Creation of signature failed. k is zero");let p=De.fromPrivateKey(h),d=Tf(p)?h:n-h,g=await xm(p.x,a,i),m=new Di(p.x,re(d+g*c,n));if(!await Sm(m.toRawBytes(),i,a.toRawX()))throw new Error("sign: Invalid signature produced");return m.toRawBytes()}async function Sm(t,e,r){let n=t instanceof Di?t:Di.fromHex(t),i=_n(e),s=Cf(r),o=await xm(n.r,s,i),a=De.fromPrivateKey(n.s),c=s.multiply(o),u=a.subtract(c);return!(u.equals(De.BASE)||!Tf(u)||u.x!==n.r)}Ae.schnorr={Signature:Di,getPublicKey:S8,sign:A8,verify:Sm};De.BASE._setWindowSize(8);var nr={node:l8.default,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};Ae.utils={isValidPrivateKey(t){try{return na(t),!0}catch(e){return!1}},randomBytes:(t=32)=>{if(nr.web)return nr.web.getRandomValues(new Uint8Array(t));if(nr.node){let{randomBytes:e}=nr.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>{let t=8;for(;t--;){let e=Ae.utils.randomBytes(32),r=gr(e);if(Oi(r)&&r!==ut)return e}throw new Error("Valid private key was not found in 8 iterations. PRNG is broken")},bytesToHex:Ns,mod:re,sha256:async t=>{if(nr.web){let e=await nr.web.subtle.digest("SHA-256",t.buffer);return new Uint8Array(e)}else if(nr.node){let{createHash:e}=nr.node;return Uint8Array.from(e("sha256").update(t).digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(nr.web){let r=await nr.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=xf(...e),i=await nr.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(nr.node){let{createHmac:r}=nr.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,precompute(t=8,e=De.BASE){let r=e===De.BASE?e:new De(e.x,e.y);return r._setWindowSize(t),r.multiply(ea),r}}});var Tm=w((XU,Im)=>{"use strict";var ia=he(),Jn=Am(),{sha256:Cm}=(Ti(),Hn);Im.exports=()=>{let t=32;function e(){return Jn.utils.randomPrivateKey()}async function r(u,l){let{digest:f}=await Cm.digest(l);try{return await Jn.sign(f,u)}catch(h){throw ia(h,"ERR_INVALID_INPUT")}}async function n(u,l,f){try{let{digest:h}=await Cm.digest(f);return Jn.verify(l,h,u)}catch(h){throw ia(h,"ERR_INVALID_INPUT")}}function i(u){return Jn.Point.fromHex(u).toRawBytes(!0)}function s(u){return Jn.Point.fromHex(u).toRawBytes(!1)}function o(u){try{Jn.getPublicKey(u,!0)}catch(l){throw ia(l,"ERR_INVALID_PRIVATE_KEY")}}function a(u){try{Jn.Point.fromHex(u)}catch(l){throw ia(l,"ERR_INVALID_PUBLIC_KEY")}}function c(u){try{return Jn.getPublicKey(u,!0)}catch(l){throw ia(l,"ERR_INVALID_PRIVATE_KEY")}}return{generateKey:e,privateKeyLength:t,hashAndSign:r,hashAndVerify:n,compressPublicKey:i,decompressPublicKey:s,validatePrivateKey:o,validatePublicKey:a,computePublicKey:c}}});var Nm=w((ZU,Pm)=>{"use strict";var{sha256:Rm}=(Ti(),Hn),C8=he(),{equals:Bm}=(pr(),dr),{toString:I8}=(Tt(),Ot),T8=Bc();Pm.exports=(t,e,r)=>{r=r||Tm()();class n{constructor(u){r.validatePublicKey(u),this._key=u}verify(u,l){return r.hashAndVerify(this._key,l,u)}marshal(){return r.compressPublicKey(this._key)}get bytes(){return t.PublicKey.encode({Type:t.KeyType.Secp256k1,Data:this.marshal()}).finish()}equals(u){return Bm(this.bytes,u.bytes)}async hash(){let{bytes:u}=await Rm.digest(this.bytes);return u}}class i{constructor(u,l){this._key=u,this._publicKey=l||r.computePublicKey(u),r.validatePrivateKey(this._key),r.validatePublicKey(this._publicKey)}sign(u){return r.hashAndSign(this._key,u)}get public(){return new n(this._publicKey)}marshal(){return this._key}get bytes(){return t.PrivateKey.encode({Type:t.KeyType.Secp256k1,Data:this.marshal()}).finish()}equals(u){return Bm(this.bytes,u.bytes)}async hash(){let{bytes:u}=await Rm.digest(this.bytes);return u}async id(){let u=await this.public.hash();return I8(u,"base58btc")}async export(u,l="libp2p-key"){if(l==="libp2p-key")return T8.export(this.bytes,u);throw C8(new Error(`export format '${l}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}function s(c){return new i(c)}function o(c){return new n(c)}async function a(){let c=await r.generateKey();return new i(c)}return{Secp256k1PublicKey:n,Secp256k1PrivateKey:i,unmarshalSecp256k1PrivateKey:s,unmarshalSecp256k1PublicKey:o,generateKeyPair:a}}});var Dm=w((JU,Om)=>{"use strict";Om.exports={SHA1:20,SHA256:32,SHA512:64}});var Rf=w(km=>{"use strict";var Lm=Ho(),R8=Dm(),B8={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},P8=async(t,e)=>{let r=await Lm.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,r.byteOffset,r.byteLength)};km.create=async function(t,e){let r=B8[t],n=await Lm.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return P8(n,i)},length:R8[t]}}});var Km=w((tM,Fm)=>{"use strict";var qm=he(),{concat:Um}=(Gn(),zn),{fromString:N8}=(It(),Nt),O8=Rf(),Mm={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,cipherKeySize:32}};Fm.exports=async(t,e,r)=>{let n=Mm[t];if(!n){let R=Object.keys(Mm).join(" / ");throw qm(new Error(`unknown cipher type '${t}'. Must be ${R}`),"ERR_INVALID_CIPHER_TYPE")}if(!e)throw qm(new Error("missing hash type"),"ERR_MISSING_HASH_TYPE");let i=n.keySize,s=n.ivSize,o=20,a=N8("key expansion"),c=2*(s+i+o),u=await O8.create(e,r),l=await u.digest(a),f=[],h=0;for(;h<c;){let R=await u.digest(Um([l,a])),L=R.length;h+L>c&&(L=c-h),f.push(R),h+=L,l=await u.digest(l)}let p=c/2,d=Um(f),g=d.slice(0,p),m=d.slice(p,c),x=R=>({iv:R.slice(0,s),cipherKey:R.slice(s,s+i),macKey:R.slice(s+i)});return{k1:x(g),k2:x(m)}}});var jm=w((rM,Vm)=>{"use strict";var D8=he();Vm.exports=function(t,e){if(!t.includes(e)){let r=t.join(" / ");throw D8(new Error(`Unknown curve: ${e}. Must be ${r}`),"ERR_INVALID_CURVE")}}});var Ym=w(Wm=>{"use strict";var L8=he(),sa=Ho(),{base64urlToBuffer:$m}=Rc(),k8=jm(),{toString:Bf}=(Tt(),Ot),{concat:q8}=(Gn(),zn),{equals:U8}=(pr(),dr),Hm={"P-256":256,"P-384":384,"P-521":521};Wm.generateEphmeralKeyPair=async function(t){k8(Object.keys(Hm),t);let e=await sa.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(i,s)=>{let o;s?o=await sa.get().subtle.importKey("jwk",F8(t,s),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):o=e.privateKey;let a=[await sa.get().subtle.importKey("jwk",Gm(t,i),{name:"ECDH",namedCurve:t},!1,[]),o],c=await sa.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:a[0]},a[1],Hm[t]);return new Uint8Array(c,c.byteOffset,c.byteLength)},n=await sa.get().subtle.exportKey("jwk",e.publicKey);return{key:M8(n),genSharedKey:r}};var zm={"P-256":32,"P-384":48,"P-521":66};function M8(t){let e=zm[t.crv];return q8([Uint8Array.from([4]),$m(t.x,e),$m(t.y,e)],1+e*2)}function Gm(t,e){let r=zm[t];if(U8(!e.slice(0,1),Uint8Array.from([4])))throw L8(new Error("Cannot unmarshal public key - invalid key format"),"ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:Bf(e.slice(1,r+1),"base64url"),y:Bf(e.slice(1+r),"base64url"),ext:!0}}var F8=(t,e)=>({...Gm(t,e.public),d:Bf(e.private,"base64url")})});var Xm=w((iM,Qm)=>{"use strict";var K8=Ym();Qm.exports=async t=>K8.generateEphmeralKeyPair(t)});var Vc=w((sM,Jm)=>{"use strict";var tn=ac();Kn();Zl();var Pf=be(),oa=he(),{fromString:V8}=(It(),Nt),j8=wg(),vr={rsa:zg(),ed25519:am(),secp256k1:Nm()(tn,Tc())},Kc={message:"secp256k1 support requires libp2p-crypto-secp256k1 package",code:"ERR_MISSING_PACKAGE"};function Os(t){let e=vr[t.toLowerCase()];if(!e){let r=Object.keys(vr).join(" / ");throw oa(new Error(`invalid or unsupported key type ${t}. Must be ${r}`),"ERR_UNSUPPORTED_KEY_TYPE")}return e}var $8=async(t,e)=>Os(t).generateKeyPair(e),H8=async(t,e,r)=>{let n=Os(t);if(t.toLowerCase()!=="ed25519")throw oa(new Error("Seed key derivation is unimplemented for RSA or secp256k1"),"ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return n.generateKeyPairFromSeed(e,r)},z8=t=>{let e=tn.PublicKey.decode(t),r=e.Data;switch(e.Type){case tn.KeyType.RSA:return vr.rsa.unmarshalRsaPublicKey(r);case tn.KeyType.Ed25519:return vr.ed25519.unmarshalEd25519PublicKey(r);case tn.KeyType.Secp256k1:if(vr.secp256k1)return vr.secp256k1.unmarshalSecp256k1PublicKey(r);throw oa(new Error(Kc.message),Kc.code);default:Os(e.Type)}},G8=(t,e)=>(e=(e||"rsa").toLowerCase(),Os(e),t.bytes),Zm=async t=>{let e=tn.PrivateKey.decode(t),r=e.Data;switch(e.Type){case tn.KeyType.RSA:return vr.rsa.unmarshalRsaPrivateKey(r);case tn.KeyType.Ed25519:return vr.ed25519.unmarshalEd25519PrivateKey(r);case tn.KeyType.Secp256k1:if(vr.secp256k1)return vr.secp256k1.unmarshalSecp256k1PrivateKey(r);throw oa(new Error(Kc.message),Kc.code);default:Os(e.Type)}},W8=(t,e)=>(e=(e||"rsa").toLowerCase(),Os(e),t.bytes),Y8=async(t,e)=>{try{let i=await j8.import(t,e);return Zm(i)}catch(i){}let r=Pf.pki.decryptRsaPrivateKey(t,e);if(r===null)throw oa(new Error("Cannot read the key, most likely the password is wrong or not a RSA key"),"ERR_CANNOT_DECRYPT_PEM");let n=Pf.asn1.toDer(Pf.pki.privateKeyToAsn1(r));return n=V8(n.getBytes(),"ascii"),vr.rsa.unmarshalRsaPrivateKey(n)};Jm.exports={supportedKeys:vr,keysPBM:tn,keyStretcher:Km(),generateEphemeralKeyPair:Xm(),generateKeyPair:$8,generateKeyPairFromSeed:H8,unmarshalPublicKey:z8,marshalPublicKey:G8,unmarshalPrivateKey:Zm,marshalPrivateKey:W8,import:Y8}});var ev=w((oM,Nf)=>{"use strict";function Q8(t,{className:e,symbolName:r}){let n=Symbol.for(r),i={[e]:class extends t{constructor(...s){super(...s);Object.defineProperty(this,n,{value:!0})}get[Symbol.toStringTag](){return e}}}[e];return i[`is${e}`]=s=>!!(s&&s[n]),i}function X8(t,{className:e,symbolName:r,withoutNew:n}){let i=Symbol.for(r),s={[e]:function(...o){if(n&&!(this instanceof s))return new s(...o);let a=t.call(this,...o)||this;return a&&!a[i]&&Object.defineProperty(a,i,{value:!0}),a}}[e];return s.prototype=Object.create(t.prototype),s.prototype.constructor=s,Object.defineProperty(s.prototype,Symbol.toStringTag,{get(){return e}}),s[`is${e}`]=o=>!!(o&&o[i]),s}Nf.exports=Q8;Nf.exports.proto=X8});var nv=w((aM,rv)=>{"use strict";var Ds=pn(),tv=Ds.Reader,Z8=Ds.Writer,Et=Ds.util,aa=Ds.roots["libp2p-peer-id"]||(Ds.roots["libp2p-peer-id"]={});aa.PeerIdProto=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.id=Et.newBuffer([]),t.prototype.pubKey=Et.newBuffer([]),t.prototype.privKey=Et.newBuffer([]),t.encode=function(r,n){return n||(n=Z8.create()),n.uint32(10).bytes(r.id),r.pubKey!=null&&Object.hasOwnProperty.call(r,"pubKey")&&n.uint32(18).bytes(r.pubKey),r.privKey!=null&&Object.hasOwnProperty.call(r,"privKey")&&n.uint32(26).bytes(r.privKey),n},t.decode=function(r,n){r instanceof tv||(r=tv.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new aa.PeerIdProto;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.id=r.bytes();break;case 2:s.pubKey=r.bytes();break;case 3:s.privKey=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("id"))throw Et.ProtocolError("missing required 'id'",{instance:s});return s},t.fromObject=function(r){if(r instanceof aa.PeerIdProto)return r;var n=new aa.PeerIdProto;return r.id!=null&&(typeof r.id=="string"?Et.base64.decode(r.id,n.id=Et.newBuffer(Et.base64.length(r.id)),0):r.id.length&&(n.id=r.id)),r.pubKey!=null&&(typeof r.pubKey=="string"?Et.base64.decode(r.pubKey,n.pubKey=Et.newBuffer(Et.base64.length(r.pubKey)),0):r.pubKey.length&&(n.pubKey=r.pubKey)),r.privKey!=null&&(typeof r.privKey=="string"?Et.base64.decode(r.privKey,n.privKey=Et.newBuffer(Et.base64.length(r.privKey)),0):r.privKey.length&&(n.privKey=r.privKey)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(n.bytes===String?i.id="":(i.id=[],n.bytes!==Array&&(i.id=Et.newBuffer(i.id))),n.bytes===String?i.pubKey="":(i.pubKey=[],n.bytes!==Array&&(i.pubKey=Et.newBuffer(i.pubKey))),n.bytes===String?i.privKey="":(i.privKey=[],n.bytes!==Array&&(i.privKey=Et.newBuffer(i.privKey)))),r.id!=null&&r.hasOwnProperty("id")&&(i.id=n.bytes===String?Et.base64.encode(r.id,0,r.id.length):n.bytes===Array?Array.prototype.slice.call(r.id):r.id),r.pubKey!=null&&r.hasOwnProperty("pubKey")&&(i.pubKey=n.bytes===String?Et.base64.encode(r.pubKey,0,r.pubKey.length):n.bytes===Array?Array.prototype.slice.call(r.pubKey):r.pubKey),r.privKey!=null&&r.hasOwnProperty("privKey")&&(i.privKey=n.bytes===String?Et.base64.encode(r.privKey,0,r.privKey.length):n.bytes===Array?Array.prototype.slice.call(r.privKey):r.privKey),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Ds.util.toJSONOptions)},t}();rv.exports=aa});var Rt=w((kt,fv)=>{"use strict";var{CID:Of}=(vs(),Do),J8=(bi(),vi),eP=(yl(),ec),tP=(Ln(),Dn),rP=(Lo(),bs),{base58btc:Df}=(Ln(),Dn),{base32:nP}=(bi(),vi),{base16:iv}=(gl(),tc),ca=(mi(),No),rn=Vc(),iP=ev(),{PeerIdProto:sv}=nv(),{equals:Li}=(pr(),dr),{fromString:ua}=(It(),Nt),{toString:sP}=(Tt(),Ot),{identity:jc}=(Ac(),$o),ov={...J8,...eP,...tP,...rP},oP=Object.keys(ov).reduce((t,e)=>t.or(ov[e]),nP.decoder),aP=112,av=114,cv=class{constructor(e,r,n){if(!(e instanceof Uint8Array))throw new Error("invalid id provided");if(r&&n&&!Li(r.public.bytes,n.bytes))throw new Error("inconsistent arguments");this._id=e,this._idB58String=Df.encode(this.id).substring(1),this._privKey=r,this._pubKey=n}get id(){return this._id}set id(e){throw new Error("Id is immutable")}get privKey(){return this._privKey}set privKey(e){this._privKey=e}get pubKey(){if(this._pubKey)return this._pubKey;if(this._privKey)return this._privKey.public;try{let e=ca.decode(this.id);e.code===jc.code&&(this._pubKey=rn.unmarshalPublicKey(e.digest))}catch(e){}return this._pubKey}set pubKey(e){this._pubKey=e}marshalPubKey(){if(this.pubKey)return rn.marshalPublicKey(this.pubKey)}marshalPrivKey(){if(this.privKey)return rn.marshalPrivateKey(this.privKey)}marshal(e){return sv.encode({id:this.toBytes(),pubKey:this.marshalPubKey(),privKey:e?null:this.marshalPrivKey()}).finish()}toPrint(){let e=this.toB58String();e.startsWith("Qm")&&(e=e.slice(2));let r=6;return e.length<r&&(r=e.length),"<peer.ID "+e.substr(0,r)+">"}toJSON(){return{id:this.toB58String(),privKey:lv(this.marshalPrivKey()),pubKey:lv(this.marshalPubKey())}}toHexString(){return iv.encode(this.id).substring(1)}toBytes(){return this.id}toB58String(){return this._idB58String}toString(){if(!this._idCIDString){let e=Of.createV1(av,ca.decode(this.id));Object.defineProperty(this,"_idCIDString",{value:e.toString(),enumerable:!1})}return this._idCIDString}equals(e){if(e instanceof Uint8Array)return Li(this.id,e);if(e.id)return Li(this.id,e.id);throw new Error("not valid Id")}isEqual(e){return this.equals(e)}isValid(){return Boolean(this.privKey&&this.privKey.public&&this.privKey.public.bytes&&this.pubKey.bytes instanceof Uint8Array&&Li(this.privKey.public.bytes,this.pubKey.bytes))}hasInlinePublicKey(){try{if(ca.decode(this.id).code===jc.code)return!0}catch(e){}return!1}},nn=iP(cv,{className:"PeerId",symbolName:"@libp2p/js-peer-id/PeerId"});kt=fv.exports=nn;var la=t=>t.bytes.length<=42?ca.create(jc.code,t.bytes).bytes:t.hash(),Lf=async(t,e)=>{let r=await la(e);return new nn(r,t,e)};kt.create=async t=>{t=t||{},t.bits=t.bits||2048,t.keyType=t.keyType||"RSA";let e=await rn.generateKeyPair(t.keyType,t.bits);return Lf(e,e.public)};kt.createFromHexString=t=>new nn(iv.decode("f"+t));kt.createFromBytes=t=>{try{let e=Of.decode(t);if(!uv(e))throw new Error("Supplied PeerID CID is invalid");return kt.createFromCID(e)}catch{if(ca.decode(t).code!==jc.code)throw new Error("Supplied PeerID CID is invalid");return new nn(t)}};kt.createFromB58String=t=>kt.createFromBytes(Df.decode("z"+t));var uv=t=>t.code===av||t.code===aP;kt.createFromCID=t=>{if(t=Of.asCID(t),!t||!uv(t))throw new Error("Supplied PeerID CID is invalid");return new nn(t.multihash.bytes)};kt.createFromPubKey=async t=>{let e=t;if(typeof e=="string"&&(e=ua(t,"base64pad")),!(e instanceof Uint8Array))throw new Error("Supplied key is neither a base64 string nor a Uint8Array");let r=await rn.unmarshalPublicKey(e);return Lf(void 0,r)};kt.createFromPrivKey=async t=>{if(typeof t=="string"&&(t=ua(t,"base64pad")),!(t instanceof Uint8Array))throw new Error("Supplied key is neither a base64 string nor a Uint8Array");let e=await rn.unmarshalPrivateKey(t);return Lf(e,e.public)};kt.createFromJSON=async t=>{let e=Df.decode("z"+t.id),r=t.privKey&&ua(t.privKey,"base64pad"),n=t.pubKey&&ua(t.pubKey,"base64pad"),i=n&&await rn.unmarshalPublicKey(n);if(!r)return new nn(e,void 0,i);let s=await rn.unmarshalPrivateKey(r),o=await la(s.public),a;if(i&&(a=await la(i)),i&&!Li(o,a))throw new Error("Public and private key do not match");if(e&&!Li(o,e))throw new Error("Id and private key do not match");return new nn(e,s,i)};kt.createFromProtobuf=async t=>{typeof t=="string"&&(t=ua(t,"base16"));let{id:e,privKey:r,pubKey:n}=sv.decode(t);r=r?await rn.unmarshalPrivateKey(r):!1,n=n?await rn.unmarshalPublicKey(n):!1;let i,s;if(r&&(s=await la(r.public)),n&&(i=await la(n)),r){if(n&&!Li(s,i))throw new Error("Public and private key do not match");return new nn(s,r,r.public)}if(n)return new nn(i,void 0,n);if(e)return new nn(e);throw new Error("Protobuf did not contain any usable key material")};kt.parse=t=>((t.charAt(0)==="1"||t.charAt(0)==="Q")&&(t=`z${t}`),kt.createFromBytes(oP.decode(t)));kt.isPeerId=t=>Boolean(typeof t=="object"&&t._id&&t._idB58String);function lv(t){if(t)return sP(t,"base64pad")}});var qf=w((cM,dv)=>{"use strict";var hv="[a-fA-F\\d:]",ei=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${hv})|(?<=${hv})(?=\\s|$))`:"",Dr="(?: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}",mt="[a-fA-F\\d]{1,4}",$c=`
|
|
30
|
+
(?:
|
|
31
|
+
(?:${mt}:){7}(?:${mt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
32
|
+
(?:${mt}:){6}(?:${Dr}|:${mt}|:)| // 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
|
|
33
|
+
(?:${mt}:){5}(?::${Dr}|(?::${mt}){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
|
|
34
|
+
(?:${mt}:){4}(?:(?::${mt}){0,1}:${Dr}|(?::${mt}){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
|
|
35
|
+
(?:${mt}:){3}(?:(?::${mt}){0,2}:${Dr}|(?::${mt}){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
|
|
36
|
+
(?:${mt}:){2}(?:(?::${mt}){0,3}:${Dr}|(?::${mt}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
37
|
+
(?:${mt}:){1}(?:(?::${mt}){0,4}:${Dr}|(?::${mt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
38
|
+
(?::(?:(?::${mt}){0,5}:${Dr}|(?::${mt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
39
|
+
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
40
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),cP=new RegExp(`(?:^${Dr}$)|(?:^${$c}$)`),uP=new RegExp(`^${Dr}$`),lP=new RegExp(`^${$c}$`),kf=t=>t&&t.exact?cP:new RegExp(`(?:${ei(t)}${Dr}${ei(t)})|(?:${ei(t)}${$c}${ei(t)})`,"g");kf.v4=t=>t&&t.exact?uP:new RegExp(`${ei(t)}${Dr}${ei(t)}`,"g");kf.v6=t=>t&&t.exact?lP:new RegExp(`${ei(t)}${$c}${ei(t)}`,"g");dv.exports=kf});var Mf=w((uM,pv)=>{"use strict";var Uf=qf(),Ls=t=>Uf({exact:!0}).test(t);Ls.v4=t=>Uf.v4({exact:!0}).test(t);Ls.v6=t=>Uf.v6({exact:!0}).test(t);Ls.version=t=>Ls(t)?Ls.v4(t)?4:6:void 0;pv.exports=Ls});var bv=w((lM,vv)=>{"use strict";var Ff=Mf(),{toString:yv}=(Tt(),Ot),fP=Ff,Kf=Ff.v4,gv=Ff.v6,mv=function(t,e,r){r=~~r;let n;if(Kf(t))n=e||new Uint8Array(r+4),t.split(/\./g).map(function(i){n[r++]=parseInt(i,10)&255});else if(gv(t)){let i=t.split(":",8),s;for(s=0;s<i.length;s++){let o=Kf(i[s]),a;o&&(a=mv(i[s]),i[s]=yv(a.slice(0,2),"base16")),a&&++s<8&&i.splice(s,0,yv(a.slice(2,4),"base16"))}if(i[0]==="")for(;i.length<8;)i.unshift("0");else if(i[i.length-1]==="")for(;i.length<8;)i.push("0");else if(i.length<8){for(s=0;s<i.length&&i[s]!=="";s++);let o=[s,"1"];for(s=9-i.length;s>0;s--)o.push("0");i.splice.apply(i,o)}for(n=e||new Uint8Array(r+16),s=0;s<i.length;s++){let o=parseInt(i[s],16);n[r++]=o>>8&255,n[r++]=o&255}}if(!n)throw Error("Invalid ip address: "+t);return n},hP=function(t,e,r){e=~~e,r=r||t.length-e;let n=[],i,s=new DataView(t.buffer);if(r===4){for(let o=0;o<r;o++)n.push(t[e+o]);i=n.join(".")}else if(r===16){for(let o=0;o<r;o+=2)n.push(s.getUint16(e+o).toString(16));i=n.join(":"),i=i.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3"),i=i.replace(/:{3,4}/,"::")}return i};vv.exports={isIP:fP,isV4:Kf,isV6:gv,toBytes:mv,toString:hP}});var fa=w((fM,wv)=>{"use strict";function Jt(t){if(typeof t=="number"){if(Jt.codes[t])return Jt.codes[t];throw new Error("no protocol with code: "+t)}else if(typeof t=="string"){if(Jt.names[t])return Jt.names[t];throw new Error("no protocol with name: "+t)}throw new Error("invalid protocol id type: "+t)}var br=-1;Jt.lengthPrefixedVarSize=br;Jt.V=br;Jt.table=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,br,"ip6zone"],[53,br,"dns","resolvable"],[54,br,"dns4","resolvable"],[55,br,"dns6","resolvable"],[56,br,"dnsaddr","resolvable"],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,br,"unix",!1,"path"],[421,br,"ipfs"],[421,br,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,br,"garlic64"],[460,0,"quic"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,br,"memory"]];Jt.names={};Jt.codes={};Jt.table.map(t=>{let e=Ev.apply(null,t);return Jt.codes[e.code]=e,Jt.names[e.name]=e,null});Jt.object=Ev;function Ev(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:Boolean(n),path:Boolean(i)}}wv.exports=Jt});var Sv=w((hM,xv)=>{xv.exports=Vf;var _v=128,dP=127,pP=~dP,yP=Math.pow(2,31);function Vf(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Vf.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=yP;)e[r++]=t&255|_v,t/=128;for(;t&pP;)e[r++]=t&255|_v,t>>>=7;return e[r]=t|0,Vf.bytes=r-n+1,e}});var Iv=w((dM,Cv)=>{Cv.exports=jf;var gP=128,Av=127;function jf(t,e){var r=0,e=e||0,n=0,i=e,s,o=t.length;do{if(i>=o||n>49)throw jf.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=n<28?(s&Av)<<n:(s&Av)*Math.pow(2,n),n+=7}while(s>=gP);return jf.bytes=i-e,r}});var Rv=w((pM,Tv)=>{var mP=Math.pow(2,7),vP=Math.pow(2,14),bP=Math.pow(2,21),EP=Math.pow(2,28),wP=Math.pow(2,35),_P=Math.pow(2,42),xP=Math.pow(2,49),SP=Math.pow(2,56),AP=Math.pow(2,63);Tv.exports=function(t){return t<mP?1:t<vP?2:t<bP?3:t<EP?4:t<wP?5:t<_P?6:t<xP?7:t<SP?8:t<AP?9:10}});var ki=w((yM,Bv)=>{Bv.exports={encode:Sv(),decode:Iv(),encodingLength:Rv()}});var Uv=w((gM,qv)=>{"use strict";var Hc=bv(),Pv=fa(),{CID:CP}=(vs(),Do),{base32:Nv}=(bi(),vi),{base58btc:IP}=(Ln(),Dn),TP=(mi(),No),ks=ki(),{toString:zc}=(Tt(),Ot),{fromString:Ov}=(It(),Nt),{concat:Gc}=(Gn(),zn);qv.exports=ha;function ha(t,e){return e instanceof Uint8Array?ha.toString(t,e):ha.toBytes(t,e)}ha.toString=function(e,r){switch(Pv(e).code){case 4:case 41:return RP(r);case 6:case 273:case 33:case 132:return Lv(r).toString();case 53:case 54:case 55:case 56:case 400:case 777:return PP(r);case 421:return OP(r);case 444:return kv(r);case 445:return kv(r);default:return zc(r,"base16")}};ha.toBytes=function(e,r){switch(Pv(e).code){case 4:return Dv(r);case 41:return Dv(r);case 6:case 273:case 33:case 132:return $f(parseInt(r,10));case 53:case 54:case 55:case 56:case 400:case 777:return BP(r);case 421:return NP(r);case 444:return DP(r);case 445:return LP(r);default:return Ov(r,"base16")}};function Dv(t){if(!Hc.isIP(t))throw new Error("invalid ip address");return Hc.toBytes(t)}function RP(t){let e=Hc.toString(t);if(!e||!Hc.isIP(e))throw new Error("invalid ip address");return e}function $f(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Lv(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function BP(t){let e=Ov(t),r=Uint8Array.from(ks.encode(e.length));return Gc([r,e],r.length+e.length)}function PP(t){let e=ks.decode(t);if(t=t.slice(ks.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return zc(t)}function NP(t){let e;t[0]==="Q"||t[0]==="1"?e=TP.decode(IP.decode(`z${t}`)).bytes:e=CP.parse(t).multihash.bytes;let r=Uint8Array.from(ks.encode(e.length));return Gc([r,e],r.length+e.length)}function OP(t){let e=ks.decode(t),r=t.slice(ks.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return zc(r,"base58btc")}function DP(t){let e=t.split(":");if(e.length!==2)throw new Error("failed to parse onion addr: "+e+" 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=Nv.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=$f(n);return Gc([r,i],r.length+i.length)}function LP(t){let e=t.split(":");if(e.length!==2)throw new Error("failed to parse onion addr: "+e+" 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=Nv.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=$f(n);return Gc([r,i],r.length+i.length)}function kv(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=zc(e,"base32"),i=Lv(r);return n+":"+i}});var Qv=w((mM,Yv)=>{"use strict";var Mv=Uv(),Hf=fa(),da=ki(),{concat:Fv}=(Gn(),zn),{toString:kP}=(Tt(),Ot);Yv.exports={stringToStringTuples:Kv,stringTuplesToString:Vv,tuplesToStringTuples:$v,stringTuplesToTuples:jv,bytesToTuples:zf,tuplesToBytes:Hv,bytesToString:qP,stringToBytes:Gv,fromString:UP,fromBytes:Wv,validateBytes:Gf,isValidBytes:MP,cleanPath:Wc,ParseError:Wf,protoFromTuple:pa,sizeForAddr:zv};function Kv(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=Hf(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Wf("invalid address: "+t);if(s.path){e.push([i,Wc(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function Vv(t){let e=[];return t.map(r=>{let n=pa(r);return e.push(n.name),r.length>1&&e.push(r[1]),null}),Wc(e.join("/"))}function jv(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=pa(e);return e.length>1?[r.code,Mv.toBytes(r.code,e[1])]:[r.code]})}function $v(t){return t.map(e=>{let r=pa(e);return e[1]?[r.code,Mv.toString(r.code,e[1])]:[r.code]})}function Hv(t){return Wv(Fv(t.map(e=>{let r=pa(e),n=Uint8Array.from(da.encode(r.code));return e.length>1&&(n=Fv([n,e[1]])),n})))}function zv(t,e){return t.size>0?t.size/8:t.size===0?0:da.decode(e)+da.decode.bytes}function zf(t){let e=[],r=0;for(;r<t.length;){let n=da.decode(t,r),i=da.decode.bytes,s=Hf(n),o=zv(s,t.slice(r+i));if(o===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+o);if(r+=o+i,r>t.length)throw Wf("Invalid address Uint8Array: "+kP(t,"base16"));e.push([n,a])}return e}function qP(t){let e=zf(t),r=$v(e);return Vv(r)}function Gv(t){t=Wc(t);let e=Kv(t),r=jv(e);return Hv(r)}function UP(t){return Gv(t)}function Wv(t){let e=Gf(t);if(e)throw e;return Uint8Array.from(t)}function Gf(t){try{zf(t)}catch(e){return e}}function MP(t){return Gf(t)===void 0}function Wc(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Wf(t){return new Error("Error parsing address: "+t)}function pa(t){return Hf(t[0])}});var qt=w((vM,Jv)=>{"use strict";var Lr=Qv(),qs=fa(),Xv=ki(),{CID:FP}=(vs(),Do),{base58btc:KP}=(Ln(),Dn),VP=he(),jP=Symbol.for("nodejs.util.inspect.custom"),{toString:Yc}=(Tt(),Ot),{equals:$P}=(pr(),dr),Yf=new Map,Zv=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ht=class{constructor(e){if(e==null&&(e=""),Object.defineProperty(this,Zv,{value:!0}),e instanceof Uint8Array)this.bytes=Lr.fromBytes(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Lr.fromString(e)}else if(Ht.isMultiaddr(e))this.bytes=Lr.fromBytes(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Lr.bytesToString(this.bytes)}toJSON(){return this.toString()}toOptions(){let e={},r=this.toString().split("/");return e.family=r[1]==="ip4"?4:6,e.host=r[2],e.transport=r[3],e.port=parseInt(r[4]),e}protos(){return this.protoCodes().map(e=>Object.assign({},qs(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=Xv.decode(r,n),s=Xv.decode.bytes,o=qs(i);n+=Lr.sizeForAddr(o,r.slice(n+s))+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Lr.bytesToTuples(this.bytes)}stringTuples(){let e=Lr.bytesToTuples(this.bytes);return Lr.tuplesToStringTuples(e)}encapsulate(e){return e=new Ht(e),new Ht(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+" does not contain subaddress: "+e);return new Ht(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 Ht(Lr.tuplesToBytes(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===qs.names.ipfs.code).pop();if(r&&r[1]){let n=r[1];return n[0]==="Q"||n[0]==="1"?Yc(KP.decode(`z${n}`),"base58btc"):Yc(FP.parse(n).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){let e=null;try{e=this.stringTuples().filter(r=>!!qs(r[0]).path)[0][1],e||(e=null)}catch(r){e=null}return e}equals(e){return $P(this.bytes,e.bytes)}async resolve(){let e=this.protos().find(i=>i.resolvable);if(!e)return[this];let r=Yf.get(e.name);if(!r)throw VP(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this)).map(i=>new Ht(i))}nodeAddress(){let e=this.protoCodes(),r=this.protoNames(),n=this.toString().split("/").slice(1);if(n.length<4)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6}/{address}/{tcp, udp}/{port}".');if(e[0]!==4&&e[0]!==41&&e[0]!==54&&e[0]!==55)throw new Error(`no protocol with name: "'${r[0]}'". Must have a valid family name: "{ip4, ip6, dns4, dns6}".`);if(n[2]!=="tcp"&&n[2]!=="udp")throw new Error(`no protocol with name: "'${r[1]}'". Must have a valid transport protocol: "{tcp, udp}".`);return{family:e[0]===41||e[0]===55?6:4,address:n[1],port:parseInt(n[3])}}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)}static fromNodeAddress(e,r){if(!e)throw new Error("requires node address object");if(!r)throw new Error("requires transport protocol");let n;switch(e.family){case 4:n="ip4";break;case 6:n="ip6";break;default:throw Error(`Invalid addr family. Got '${e.family}' instead of 4 or 6`)}return new Ht("/"+[n,e.address,r,e.port].join("/"))}static isName(e){return Ht.isMultiaddr(e)?e.protos().some(r=>r.resolvable):!1}static isMultiaddr(e){return e instanceof Ht||Boolean(e&&e[Zv])}[jP](){return"<Multiaddr "+Yc(this.bytes,"base16")+" - "+Lr.bytesToString(this.bytes)+">"}inspect(){return"<Multiaddr "+Yc(this.bytes,"base16")+" - "+Lr.bytesToString(this.bytes)+">"}};Ht.protocols=qs;Ht.resolvers=Yf;function HP(t){return new Ht(t)}Jv.exports={Multiaddr:Ht,multiaddr:HP,protocols:qs,resolvers:Yf}});var ya=w((bM,e1)=>{"use strict";var zP=async t=>{let e=[];for await(let r of t)e.push(r);return e};e1.exports=zP});var t1,Qf,r1=xe(()=>{t1=Ro(ya()),Qf=(t,e)=>async function*(){yield*(await(0,t1.default)(t)).sort(e)}()});var ga=w((wM,n1)=>{"use strict";var GP=async t=>{for await(let e of t);};n1.exports=GP});var ma=w((_M,i1)=>{"use strict";var WP=async function*(t,e){for await(let r of t)await e(r)&&(yield r)};i1.exports=WP});var Xf=w((xM,s1)=>{"use strict";var YP=async function*(t,e){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}};s1.exports=YP});var Zf,qi,Jf,eh,o1=xe(()=>{r1();Zf=Ro(ga()),qi=Ro(ma()),Jf=Ro(Xf()),eh=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}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{key:n,value:i}}async*getMany(e,r={}){for await(let n of e)yield 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(0,Zf.default)(this.putMany(e,n)),e=[],await(0,Zf.default)(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&&(n=(0,qi.default)(n,i=>i.key.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>(0,qi.default)(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Qf(i,s),n)),e.offset!=null){let i=0;n=(0,qi.default)(n,()=>i++>=e.offset)}return e.limit!=null&&(n=(0,Jf.default)(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null&&(n=(0,qi.default)(n,i=>i.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>(0,qi.default)(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Qf(i,s),n)),e.offset!=null){let i=0;n=(0,qi.default)(n,()=>i++>=e.offset)}return e.limit!=null&&(n=(0,Jf.default)(n,e.limit)),n}}});var a1,c1=xe(()=>{a1="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"});var rh={};gt(rh,{customAlphabet:()=>QP,customRandom:()=>l1,nanoid:()=>th,random:()=>u1,urlAlphabet:()=>a1});var u1,l1,QP,th,Qc=xe(()=>{c1();u1=t=>crypto.getRandomValues(new Uint8Array(t)),l1=(t,e,r)=>{let n=(2<<Math.log(t.length-1)/Math.LN2)-1,i=-~(1.6*n*e/t.length);return()=>{let s="";for(;;){let o=r(i),a=i;for(;a--;)if(s+=t[o[a]&n]||"",s.length===e)return s}}},QP=(t,e)=>l1(t,e,u1),th=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));for(;t--;){let n=r[t]&63;n<36?e+=n.toString(36):n<62?e+=(n-26).toString(36).toUpperCase():n<63?e+="_":e+="-"}return e}});var nh={};gt(nh,{Key:()=>Bt});function XP(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function ZP(t){let e=t.split(":");return e[e.length-1]}function JP(t){return[].concat(...t)}var xn,f1,Xc,Bt,Zc=xe(()=>{Qc();Tt();It();xn="/",f1=new TextEncoder().encode(xn),Xc=f1[0],Bt=class{constructor(e,r){if(typeof e=="string")this._buf=uf(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]!==Xc)throw new Error("Invalid key")}toString(e="utf8"){return ff(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Bt(e.join(xn))}static random(){return new Bt(th().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Bt(e):e.uint8Array?new Bt(e.uint8Array()):null}clean(){if((!this._buf||this._buf.byteLength===0)&&(this._buf=f1),this._buf[0]!==Xc){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Xc,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Xc;)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 Bt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(xn).slice(1)}type(){return XP(this.baseNamespace())}name(){return ZP(this.baseNamespace())}instance(e){return new Bt(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(xn)||(e+=xn),e+=this.type(),new Bt(e)}parent(){let e=this.list();return e.length===1?new Bt(xn):new Bt(e.slice(0,-1).join(xn))}child(e){return this.toString()===xn?e:e.toString()===xn?this:new Bt(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 Bt.withNamespaces([...this.namespaces(),...JP(e.map(r=>r.namespaces()))])}}});function d1(t){return t=t||new Error("Not Found"),(0,h1.default)(t,"ERR_NOT_FOUND")}var h1,p1=xe(()=>{h1=Ro(he())});var g1={};gt(g1,{MemoryDatastore:()=>y1});var y1,m1=xe(()=>{o1();Zc();p1();y1=class extends eh{constructor(){super();this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,r){this.data[e.toString()]=r}async get(e){if(!await this.has(e))throw d1();return this.data[e.toString()]}async has(e){return this.data[e.toString()]!==void 0}async delete(e){delete this.data[e.toString()]}async*_all(){yield*Object.entries(this.data).map(([e,r])=>({key:new Bt(e),value:r}))}async*_allKeys(){yield*Object.entries(this.data).map(([e])=>new Bt(e))}}});var je=w(ih=>{"use strict";ih.messages={NOT_STARTED_YET:"The libp2p node is not started yet",DHT_DISABLED:"DHT is not available",CONN_ENCRYPTION_REQUIRED:"At least one connection encryption module is required",NOT_FOUND:"Not found"};ih.codes={DHT_DISABLED:"ERR_DHT_DISABLED",PUBSUB_NOT_STARTED:"ERR_PUBSUB_NOT_STARTED",DHT_NOT_STARTED:"ERR_DHT_NOT_STARTED",CONN_ENCRYPTION_REQUIRED:"ERR_CONN_ENCRYPTION_REQUIRED",ERR_INVALID_PROTOCOLS_FOR_STREAM:"ERR_INVALID_PROTOCOLS_FOR_STREAM",ERR_CONNECTION_ENDED:"ERR_CONNECTION_ENDED",ERR_CONNECTION_FAILED:"ERR_CONNECTION_FAILED",ERR_NODE_NOT_STARTED:"ERR_NODE_NOT_STARTED",ERR_ALREADY_ABORTED:"ERR_ALREADY_ABORTED",ERR_TOO_MANY_ADDRESSES:"ERR_TOO_MANY_ADDRESSES",ERR_NO_VALID_ADDRESSES:"ERR_NO_VALID_ADDRESSES",ERR_RELAYED_DIAL:"ERR_RELAYED_DIAL",ERR_DIALED_SELF:"ERR_DIALED_SELF",ERR_DISCOVERED_SELF:"ERR_DISCOVERED_SELF",ERR_DUPLICATE_TRANSPORT:"ERR_DUPLICATE_TRANSPORT",ERR_ENCRYPTION_FAILED:"ERR_ENCRYPTION_FAILED",ERR_HOP_REQUEST_FAILED:"ERR_HOP_REQUEST_FAILED",ERR_INVALID_KEY:"ERR_INVALID_KEY",ERR_INVALID_MESSAGE:"ERR_INVALID_MESSAGE",ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_INVALID_PEER:"ERR_INVALID_PEER",ERR_MUXER_UNAVAILABLE:"ERR_MUXER_UNAVAILABLE",ERR_NOT_FOUND:"ERR_NOT_FOUND",ERR_TIMEOUT:"ERR_TIMEOUT",ERR_TRANSPORT_UNAVAILABLE:"ERR_TRANSPORT_UNAVAILABLE",ERR_TRANSPORT_DIAL_FAILED:"ERR_TRANSPORT_DIAL_FAILED",ERR_UNSUPPORTED_PROTOCOL:"ERR_UNSUPPORTED_PROTOCOL",ERR_INVALID_MULTIADDR:"ERR_INVALID_MULTIADDR",ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID",ERR_FIND_SELF:"ERR_FIND_SELF",ERR_NO_ROUTERS_AVAILABLE:"ERR_NO_ROUTERS_AVAILABLE",ERR_CONNECTION_NOT_MULTIPLEXED:"ERR_CONNECTION_NOT_MULTIPLEXED",ERR_NO_DIAL_TOKENS:"ERR_NO_DIAL_TOKENS",ERR_KEYCHAIN_REQUIRED:"ERR_KEYCHAIN_REQUIRED",ERR_INVALID_CMS:"ERR_INVALID_CMS",ERR_MISSING_KEYS:"ERR_MISSING_KEYS",ERR_NO_KEY:"ERR_NO_KEY",ERR_INVALID_KEY_NAME:"ERR_INVALID_KEY_NAME",ERR_INVALID_KEY_TYPE:"ERR_INVALID_KEY_TYPE",ERR_KEY_ALREADY_EXISTS:"ERR_KEY_ALREADY_EXISTS",ERR_INVALID_KEY_SIZE:"ERR_INVALID_KEY_SIZE",ERR_KEY_NOT_FOUND:"ERR_KEY_NOT_FOUND",ERR_OLD_KEY_NAME_INVALID:"ERR_OLD_KEY_NAME_INVALID",ERR_NEW_KEY_NAME_INVALID:"ERR_NEW_KEY_NAME_INVALID",ERR_PASSWORD_REQUIRED:"ERR_PASSWORD_REQUIRED",ERR_PEM_REQUIRED:"ERR_PEM_REQUIRED",ERR_CANNOT_READ_KEY:"ERR_CANNOT_READ_KEY",ERR_MISSING_PRIVATE_KEY:"ERR_MISSING_PRIVATE_KEY",ERR_INVALID_OLD_PASS_TYPE:"ERR_INVALID_OLD_PASS_TYPE",ERR_INVALID_NEW_PASS_TYPE:"ERR_INVALID_NEW_PASS_TYPE",ERR_INVALID_PASS_LENGTH:"ERR_INVALID_PASS_LENGTH",ERR_NOT_IMPLEMENTED:"ERR_NOT_IMPLEMENTED",ERR_WRONG_PING_ACK:"ERR_WRONG_PING_ACK"}});var b1=w((kM,v1)=>{"use strict";var eN=async function*(t,e){for await(let r of t)yield e(r)};v1.exports=eN});var sh=w((qM,E1)=>{"use strict";var tN=he(),rN=ma(),nN=b1(),iN=Xf();async function*sN(t,e){yield*nN(t,async r=>(await e.addressBook.add(r.id,r.multiaddrs),r))}function oN(t){let e=new Set;return rN(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*aN(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw tN(new Error("not found"),"NOT_FOUND")}function cN(t,e){return e?iN(t,e):t}E1.exports={storeAddresses:sN,uniquePeers:oN,requirePeers:aN,maybeLimitSource:cN}});var _1=w((UM,w1)=>{"use strict";w1.exports=function(){return Date.now()}});var va=w((MM,S1)=>{"use strict";var Jc=_1(),x1=class{constructor(e,r,n){let i=this;this._started=Jc(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Jc()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(e){e||(e=this._scheduled);let r=Jc();r+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=r,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=Jc(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}};function uN(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let t;if(arguments.length>0){t=new Array(arguments.length-2);for(var e=0;e<t.length;e++)t[e]=arguments[e+2]}return new x1(arguments[0],arguments[1],t)}S1.exports=uN});var oh=w((FM,C1)=>{"use strict";var{AbortController:lN}=globalThis,A1=va(),eu=class extends lN{constructor(e){super();this._ms=e,this._timer=A1(()=>this.abort(),e),Object.setPrototypeOf(this,eu.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=A1(()=>this.abort(),this._ms)}};C1.exports={TimeoutController:eu}});var T1=w((VM,I1)=>{I1.exports=class{constructor(e){if(!(e>0)||(e-1&e)!=0)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}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var ah=w(($M,B1)=>{var R1=T1();B1.exports=class{constructor(e){this.hwm=e||16,this.head=new R1(this.hwm),this.tail=this.head}push(e){if(!this.head.push(e)){let r=this.head;this.head=r.next=new R1(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next){let r=this.tail.next;return this.tail.next=null,this.tail=r,this.tail.shift()}return e}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var uh=w((HM,P1)=>{var ch=ah();P1.exports=t=>{t=t||{};let e;typeof t=="function"?(e=t,t={}):e=t.onEnd;let r=new ch,n,i,s,o=()=>{if(!r.isEmpty()){if(t.writev){let g,m=[];for(;!r.isEmpty();){if(g=r.shift(),g.error)throw g.error;m.push(g.value)}return{done:g.done,value:m}}let d=r.shift();if(d.error)throw d.error;return d}return s?{done:!0}:new Promise((d,g)=>{i=m=>(i=null,m.error?g(m.error):t.writev&&!m.done?d({done:m.done,value:[m.value]}):d(m),n)})},a=d=>i?i(d):(r.push(d),n),c=d=>(r=new ch,i?i({error:d}):(r.push({error:d}),n)),u=d=>s?n:a({done:!1,value:d}),l=d=>s?n:(s=!0,d?c(d):a({done:!0})),f=()=>(r=new ch,l(),{done:!0}),h=d=>(l(d),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:o,return:f,throw:h,push:u,end:l},!e)return n;let p=n;return n={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(d){return p.throw(d),e&&(e(d),e=null),{done:!0}},return(){return p.return(),e&&(e(),e=null),{done:!0}},push:u,end(d){return p.end(d),e&&(e(d),e=null),n}},n}});var lh=w((zM,N1)=>{"use strict";var fN=uh(),hN=async function*(...t){let e=fN();setTimeout(async()=>{try{await Promise.all(t.map(async r=>{for await(let n of r)e.push(n)})),e.end()}catch(r){e.end(r)}},0),yield*e};N1.exports=hN});var kr=w((GM,Us)=>{var O1=(...t)=>{let e;for(;t.length;)e=t.shift()(e);return e},fh=t=>t&&(typeof t[Symbol.asyncIterator]=="function"||typeof t[Symbol.iterator]=="function"||typeof t.next=="function"),tu=t=>t&&typeof t.sink=="function"&&fh(t.source),dN=t=>e=>(t.sink(e),t.source),D1=(...t)=>{if(tu(t[0])){let e=t[0];t[0]=()=>e.source}else if(fh(t[0])){let e=t[0];t[0]=()=>e}if(t.length>1&&tu(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let e=1;e<t.length-1;e++)tu(t[e])&&(t[e]=dN(t[e]));return O1(...t)};Us.exports=D1;Us.exports.pipe=D1;Us.exports.rawPipe=O1;Us.exports.isIterable=fh;Us.exports.isDuplex=tu});var hh=w((WM,L1)=>{"use strict";var pN=async t=>{for await(let e of t)return e};L1.exports=pN});var dh=w((YM,k1)=>{"use strict";var Ms=new Map,yN=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function gN(t,e,r){for(;Ms.get(r);){try{await t()}catch(n){setTimeout(()=>{throw n},1);break}if(!Ms.get(r))break;await new Promise(n=>{let i=setTimeout(n,e);Ms.set(r,i)})}}function mN(t,e,r){r=r||e;let n=yN(),i=setTimeout(()=>{gN(t,e,n)},r);return Ms.set(n,i),n}function vN(t){let e=Ms.get(t);e&&(clearTimeout(e),Ms.delete(t))}k1.exports={setDelayedInterval:mN,clearDelayedInterval:vN}});var M1=w((QM,U1)=>{"use strict";var bN=he(),{messages:EN,codes:wN}=je(),q1=class{constructor(e){this._dht=e}async findPeer(e,r={}){for await(let n of this._dht.findPeer(e,r))if(n.name==="FINAL_PEER")return n.peer;throw bN(new Error(EN.NOT_FOUND),wN.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){for await(let n of this._dht.getClosestPeers(e,r))n.name==="PEER_RESPONSE"&&(yield*n.closer)}};U1.exports={DHTPeerRouting:q1}});var W1=w((XM,G1)=>{"use strict";var F1=Te(),K1=Object.assign(F1("libp2p:peer-routing"),{error:F1("libp2p:peer-routing:err")}),ru=he(),ba=je(),{storeAddresses:V1,uniquePeers:_N,requirePeers:xN}=sh(),{TimeoutController:SN}=oh(),j1=lh(),{pipe:$1}=kr(),AN=hh(),CN=ga(),IN=ma(),{setDelayedInterval:TN,clearDelayedInterval:RN}=dh(),{DHTPeerRouting:BN}=M1(),{setMaxListeners:H1}=Qt(),z1=class{constructor(e){this._peerId=e.peerId,this._peerStore=e.peerStore,this._routers=e._modules.peerRouting||[],e._dht&&e._config.dht.enabled&&this._routers.push(new BN(e._dht)),this._refreshManagerOptions=e._options.peerRouting.refreshManager,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}start(){!this._routers.length||this._timeoutId||!this._refreshManagerOptions.enabled||(this._timeoutId=TN(this._findClosestPeersTask,this._refreshManagerOptions.interval,this._refreshManagerOptions.bootDelay))}async _findClosestPeersTask(){try{await CN(this.getClosestPeers(this._peerId.id,{timeout:this._refreshManagerOptions.timeout||1e4}))}catch(e){K1.error(e)}}stop(){RN(this._timeoutId)}async findPeer(e,r){if(!this._routers.length)throw ru(new Error("No peer routers available"),ba.codes.ERR_NO_ROUTERS_AVAILABLE);if(e.toB58String()===this._peerId.toB58String())throw ru(new Error("Should not try to find self"),ba.codes.ERR_FIND_SELF);let n=await $1(j1(...this._routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){K1.error(s)}}())),i=>IN(i,Boolean),i=>V1(i,this._peerStore),i=>AN(i));if(n)return n;throw ru(new Error(ba.messages.NOT_FOUND),ba.codes.ERR_NOT_FOUND)}async*getClosestPeers(e,r={timeout:3e4}){if(!this._routers.length)throw ru(new Error("No peer routers available"),ba.codes.ERR_NO_ROUTERS_AVAILABLE);if(r.timeout){let n=new SN(r.timeout);try{H1&&H1(1/0,n.signal)}catch{}r.signal=n.signal}yield*$1(j1(...this._routers.map(n=>n.getClosestPeers(e,r))),n=>V1(n,this._peerStore),n=>_N(n),n=>xN(n))}};G1.exports=z1});var X1=w((ZM,Q1)=>{"use strict";var PN=ga(),Y1=class{constructor(e){this._dht=e}async provide(e){await PN(this._dht.provide(e))}async*findProviders(e,r){for await(let n of this._dht.findProviders(e,r))n.name==="PROVIDER"&&(yield*n.providers)}};Q1.exports={DHTContentRouting:Y1}});var eb=w((JM,J1)=>{"use strict";var Ui=he(),{messages:Ea,codes:Mi}=je(),{storeAddresses:NN,uniquePeers:ON,requirePeers:DN,maybeLimitSource:LN}=sh(),kN=ga(),qN=lh(),{pipe:UN}=kr(),{DHTContentRouting:MN}=X1(),Z1=class{constructor(e){this.libp2p=e,this.routers=e._modules.contentRouting||[],this.dht=e._dht,this.dht&&e._config.dht.enabled&&this.routers.push(new MN(this.dht))}async*findProviders(e,r={}){if(!this.routers.length)throw Ui(new Error("No content this.routers available"),Mi.ERR_NO_ROUTERS_AVAILABLE);yield*UN(qN(...this.routers.map(n=>n.findProviders(e,r))),n=>NN(n,this.libp2p.peerStore),n=>ON(n),n=>LN(n,r.maxNumProviders),n=>DN(n))}async provide(e){if(!this.routers.length)throw Ui(new Error("No content routers available"),Mi.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(r=>r.provide(e)))}async put(e,r,n){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Ui(new Error(Ea.NOT_STARTED_YET),Mi.DHT_NOT_STARTED);await kN(this.dht.put(e,r,n))}async get(e,r){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Ui(new Error(Ea.NOT_STARTED_YET),Mi.DHT_NOT_STARTED);for await(let n of this.dht.get(e,r))if(n.name==="VALUE")return{from:n.peerId,val:n.value};throw Ui(new Error(Ea.NOT_FOUND),Mi.ERR_NOT_FOUND)}async*getMany(e,r,n){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Ui(new Error(Ea.NOT_STARTED_YET),Mi.DHT_NOT_STARTED);if(!r)return;let i=0;for await(let s of this.dht.get(e,n))if(s.name==="VALUE"&&(yield{from:s.peerId,val:s.value},i++,i===r))break;if(i===0)throw Ui(new Error(Ea.NOT_FOUND),Mi.ERR_NOT_FOUND)}};J1.exports=Z1});var ph=w((eF,ib)=>{"use strict";var FN=Rt(),{Multiaddr:tb}=qt(),rb=he(),{codes:nb}=je();function KN(t){typeof t=="string"&&(t=new tb(t));let e;if(tb.isMultiaddr(t)){e=t;let r=t.getPeerId();if(!r)throw rb(new Error(`${t} does not have a valid peer type`),nb.ERR_INVALID_MULTIADDR);try{t=FN.createFromB58String(r)}catch(n){throw rb(new Error(`${t} is not a valid peer type`),nb.ERR_INVALID_MULTIADDR)}}return{id:t,multiaddrs:e?[e]:void 0}}ib.exports=KN});var ob=w((tF,sb)=>{"use strict";sb.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Vs=w((lb,fb)=>{"use strict";var nu=ob(),{hasOwnProperty:ab}=Object.prototype,{propertyIsEnumerable:VN}=Object,Fs=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),jN=lb,cb={concatArrays:!1,ignoreUndefined:!1},iu=t=>{let e=[];for(let r in t)ab.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)VN.call(t,n)&&e.push(n)}return e};function Ks(t){return Array.isArray(t)?$N(t):nu(t)?HN(t):t}function $N(t){let e=t.slice(0,0);return iu(t).forEach(r=>{Fs(e,r,Ks(t[r]))}),e}function HN(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return iu(t).forEach(r=>{Fs(e,r,Ks(t[r]))}),e}var ub=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]=="undefined"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Fs(t,i,yh(t[i],e[i],n)):Fs(t,i,Ks(e[i])))}),t),zN=(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++)!ab.call(s,a)||(o.push(String(a)),s===t?Fs(n,i++,s[a]):Fs(n,i++,Ks(s[a])));n=ub(n,s,iu(s).filter(a=>!o.includes(a)),r)}),n};function yh(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?zN(t,e,r):!nu(e)||!nu(t)?Ks(e):ub(t,e,iu(e),r)}fb.exports=function(...t){let e=yh(Ks(cb),this!==jN&&this||{},cb),r={_:{}};for(let n of t)if(n!==void 0){if(!nu(n))throw new TypeError("`"+n+"` is not an Option Object");r=yh(r,{_:n},e)}return r._}});var pb=w((rF,db)=>{"use strict";db.exports=hb;var GN=ll(),ti=hb.prototype,WN=new Date%1e9;function YN(){return(Math.random()*1e9>>>0)+WN++}function hb(t){t=t||{},this.id=t.id||YN(),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)}ti.has=function(t){return t in this._lookup};ti.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};ti.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};ti.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};ti.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};ti.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=GN(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};ti.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};ti.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 wa=w((js,yb)=>{"use strict";var QN=function(){if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof Sn!="undefined")return Sn;throw new Error("unable to locate global object")},Sn=QN();yb.exports=js=Sn.fetch;Sn.fetch&&(js.default=Sn.fetch.bind(Sn));js.Headers=Sn.Headers;js.Request=Sn.Request;js.Response=Sn.Response});var gb=w((nF,gh)=>{"use strict";globalThis.fetch&&globalThis.Headers&&globalThis.Request&&globalThis.Response?gh.exports={default:globalThis.fetch,Headers:globalThis.Headers,Request:globalThis.Request,Response:globalThis.Response}:gh.exports={default:wa().default,Headers:wa().Headers,Request:wa().Request,Response:wa().Response}});var vb=w((iF,mb)=>{"use strict";var{default:XN,Headers:ZN}=gb();function JN({serverResolver:t,hostname:e,recordType:r}){return`${t}?name=${e}&type=${r}`}function e3(t){return XN(t,{headers:new ZN({accept:"application/dns-json"})})}function t3(t,e){return`${e}_${t}`}mb.exports={buildResource:JN,fetch:e3,getCacheKey:t3}});var wb=w((sF,Eb)=>{"use strict";var bb=Te(),su=bb("dns-over-http-resolver");su.error=bb("dns-over-http-resolver:error");var r3=pb(),Er=vb(),ou=class{constructor({maxCache:e=100}={}){this._cache=new r3({max:e}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"]}getServers(){return this._servers}_getShuffledServers(){let e=[].concat(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}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(Er.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Er.fetch(Er.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>u.data),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Er.getCacheKey(e,r),a,{ttl:c}),a}catch(s){su.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(Er.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Er.fetch(Er.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>u.data),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Er.getCacheKey(e,r),a,{ttl:c}),a}catch(s){su.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._cache.get(Er.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Er.fetch(Er.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Er.getCacheKey(e,r),a,{ttl:c}),a}catch(s){su.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}};ou.Resolver=ou;Eb.exports=ou});var xb=w((oF,_b)=>{"use strict";var n3=wb();_b.exports=n3});var Ab=w((aF,Sb)=>{"use strict";var i3=fa(),{code:s3}=i3("dnsaddr");async function o3(t){let e=xb(),r=new e,n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===s3)||[],o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]);return n&&(o=o.filter(a=>a.includes(n))),o}Sb.exports={dnsaddrResolver:o3}});var au=w((cF,Cb)=>{"use strict";Cb.exports={DIAL_TIMEOUT:3e4,MAX_PARALLEL_DIALS:100,MAX_PER_PEER_DIALS:4,MAX_ADDRS_TO_DIAL:25,METRICS:{computeThrottleMaxQueueSize:1e3,computeThrottleTimeout:2e3,movingAverageIntervals:[60*1e3,5*60*1e3,15*60*1e3],maxOldPeersRetention:50}}});var mh=w((uF,a3)=>{a3.exports={name:"libp2p",version:"0.35.8-9b22c6e",description:"JavaScript implementation of libp2p, a modular peer to peer network stack",leadMaintainer:"Jacob Heun <jacobheun@gmail.com>",main:"src/index.js",types:"dist/src/index.d.ts",typesVersions:{"*":{"src/*":["dist/src/*","dist/src/*/index"]}},files:["dist","src"],scripts:{lint:"aegir lint",build:"aegir build","build:proto":"npm run build:proto:circuit && npm run build:proto:fetch && npm run build:proto:identify && npm run build:proto:plaintext && npm run build:proto:address-book && npm run build:proto:proto-book && npm run build:proto:peer && npm run build:proto:peer-record && npm run build:proto:envelope","build:proto:circuit":"pbjs -t static-module -w commonjs -r libp2p-circuit --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/circuit/protocol/index.js ./src/circuit/protocol/index.proto","build:proto:fetch":"pbjs -t static-module -w commonjs -r libp2p-fetch --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/fetch/proto.js ./src/fetch/proto.proto","build:proto:identify":"pbjs -t static-module -w commonjs -r libp2p-identify --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/identify/message.js ./src/identify/message.proto","build:proto:plaintext":"pbjs -t static-module -w commonjs -r libp2p-plaintext --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/insecure/proto.js ./src/insecure/proto.proto","build:proto:peer":"pbjs -t static-module -w commonjs -r libp2p-peer --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/peer-store/pb/peer.js ./src/peer-store/pb/peer.proto","build:proto:peer-record":"pbjs -t static-module -w commonjs -r libp2p-peer-record --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/peer-record/peer-record.js ./src/record/peer-record/peer-record.proto","build:proto:envelope":"pbjs -t static-module -w commonjs -r libp2p-envelope --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/envelope/envelope.js ./src/record/envelope/envelope.proto","build:proto-types":"npm run build:proto-types:circuit && npm run build:proto-types:fetch && npm run build:proto-types:identify && npm run build:proto-types:plaintext && npm run build:proto-types:address-book && npm run build:proto-types:proto-book && npm run build:proto-types:peer && npm run build:proto-types:peer-record && npm run build:proto-types:envelope","build:proto-types:circuit":"pbts -o src/circuit/protocol/index.d.ts src/circuit/protocol/index.js","build:proto-types:fetch":"pbts -o src/fetch/proto.d.ts src/fetch/proto.js","build:proto-types:identify":"pbts -o src/identify/message.d.ts src/identify/message.js","build:proto-types:plaintext":"pbts -o src/insecure/proto.d.ts src/insecure/proto.js","build:proto-types:peer":"pbts -o src/peer-store/pb/peer.d.ts src/peer-store/pb/peer.js","build:proto-types:peer-record":"pbts -o src/record/peer-record/peer-record.d.ts src/record/peer-record/peer-record.js","build:proto-types:envelope":"pbts -o src/record/envelope/envelope.d.ts src/record/envelope/envelope.js",test:"aegir test","test:ts":"aegir build --no-bundle && npm run test --prefix test/ts-use","test:node":'aegir test -t node -f "./test/**/*.{node,spec}.js"',"test:browser":"aegir test -t browser","test:examples":"cd examples && npm run test:all","test:interop":"LIBP2P_JS=$PWD npx aegir test -t node -f ./node_modules/libp2p-interop/test/*",prepare:"npm run build",coverage:"nyc --reporter=text --reporter=lcov npm run test:node"},repository:{type:"git",url:"https://github.com/libp2p/js-libp2p.git"},keywords:["libp2p","network","p2p","peer","peer-to-peer","IPFS"],bugs:{url:"https://github.com/libp2p/js-libp2p/issues"},homepage:"https://libp2p.io",license:"MIT",engines:{node:">=15.0.0"},browser:{"nat-api":!1},eslintConfig:{extends:"ipfs",ignorePatterns:["!.aegir.js","test/ts-use","*.d.ts"]},dependencies:{"@vascosantos/moving-average":"^1.1.0","abortable-iterator":"^3.0.0","aggregate-error":"^3.1.0","any-signal":"^3.0.0","bignumber.js":"^9.0.1","class-is":"^1.1.0","datastore-core":"^7.0.0",debug:"^4.3.1","err-code":"^3.0.0","es6-promisify":"^7.0.0",events:"^3.3.0",hashlru:"^2.3.0","interface-datastore":"^6.0.2","it-all":"^1.0.4","it-buffer":"^0.1.2","it-drain":"^1.0.3","it-filter":"^1.0.1","it-first":"^1.0.4","it-handshake":"^2.0.0","it-length-prefixed":"^5.0.2","it-map":"^1.0.4","it-merge":"^1.0.0","it-pipe":"^1.1.0","it-sort":"^1.0.1","it-take":"^1.0.0","libp2p-crypto":"^0.21.2","libp2p-interfaces":"^4.0.0","libp2p-utils":"^0.4.0",mafmt:"^10.0.0","merge-options":"^3.0.4",mortice:"^2.0.1",multiaddr:"^10.0.0",multiformats:"^9.0.0","multistream-select":"^3.0.0","mutable-proxy":"^1.0.0","nat-api":"^0.3.1","node-forge":"^1.2.1","p-any":"^3.0.0","p-fifo":"^1.0.0","p-retry":"^4.4.0","p-settle":"^4.1.1","peer-id":"^0.16.0","private-ip":"^2.1.0",protobufjs:"^6.10.2",retimer:"^3.0.0","sanitize-filename":"^1.6.3","set-delayed-interval":"^1.0.0","streaming-iterables":"^6.0.0","timeout-abort-controller":"^3.0.0",uint8arrays:"^3.0.0",varint:"^6.0.0",wherearewe:"^1.0.0",xsalsa20:"^1.1.0"},devDependencies:{"@chainsafe/libp2p-noise":"^5.0.0","@nodeutils/defaults-deep":"^1.1.0","@types/es6-promisify":"^6.0.0","@types/node":"^16.0.1","@types/node-forge":"^1.0.0","@types/varint":"^6.0.0",aegir:"^36.0.0",buffer:"^6.0.3",delay:"^5.0.0","into-stream":"^6.0.0","ipfs-http-client":"^54.0.2","it-concat":"^2.0.0","it-pair":"^1.0.0","it-pushable":"^1.4.0",libp2p:".","libp2p-bootstrap":"^0.14.0","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.11.1","libp2p-interfaces-compliance-tests":"^4.0.8","libp2p-interop":"^0.7.1","libp2p-kad-dht":"^0.28.6","libp2p-mdns":"^0.18.0","libp2p-mplex":"^0.10.4","libp2p-tcp":"^0.17.0","libp2p-webrtc-star":"^0.25.0","libp2p-websockets":"^0.16.0",nock:"^13.0.3","p-defer":"^3.0.0","p-times":"^3.0.0","p-wait-for":"^3.2.0",rimraf:"^3.0.2",sinon:"^12.0.1",util:"^0.12.3"},contributors:["Vasco Santos <vasco.santos@moxy.studio>","David Dias <daviddias.p@gmail.com>","Jacob Heun <jacobheun@gmail.com>","Alex Potsides <alex@achingbrain.net>","Alan Shaw <alan@tableflip.io>","Cayman <caymannava@gmail.com>","Pedro Teixeira <i@pgte.me>","Friedel Ziegelmayer <dignifiedquire@gmail.com>","Maciej Kr\xFCger <mkg20001@gmail.com>","Hugo Dias <mail@hugodias.me>","dirkmc <dirkmdev@gmail.com>","Volker Mische <volker.mische@gmail.com>","Chris Dostert <chrisdostert@users.noreply.github.com>","zeim839 <50573884+zeim839@users.noreply.github.com>","Robert Kiel <robert.kiel@hoprnet.org>","Richard Littauer <richard.littauer@gmail.com>","a1300 <matthias-knopp@gmx.net>","Ryan Bell <ryan@piing.net>","\u1D20\u026A\u1D04\u1D1B\u1D0F\u0280 \u0299\u1D0A\u1D07\u029F\u1D0B\u029C\u1D0F\u029F\u1D0D <victorbjelkholm@gmail.com>","Andrew Nesbitt <andrewnez@gmail.com>","Franck Royer <franck@royer.one>","Thomas Eizinger <thomas@eizinger.io>","V\xEDt Habada <vithabada93@gmail.com>","Giovanni T. Parra <fiatjaf@gmail.com>","acolytec3 <17355484+acolytec3@users.noreply.github.com>","Alan Smithee <ggnore.alan.smithee@gmail.com>","Elven <mon.samuel@qq.com>","Samlior <samlior@foxmail.com>","Didrik Nordstr\xF6m <didrik.nordstrom@gmail.com>","Aditya Bose <13054902+adbose@users.noreply.github.com>","TJKoury <TJKoury@gmail.com>","TheStarBoys <41286328+TheStarBoys@users.noreply.github.com>","Tiago Alves <alvesjtiago@gmail.com>","Tim Daubensch\xFCtz <tim@daubenschuetz.de>","XiaoZhang <zxinmyth@gmail.com>","Yusef Napora <yusef@napora.org>","Zane Starr <zcstarr@gmail.com>","ebinks <elizabethjbinks@gmail.com>","greenSnot <greenSnot@users.noreply.github.com>","isan_rivkin <isanrivkin@gmail.com>","mayerwin <mayerwin@users.noreply.github.com>","mcclure <andi.m.mcclure@gmail.com>","patrickwoodhead <91056047+patrickwoodhead@users.noreply.github.com>","phillmac <phillmac@users.noreply.github.com>","robertkiel <robert.kiel@validitylabs.org>","shresthagrawal <34920931+shresthagrawal@users.noreply.github.com>","swedneck <40505480+swedneck@users.noreply.github.com>","tuyennhv <vutuyen2636@gmail.com>","S\xF6nke Hahn <soenkehahn@gmail.com>","Aleksei <vozhdb@gmail.com>","Bernd Strehl <bernd.strehl@gmail.com>","Chris Bratlien <chrisbratlien@gmail.com>","Cindy Wu <ciindy.wu@gmail.com>","Daijiro Wachi <daijiro.wachi@gmail.com>","Diogo Silva <fsdiogo@gmail.com>","Dmitriy Ryajov <dryajov@gmail.com>","Ethan Lam <elmemphis2000@gmail.com>","Fei Liu <liu.feiwood@gmail.com>","Felipe Martins <felipebrasil93@gmail.com>","Florian-Merle <florian.david.merle@gmail.com>","Francis Gulotta <wizard@roborooter.com>","Guy Sviry <32539816+guysv@users.noreply.github.com>","Henrique Dias <hacdias@gmail.com>","Irakli Gozalishvili <rfobic@gmail.com>","Joel Gustafson <joelg@mit.edu>","John Rees <johnrees@users.noreply.github.com>","Jo\xE3o Santos <joaosantos15@users.noreply.github.com>","Julien Bouquillon <contact@revolunet.com>","Kevin Kwok <antimatter15@gmail.com>","Kevin Lacker <lacker@gmail.com>","Lars Gierth <lgierth@users.noreply.github.com>","Leask Wong <i@leaskh.com>","Marcin Tojek <mtojek@users.noreply.github.com>","Marston Connell <34043723+TheMarstonConnell@users.noreply.github.com>","Michael Burns <5170+mburns@users.noreply.github.com>","Miguel Mota <miguelmota2@gmail.com>","Nuno Nogueira <nunofmn@gmail.com>","Philipp Muens <raute1337@gmx.de>","RasmusErik Voel Jensen <github@solsort.com>","Smite Chow <xiaopengyou@live.com>","Soeren <nikorpoulsen@gmail.com>"]}});var vh=w((lF,sn)=>{"use strict";var c3=mh().version;sn.exports.PROTOCOL_VERSION="ipfs/0.1.0";sn.exports.AGENT_VERSION=`js-libp2p/${c3}`;sn.exports.MULTICODEC_IDENTIFY="/ipfs/id/1.0.0";sn.exports.MULTICODEC_IDENTIFY_PUSH="/ipfs/id/push/1.0.0";sn.exports.IDENTIFY_PROTOCOL_VERSION="0.1.0";sn.exports.MULTICODEC_IDENTIFY_PROTOCOL_NAME="id";sn.exports.MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME="id/push";sn.exports.MULTICODEC_IDENTIFY_PROTOCOL_VERSION="1.0.0";sn.exports.MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION="1.0.0"});var cu=w((fF,Tb)=>{"use strict";var Ib=60*1e3;Tb.exports={ADVERTISE_BOOT_DELAY:15*Ib,ADVERTISE_TTL:30*Ib,CIRCUIT_PROTO_CODE:290,HOP_METADATA_KEY:"hop_relay",HOP_METADATA_VALUE:"true",RELAY_RENDEZVOUS_NS:"/libp2p/relay"}});var Rb=w(_a=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[u,l,f,h].join(".")},o=function(c){var u,l,f,h,p,d;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}d=e(c),p=d[0],l=d[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,h,p;for(h=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)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,p,d;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(d=u.split("/",2),u=d[0],l=d[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(g){throw f=g,new Error("Invalid mask: "+l)}for(h=p=32;p>=0;h=--p)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;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(g){throw f=g,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,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),_a.ip2long=o,_a.long2ip=a,_a.Netmask=t}).call(_a)});var Pb=w((Bb,uu)=>{(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,d){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let g=0,m=-1,x=(p.match(a.zoneIndex)||[])[0],R,L;for(x&&(x=x.substring(1),p=p.replace(/%.+$/,""));(m=p.indexOf(":",m+1))>=0;)g++;if(p.substr(0,2)==="::"&&g--,p.substr(-2,2)==="::"&&g--,g>d)return null;for(L=d-g,R=":";L--;)R+="0:";return p=p.replace("::",R),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),d=function(){let H=p.split(":"),q=[];for(let k=0;k<H.length;k++)q.push(parseInt(H[k],16));return q}(),{parts:d,zoneId:x}}function u(p,d,g,m){if(p.length!==d.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let x=0,R;for(;m>0;){if(R=g-m,R<0&&(R=0),p[x]>>R!=d[x]>>R)return!1;m-=g,x+=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,d){for(;p.length<d;)p=`0${p}`;return p}let h={};h.IPv4=function(){function p(d){if(d.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let g,m;for(g=0;g<d.length;g++)if(m=d[g],!(0<=m&&m<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=d}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,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(d,g){let m;if(g===void 0&&(m=d,d=m[0],g=m[1]),d.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,d.octets,8,g)},p.prototype.prefixLengthFromSubnetMask=function(){let d=0,g=!1,m={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},x,R,L;for(x=3;x>=0;x-=1)if(R=this.octets[x],R in m){if(L=m[R],g&&L!==0)return null;L!==8&&(g=!0),d+=L}else return null;return 32-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),h.IPv4.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),g=d[0].toByteArray(),m=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),x=[],R=0;for(;R<4;)x.push(parseInt(g[R],10)|parseInt(m[R],10)^255),R++;return new this(x)}catch(d){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(p){return this.parser(p)!==null},h.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch(d){return!1}},h.IPv4.isValidFourPartDecimal=function(p){return!!(h.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(p){let d,g,m,x,R;try{for(d=this.parseCIDR(p),m=d[0].toByteArray(),R=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),x=[],g=0;g<4;)x.push(parseInt(m[g],10)&parseInt(R[g],10)),g++;return new this(x)}catch(L){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(p){let d=this.parser(p);if(d===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(d)},h.IPv4.parseCIDR=function(p){let d;if(d=p.match(/^(.+)\/(\d+)$/)){let g=parseInt(d[2]);if(g>=0&&g<=32){let m=[this.parse(d[1]),g];return Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(p){let d,g,m;if(d=p.match(r.fourOctet))return function(){let x=d.slice(1,6),R=[];for(let L=0;L<x.length;L++)g=x[L],R.push(l(g));return R}();if(d=p.match(r.longValue)){if(m=l(d[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){let x=[],R;for(R=0;R<=24;R+=8)x.push(m>>R&255);return x}().reverse()}else return(d=p.match(r.twoOctet))?function(){let x=d.slice(1,4),R=[];if(m=l(x[1]),m>16777215||m<0)throw new Error("ipaddr: address outside defined range");return R.push(l(x[0])),R.push(m>>16&255),R.push(m>>8&255),R.push(m&255),R}():(d=p.match(r.threeOctet))?function(){let x=d.slice(1,5),R=[];if(m=l(x[2]),m>65535||m<0)throw new Error("ipaddr: address outside defined range");return R.push(l(x[0])),R.push(l(x[1])),R.push(m>>8&255),R.push(m&255),R}():null},h.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let d=[0,0,0,0],g=0,m=Math.floor(p/8);for(;g<m;)d[g]=255,g++;return m<4&&(d[m]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.IPv6=function(){function p(d,g){let m,x;if(d.length===16)for(this.parts=[],m=0;m<=14;m+=2)this.parts.push(d[m]<<8|d[m+1]);else if(d.length===8)this.parts=d;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=0;m<this.parts.length;m++)if(x=this.parts[m],!(0<=x&&x<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");g&&(this.zoneId=g)}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]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(d,g){let m;if(g===void 0&&(m=d,d=m[0],g=m[1]),d.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,d.parts,16,g)},p.prototype.prefixLengthFromSubnetMask=function(){let d=0,g=!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},x,R;for(let L=7;L>=0;L-=1)if(x=this.parts[L],x in m){if(R=m[x],g&&R!==0)return null;R!==16&&(g=!0),d+=R}else return null;return 128-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let d,g=[],m=this.parts;for(let x=0;x<m.length;x++)d=m[x],g.push(d>>8),g.push(d&255);return g},p.prototype.toFixedLengthString=function(){let d=function(){let m=[];for(let x=0;x<this.parts.length;x++)m.push(f(this.parts[x].toString(16),4));return m}.call(this).join(":"),g="";return this.zoneId&&(g=`%${this.zoneId}`),d+g},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let d=this.parts.slice(-2),g=d[0],m=d[1];return new h.IPv4([g>>8,g&255,m>>8,m&255])},p.prototype.toNormalizedString=function(){let d=function(){let m=[];for(let x=0;x<this.parts.length;x++)m.push(this.parts[x].toString(16));return m}.call(this).join(":"),g="";return this.zoneId&&(g=`%${this.zoneId}`),d+g},p.prototype.toRFC5952String=function(){let d=/((^|:)(0(:|$)){2,})/g,g=this.toNormalizedString(),m=0,x=-1,R;for(;R=d.exec(g);)R[0].length>x&&(m=R.index,x=R[0].length);return x<0?g:`${g.substring(0,m)}::${g.substring(m+x)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),h.IPv6.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),g=d[0].toByteArray(),m=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),x=[],R=0;for(;R<16;)x.push(parseInt(g[R],10)|parseInt(m[R],10)^255),R++;return new this(x)}catch(d){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${d})`)}},h.IPv6.isIPv6=function(p){return this.parser(p)!==null},h.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let d=this.parser(p);return new this(d.parts,d.zoneId),!0}catch(d){return!1}},h.IPv6.networkAddressFromCIDR=function(p){let d,g,m,x,R;try{for(d=this.parseCIDR(p),m=d[0].toByteArray(),R=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),x=[],g=0;g<16;)x.push(parseInt(m[g],10)&parseInt(R[g],10)),g++;return new this(x)}catch(L){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${L})`)}},h.IPv6.parse=function(p){let d=this.parser(p);if(d.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(d.parts,d.zoneId)},h.IPv6.parseCIDR=function(p){let d,g,m;if((g=p.match(/^(.+)\/(\d+)$/))&&(d=parseInt(g[2]),d>=0&&d<=128))return m=[this.parse(g[1]),d],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(p){let d,g,m,x,R,L;if(m=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${m[1]}`);if(a.native.test(p))return c(p,8);if((m=p.match(a.transitional))&&(L=m[6]||"",d=c(m[1].slice(0,-1)+L,6),d.parts)){for(R=[parseInt(m[2]),parseInt(m[3]),parseInt(m[4]),parseInt(m[5])],g=0;g<R.length;g++)if(x=R[g],!(0<=x&&x<=255))return null;return d.parts.push(R[0]<<8|R[1]),d.parts.push(R[2]<<8|R[3]),{parts:d.parts,zoneId:d.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],g=0,m=Math.floor(p/8);for(;g<m;)d[g]=255,g++;return m<16&&(d[m]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.fromByteArray=function(p){let d=p.length;if(d===4)return new h.IPv4(p);if(d===16)return new h.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(p){return h.IPv6.isValid(p)||h.IPv4.isValid(p)},h.parse=function(p){if(h.IPv6.isValid(p))return h.IPv6.parse(p);if(h.IPv4.isValid(p))return h.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(p){try{return h.IPv6.parseCIDR(p)}catch(d){try{return h.IPv4.parseCIDR(p)}catch(g){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(p){let d=this.parse(p);return d.kind()==="ipv6"&&d.isIPv4MappedAddress()?d.toIPv4Address():d},h.subnetMatch=function(p,d,g){let m,x,R,L;g==null&&(g="unicast");for(x in d)if(Object.prototype.hasOwnProperty.call(d,x)){for(R=d[x],R[0]&&!(R[0]instanceof Array)&&(R=[R]),m=0;m<R.length;m++)if(L=R[m],p.kind()===L[0].kind()&&p.match.apply(p,L))return x}return g},typeof uu!="undefined"&&uu.exports?uu.exports=h:t.ipaddr=h})(Bb)});var Lb=w(xa=>{"use strict";var Nb=xa&&xa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xa,"__esModule",{value:!0});var u3=Rb(),l3=Nb(qf()),f3=Nb(Mf()),Ob=Pb(),h3=["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"],d3=h3.map(t=>new u3.Netmask(t));function p3(t){for(let e of d3)if(e.contains(t))return!0;return!1}function Db(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)}xa.default=t=>{if(Ob.isValid(t)){let e=Ob.parse(t);if(e.kind()==="ipv4")return p3(e.toNormalizedString());if(e.kind()==="ipv6")return Db(t)}else if(f3.default(t)&&l3.default.v6().test(t))return Db(t)}});var bh=w((pF,kb)=>{"use strict";kb.exports=Lb().default});var Ub=w((yF,qb)=>{"use strict";var y3=bh();function g3(t){let{address:e}=t.nodeAddress();return y3(e)}qb.exports=g3});var Eh=w((gF,Fb)=>{"use strict";var Mb=Ub();function m3(t,e){let r=Mb(t.multiaddr),n=Mb(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function v3(t){return[...t].sort(m3)}Fb.exports.publicAddressesFirst=v3});var Vb=w((mF,wh)=>{"use strict";var Kb=async t=>{try{let e=await t;return{isFulfilled:!0,isRejected:!1,value:e}}catch(e){return{isFulfilled:!1,isRejected:!0,reason:e}}};wh.exports=Kb;wh.exports.default=Kb});var $b=w((vF,_h)=>{"use strict";var jb=(t,...e)=>new Promise(r=>{r(t(...e))});_h.exports=jb;_h.exports.default=jb});var zb=w((bF,xh)=>{"use strict";var b3=$b(),Hb=t=>{if(!((Number.isInteger(t)||t===1/0)&&t>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let e=[],r=0,n=()=>{r--,e.length>0&&e.shift()()},i=(a,c,...u)=>{r++;let l=b3(a,...u);c(l),l.then(n,n)},s=(a,c,...u)=>{r<t?i(a,c,...u):e.push(i.bind(null,a,c,...u))},o=(a,...c)=>new Promise(u=>s(a,u,...c));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length},clearQueue:{value:()=>{e.length=0}}}),o};xh.exports=Hb;xh.exports.default=Hb});var Wb=w((EF,Gb)=>{"use strict";var Sh=Vb(),E3=zb();Gb.exports=async(t,e={})=>{let{concurrency:r=1/0}=e,n=E3(r);return Promise.all(t.map(i=>i&&typeof i.then=="function"?Sh(i):Sh(typeof i=="function"?n(()=>i()):Promise.resolve(i))))}});var Xb=w((wF,Qb)=>{"use strict";var $s=pn(),Yb=$s.Reader,w3=$s.Writer,Je=$s.util,Sa=$s.roots["libp2p-envelope"]||($s.roots["libp2p-envelope"]={});Sa.Envelope=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.publicKey=Je.newBuffer([]),t.prototype.payloadType=Je.newBuffer([]),t.prototype.payload=Je.newBuffer([]),t.prototype.signature=Je.newBuffer([]),t.encode=function(r,n){return n||(n=w3.create()),r.publicKey!=null&&Object.hasOwnProperty.call(r,"publicKey")&&n.uint32(10).bytes(r.publicKey),r.payloadType!=null&&Object.hasOwnProperty.call(r,"payloadType")&&n.uint32(18).bytes(r.payloadType),r.payload!=null&&Object.hasOwnProperty.call(r,"payload")&&n.uint32(26).bytes(r.payload),r.signature!=null&&Object.hasOwnProperty.call(r,"signature")&&n.uint32(42).bytes(r.signature),n},t.decode=function(r,n){r instanceof Yb||(r=Yb.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new Sa.Envelope;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.publicKey=r.bytes();break;case 2:s.payloadType=r.bytes();break;case 3:s.payload=r.bytes();break;case 5:s.signature=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof Sa.Envelope)return r;var n=new Sa.Envelope;return r.publicKey!=null&&(typeof r.publicKey=="string"?Je.base64.decode(r.publicKey,n.publicKey=Je.newBuffer(Je.base64.length(r.publicKey)),0):r.publicKey.length&&(n.publicKey=r.publicKey)),r.payloadType!=null&&(typeof r.payloadType=="string"?Je.base64.decode(r.payloadType,n.payloadType=Je.newBuffer(Je.base64.length(r.payloadType)),0):r.payloadType.length&&(n.payloadType=r.payloadType)),r.payload!=null&&(typeof r.payload=="string"?Je.base64.decode(r.payload,n.payload=Je.newBuffer(Je.base64.length(r.payload)),0):r.payload.length&&(n.payload=r.payload)),r.signature!=null&&(typeof r.signature=="string"?Je.base64.decode(r.signature,n.signature=Je.newBuffer(Je.base64.length(r.signature)),0):r.signature.length&&(n.signature=r.signature)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(n.bytes===String?i.publicKey="":(i.publicKey=[],n.bytes!==Array&&(i.publicKey=Je.newBuffer(i.publicKey))),n.bytes===String?i.payloadType="":(i.payloadType=[],n.bytes!==Array&&(i.payloadType=Je.newBuffer(i.payloadType))),n.bytes===String?i.payload="":(i.payload=[],n.bytes!==Array&&(i.payload=Je.newBuffer(i.payload))),n.bytes===String?i.signature="":(i.signature=[],n.bytes!==Array&&(i.signature=Je.newBuffer(i.signature)))),r.publicKey!=null&&r.hasOwnProperty("publicKey")&&(i.publicKey=n.bytes===String?Je.base64.encode(r.publicKey,0,r.publicKey.length):n.bytes===Array?Array.prototype.slice.call(r.publicKey):r.publicKey),r.payloadType!=null&&r.hasOwnProperty("payloadType")&&(i.payloadType=n.bytes===String?Je.base64.encode(r.payloadType,0,r.payloadType.length):n.bytes===Array?Array.prototype.slice.call(r.payloadType):r.payloadType),r.payload!=null&&r.hasOwnProperty("payload")&&(i.payload=n.bytes===String?Je.base64.encode(r.payload,0,r.payload.length):n.bytes===Array?Array.prototype.slice.call(r.payload):r.payload),r.signature!=null&&r.hasOwnProperty("signature")&&(i.signature=n.bytes===String?Je.base64.encode(r.signature,0,r.signature.length):n.bytes===Array?Array.prototype.slice.call(r.signature):r.signature),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,$s.util.toJSONOptions)},t}();Qb.exports=Sa});var fu=w((_F,eE)=>{"use strict";var _3=he(),{concat:x3}=(Gn(),zn),{fromString:S3}=(It(),Nt),A3=Vc(),C3=Rt(),Ah=ki(),{equals:lu}=(pr(),dr),{codes:I3}=je(),{Envelope:Zb}=Xb(),ri=class{constructor({peerId:e,payloadType:r,payload:n,signature:i}){this.peerId=e,this.payloadType=r,this.payload=n,this.signature=i,this._marshal=void 0}marshal(){if(this._marshal)return this._marshal;let e=A3.marshalPublicKey(this.peerId.pubKey);return this._marshal=Zb.encode({publicKey:e,payloadType:this.payloadType,payload:this.payload,signature:this.signature}).finish(),this._marshal}equals(e){return lu(this.peerId.pubKey.bytes,e.peerId.pubKey.bytes)&&lu(this.payloadType,e.payloadType)&&lu(this.payload,e.payload)&&lu(this.signature,e.signature)}validate(e){let r=Jb(e,this.payloadType,this.payload);return this.peerId.pubKey.verify(r,this.signature)}},Jb=(t,e,r)=>{let n=S3(t),i=Ah.encode(n.byteLength),s=Ah.encode(e.length),o=Ah.encode(r.length);return x3([new Uint8Array(i),n,new Uint8Array(s),e,new Uint8Array(o),r])};ri.createFromProtobuf=async t=>{let e=Zb.decode(t),r=await C3.createFromPubKey(e.publicKey);return new ri({peerId:r,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};ri.seal=async(t,e)=>{let r=t.domain,n=t.codec,i=t.marshal(),s=Jb(r,n,i),o=await e.privKey.sign(s);return new ri({peerId:e,payloadType:n,payload:i,signature:o})};ri.openAndCertify=async(t,e)=>{let r=await ri.createFromProtobuf(t);if(!await r.validate(e))throw _3(new Error("envelope signature is not valid for the given domain"),I3.ERR_SIGNATURE_NOT_VALID);return r};eE.exports=ri});var rE=w((xF,tE)=>{"use strict";function T3(t,e){return t.length===e.length&&e.sort()&&t.sort().every((r,n)=>e[n].equals(r))}tE.exports=T3});var sE=w((SF,iE)=>{"use strict";var Fi=pn(),hu=Fi.Reader,nE=Fi.Writer,lt=Fi.util,wr=Fi.roots["libp2p-peer-record"]||(Fi.roots["libp2p-peer-record"]={});wr.PeerRecord=function(){function t(e){if(this.addresses=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.peerId=lt.newBuffer([]),t.prototype.seq=lt.Long?lt.Long.fromBits(0,0,!0):0,t.prototype.addresses=lt.emptyArray,t.encode=function(r,n){if(n||(n=nE.create()),r.peerId!=null&&Object.hasOwnProperty.call(r,"peerId")&&n.uint32(10).bytes(r.peerId),r.seq!=null&&Object.hasOwnProperty.call(r,"seq")&&n.uint32(16).uint64(r.seq),r.addresses!=null&&r.addresses.length)for(var i=0;i<r.addresses.length;++i)wr.PeerRecord.AddressInfo.encode(r.addresses[i],n.uint32(26).fork()).ldelim();return n},t.decode=function(r,n){r instanceof hu||(r=hu.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new wr.PeerRecord;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.peerId=r.bytes();break;case 2:s.seq=r.uint64();break;case 3:s.addresses&&s.addresses.length||(s.addresses=[]),s.addresses.push(wr.PeerRecord.AddressInfo.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof wr.PeerRecord)return r;var n=new wr.PeerRecord;if(r.peerId!=null&&(typeof r.peerId=="string"?lt.base64.decode(r.peerId,n.peerId=lt.newBuffer(lt.base64.length(r.peerId)),0):r.peerId.length&&(n.peerId=r.peerId)),r.seq!=null&&(lt.Long?(n.seq=lt.Long.fromValue(r.seq)).unsigned=!0:typeof r.seq=="string"?n.seq=parseInt(r.seq,10):typeof r.seq=="number"?n.seq=r.seq:typeof r.seq=="object"&&(n.seq=new lt.LongBits(r.seq.low>>>0,r.seq.high>>>0).toNumber(!0))),r.addresses){if(!Array.isArray(r.addresses))throw TypeError(".PeerRecord.addresses: array expected");n.addresses=[];for(var i=0;i<r.addresses.length;++i){if(typeof r.addresses[i]!="object")throw TypeError(".PeerRecord.addresses: object expected");n.addresses[i]=wr.PeerRecord.AddressInfo.fromObject(r.addresses[i])}}return n},t.toObject=function(r,n){n||(n={});var i={};if((n.arrays||n.defaults)&&(i.addresses=[]),n.defaults)if(n.bytes===String?i.peerId="":(i.peerId=[],n.bytes!==Array&&(i.peerId=lt.newBuffer(i.peerId))),lt.Long){var s=new lt.Long(0,0,!0);i.seq=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else i.seq=n.longs===String?"0":0;if(r.peerId!=null&&r.hasOwnProperty("peerId")&&(i.peerId=n.bytes===String?lt.base64.encode(r.peerId,0,r.peerId.length):n.bytes===Array?Array.prototype.slice.call(r.peerId):r.peerId),r.seq!=null&&r.hasOwnProperty("seq")&&(typeof r.seq=="number"?i.seq=n.longs===String?String(r.seq):r.seq:i.seq=n.longs===String?lt.Long.prototype.toString.call(r.seq):n.longs===Number?new lt.LongBits(r.seq.low>>>0,r.seq.high>>>0).toNumber(!0):r.seq),r.addresses&&r.addresses.length){i.addresses=[];for(var o=0;o<r.addresses.length;++o)i.addresses[o]=wr.PeerRecord.AddressInfo.toObject(r.addresses[o],n)}return i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Fi.util.toJSONOptions)},t.AddressInfo=function(){function e(r){if(r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}return e.prototype.multiaddr=lt.newBuffer([]),e.encode=function(n,i){return i||(i=nE.create()),n.multiaddr!=null&&Object.hasOwnProperty.call(n,"multiaddr")&&i.uint32(10).bytes(n.multiaddr),i},e.decode=function(n,i){n instanceof hu||(n=hu.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new wr.PeerRecord.AddressInfo;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.multiaddr=n.bytes();break;default:n.skipType(a&7);break}}return o},e.fromObject=function(n){if(n instanceof wr.PeerRecord.AddressInfo)return n;var i=new wr.PeerRecord.AddressInfo;return n.multiaddr!=null&&(typeof n.multiaddr=="string"?lt.base64.decode(n.multiaddr,i.multiaddr=lt.newBuffer(lt.base64.length(n.multiaddr)),0):n.multiaddr.length&&(i.multiaddr=n.multiaddr)),i},e.toObject=function(n,i){i||(i={});var s={};return i.defaults&&(i.bytes===String?s.multiaddr="":(s.multiaddr=[],i.bytes!==Array&&(s.multiaddr=lt.newBuffer(s.multiaddr)))),n.multiaddr!=null&&n.hasOwnProperty("multiaddr")&&(s.multiaddr=i.bytes===String?lt.base64.encode(n.multiaddr,0,n.multiaddr.length):i.bytes===Array?Array.prototype.slice.call(n.multiaddr):n.multiaddr),s},e.prototype.toJSON=function(){return this.constructor.toObject(this,Fi.util.toJSONOptions)},e}(),t}();iE.exports=wr});var aE=w((AF,oE)=>{"use strict";var R3="libp2p-peer-record",B3=Uint8Array.from([3,1]);oE.exports={ENVELOPE_DOMAIN_PEER_RECORD:R3,ENVELOPE_PAYLOAD_TYPE_PEER_RECORD:B3}});var du=w((CF,lE)=>{"use strict";var{Multiaddr:P3}=qt(),N3=Rt(),O3=rE(),{PeerRecord:cE}=sE(),{ENVELOPE_DOMAIN_PEER_RECORD:uE,ENVELOPE_PAYLOAD_TYPE_PEER_RECORD:D3}=aE(),Ki=class{constructor({peerId:e,multiaddrs:r=[],seqNumber:n=Date.now()}){this.domain=uE,this.codec=D3,this.peerId=e,this.multiaddrs=r,this.seqNumber=n,this._marshal=void 0}marshal(){return this._marshal?this._marshal:(this._marshal=cE.encode({peerId:this.peerId.toBytes(),seq:this.seqNumber,addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))}).finish(),this._marshal)}equals(e){return!(!(e instanceof Ki)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!O3(this.multiaddrs,e.multiaddrs))}};Ki.createFromProtobuf=t=>{let e=cE.decode(t),r=N3.createFromBytes(e.peerId),n=(e.addresses||[]).map(s=>new P3(s.multiaddr)),i=Number(e.seq);return new Ki({peerId:r,multiaddrs:n,seqNumber:i})};Ki.DOMAIN=uE;lE.exports=Ki});var Ch=w((IF,fE)=>{"use strict";var L3=fu(),k3=du();async function q3(t){let e=new k3({peerId:t.peerId,multiaddrs:t.multiaddrs}),r=await L3.seal(e,t.peerId);await t.peerStore.addressBook.consumePeerRecord(r)}fE.exports.updateSelfPeerRecord=q3});var Th=w((TF,pE)=>{"use strict";var hE=Te(),Vi=Object.assign(hE("libp2p:transports"),{error:hE("libp2p:transports:err")}),U3=Wb(),{codes:Hs}=je(),Aa=he(),{updateSelfPeerRecord:dE}=Ch(),Ih=class{constructor({libp2p:e,upgrader:r,faultTolerance:n=pu.FATAL_ALL}){this.libp2p=e,this.upgrader=r,this._transports=new Map,this._listeners=new Map,this._listenerOptions=new Map,this.faultTolerance=n}add(e,r,n={}){if(Vi("adding %s",e),!e)throw Aa(new Error(`Transport must have a valid key, was given '${e}'`),Hs.ERR_INVALID_KEY);if(this._transports.has(e))throw Aa(new Error("There is already a transport with this key"),Hs.ERR_DUPLICATE_TRANSPORT);let i=new r({...n,libp2p:this.libp2p,upgrader:this.upgrader});this._transports.set(e,i),this._listenerOptions.set(e,n.listenerOptions||{}),this._listeners.has(e)||this._listeners.set(e,[])}async close(){let e=[];for(let[r,n]of this._listeners)for(Vi("closing listeners for %s",r);n.length;){let i=n.pop();i.removeAllListeners("listening"),i.removeAllListeners("close"),e.push(i.close())}await Promise.all(e),Vi("all listeners closed");for(let r of this._listeners.keys())this._listeners.set(r,[])}async dial(e,r){let n=this.transportForMultiaddr(e);if(!n)throw Aa(new Error(`No transport available for address ${String(e)}`),Hs.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,r)}catch(i){throw i.code||(i.code=Hs.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 this._transports.values()}transportForMultiaddr(e){for(let r of this._transports.values())if(r.filter([e]).length)return r;return null}async listen(e){if(!e||e.length===0){Vi("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){Vi("creating listener for %s on %s",n,u);let l=i.createListener(this._listenerOptions.get(n));this._listeners.get(n).push(l),l.on("listening",()=>dE(this.libp2p)),l.on("close",()=>dE(this.libp2p)),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if(!(await U3(o)).find(u=>u.isFulfilled===!0)&&this.faultTolerance!==pu.NO_FATAL)throw Aa(new Error(`Transport (${n}) could not listen on any available address`),Hs.ERR_NO_VALID_ADDRESSES)}if(r.length===this._transports.size){let n=`no valid addresses were provided for transports [${r}]`;if(this.faultTolerance===pu.FATAL_ALL)throw Aa(new Error(n),Hs.ERR_NO_VALID_ADDRESSES);Vi(`libp2p in dial mode only: ${n}`)}}async remove(e){if(Vi("removing %s",e),this._listeners.has(e))for(let r of this._listeners.get(e))r.removeAllListeners("listening"),r.removeAllListeners("close"),await r.close();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)}},pu={FATAL_ALL:0,NO_FATAL:1};Ih.FaultTolerance=pu;pE.exports=Ih});var mE=w((RF,gE)=>{"use strict";var M3=Vs(),{dnsaddrResolver:F3}=Ab(),Rh=au(),{AGENT_VERSION:K3}=vh(),yE=cu(),{publicAddressesFirst:V3}=Eh(),{FaultTolerance:j3}=Th(),$3={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{minConnections:25},transportManager:{faultTolerance:j3.FATAL_ALL},dialer:{maxParallelDials:Rh.MAX_PARALLEL_DIALS,maxDialsPerPeer:Rh.MAX_PER_PEER_DIALS,dialTimeout:Rh.DIAL_TIMEOUT,resolvers:{dnsaddr:F3},addressSorter:V3},host:{agentVersion:K3},metrics:{enabled:!1},peerStore:{persistence:!1,threshold:5},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},config:{protocolPrefix:"ipfs",dht:{enabled:!1,kBucketSize:20},nat:{enabled:!0,ttl:7200,keepAlive:!0,gateway:null,externalIp:null,pmp:{enabled:!1}},peerDiscovery:{autoDial:!0},pubsub:{enabled:!0},relay:{enabled:!0,advertise:{bootDelay:yE.ADVERTISE_BOOT_DELAY,enabled:!1,ttl:yE.ADVERTISE_TTL},hop:{enabled:!1,active:!1},autoRelay:{enabled:!1,maxListeners:2}},transport:{}}};gE.exports.validate=t=>{let e=M3($3,t);if(e.modules.transport.length<1)throw new Error("'options.modules.transport' must contain at least 1 transport");return e}});var EE=w((BF,bE)=>{"use strict";var{EventEmitter:H3}=Qt(),{Multiaddr:Ca}=qt(),z3=Rt(),vE=class extends H3{constructor(e,{listen:r=[],announce:n=[]}={}){super();this.peerId=e,this.listen=new Set(r.map(i=>i.toString())),this.announce=new Set(n.map(i=>i.toString())),this.observed=new Set}getListenAddrs(){return Array.from(this.listen).map(e=>new Ca(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>new Ca(e))}getObservedAddrs(){return Array.from(this.observed).map(e=>new Ca(e))}addObservedAddr(e){let r=new Ca(e),n=r.getPeerId();n&&z3.createFromB58String(n).equals(this.peerId)&&(r=r.decapsulate(new Ca(`/p2p/${this.peerId}`)));let i=r.toString();this.observed.has(i)||(this.observed.add(i),this.emit("change:addresses"))}};bE.exports=vE});var xE=w((PF,_E)=>{"use strict";var{EventEmitter:G3}=Qt(),Bh=Te()("latency-monitor:VisibilityChangeEmitter"),wE=class extends G3{constructor(){super();if(typeof document=="undefined"){Bh('This is not a browser, no "document" found. Stopping.');return}this._initializeVisibilityVarNames(),this._addVisibilityChangeListener()}_initializeVisibilityVarNames(){let e,r;typeof document.hidden!="undefined"?(e="hidden",r="visibilitychange"):typeof document.mozHidden!="undefined"?(e="mozHidden",r="mozvisibilitychange"):typeof document.msHidden!="undefined"?(e="msHidden",r="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(e="webkitHidden",r="webkitvisibilitychange"),this._hidden=e,this._visibilityChange=r}_addVisibilityChangeListener(){typeof document.addEventListener=="undefined"||typeof document[this._hidden]=="undefined"?Bh("Checking page visibility requires a browser that supports the Page Visibility API."):document.addEventListener(this._visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this._hidden===void 0||document[this._hidden]===void 0))return!document[this._hidden]}_handleVisibilityChange(){let e=!document[this._hidden];Bh(e?"Page Visible":"Page Hidden"),this.emit("visibilityChange",e)}};_E.exports=wE});var CE=w((NF,AE)=>{"use strict";var{EventEmitter:W3}=Qt(),Y3=xE(),An=Te()("latency-monitor:LatencyMonitor"),SE=class extends W3{constructor({latencyCheckIntervalMs:e,dataEmitIntervalMs:r,asyncTestFn:n,latencyRandomPercentage:i}={}){super();let s=this;s.latencyCheckIntervalMs=e||500,s.latencyRandomPercentage=i||10,s._latecyCheckMultiply=2*(s.latencyRandomPercentage/100)*s.latencyCheckIntervalMs,s._latecyCheckSubtract=s._latecyCheckMultiply/2,s.dataEmitIntervalMs=r===null||r===0?void 0:r||5*1e3,An("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",s.latencyCheckIntervalMs,s.dataEmitIntervalMs),s.dataEmitIntervalMs?An("Expecting ~%s events per summary",s.latencyCheckIntervalMs/s.dataEmitIntervalMs):An("Not emitting summaries"),s.asyncTestFn=n}start(){globalThis.process&&globalThis.process.hrtime?(An("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=e=>{let r=this.now(e);return r[0]*1e3+r[1]/1e6}):typeof window!="undefined"&&window.performance&&window.performance.now?(An("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=e=>Math.round(this.now()-e)):(An("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=e=>this.now()-e),this._latencyData=this._initLatencyData(),Q3()&&(this._visibilityChangeEmitter=new Y3,this._visibilityChangeEmitter.on("visibilityChange",e=>{e?this._startTimers():(this._emitSummary(),this._stopTimers())})),(!this._visibilityChangeEmitter||this._visibilityChangeEmitter.isVisible())&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this._checkLatencyID||(this._checkLatency(),this.dataEmitIntervalMs&&(this._emitIntervalID=setInterval(()=>this._emitSummary(),this.dataEmitIntervalMs),typeof this._emitIntervalID.unref=="function"&&this._emitIntervalID.unref()))}_stopTimers(){this._checkLatencyID&&(clearTimeout(this._checkLatencyID),this._checkLatencyID=void 0),this._emitIntervalID&&(clearInterval(this._emitIntervalID),this._emitIntervalID=void 0)}_emitSummary(){let e=this.getSummary();e.events>0&&this.emit("data",e)}getSummary(){let e={events:this._latencyData.events,minMs:this._latencyData.minMs,maxMs:this._latencyData.maxMs,avgMs:this._latencyData.events?this._latencyData.totalMs/this._latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this._latencyData.startTime)};return this._latencyData=this._initLatencyData(),An("Summary: %O",e),e}_checkLatency(){let e=this,r=Math.random()*e._latecyCheckMultiply-e._latecyCheckSubtract,n={deltaOffset:Math.ceil(e.latencyCheckIntervalMs+r),startTime:e.now()},i=()=>{if(!this._checkLatencyID)return;let s=e.getDeltaMS(n.startTime)-n.deltaOffset;e._checkLatency(),e._latencyData.events++,e._latencyData.minMs=Math.min(e._latencyData.minMs,s),e._latencyData.maxMs=Math.max(e._latencyData.maxMs,s),e._latencyData.totalMs+=s,An("MS: %s Data: %O",s,e._latencyData)};An("localData: %O",n),this._checkLatencyID=setTimeout(()=>{e.asyncTestFn?(n.deltaOffset=0,n.startTime=e.now(),e.asyncTestFn(i)):(n.deltaOffset-=1,i())},n.deltaOffset),typeof this._checkLatencyID.unref=="function"&&this._checkLatencyID.unref()}_initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function Q3(){return typeof window!="undefined"}AE.exports=SE});var Ph=w((OF,TE)=>{"use strict";var IE=class extends Map{constructor(e){super();let{system:r,component:n,metric:i,metrics:s}=e;this._system=r,this._component=n,this._metric=i,this._metrics=s,this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size})}set(e,r){return super.set(e,r),this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size}),this}delete(e){let r=super.delete(e);return this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size}),r}clear(){super.clear(),this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size})}};TE.exports=({system:t="libp2p",component:e,metric:r,metrics:n})=>{let i;return n?i=new IE({system:t,component:e,metric:r,metrics:n}):i=new Map,i}});var qE=w((DF,kE)=>{"use strict";var RE=Te(),qr=Object.assign(RE("libp2p:connection-manager"),{error:RE("libp2p:connection-manager:err")}),BE=he(),X3=Vs(),Z3=CE(),PE=va(),{EventEmitter:J3}=Qt(),NE=Ph(),eO=Rt(),{codes:{ERR_INVALID_PARAMETERS:OE}}=je(),tO={maxConnections:1/0,minConnections:0,maxData:1/0,maxSentData:1/0,maxReceivedData:1/0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,movingAverageInterval:6e4,defaultPeerValue:1},DE="connection-manager",rO="peer-connections",nO="peer-values",LE=class extends J3{constructor(e,r={}){super();if(this._libp2p=e,this._peerId=e.peerId.toB58String(),this._options=X3.call({ignoreUndefined:!0},tO,r),this._options.maxConnections<this._options.minConnections)throw BE(new Error("Connection Manager maxConnections must be greater than minConnections"),OE);qr("options: %j",this._options),this._peerValues=NE({component:DE,metric:nO,metrics:this._libp2p.metrics}),this.connections=NE({component:DE,metric:rO,metrics:this._libp2p.metrics}),this._started=!1,this._timer=null,this._checkMetrics=this._checkMetrics.bind(this),this._latencyMonitor=new Z3({latencyCheckIntervalMs:this._options.pollInterval,dataEmitIntervalMs:this._options.pollInterval}),this.setMaxListeners(1/0)}get size(){return Array.from(this.connections.values()).reduce((e,r)=>e+r.length,0)}start(){this._libp2p.metrics&&(this._timer=this._timer||PE(this._checkMetrics,this._options.pollInterval)),this._latencyMonitor.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this._latencyMonitor.on("data",this._onLatencyMeasure),this._started=!0,qr("started")}async stop(){this._timer&&this._timer.clear(),this._latencyMonitor.removeListener("data",this._onLatencyMeasure),this._latencyMonitor.stop(),this._started=!1,await this._close(),qr("stopped")}async _close(){let e=[];for(let r of this.connections.values())for(let n of r)e.push(n.close());await Promise.all(e),this.connections.clear()}setPeerValue(e,r){if(r<0||r>1)throw new Error("value should be a number between 0 and 1");this._peerValues.set(e.toB58String(),r)}async _checkMetrics(){if(this._libp2p.metrics)try{let e=this._libp2p.metrics.global.movingAverages,r=e.dataReceived[this._options.movingAverageInterval].movingAverage();await this._checkMaxLimit("maxReceivedData",r);let n=e.dataSent[this._options.movingAverageInterval].movingAverage();await this._checkMaxLimit("maxSentData",n);let i=r+n;await this._checkMaxLimit("maxData",i),qr("metrics update",i)}finally{this._timer=PE(this._checkMetrics,this._options.pollInterval)}}async onConnect(e){let r=e.remotePeer,n=r.toB58String(),i=this.connections.get(n);this.emit("peer:connect",e),i?i.push(e):this.connections.set(n,[e]),await this._libp2p.peerStore.keyBook.set(r,r.pubKey),this._peerValues.has(n)||this._peerValues.set(n,this._options.defaultPeerValue),await this._checkMaxLimit("maxConnections",this.size)}onDisconnect(e){let r=e.remotePeer.toB58String(),n=this.connections.get(r);n&&n.length>1?(n=n.filter(i=>i.id!==e.id),this.connections.set(r,n)):n&&(this.connections.delete(r),this._peerValues.delete(e.remotePeer.toB58String()),this.emit("peer:disconnect",e),this._libp2p.metrics&&this._libp2p.metrics.onPeerDisconnected(e.remotePeer))}get(e){let r=this.getAll(e);return r.length?r[0]:null}getAll(e){if(!eO.isPeerId(e))throw BE(new Error("peerId must be an instance of peer-id"),OE);let r=e.toB58String(),n=this.connections.get(r);return n?n.filter(i=>i.stat.status==="open"):[]}_onLatencyMeasure(e){this._checkMaxLimit("maxEventLoopDelay",e.avgMs).catch(r=>{qr.error(r)})}async _checkMaxLimit(e,r){let n=this._options[e];qr("checking limit of %s. current value: %d of %d",e,r,n),r>n&&(qr("%s: limit exceeded: %s, %d",this._peerId,e,r),await this._maybeDisconnectOne())}async _maybeDisconnectOne(){if(this._options.minConnections<this.connections.size){let e=Array.from(new Map([...this._peerValues.entries()].sort((n,i)=>n[1]-i[1])));qr("%s: sorted peer values: %j",this._peerId,e);let r=e[0];if(r){let n=r[0];qr("%s: lowest value peer is %s",this._peerId,n),qr("%s: closing a connection to %j",this._peerId,n);for(let i of this.connections.values())if(i[0].remotePeer.toB58String()===n){i[0].close().catch(s=>{qr.error(s)}),this.onDisconnect(i[0]);break}}}}};kE.exports=LE});var ME=w((LF,UE)=>{"use strict";var iO=ya(),sO=async function*(t,e){yield*(await iO(t)).sort(e)};UE.exports=sO});var $E=w((kF,jE)=>{"use strict";var FE=Te(),oO=Vs(),KE=va(),aO=ya(),{pipe:cO}=kr(),uO=ma(),lO=ME(),ni=Object.assign(FE("libp2p:connection-manager:auto-dialler"),{error:FE("libp2p:connection-manager:auto-dialler:err")}),fO={enabled:!0,minConnections:0,autoDialInterval:1e4},VE=class{constructor(e,r={}){this._options=oO.call({ignoreUndefined:!0},fO,r),this._libp2p=e,this._running=!1,this._autoDialTimeout=null,this._autoDial=this._autoDial.bind(this),ni("options: %j",this._options)}async start(){if(!this._options.enabled){ni("not enabled");return}this._running=!0,this._autoDial().catch(e=>{ni.error("could start autodial",e)}),ni("started")}async stop(){if(!this._options.enabled){ni("not enabled");return}this._running=!1,this._autoDialTimeout&&this._autoDialTimeout.clear(),ni("stopped")}async _autoDial(){let e=this._options.minConnections;if(this._libp2p.connections.size>=e){this._autoDialTimeout=KE(this._autoDial,this._options.autoDialInterval);return}let r=await cO(this._libp2p.peerStore.getPeers(),n=>uO(n,i=>!i.id.equals(this._libp2p.peerId)),n=>lO(n,(i,s)=>s.protocols&&s.protocols.length&&(!i.protocols||!i.protocols.length)||s.id.pubKey&&!i.id.pubKey?1:-1),n=>aO(n));for(let n=0;this._running&&n<r.length&&this._libp2p.connections.size<e;n++){let i=r[n];if(!this._libp2p.connectionManager.get(i.id)){ni("connecting to a peerStore stored peer %s",i.id.toB58String());try{await this._libp2p.dialer.connectToPeer(i.id)}catch(s){ni.error("could not connect to peerStore stored peer",s)}}}!this._running||(this._autoDialTimeout=KE(this._autoDial,this._options.autoDialInterval))}};jE.exports=VE});var tw=w((qF,ew)=>{"use strict";var{Multiaddr:Nh}=qt(),HE=ce("dns4"),zE=ce("dns6"),GE=ce("dnsaddr"),ji=Ut(ce("dns"),GE,HE,zE),Ia=Ut(ce("ip4"),ce("ip6")),zs=Ut(ve(Ia,ce("tcp")),ve(ji,ce("tcp"))),Oh=ve(Ia,ce("udp")),WE=ve(Oh,ce("utp")),YE=ve(Oh,ce("quic")),Gs=Ut(ve(zs,ce("ws")),ve(ji,ce("ws"))),Ws=Ut(ve(zs,ce("wss")),ve(ji,ce("wss"))),yu=Ut(ve(zs,ce("http")),ve(Ia,ce("http")),ve(ji,ce("http"))),gu=Ut(ve(zs,ce("https")),ve(Ia,ce("https")),ve(ji,ce("https"))),Dh=Ut(ve(Gs,ce("p2p-webrtc-star"),ce("p2p")),ve(Ws,ce("p2p-webrtc-star"),ce("p2p")),ve(Gs,ce("p2p-webrtc-star")),ve(Ws,ce("p2p-webrtc-star"))),hO=Ut(ve(Gs,ce("p2p-websocket-star"),ce("p2p")),ve(Ws,ce("p2p-websocket-star"),ce("p2p")),ve(Gs,ce("p2p-websocket-star")),ve(Ws,ce("p2p-websocket-star"))),Lh=Ut(ve(yu,ce("p2p-webrtc-direct"),ce("p2p")),ve(gu,ce("p2p-webrtc-direct"),ce("p2p")),ve(yu,ce("p2p-webrtc-direct")),ve(gu,ce("p2p-webrtc-direct"))),Ys=Ut(Gs,Ws,yu,gu,Dh,Lh,zs,WE,YE,ji),dO=Ut(ve(Ys,ce("p2p-stardust"),ce("p2p")),ve(Ys,ce("p2p-stardust"))),ii=Ut(ve(Ys,ce("p2p")),Dh,Lh,ce("p2p")),QE=Ut(ve(ii,ce("p2p-circuit"),ii),ve(ii,ce("p2p-circuit")),ve(ce("p2p-circuit"),ii),ve(Ys,ce("p2p-circuit")),ve(ce("p2p-circuit"),Ys),ce("p2p-circuit")),XE=()=>Ut(ve(QE,XE),QE),Qs=XE(),ZE=Ut(ve(Qs,ii,Qs),ve(ii,Qs),ve(Qs,ii),Qs,ii);ew.exports={DNS:ji,DNS4:HE,DNS6:zE,DNSADDR:GE,IP:Ia,TCP:zs,UDP:Oh,QUIC:YE,UTP:WE,HTTP:yu,HTTPS:gu,WebSockets:Gs,WebSocketsSecure:Ws,WebSocketStar:hO,WebRTCStar:Dh,WebRTCDirect:Lh,Reliable:Ys,Stardust:dO,Circuit:Qs,P2P:ZE,IPFS:ZE};function JE(t){function e(r){if(!Nh.isMultiaddr(r))try{r=new Nh(r)}catch(i){return!1}let n=t(r.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return e}function ve(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:JE(e),partialMatch:e}}function Ut(...t){function e(n){let i=null;return t.some(s=>{let o=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return o?(i=o,!0):!1}),i}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:JE(e),partialMatch:e}}function ce(t){let e=t;function r(i){let s;if(typeof i=="string"||i instanceof Uint8Array)try{s=new Nh(i)}catch(a){return!1}else s=i;let o=s.protoNames();return o.length===1&&o[0]===e}function n(i){return i.length===0?null:i[0]===e?i.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}});var Xs=w((UF,nw)=>{"use strict";var $i=pn(),mu=$i.Reader,rw=$i.Writer,_r=$i.util,At=$i.roots["libp2p-circuit"]||($i.roots["libp2p-circuit"]={});At.CircuitRelay=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.type=1,t.prototype.srcPeer=null,t.prototype.dstPeer=null,t.prototype.code=100,t.encode=function(r,n){return n||(n=rw.create()),r.type!=null&&Object.hasOwnProperty.call(r,"type")&&n.uint32(8).int32(r.type),r.srcPeer!=null&&Object.hasOwnProperty.call(r,"srcPeer")&&At.CircuitRelay.Peer.encode(r.srcPeer,n.uint32(18).fork()).ldelim(),r.dstPeer!=null&&Object.hasOwnProperty.call(r,"dstPeer")&&At.CircuitRelay.Peer.encode(r.dstPeer,n.uint32(26).fork()).ldelim(),r.code!=null&&Object.hasOwnProperty.call(r,"code")&&n.uint32(32).int32(r.code),n},t.decode=function(r,n){r instanceof mu||(r=mu.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new At.CircuitRelay;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.type=r.int32();break;case 2:s.srcPeer=At.CircuitRelay.Peer.decode(r,r.uint32());break;case 3:s.dstPeer=At.CircuitRelay.Peer.decode(r,r.uint32());break;case 4:s.code=r.int32();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof At.CircuitRelay)return r;var n=new At.CircuitRelay;switch(r.type){case"HOP":case 1:n.type=1;break;case"STOP":case 2:n.type=2;break;case"STATUS":case 3:n.type=3;break;case"CAN_HOP":case 4:n.type=4;break}if(r.srcPeer!=null){if(typeof r.srcPeer!="object")throw TypeError(".CircuitRelay.srcPeer: object expected");n.srcPeer=At.CircuitRelay.Peer.fromObject(r.srcPeer)}if(r.dstPeer!=null){if(typeof r.dstPeer!="object")throw TypeError(".CircuitRelay.dstPeer: object expected");n.dstPeer=At.CircuitRelay.Peer.fromObject(r.dstPeer)}switch(r.code){case"SUCCESS":case 100:n.code=100;break;case"HOP_SRC_ADDR_TOO_LONG":case 220:n.code=220;break;case"HOP_DST_ADDR_TOO_LONG":case 221:n.code=221;break;case"HOP_SRC_MULTIADDR_INVALID":case 250:n.code=250;break;case"HOP_DST_MULTIADDR_INVALID":case 251:n.code=251;break;case"HOP_NO_CONN_TO_DST":case 260:n.code=260;break;case"HOP_CANT_DIAL_DST":case 261:n.code=261;break;case"HOP_CANT_OPEN_DST_STREAM":case 262:n.code=262;break;case"HOP_CANT_SPEAK_RELAY":case 270:n.code=270;break;case"HOP_CANT_RELAY_TO_SELF":case 280:n.code=280;break;case"STOP_SRC_ADDR_TOO_LONG":case 320:n.code=320;break;case"STOP_DST_ADDR_TOO_LONG":case 321:n.code=321;break;case"STOP_SRC_MULTIADDR_INVALID":case 350:n.code=350;break;case"STOP_DST_MULTIADDR_INVALID":case 351:n.code=351;break;case"STOP_RELAY_REFUSED":case 390:n.code=390;break;case"MALFORMED_MESSAGE":case 400:n.code=400;break}return n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.type=n.enums===String?"HOP":1,i.srcPeer=null,i.dstPeer=null,i.code=n.enums===String?"SUCCESS":100),r.type!=null&&r.hasOwnProperty("type")&&(i.type=n.enums===String?At.CircuitRelay.Type[r.type]:r.type),r.srcPeer!=null&&r.hasOwnProperty("srcPeer")&&(i.srcPeer=At.CircuitRelay.Peer.toObject(r.srcPeer,n)),r.dstPeer!=null&&r.hasOwnProperty("dstPeer")&&(i.dstPeer=At.CircuitRelay.Peer.toObject(r.dstPeer,n)),r.code!=null&&r.hasOwnProperty("code")&&(i.code=n.enums===String?At.CircuitRelay.Status[r.code]:r.code),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,$i.util.toJSONOptions)},t.Status=function(){var e={},r=Object.create(e);return r[e[100]="SUCCESS"]=100,r[e[220]="HOP_SRC_ADDR_TOO_LONG"]=220,r[e[221]="HOP_DST_ADDR_TOO_LONG"]=221,r[e[250]="HOP_SRC_MULTIADDR_INVALID"]=250,r[e[251]="HOP_DST_MULTIADDR_INVALID"]=251,r[e[260]="HOP_NO_CONN_TO_DST"]=260,r[e[261]="HOP_CANT_DIAL_DST"]=261,r[e[262]="HOP_CANT_OPEN_DST_STREAM"]=262,r[e[270]="HOP_CANT_SPEAK_RELAY"]=270,r[e[280]="HOP_CANT_RELAY_TO_SELF"]=280,r[e[320]="STOP_SRC_ADDR_TOO_LONG"]=320,r[e[321]="STOP_DST_ADDR_TOO_LONG"]=321,r[e[350]="STOP_SRC_MULTIADDR_INVALID"]=350,r[e[351]="STOP_DST_MULTIADDR_INVALID"]=351,r[e[390]="STOP_RELAY_REFUSED"]=390,r[e[400]="MALFORMED_MESSAGE"]=400,r}(),t.Type=function(){var e={},r=Object.create(e);return r[e[1]="HOP"]=1,r[e[2]="STOP"]=2,r[e[3]="STATUS"]=3,r[e[4]="CAN_HOP"]=4,r}(),t.Peer=function(){function e(r){if(this.addrs=[],r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}return e.prototype.id=_r.newBuffer([]),e.prototype.addrs=_r.emptyArray,e.encode=function(n,i){if(i||(i=rw.create()),i.uint32(10).bytes(n.id),n.addrs!=null&&n.addrs.length)for(var s=0;s<n.addrs.length;++s)i.uint32(18).bytes(n.addrs[s]);return i},e.decode=function(n,i){n instanceof mu||(n=mu.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new At.CircuitRelay.Peer;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.id=n.bytes();break;case 2:o.addrs&&o.addrs.length||(o.addrs=[]),o.addrs.push(n.bytes());break;default:n.skipType(a&7);break}}if(!o.hasOwnProperty("id"))throw _r.ProtocolError("missing required 'id'",{instance:o});return o},e.fromObject=function(n){if(n instanceof At.CircuitRelay.Peer)return n;var i=new At.CircuitRelay.Peer;if(n.id!=null&&(typeof n.id=="string"?_r.base64.decode(n.id,i.id=_r.newBuffer(_r.base64.length(n.id)),0):n.id.length&&(i.id=n.id)),n.addrs){if(!Array.isArray(n.addrs))throw TypeError(".CircuitRelay.Peer.addrs: array expected");i.addrs=[];for(var s=0;s<n.addrs.length;++s)typeof n.addrs[s]=="string"?_r.base64.decode(n.addrs[s],i.addrs[s]=_r.newBuffer(_r.base64.length(n.addrs[s])),0):n.addrs[s].length&&(i.addrs[s]=n.addrs[s])}return i},e.toObject=function(n,i){i||(i={});var s={};if((i.arrays||i.defaults)&&(s.addrs=[]),i.defaults&&(i.bytes===String?s.id="":(s.id=[],i.bytes!==Array&&(s.id=_r.newBuffer(s.id)))),n.id!=null&&n.hasOwnProperty("id")&&(s.id=i.bytes===String?_r.base64.encode(n.id,0,n.id.length):i.bytes===Array?Array.prototype.slice.call(n.id):n.id),n.addrs&&n.addrs.length){s.addrs=[];for(var o=0;o<n.addrs.length;++o)s.addrs[o]=i.bytes===String?_r.base64.encode(n.addrs[o],0,n.addrs[o].length):i.bytes===Array?Array.prototype.slice.call(n.addrs[o]):n.addrs[o]}return s},e.prototype.toJSON=function(){return this.constructor.toObject(this,$i.util.toJSONOptions)},e}(),t}();nw.exports=At});var sw=w((MF,iw)=>{iw.exports=function(e){if(e){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}});var aw=w((KF,ow)=>{ow.exports=class extends Error{constructor(e,r){super(e||"The operation was aborted");this.type="aborted",this.code=r||"ABORT_ERR"}}});var vu=w((VF,Hi)=>{var pO=sw(),kh=aw(),cw=(t,e,r)=>qh(t,Array.isArray(e)?e:[{signal:e,options:r}]),qh=(t,e)=>{t=pO(t),e=e.map(({signal:n,options:i})=>({signal:n,options:i||{}}));async function*r(){let n,i=()=>{n&&n()};for(let{signal:s}of e)s.addEventListener("abort",i);for(;;){let s;try{for(let{signal:a,options:c}of e)if(a.aborted){let{abortMessage:u,abortCode:l}=c;throw new kh(u,l)}let o=new Promise((a,c)=>{n=()=>{let{options:u}=e.find(({signal:h})=>h.aborted),{abortMessage:l,abortCode:f}=u;c(new kh(l,f))}});s=await Promise.race([o,t.next()]),n=null}catch(o){for(let{signal:u}of e)u.removeEventListener("abort",i);let a=e.find(({signal:u})=>u.aborted),c=o.type==="aborted"&&a;if(c&&a.options.onAbort&&await a.options.onAbort(t),typeof t.return=="function")try{let u=t.return();u instanceof Promise&&u.catch(l=>{a.options.onReturnError!=null&&a.options.onReturnError(l)})}catch(u){a.options.onReturnError!=null&&a.options.onReturnError(u)}if(c&&a.options.returnOnAbort)return;throw o}if(s.done)break;yield s.value}for(let{signal:s}of e)s.removeEventListener("abort",i)}return r()},uw=(t,e,r)=>lw(t,Array.isArray(e)?e:[{signal:e,options:r}]),lw=(t,e)=>r=>t(qh(r,e)),yO=(t,e,r)=>gO(t,Array.isArray(e)?e:[{signal:e,options:r}]),gO=(t,e)=>({sink:lw(t.sink,e),source:qh(t.source,e)});Hi.exports=cw;Hi.exports.AbortError=kh;Hi.exports.source=cw;Hi.exports.sink=uw;Hi.exports.transform=uw;Hi.exports.duplex=yO});var dw=w((jF,hw)=>{"use strict";var{source:fw}=vu(),mO=Te(),vO=mO("libp2p:stream:converter");function bO({stream:t,remoteAddr:e,localAddr:r},n={}){let{sink:i,source:s}=t,o={async sink(c){n.signal&&(c=fw(c,n.signal));try{await i(c)}catch(u){u.type!=="aborted"&&vO(u)}a()},source:n.signal?fw(s,n.signal):s,conn:t,localAddr:r,remoteAddr:e,timeline:{open:Date.now(),close:void 0},close(){return i(new Uint8Array(0)),a()}};function a(){return o.timeline.close||(o.timeline.close=Date.now()),Promise.resolve()}return o}hw.exports=bO});var Ta=w(($F,pw)=>{"use strict";pw.exports={relay:"/libp2p/circuit/relay/0.1.0"}});var gw=w((HF,yw)=>{"use strict";var{EventEmitter:EO}=Qt(),{Multiaddr:wO}=qt();yw.exports=t=>{let e=new Map;async function r(s){let o=String(s).split("/p2p-circuit").find(u=>u!==""),a=await t.dial(new wO(o)),c=a.remoteAddr.encapsulate("/p2p-circuit");e.set(a.remotePeer.toB58String(),c),i.emit("listening")}function n(){let s=[];for(let o of e.values())s.push(o);return s}let i=Object.assign(new EO,{close:()=>Promise.resolve(),listen:r,getAddrs:n});return t.connectionManager.on("peer:disconnect",s=>{e.delete(s.remotePeer.toB58String())&&i.emit("close")}),i}});var Uh=w((zF,bw)=>{"use strict";var{Multiaddr:mw}=qt(),{CircuitRelay:zi}=Xs();function vw(t,e){t.write({type:zi.Type.STATUS,code:e})}function _O(t,e){try{t.dstPeer&&t.dstPeer.addrs&&t.dstPeer.addrs.forEach(r=>new mw(r))}catch(r){throw vw(e,t.type===zi.Type.HOP?zi.Status.HOP_DST_MULTIADDR_INVALID:zi.Status.STOP_DST_MULTIADDR_INVALID),r}try{t.srcPeer&&t.srcPeer.addrs&&t.srcPeer.addrs.forEach(r=>new mw(r))}catch(r){throw vw(e,t.type===zi.Type.HOP?zi.Status.HOP_SRC_MULTIADDR_INVALID:zi.Status.STOP_SRC_MULTIADDR_INVALID),r}}bw.exports={validateAddrs:_O}});var _w=w(bu=>{"use strict";bu.byteLength=SO;bu.toByteArray=CO;bu.fromByteArray=RO;var on=[],xr=[],xO=typeof Uint8Array!="undefined"?Uint8Array:Array,Mh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Gi=0,Ew=Mh.length;Gi<Ew;++Gi)on[Gi]=Mh[Gi],xr[Mh.charCodeAt(Gi)]=Gi;var Gi,Ew;xr["-".charCodeAt(0)]=62;xr["_".charCodeAt(0)]=63;function ww(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function SO(t){var e=ww(t),r=e[0],n=e[1];return(r+n)*3/4-n}function AO(t,e,r){return(e+r)*3/4-r}function CO(t){var e,r=ww(t),n=r[0],i=r[1],s=new xO(AO(t,n,i)),o=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)e=xr[t.charCodeAt(c)]<<18|xr[t.charCodeAt(c+1)]<<12|xr[t.charCodeAt(c+2)]<<6|xr[t.charCodeAt(c+3)],s[o++]=e>>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=xr[t.charCodeAt(c)]<<2|xr[t.charCodeAt(c+1)]>>4,s[o++]=e&255),i===1&&(e=xr[t.charCodeAt(c)]<<10|xr[t.charCodeAt(c+1)]<<4|xr[t.charCodeAt(c+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function IO(t){return on[t>>18&63]+on[t>>12&63]+on[t>>6&63]+on[t&63]}function TO(t,e,r){for(var n,i=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),i.push(IO(n));return i.join("")}function RO(t){for(var e,r=t.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(TO(t,o,o+s>a?a:o+s));return n===1?(e=t[r-1],i.push(on[e>>2]+on[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],i.push(on[e>>10]+on[e>>4&63]+on[e<<2&63]+"=")),i.join("")}});var xw=w(Fh=>{Fh.read=function(t,e,r,n,i){var s,o,a=i*8-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=s*256+t[e+f],f+=h,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=o*256+t[e+f],f+=h,l-=8);if(s===0)s=1-u;else{if(s===c)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-u}return(p?-1:1)*o*Math.pow(2,s-n)};Fh.write=function(t,e,r,n,i,s){var o,a,c,u=s*8-i-1,l=(1<<u)-1,f=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,d=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+f>=1?e+=h/c:e+=h*Math.pow(2,1-f),e*c>=2&&(o++,c/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(e*c-1)*Math.pow(2,i),o=o+f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=a&255,p+=d,a/=256,i-=8);for(o=o<<i|a,u+=i;u>0;t[r+p]=o&255,p+=d,o/=256,u-=8);t[r+p-d]|=g*128}});var oi=w(to=>{"use strict";var Kh=_w(),Zs=xw(),Sw=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;to.Buffer=F;to.SlowBuffer=LO;to.INSPECT_MAX_BYTES=50;var Eu=2147483647;to.kMaxLength=Eu;F.TYPED_ARRAY_SUPPORT=BO();!F.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function BO(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch(t){return!1}}Object.defineProperty(F.prototype,"parent",{enumerable:!0,get:function(){if(!!F.isBuffer(this))return this.buffer}});Object.defineProperty(F.prototype,"offset",{enumerable:!0,get:function(){if(!!F.isBuffer(this))return this.byteOffset}});function Cn(t){if(t>Eu)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,F.prototype),e}function F(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Vh(t)}return Aw(t,e,r)}F.poolSize=8192;function Aw(t,e,r){if(typeof t=="string")return NO(t,e);if(ArrayBuffer.isView(t))return OO(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(an(t,ArrayBuffer)||t&&an(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(an(t,SharedArrayBuffer)||t&&an(t.buffer,SharedArrayBuffer)))return $h(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(n!=null&&n!==t)return F.from(n,e,r);let i=DO(t);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return F.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}F.from=function(t,e,r){return Aw(t,e,r)};Object.setPrototypeOf(F.prototype,Uint8Array.prototype);Object.setPrototypeOf(F,Uint8Array);function Cw(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function PO(t,e,r){return Cw(t),t<=0?Cn(t):e!==void 0?typeof r=="string"?Cn(t).fill(e,r):Cn(t).fill(e):Cn(t)}F.alloc=function(t,e,r){return PO(t,e,r)};function Vh(t){return Cw(t),Cn(t<0?0:Hh(t)|0)}F.allocUnsafe=function(t){return Vh(t)};F.allocUnsafeSlow=function(t){return Vh(t)};function NO(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!F.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=Iw(t,e)|0,n=Cn(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function jh(t){let e=t.length<0?0:Hh(t.length)|0,r=Cn(e);for(let n=0;n<e;n+=1)r[n]=t[n]&255;return r}function OO(t){if(an(t,Uint8Array)){let e=new Uint8Array(t);return $h(e.buffer,e.byteOffset,e.byteLength)}return jh(t)}function $h(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return e===void 0&&r===void 0?n=new Uint8Array(t):r===void 0?n=new Uint8Array(t,e):n=new Uint8Array(t,e,r),Object.setPrototypeOf(n,F.prototype),n}function DO(t){if(F.isBuffer(t)){let e=Hh(t.length)|0,r=Cn(e);return r.length===0||t.copy(r,0,0,e),r}if(t.length!==void 0)return typeof t.length!="number"||Wh(t.length)?Cn(0):jh(t);if(t.type==="Buffer"&&Array.isArray(t.data))return jh(t.data)}function Hh(t){if(t>=Eu)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Eu.toString(16)+" bytes");return t|0}function LO(t){return+t!=t&&(t=0),F.alloc(+t)}F.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==F.prototype};F.compare=function(e,r){if(an(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),an(r,Uint8Array)&&(r=F.from(r,r.offset,r.byteLength)),!F.isBuffer(e)||!F.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let n=e.length,i=r.length;for(let s=0,o=Math.min(n,i);s<o;++s)if(e[s]!==r[s]){n=e[s],i=r[s];break}return n<i?-1:i<n?1:0};F.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};F.concat=function(e,r){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return F.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<e.length;++n)r+=e[n].length;let i=F.allocUnsafe(r),s=0;for(n=0;n<e.length;++n){let o=e[n];if(an(o,Uint8Array))s+o.length>i.length?(F.isBuffer(o)||(o=F.from(o)),o.copy(i,s)):Uint8Array.prototype.set.call(i,o,s);else if(F.isBuffer(o))o.copy(i,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=o.length}return i};function Iw(t,e){if(F.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||an(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Gh(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Mw(t).length;default:if(i)return n?-1:Gh(t).length;e=(""+e).toLowerCase(),i=!0}}F.byteLength=Iw;function kO(t,e,r){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return zO(this,e,r);case"utf8":case"utf-8":return Bw(this,e,r);case"ascii":return $O(this,e,r);case"latin1":case"binary":return HO(this,e,r);case"base64":return VO(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return GO(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}F.prototype._isBuffer=!0;function Wi(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}F.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<e;r+=2)Wi(this,r,r+1);return this};F.prototype.swap32=function(){let e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<e;r+=4)Wi(this,r,r+3),Wi(this,r+1,r+2);return this};F.prototype.swap64=function(){let e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<e;r+=8)Wi(this,r,r+7),Wi(this,r+1,r+6),Wi(this,r+2,r+5),Wi(this,r+3,r+4);return this};F.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?Bw(this,0,e):kO.apply(this,arguments)};F.prototype.toLocaleString=F.prototype.toString;F.prototype.equals=function(e){if(!F.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:F.compare(this,e)===0};F.prototype.inspect=function(){let e="",r=to.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"};Sw&&(F.prototype[Sw]=F.prototype.inspect);F.prototype.compare=function(e,r,n,i,s){if(an(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),!F.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),n===void 0&&(n=e?e.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),r<0||n>e.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,s>>>=0,this===e)return 0;let o=s-i,a=n-r,c=Math.min(o,a),u=this.slice(i,s),l=e.slice(r,n);for(let f=0;f<c;++f)if(u[f]!==l[f]){o=u[f],a=l[f];break}return o<a?-1:a<o?1:0};function Tw(t,e,r,n,i){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Wh(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof e=="string"&&(e=F.from(e,n)),F.isBuffer(e))return e.length===0?-1:Rw(t,e,r,n,i);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Rw(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Rw(t,e,r,n,i){let s=1,o=t.length,a=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,o/=2,a/=2,r/=2}function c(l,f){return s===1?l[f]:l.readUInt16BE(f*s)}let u;if(i){let l=-1;for(u=r;u<o;u++)if(c(t,u)===c(e,l===-1?0:u-l)){if(l===-1&&(l=u),u-l+1===a)return l*s}else l!==-1&&(u-=u-l),l=-1}else for(r+a>o&&(r=o-a),u=r;u>=0;u--){let l=!0;for(let f=0;f<a;f++)if(c(t,u+f)!==c(e,f)){l=!1;break}if(l)return u}return-1}F.prototype.includes=function(e,r,n){return this.indexOf(e,r,n)!==-1};F.prototype.indexOf=function(e,r,n){return Tw(this,e,r,n,!0)};F.prototype.lastIndexOf=function(e,r,n){return Tw(this,e,r,n,!1)};function qO(t,e,r,n){r=Number(r)||0;let i=t.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let s=e.length;n>s/2&&(n=s/2);let o;for(o=0;o<n;++o){let a=parseInt(e.substr(o*2,2),16);if(Wh(a))return o;t[r+o]=a}return o}function UO(t,e,r,n){return wu(Gh(e,t.length-r),t,r,n)}function MO(t,e,r,n){return wu(XO(e),t,r,n)}function FO(t,e,r,n){return wu(Mw(e),t,r,n)}function KO(t,e,r,n){return wu(ZO(e,t.length-r),t,r,n)}F.prototype.write=function(e,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-r;if((n===void 0||n>s)&&(n=s),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return qO(this,e,r,n);case"utf8":case"utf-8":return UO(this,e,r,n);case"ascii":case"latin1":case"binary":return MO(this,e,r,n);case"base64":return FO(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return KO(this,e,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};F.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function VO(t,e,r){return e===0&&r===t.length?Kh.fromByteArray(t):Kh.fromByteArray(t.slice(e,r))}function Bw(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i<r;){let s=t[i],o=null,a=s>239?4:s>223?3:s>191?2:1;if(i+a<=r){let c,u,l,f;switch(a){case 1:s<128&&(o=s);break;case 2:c=t[i+1],(c&192)==128&&(f=(s&31)<<6|c&63,f>127&&(o=f));break;case 3:c=t[i+1],u=t[i+2],(c&192)==128&&(u&192)==128&&(f=(s&15)<<12|(c&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:c=t[i+1],u=t[i+2],l=t[i+3],(c&192)==128&&(u&192)==128&&(l&192)==128&&(f=(s&15)<<18|(c&63)<<12|(u&63)<<6|l&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=a}return jO(n)}var Pw=4096;function jO(t){let e=t.length;if(e<=Pw)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Pw));return r}function $O(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]&127);return n}function HO(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function zO(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let s=e;s<r;++s)i+=JO[t[s]];return i}function GO(t,e,r){let n=t.slice(e,r),i="";for(let s=0;s<n.length-1;s+=2)i+=String.fromCharCode(n[s]+n[s+1]*256);return i}F.prototype.slice=function(e,r){let n=this.length;e=~~e,r=r===void 0?n:~~r,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<e&&(r=e);let i=this.subarray(e,r);return Object.setPrototypeOf(i,F.prototype),i};function Ct(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}F.prototype.readUintLE=F.prototype.readUIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e],s=1,o=0;for(;++o<r&&(s*=256);)i+=this[e+o]*s;return i};F.prototype.readUintBE=F.prototype.readUIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e+--r],s=1;for(;r>0&&(s*=256);)i+=this[e+--r]*s;return i};F.prototype.readUint8=F.prototype.readUInt8=function(e,r){return e=e>>>0,r||Ct(e,1,this.length),this[e]};F.prototype.readUint16LE=F.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||Ct(e,2,this.length),this[e]|this[e+1]<<8};F.prototype.readUint16BE=F.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||Ct(e,2,this.length),this[e]<<8|this[e+1]};F.prototype.readUint32LE=F.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};F.prototype.readUint32BE=F.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};F.prototype.readBigUInt64LE=si(function(e){e=e>>>0,eo(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(i)+(BigInt(s)<<BigInt(32))});F.prototype.readBigUInt64BE=si(function(e){e=e>>>0,eo(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(s)});F.prototype.readIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e],s=1,o=0;for(;++o<r&&(s*=256);)i+=this[e+o]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*r)),i};F.prototype.readIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=r,s=1,o=this[e+--i];for(;i>0&&(s*=256);)o+=this[e+--i]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*r)),o};F.prototype.readInt8=function(e,r){return e=e>>>0,r||Ct(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};F.prototype.readInt16LE=function(e,r){e=e>>>0,r||Ct(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};F.prototype.readInt16BE=function(e,r){e=e>>>0,r||Ct(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};F.prototype.readInt32LE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};F.prototype.readInt32BE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};F.prototype.readBigInt64LE=si(function(e){e=e>>>0,eo(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});F.prototype.readBigInt64BE=si(function(e){e=e>>>0,eo(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(i)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n)});F.prototype.readFloatLE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),Zs.read(this,e,!0,23,4)};F.prototype.readFloatBE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),Zs.read(this,e,!1,23,4)};F.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||Ct(e,8,this.length),Zs.read(this,e,!0,52,8)};F.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||Ct(e,8,this.length),Zs.read(this,e,!1,52,8)};function er(t,e,r,n,i,s){if(!F.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<s)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}F.prototype.writeUintLE=F.prototype.writeUIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;er(this,e,r,n,a,0)}let s=1,o=0;for(this[r]=e&255;++o<n&&(s*=256);)this[r+o]=e/s&255;return r+n};F.prototype.writeUintBE=F.prototype.writeUIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;er(this,e,r,n,a,0)}let s=n-1,o=1;for(this[r+s]=e&255;--s>=0&&(o*=256);)this[r+s]=e/o&255;return r+n};F.prototype.writeUint8=F.prototype.writeUInt8=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,1,255,0),this[r]=e&255,r+1};F.prototype.writeUint16LE=F.prototype.writeUInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeUint16BE=F.prototype.writeUInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeUint32LE=F.prototype.writeUInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};F.prototype.writeUint32BE=F.prototype.writeUInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function Nw(t,e,r,n,i){Uw(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,r}function Ow(t,e,r,n,i){Uw(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s=s>>8,t[r+6]=s,s=s>>8,t[r+5]=s,s=s>>8,t[r+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o=o>>8,t[r+2]=o,o=o>>8,t[r+1]=o,o=o>>8,t[r]=o,r+8}F.prototype.writeBigUInt64LE=si(function(e,r=0){return Nw(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeBigUInt64BE=si(function(e,r=0){return Ow(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let c=Math.pow(2,8*n-1);er(this,e,r,n,c-1,-c)}let s=0,o=1,a=0;for(this[r]=e&255;++s<n&&(o*=256);)e<0&&a===0&&this[r+s-1]!==0&&(a=1),this[r+s]=(e/o>>0)-a&255;return r+n};F.prototype.writeIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let c=Math.pow(2,8*n-1);er(this,e,r,n,c-1,-c)}let s=n-1,o=1,a=0;for(this[r+s]=e&255;--s>=0&&(o*=256);)e<0&&a===0&&this[r+s+1]!==0&&(a=1),this[r+s]=(e/o>>0)-a&255;return r+n};F.prototype.writeInt8=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};F.prototype.writeInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};F.prototype.writeInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};F.prototype.writeBigInt64LE=si(function(e,r=0){return Nw(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});F.prototype.writeBigInt64BE=si(function(e,r=0){return Ow(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Dw(t,e,r,n,i,s){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Lw(t,e,r,n,i){return e=+e,r=r>>>0,i||Dw(t,e,r,4,34028234663852886e22,-34028234663852886e22),Zs.write(t,e,r,n,23,4),r+4}F.prototype.writeFloatLE=function(e,r,n){return Lw(this,e,r,!0,n)};F.prototype.writeFloatBE=function(e,r,n){return Lw(this,e,r,!1,n)};function kw(t,e,r,n,i){return e=+e,r=r>>>0,i||Dw(t,e,r,8,17976931348623157e292,-17976931348623157e292),Zs.write(t,e,r,n,52,8),r+8}F.prototype.writeDoubleLE=function(e,r,n){return kw(this,e,r,!0,n)};F.prototype.writeDoubleBE=function(e,r,n){return kw(this,e,r,!1,n)};F.prototype.copy=function(e,r,n,i){if(!F.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i<n&&(i=n),i===n||e.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r<i-n&&(i=e.length-r+n);let s=i-n;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(e,this.subarray(n,i),r),s};F.prototype.fill=function(e,r,n,i){if(typeof e=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!F.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(e.length===1){let o=e.charCodeAt(0);(i==="utf8"&&o<128||i==="latin1")&&(e=o)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let s;if(typeof e=="number")for(s=r;s<n;++s)this[s]=e;else{let o=F.isBuffer(e)?e:F.from(e,i),a=o.length;if(a===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<n-r;++s)this[s+r]=o[s%a]}return this};var Js={};function zh(t,e,r){Js[t]=class extends r{constructor(){super();Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}zh("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);zh("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError);zh("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=qw(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=qw(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n},RangeError);function qw(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function WO(t,e,r){eo(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&Ra(e,t.length-(r+1))}function Uw(t,e,r,n,i,s){if(t>r||t<e){let o=typeof e=="bigint"?"n":"",a;throw s>3?e===0||e===BigInt(0)?a=`>= 0${o} and < 2${o} ** ${(s+1)*8}${o}`:a=`>= -(2${o} ** ${(s+1)*8-1}${o}) and < 2 ** ${(s+1)*8-1}${o}`:a=`>= ${e}${o} and <= ${r}${o}`,new Js.ERR_OUT_OF_RANGE("value",a,t)}WO(n,i,s)}function eo(t,e){if(typeof t!="number")throw new Js.ERR_INVALID_ARG_TYPE(e,"number",t)}function Ra(t,e,r){throw Math.floor(t)!==t?(eo(t,r),new Js.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new Js.ERR_BUFFER_OUT_OF_BOUNDS:new Js.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var YO=/[^+/0-9A-Za-z-_]/g;function QO(t){if(t=t.split("=")[0],t=t.trim().replace(YO,""),t.length<2)return"";for(;t.length%4!=0;)t=t+"=";return t}function Gh(t,e){e=e||1/0;let r,n=t.length,i=null,s=[];for(let o=0;o<n;++o){if(r=t.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function XO(t){let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r)&255);return e}function ZO(t,e){let r,n,i,s=[];for(let o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,s.push(i),s.push(n);return s}function Mw(t){return Kh.toByteArray(QO(t))}function wu(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function an(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function Wh(t){return t!==t}var JO=function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function si(t){return typeof BigInt=="undefined"?eD:t}function eD(){throw new Error("BigInt not supported")}});var Yi=w((XF,Kw)=>{"use strict";var{Buffer:Ur}=oi(),Fw=Symbol.for("BufferList");function Ge(t){if(!(this instanceof Ge))return new Ge(t);Ge._init.call(this,t)}Ge._init=function(e){Object.defineProperty(this,Fw,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Ge.prototype._new=function(e){return new Ge(e)};Ge.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let n=0;n<this._bufs.length;n++){let i=r+this._bufs[n].length;if(e<i||n===this._bufs.length-1)return[n,e-r];r=i}};Ge.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let n=0;n<e;n++)r+=this._bufs[n].length;return r};Ge.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Ge.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Ge.prototype.copy=function(e,r,n,i){if((typeof n!="number"||n<0)&&(n=0),(typeof i!="number"||i>this.length)&&(i=this.length),n>=this.length||i<=0)return e||Ur.alloc(0);let s=!!e,o=this._offset(n),a=i-n,c=a,u=s&&r||0,l=o[1];if(n===0&&i===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Ur.concat(this._bufs,this.length);for(let f=0;f<this._bufs.length;f++)this._bufs[f].copy(e,u),u+=this._bufs[f].length;return e}if(c<=this._bufs[o[0]].length-l)return s?this._bufs[o[0]].copy(e,r,l,l+c):this._bufs[o[0]].slice(l,l+c);s||(e=Ur.allocUnsafe(a));for(let f=o[0];f<this._bufs.length;f++){let h=this._bufs[f].length-l;if(c>h)this._bufs[f].copy(e,u,l),u+=h;else{this._bufs[f].copy(e,u,l,l+c),u+=h;break}c-=h,l&&(l=0)}return e.length>u?e.slice(0,u):e};Ge.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let n=this._offset(e),i=this._offset(r),s=this._bufs.slice(n[0],i[0]+1);return i[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,i[1]),n[1]!==0&&(s[0]=s[0].slice(n[1])),this._new(s)};Ge.prototype.toString=function(e,r,n){return this.slice(r,n).toString(e)};Ge.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Ge.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};Ge.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(Ur.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(Ur.from(e));return this};Ge.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};Ge.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=Ur.from([t]):typeof t=="string"?t=Ur.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=Ur.from(t.buffer,t.byteOffset,t.byteLength):Ur.isBuffer(t)||(t=Ur.from(t)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let n=this._offset(e),i=n[0],s=n[1];for(;i<this._bufs.length;i++){let o=this._bufs[i];for(;s<o.length;)if(o.length-s>=t.length){let c=o.indexOf(t,s);if(c!==-1)return this._reverseOffset([i,c]);s=o.length-t.length+1}else{let c=this._reverseOffset([i,s]);if(this._match(c,t))return c;s++}s=0}return-1};Ge.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?Ge.prototype[r]=function(n,i){return this.slice(n,n+i)[r](0,i)}:Ge.prototype[r]=function(n=0){return this.slice(n,n+t[r])[r](0)}})(e)})();Ge.prototype._isBufferList=function(e){return e instanceof Ge||Ge.isBufferList(e)};Ge.isBufferList=function(e){return e!=null&&e[Fw]};Kw.exports=Ge});var Yh=w((ZF,$w)=>{"use strict";var Vw=ki(),{Buffer:tD}=oi(),jw=(t,e,r)=>{let n=Vw.encode(t,e,r);return jw.bytes=Vw.encode.bytes,e||tD.from(n)};$w.exports=jw});var Qw=w((JF,_u)=>{"use strict";var{Buffer:Hw}=oi(),zw=Yi(),Gw=Yh(),Qh=8,Ww=10*1024;function Yw(t){t=t||{};let e=Math.max(t.poolSize||Ww,t.minPoolSize||Qh),r=t.lengthEncoder||Gw;return async function*(i){let s=Hw.alloc(e),o=0;for await(let a of i){r(a.length,s,o);let c=s.slice(o,o+r.bytes);o+=r.bytes,s.length-o<Qh&&(s=Hw.alloc(e),o=0),yield new zw().append(c).append(a)}}}Yw.single=(t,e)=>{e=e||{};let r=e.lengthEncoder||Gw;return new zw([r(t.length),t.slice()])};_u.exports=Yw;_u.exports.MIN_POOL_SIZE=Qh;_u.exports.DEFAULT_POOL_SIZE=Ww});var Xh=w((eK,Jw)=>{"use strict";var Xw=ki(),{Buffer:rD}=oi(),nD=t=>new Proxy({},{get:(e,r)=>r[0]==="l"?t[r]:t.get(parseInt(r))}),Zw=t=>{let e=Xw.decode(rD.isBuffer(t)?t:nD(t));return Zw.bytes=Xw.decode.bytes,e};Jw.exports=Zw});var n2=w((tK,xu)=>{"use strict";var{Buffer:iD}=oi(),Zh=Yi(),sD=Xh(),e2=8,t2=1024*1024*4,r2=iD.alloc(0),ai={LENGTH:"readLength",DATA:"readData"},oD={[ai.LENGTH]:(t,e,r,n)=>{e=e.append(t);let i;try{i=n.lengthDecoder(e)}catch(s){if(e.length>n.maxLengthLength)throw Object.assign(s,{message:"message length too long",code:"ERR_MSG_LENGTH_TOO_LONG"});if(s instanceof RangeError)return{mode:ai.LENGTH,buffer:e,chunk:void 0,state:void 0,data:void 0};throw s}if(i>n.maxDataLength)throw Object.assign(new Error("message data too long"),{code:"ERR_MSG_DATA_TOO_LONG"});return t=e.shallowSlice(n.lengthDecoder.bytes),e=new Zh,n.onLength&&n.onLength(i),i<=0?(n.onData&&n.onData(r2),{mode:ai.LENGTH,chunk:t,buffer:e,data:r2}):{mode:ai.DATA,chunk:t,buffer:e,state:{dataLength:i},data:void 0}},[ai.DATA]:(t,e,r,n)=>{if(e=e.append(t),!r)throw new Error("state is required");if(e.length<r.dataLength)return{mode:ai.DATA,buffer:e,state:r,chunk:void 0,data:void 0};let{dataLength:i}=r,s=e.shallowSlice(0,i),o=e.length>i?e.shallowSlice(i):void 0;return e=new Zh,n.onData&&n.onData(s),{mode:ai.LENGTH,chunk:o,buffer:e,state:void 0,data:s}}};function Jh(t){t=t||{};let e={lengthDecoder:t.lengthDecoder||sD,maxLengthLength:t.maxLengthLength||e2,maxDataLength:t.maxDataLength||t2,onLength:t.onLength,onData:t.onData};return async function*(n){let i=new Zh,s=ai.LENGTH,o;for await(let a of n){let c=a;for(;c;){let u=oD[s](c,i,o,e);s=u.mode,c=u.chunk,i=u.buffer,o=u.state,u.data&&(yield u.data)}}if(i.length)throw Object.assign(new Error("unexpected end of input"),{code:"ERR_UNEXPECTED_EOF"})}}Jh.fromReader=(t,e)=>{let r=1,n={[Symbol.asyncIterator](){return this},next:async()=>{try{return await t.next(r)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}};return Jh({...e||{},onLength:s=>{r=s}})(n)};xu.exports=Jh;xu.exports.MAX_LENGTH_LENGTH=e2;xu.exports.MAX_DATA_LENGTH=t2});var o2=w((rK,s2)=>{"use strict";var{Buffer:aD}=oi(),i2=(t,e,r)=>(e=e||aD.allocUnsafe(4),e.writeInt32BE(t,r),e);i2.bytes=4;s2.exports=i2});var u2=w((nK,c2)=>{"use strict";var a2=t=>{if(t.length<4)throw RangeError("Could not decode int32BE");return t.readInt32BE(0)};a2.bytes=4;c2.exports=a2});var ro=w(Qi=>{"use strict";Qi.encode=Qw();Qi.decode=n2();Qi.varintEncode=Yh();Qi.varintDecode=Xh();Qi.int32BEEncode=o2();Qi.int32BEDecode=u2()});var td=w((sK,l2)=>{var ed=Yi();l2.exports=t=>{let e=async function*(){let r=yield,n=new ed;for await(let i of t){if(!r){r=yield n.append(i),n=new ed;continue}for(n.append(i);n.length>=r;){let s=n.shallowSlice(0,r);if(n.consume(r),r=yield s,!r){n.length&&(r=yield n,n=new ed);break}}}if(r)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}});var rd=w((oK,f2)=>{"use strict";var cD=()=>{let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t};f2.exports=cD});var no=w((aK,h2)=>{"use strict";var uD=td(),lD=uh(),fD=rd();h2.exports=t=>{let e=lD(),r=uD(t.source),n=fD(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:a=>i?Promise.reject(i):(n.resolve(a),s),source:r},rest:()=>e.end(),write:e.push,read:async()=>(await r.next()).value}}});var Au=w((cK,m2)=>{"use strict";var d2=Te(),Su=Object.assign(d2("libp2p:circuit:stream-handler"),{error:d2("libp2p:circuit:stream-handler:err")}),p2=ro(),hD=no(),{CircuitRelay:y2}=Xs(),g2=class{constructor({stream:e,maxLength:r=4096}){this.stream=e,this.shake=hD(this.stream),this.decoder=p2.decode.fromReader(this.shake.reader,{maxDataLength:r})}async read(){let e=await this.decoder.next();if(e.value){let r=y2.decode(e.value.slice());return Su("read message type",r.type),r}Su("read received no value, closing stream"),this.close()}write(e){Su("write message type %s",e.type),this.shake.write(p2.encode.single(y2.encode(e).finish()))}rest(){return this.shake.rest(),this.shake.stream}end(e){this.write(e),this.close()}close(){Su("closing the stream"),this.rest().sink([])}};m2.exports=g2});var sd=w((uK,id)=>{"use strict";var v2=Te(),Ba=Object.assign(v2("libp2p:circuit:stop"),{error:v2("libp2p:circuit:stop:err")}),{CircuitRelay:nd}=Xs(),dD=Ta(),pD=Au(),{validateAddrs:yD}=Uh();id.exports.handleStop=function({connection:e,request:r,streamHandler:n}){try{yD(r,n)}catch(i){return Ba.error("invalid stop request via peer %s",e.remotePeer.toB58String(),i)}return Ba("stop request is valid"),n.write({type:nd.Type.STATUS,code:nd.Status.SUCCESS}),n.rest()};id.exports.stop=async function({connection:e,request:r}){let{stream:n}=await e.newStream([dD.relay]);Ba("starting stop request to %s",e.remotePeer.toB58String());let i=new pD({stream:n});i.write(r);let s=await i.read();if(!s)return i.close();if(s.code===nd.Status.SUCCESS)return Ba("stop request to %s was successful",e.remotePeer.toB58String()),i.rest();Ba("stop request failed with code %d",s.code),i.close()}});var od=w((lK,S2)=>{"use strict";var b2=Te(),In=Object.assign(b2("libp2p:circuit:hop"),{error:b2("libp2p:circuit:hop:err")}),E2=he(),gD=Rt(),{validateAddrs:mD}=Uh(),w2=Au(),{CircuitRelay:ir}=Xs(),{pipe:vD}=kr(),{codes:_2}=je(),{stop:bD}=sd(),x2=Ta();async function ED({connection:t,request:e,streamHandler:r,circuit:n}){if(!n._options.hop.enabled)return In("HOP request received but we are not acting as a relay"),r.end({type:ir.Type.STATUS,code:ir.Status.HOP_CANT_SPEAK_RELAY});try{mD(e,r)}catch(u){return In.error("invalid hop request via peer %s",t.remotePeer.toB58String(),u)}if(!e.dstPeer){In("HOP request received but we do not receive a dstPeer");return}let i=new gD(e.dstPeer.id),s=n._connectionManager.get(i);if(!s&&!n._options.hop.active)return In("HOP request received but we are not connected to the destination peer"),r.end({type:ir.Type.STATUS,code:ir.Status.HOP_NO_CONN_TO_DST});if(!s)return;let o={type:ir.Type.STOP,dstPeer:e.dstPeer,srcPeer:e.srcPeer},a;try{a=await bD({connection:s,request:o})}catch(u){return In.error(u)}In("hop request from %s is valid",t.remotePeer.toB58String()),r.write({type:ir.Type.STATUS,code:ir.Status.SUCCESS});let c=r.rest();return vD(c,a,c)}async function wD({connection:t,request:e}){let{stream:r}=await t.newStream([x2.relay]),n=new w2({stream:r});n.write(e);let i=await n.read();if(!i)throw E2(new Error("HOP request had no response"),_2.ERR_HOP_REQUEST_FAILED);if(i.code===ir.Status.SUCCESS)return In("hop request was successful"),n.rest();throw In("hop request failed with code %d, closing stream",i.code),n.close(),E2(new Error(`HOP request failed with code ${i.code}`),_2.ERR_HOP_REQUEST_FAILED)}async function _D({connection:t}){let{stream:e}=await t.newStream([x2.relay]),r=new w2({stream:e});r.write({type:ir.Type.CAN_HOP});let n=await r.read();return await r.close(),!(!n||n.code!==ir.Status.SUCCESS)}function xD({connection:t,streamHandler:e,circuit:r}){let n=r._options.hop.enabled;In("can hop (%s) request from %s",n,t.remotePeer.toB58String()),e.end({type:ir.Type.STATUS,code:n?ir.Status.SUCCESS:ir.Status.HOP_CANT_SPEAK_RELAY})}S2.exports={handleHop:ED,hop:wD,canHop:_D,handleCanHop:xD}});var B2=w((fK,R2)=>{"use strict";var A2=Te(),Tn=Object.assign(A2("libp2p:circuit"),{error:A2("libp2p:circuit:err")}),SD=he(),AD=tw(),{Multiaddr:Pa}=qt(),C2=Rt(),{CircuitRelay:Na}=Xs(),{codes:CD}=je(),I2=dw(),{relay:ID}=Ta(),TD=gw(),{handleCanHop:RD,handleHop:BD,hop:PD}=od(),{handleStop:ND}=sd(),OD=Au(),DD=Symbol.for("@libp2p/js-libp2p-circuit/circuit"),T2=class{constructor({libp2p:e,upgrader:r}){this._dialer=e.dialer,this._registrar=e.registrar,this._connectionManager=e.connectionManager,this._upgrader=r,this._options=e._config.relay,this._libp2p=e,this.peerId=e.peerId,this._registrar.handle(ID,this._onProtocol.bind(this))}async _onProtocol({connection:e,stream:r}){let n=new OD({stream:r}),i=await n.read();if(!i)return;let s=this,o;switch(i.type){case Na.Type.CAN_HOP:{Tn("received CAN_HOP request from %s",e.remotePeer.toB58String()),await RD({circuit:s,connection:e,streamHandler:n});break}case Na.Type.HOP:{Tn("received HOP request from %s",e.remotePeer.toB58String()),o=await BD({connection:e,request:i,streamHandler:n,circuit:s});break}case Na.Type.STOP:{Tn("received STOP request from %s",e.remotePeer.toB58String()),o=await ND({connection:e,request:i,streamHandler:n});break}default:Tn("Request of type %s not supported",i.type)}if(o){let a=new Pa(i.dstPeer.addrs[0]),c=new Pa(i.srcPeer.addrs[0]),u=I2({stream:o,remoteAddr:a,localAddr:c}),l=i.type===Na.Type.HOP?"relay":"inbound";Tn("new %s connection %s",l,u.remoteAddr);let f=await this._upgrader.upgradeInbound(u);Tn("%s connection %s upgraded",l,u.remoteAddr),this.handler&&this.handler(f)}}async dial(e,r){let n=e.toString().split("/p2p-circuit"),i=new Pa(n[0]),s=new Pa(n[n.length-1]),o=i.getPeerId(),a=s.getPeerId();if(!o||!a){let h="Circuit relay dial failed as addresses did not have peer id";throw Tn.error(h),SD(new Error(h),CD.ERR_RELAYED_DIAL)}let c=C2.createFromB58String(o),u=C2.createFromB58String(a),l=!1,f=this._connectionManager.get(c);f||(f=await this._dialer.connectToPeer(i,r),l=!0);try{let h=await PD({connection:f,request:{type:Na.Type.HOP,srcPeer:{id:this.peerId.toBytes(),addrs:this._libp2p.multiaddrs.map(g=>g.bytes)},dstPeer:{id:u.toBytes(),addrs:[new Pa(s).bytes]}}}),p=i.encapsulate(`/p2p-circuit/p2p/${this.peerId.toB58String()}`),d=I2({stream:h,remoteAddr:e,localAddr:p});return Tn("new outbound connection %s",d.remoteAddr),this._upgrader.upgradeOutbound(d)}catch(h){throw Tn.error("Circuit relay dial failed",h),l&&await f.close(),h}}createListener(e,r){return typeof e=="function"&&(r=e,e={}),this.handler=r,TD(this._libp2p)}filter(e){return e=Array.isArray(e)?e:[e],e.filter(r=>AD.Circuit.matches(r))}get[Symbol.toStringTag](){return"Circuit"}static isTransport(e){return Boolean(e&&e[DD])}};R2.exports=T2});var ad=w((hK,P2)=>{"use strict";var{CID:LD}=(vs(),Do),{sha256:kD}=(Ti(),Hn);P2.exports.namespaceToCid=async t=>{let e=new TextEncoder().encode(t),r=await kD.digest(e);return LD.createV0(r)}});var q2=w((dK,k2)=>{"use strict";var N2=Te(),cd=Object.assign(N2("libp2p:auto-relay"),{error:N2("libp2p:auto-relay:err")}),{fromString:qD}=(It(),Nt),{toString:UD}=(Tt(),Ot),{Multiaddr:MD}=qt(),FD=ya(),{relay:KD}=Ta(),{canHop:VD}=od(),{namespaceToCid:jD}=ad(),{CIRCUIT_PROTO_CODE:$D,HOP_METADATA_KEY:O2,HOP_METADATA_VALUE:D2,RELAY_RENDEZVOUS_NS:HD}=cu(),L2=class{constructor({libp2p:e,maxListeners:r=1,onError:n}){this._libp2p=e,this._peerId=e.peerId,this._peerStore=e.peerStore,this._connectionManager=e.connectionManager,this._transportManager=e.transportManager,this._addressSorter=e.dialer.addressSorter,this.maxListeners=r,this._listenRelays=new Set,this._onProtocolChange=this._onProtocolChange.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this),this._peerStore.on("change:protocols",this._onProtocolChange),this._connectionManager.on("peer:disconnect",this._onPeerDisconnected),this._onError=(i,s)=>{cd.error(s||i),n&&n(i,s)}}async _onProtocolChange({peerId:e,protocols:r}){let n=e.toB58String(),i=r.find(s=>s===KD);if(!i&&this._listenRelays.has(n)){await this._removeListenRelay(n);return}else if(!i||this._listenRelays.has(n))return;try{let s=this._connectionManager.get(e);if(!s)return;if(s.remoteAddr.protoCodes().includes($D)){cd(`relayed connection to ${n} will not be used to hop on`);return}await VD({connection:s})&&(await this._peerStore.metadataBook.setValue(e,O2,qD(D2)),await this._addListenRelay(s,n))}catch(s){this._onError(s)}}_onPeerDisconnected(e){let n=e.remotePeer.toB58String();!this._listenRelays.has(n)||this._removeListenRelay(n).catch(i=>{cd.error(i)})}async _addListenRelay(e,r){try{if(this._listenRelays.size>=this.maxListeners)return;let n=await this._peerStore.addressBook.getMultiaddrsForPeer(e.remotePeer,this._addressSorter);(await Promise.all(n.map(async s=>{try{return await this._transportManager.listen([new MD(`${s.toString()}/p2p-circuit`)]),!0}catch(o){this._onError(o)}return!1}))).includes(!0)&&this._listenRelays.add(r)}catch(n){this._onError(n),this._listenRelays.delete(r)}}async _removeListenRelay(e){this._listenRelays.delete(e)&&await this._listenOnAvailableHopRelays([e])}async _listenOnAvailableHopRelays(e=[]){if(this._listenRelays.size>=this.maxListeners)return;let r=[],n=await FD(this._peerStore.getPeers());for await(let{id:i,metadata:s}of n){let o=i.toB58String();if(this._listenRelays.has(o)||e.includes(o))continue;let a=s.get(O2);if(!a||UD(a)!==D2)continue;let c=this._connectionManager.get(i);if(!c){r.push(i);continue}if(await this._addListenRelay(c,o),this._listenRelays.size>=this.maxListeners)return}for(let i of r)if(await this._tryToListenOnRelay(i),this._listenRelays.size>=this.maxListeners)return;try{let i=await jD(HD);for await(let s of this._libp2p.contentRouting.findProviders(i)){if(!s.multiaddrs.length)continue;let o=s.id;if(await this._peerStore.addressBook.add(o,s.multiaddrs),await this._tryToListenOnRelay(o),this._listenRelays.size>=this.maxListeners)return}}catch(i){this._onError(i)}}async _tryToListenOnRelay(e){try{let r=await this._libp2p.dial(e);await this._addListenRelay(r,e.toB58String())}catch(r){this._onError(r,`could not connect and listen on known hop relay ${e.toB58String()}`)}}};k2.exports=L2});var V2=w((pK,K2)=>{"use strict";var U2=Te(),M2=Object.assign(U2("libp2p:relay"),{error:U2("libp2p:relay:err")}),{codes:zD}=je(),{setDelayedInterval:GD,clearDelayedInterval:WD}=dh(),YD=q2(),{namespaceToCid:QD}=ad(),{RELAY_RENDEZVOUS_NS:XD}=cu(),F2=class{constructor(e){this._libp2p=e,this._options={...e._config.relay},this._autoRelay=this._options.autoRelay.enabled&&new YD({libp2p:e,...this._options.autoRelay}),this._advertiseService=this._advertiseService.bind(this)}start(){this._options.hop.enabled&&this._options.advertise.enabled&&(this._timeout=GD(this._advertiseService,this._options.advertise.ttl,this._options.advertise.bootDelay))}stop(){WD(this._timeout)}async _advertiseService(){try{let e=await QD(XD);await this._libp2p.contentRouting.provide(e)}catch(e){e.code===zD.ERR_NO_ROUTERS_AVAILABLE?(M2.error("a content router, such as a DHT, must be provided in order to advertise the relay service",e),this.stop()):M2.error(e)}}};K2.exports=F2});var ld=w((yK,ud)=>{var{AbortController:ZD}=globalThis;function j2(t){let e=new ZD;function r(){e.abort();for(let n of t)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of t)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return e.signal}ud.exports=j2;ud.exports.anySignal=j2});var G2=w((mK,z2)=>{var $2=ah(),H2=rd();z2.exports=class{constructor(){this._buffer=new $2,this._waitingConsumers=new $2}push(e){let{promise:r,resolve:n}=H2();return this._buffer.push({chunk:e,resolve:n}),this._consume(),r}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let e=this._waitingConsumers.shift(),r=this._buffer.shift();e.resolve(r.chunk),r.resolve()}}shift(){let{promise:e,resolve:r}=H2();return this._waitingConsumers.push({resolve:r}),this._consume(),e}isEmpty(){return this._buffer.isEmpty()}}});var Y2=w((vK,W2)=>{"use strict";W2.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))}});var Q2=w(()=>{});var e_=w((wK,J2)=>{"use strict";var X2=Q2(),Z2=/\s+at.*(?:\(|\s)(.*)\)?/,JD=/^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/,eL=typeof X2.homedir=="undefined"?"":X2.homedir();J2.exports=(t,e)=>(e=Object.assign({pretty:!1},e),t.replace(/\\/g,"/").split(`
|
|
41
|
+
`).filter(r=>{let n=r.match(Z2);if(n===null||!n[1])return!0;let i=n[1];return i.includes(".app/Contents/Resources/electron.asar")||i.includes(".app/Contents/Resources/default_app.asar")?!1:!JD.test(i)}).filter(r=>r.trim()!=="").map(r=>e.pretty?r.replace(Z2,(n,i)=>n.replace(i,i.replace(eL,"~"))):r).join(`
|
|
42
|
+
`))});var n_=w((_K,r_)=>{"use strict";var tL=Y2(),rL=e_(),nL=t=>t.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g,""),t_=class extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError(`Expected input to be an Array, got ${typeof e}`);e=[...e].map(n=>n instanceof Error?n:n!==null&&typeof n=="object"?Object.assign(new Error(n.message),n):new Error(n));let r=e.map(n=>typeof n.stack=="string"?nL(rL(n.stack)):String(n)).join(`
|
|
43
|
+
`);r=`
|
|
44
|
+
`+tL(r,4);super(r);this.name="AggregateError",Object.defineProperty(this,"_errors",{value:e})}*[Symbol.iterator](){for(let e of this._errors)yield e}};r_.exports=t_});var i_=w((xK,hd)=>{"use strict";var fd=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Oa=class{static fn(e){return(...r)=>new Oa((n,i,s)=>{r.push(s),e(...r).then(n,i)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,n)=>{this._reject=n;let i=a=>{(!this._isCanceled||!o.shouldReject)&&(this._isPending=!1,r(a))},s=a=>{this._isPending=!1,n(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(i,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r);return}this._rejectOnCancel&&this._reject(new fd(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Oa.prototype,Promise.prototype);hd.exports=Oa;hd.exports.CancelError=fd});var o_=w((SK,Cu)=>{"use strict";var s_=n_(),iL=i_(),dd=class extends Error{},sL=(t,e)=>new iL((r,n,i)=>{let{count:s,filter:o=()=>!0}=e;if(!Number.isFinite(s)){n(new TypeError(`Expected a finite number, got ${typeof e.count}`));return}let a=[],c=[],u=0,l=!1,f=new Set,h=()=>(a.length===s&&(r(a),l=!0),u-c.length<s&&(n(new s_(c)),l=!0),l),p=()=>{for(let d of t)!f.has(d)&&typeof d.cancel=="function"&&d.cancel()};i(p);for(let d of t)u++,(async()=>{try{let g=await d;if(l)return;if(!o(g))throw new dd("Value does not satisfy filter");a.push(g)}catch(g){c.push(g)}finally{f.add(d),!l&&h()&&p()}})();s>u&&(n(new RangeError(`Expected input to contain at least ${e.count} items, but contains ${u} items`)),p())});Cu.exports=sL;Cu.exports.AggregateError=s_;Cu.exports.FilterError=dd});var a_=w((AK,yd)=>{"use strict";var pd=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Da=class{static fn(e){return(...r)=>new Da((n,i,s)=>{r.push(s),e(...r).then(n,i)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,n)=>{this._reject=n;let i=a=>{(!this._isCanceled||!o.shouldReject)&&(this._isPending=!1,r(a))},s=a=>{this._isPending=!1,n(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(i,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r);return}this._rejectOnCancel&&this._reject(new pd(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Da.prototype,Promise.prototype);yd.exports=Da;yd.exports.CancelError=pd});var u_=w((CK,gd)=>{"use strict";var c_=o_(),oL=a_();gd.exports=(t,e)=>{let r=c_(t,{...e,count:1});return oL.fn(async n=>{n(()=>{r.cancel()});let[i]=await r;return i})()};gd.exports.AggregateError=c_.AggregateError});var d_=w((IK,h_)=>{"use strict";var aL=he(),{anySignal:cL}=ld(),uL=G2(),lL=u_(),{setMaxListeners:l_}=Qt(),{codes:fL}=je(),f_=class{constructor({addrs:e,dialAction:r,dialer:n}){this.addrs=e,this.dialer=n,this.dialAction=r}async run(e={}){let r=this.dialer.getTokens(this.addrs.length);if(r.length<1)throw aL(new Error("No dial tokens available"),fL.ERR_NO_DIAL_TOKENS);let n=new uL;r.forEach(o=>n.push(o));let i=this.addrs.map(()=>{let o=new AbortController;try{l_&&l_(1/0,o.signal)}catch{}return o}),s=0;try{return await lL(this.addrs.map(async(o,a)=>{let c=await n.shift(),u;try{let l=i[a].signal;u=await this.dialAction(o,{...e,signal:e.signal?cL([l,e.signal]):l}),i.splice(a,1)}finally{s++,this.addrs.length-s>=r.length?n.push(c):this.dialer.releaseToken(r.splice(r.indexOf(c),1)[0])}return u}))}finally{i.map(o=>o.abort()),r.forEach(o=>this.dialer.releaseToken(o))}}};h_.exports=f_});var E_=w((TK,b_)=>{"use strict";var p_=Te(),io=Object.assign(p_("libp2p:dialer"),{error:p_("libp2p:dialer:err")}),md=he(),{Multiaddr:vd}=qt(),{TimeoutController:hL}=oh(),{AbortError:dL}=vu(),{anySignal:pL}=ld(),{setMaxListeners:y_}=Qt(),yL=d_(),{publicAddressesFirst:gL}=Eh(),mL=ph(),g_=Ph(),{codes:Iu}=je(),{DIAL_TIMEOUT:vL,MAX_PARALLEL_DIALS:bL,MAX_PER_PEER_DIALS:EL,MAX_ADDRS_TO_DIAL:wL}=au(),m_="dialler",_L="pending-dials",xL="pending-dial-targets",v_=class{constructor({transportManager:e,peerStore:r,addressSorter:n=gL,maxParallelDials:i=bL,maxAddrsToDial:s=wL,dialTimeout:o=vL,maxDialsPerPeer:a=EL,resolvers:c={},metrics:u}){this.transportManager=e,this.peerStore=r,this.addressSorter=n,this.maxParallelDials=i,this.maxAddrsToDial=s,this.timeout=o,this.maxDialsPerPeer=a,this.tokens=[...new Array(i)].map((l,f)=>f),this._pendingDials=g_({component:m_,metric:_L,metrics:u}),this._pendingDialTargets=g_({component:m_,metric:xL,metrics:u});for(let[l,f]of Object.entries(c))vd.resolvers.set(l,f)}destroy(){for(let e of this._pendingDials.values())try{e.controller.abort()}catch(r){io.error(r)}this._pendingDials.clear();for(let e of this._pendingDialTargets.values())e.reject(new dL("Dialer was destroyed"));this._pendingDialTargets.clear()}async connectToPeer(e,r={}){let n=await this._createCancellableDialTarget(e);if(!n.addrs.length)throw md(new Error("The dial request has no valid addresses"),Iu.ERR_NO_VALID_ADDRESSES);let i=this._pendingDials.get(n.id)||this._createPendingDial(n,r);try{let s=await i.promise;return io("dial succeeded to %s",n.id),s}catch(s){throw i.controller.signal.aborted&&(s.code=Iu.ERR_TIMEOUT),io.error(s),s}finally{i.destroy()}}async _createCancellableDialTarget(e){let r=`${parseInt(String(Math.random()*1e9),10).toString()+Date.now()}`,n=new Promise((i,s)=>{this._pendingDialTargets.set(r,{resolve:i,reject:s})});try{return await Promise.race([this._createDialTarget(e),n])}finally{this._pendingDialTargets.delete(r)}}async _createDialTarget(e){let{id:r,multiaddrs:n}=mL(e);n&&await this.peerStore.addressBook.add(r,n);let i=await this.peerStore.addressBook.getMultiaddrsForPeer(r,this.addressSorter)||[];vd.isMultiaddr(e)&&(i=i.filter(a=>!e.equals(a)),i.unshift(e));let s=[];for(let a of i)(await this._resolve(a)).forEach(u=>s.push(u));let o=s.filter(a=>this.transportManager.transportForMultiaddr(a));if(o.length>this.maxAddrsToDial)throw await this.peerStore.delete(r),md(new Error("dial with more addresses than allowed"),Iu.ERR_TOO_MANY_ADDRESSES);return{id:r.toB58String(),addrs:o}}_createPendingDial(e,r={}){let n=(u,l)=>{if(l.signal.aborted)throw md(new Error("already aborted"),Iu.ERR_ALREADY_ABORTED);return this.transportManager.dial(u,l)},i=new yL({addrs:e.addrs,dialAction:n,dialer:this}),s=new hL(this.timeout),o=[s.signal];r.signal&&o.push(r.signal);let a=pL(o);try{y_&&y_(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...r,signal:a}),destroy:()=>{s.clear(),this._pendingDials.delete(e.id)}};return this._pendingDials.set(e.id,c),c}getTokens(e){let r=Math.min(e,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,r);return io("%d tokens request, returning %d, %d remaining",e,r,this.tokens.length),n}releaseToken(e){this.tokens.indexOf(e)>-1||(io("token %d released",e),this.tokens.push(e))}async _resolve(e){if(!e.protoNames().includes("dnsaddr"))return[e];let n=await this._resolveRecord(e);return(await Promise.all(n.map(o=>this._resolve(o)))).flat().reduce((o,a)=>(o.find(c=>c.equals(a))||o.push(a),o),[])}async _resolveRecord(e){try{return e=new vd(e.toString()),await e.resolve()}catch(r){return io.error(`multiaddr ${e} could not be resolved`),[]}}};b_.exports=v_});var __=w((RK,w_)=>{"use strict";function SL(t){return t>=55296&&t<=56319}function AL(t){return t>=56320&&t<=57343}w_.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],SL(o)&&AL(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var S_=w((BK,x_)=>{"use strict";function CL(t){return t>=55296&&t<=56319}function IL(t){return t>=56320&&t<=57343}x_.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),IL(i)?s!=null&&CL(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var C_=w((PK,A_)=>{"use strict";var TL=__(),RL=S_();A_.exports=TL.bind(null,RL)});var R_=w((NK,T_)=>{"use strict";var BL=C_(),PL=/[\/\?<>\\:\*\|"]/g,NL=/[\x00-\x1f\x80-\x9f]/g,OL=/^\.+$/,DL=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,LL=/[\. ]+$/;function I_(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(PL,e).replace(NL,e).replace(OL,e).replace(DL,e).replace(LL,e);return BL(r,255)}T_.exports=function(t,e){var r=e&&e.replacement||"",n=I_(t,r);return r===""?n:I_(n,"")}});var N_=w((OK,P_)=>{"use strict";Ss();var Tu=be(),{toString:so}=(Tt(),Ot),{fromString:B_}=(It(),Nt);P_.exports={createCipheriv:(t,e,r)=>{let n=Tu.cipher.createCipher("AES-CTR",so(e,"ascii"));return n.start({iv:so(r,"ascii")}),{update:i=>(n.update(Tu.util.createBuffer(so(i,"ascii"))),B_(n.output.getBytes(),"ascii"))}},createDecipheriv:(t,e,r)=>{let n=Tu.cipher.createDecipher("AES-CTR",so(e,"ascii"));return n.start({iv:so(r,"ascii")}),{update:i=>(n.update(Tu.util.createBuffer(so(i,"ascii"))),B_(n.output.getBytes(),"ascii"))}}}});var L_=w((DK,D_)=>{"use strict";var kL=he(),O_={16:"aes-128-ctr",32:"aes-256-ctr"};D_.exports=function(t){let e=O_[t.length];if(!e){let r=Object.entries(O_).map(([n,i])=>`${n} (${i})`).join(" / ");throw kL(new Error(`Invalid key length ${t.length} bytes. Must be ${r}`),"ERR_INVALID_KEY_LENGTH")}return e}});var U_=w(q_=>{"use strict";var k_=N_(),qL=L_();q_.create=async function(t,e){let r=qL(t),n=k_.createCipheriv(r,t,e),i=k_.createDecipheriv(r,t,e);return{async encrypt(o){return n.update(o)},async decrypt(o){return i.update(o)}}}});var K_=w((kK,F_)=>{"use strict";var UL=Vl(),ML=$e(),FL=he(),M_={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function KL(t,e,r,n,i){let s=M_[i];if(!s){let a=Object.keys(M_).join(" / ");throw FL(new Error(`Hash '${i}' is unknown or not supported. Must be ${a}`),"ERR_UNSUPPORTED_HASH_TYPE")}let o=UL(t,e,r,n,s);return ML.encode64(o)}F_.exports=KL});var Ru=w(oo=>{"use strict";var VL=Rf(),jL=U_(),$L=Vc();oo.aes=jL;oo.hmac=VL;oo.keys=$L;oo.randomBytes=Tc();oo.pbkdf2=K_()});var H_=w((UK,$_)=>{var ao=be();Kn();$e();var Z=ao.asn1,co=$_.exports=ao.pkcs7asn1=ao.pkcs7asn1||{};ao.pkcs7=ao.pkcs7||{};ao.pkcs7.asn1=co;var V_={name:"ContentInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};co.contentInfoValidator=V_;var j_={name:"EncryptedContentInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};co.envelopedDataValidator={name:"EnvelopedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(j_)};co.encryptedDataValidator={name:"EncryptedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"}].concat(j_)};var HL={name:"SignerInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:Z.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};co.signedDataValidator={name:"SignedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},V_,{name:"SignedData.Certificates",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:Z.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,capture:"signerInfos",optional:!0,value:[HL]}]};co.recipientInfoValidator={name:"RecipientInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter",optional:!0}]},{name:"RecipientInfo.encryptedKey",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}});var G_=w((MK,z_)=>{var Xi=be();$e();Xi.mgf=Xi.mgf||{};var zL=z_.exports=Xi.mgf.mgf1=Xi.mgf1=Xi.mgf1||{};zL.create=function(t){var e={generate:function(r,n){for(var i=new Xi.util.ByteBuffer,s=Math.ceil(n/t.digestLength),o=0;o<s;o++){var a=new Xi.util.ByteBuffer;a.putInt32(o),t.start(),t.update(r+a.getBytes()),i.putBuffer(t.digest())}return i.truncate(i.length()-n),i.getBytes()}};return e}});var Y_=w((FK,W_)=>{var Bu=be();G_();W_.exports=Bu.mgf=Bu.mgf||{};Bu.mgf.mgf1=Bu.mgf1});var X_=w((KK,Q_)=>{var Zi=be();Si();$e();var GL=Q_.exports=Zi.pss=Zi.pss||{};GL.create=function(t){arguments.length===3&&(t={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var e=t.md,r=t.mgf,n=e.digestLength,i=t.salt||null;typeof i=="string"&&(i=Zi.util.createBuffer(i));var s;if("saltLength"in t)s=t.saltLength;else if(i!==null)s=i.length();else throw new Error("Salt length not specified or specific salt not given.");if(i!==null&&i.length()!==s)throw new Error("Given salt length does not match length of given salt.");var o=t.prng||Zi.random,a={};return a.encode=function(c,u){var l,f=u-1,h=Math.ceil(f/8),p=c.digest().getBytes();if(h<n+s+2)throw new Error("Message is too long to encrypt.");var d;i===null?d=o.getBytesSync(s):d=i.bytes();var g=new Zi.util.ByteBuffer;g.fillWithByte(0,8),g.putBytes(p),g.putBytes(d),e.start(),e.update(g.getBytes());var m=e.digest().getBytes(),x=new Zi.util.ByteBuffer;x.fillWithByte(0,h-s-n-2),x.putByte(1),x.putBytes(d);var R=x.getBytes(),L=h-n-1,H=r.generate(m,L),q="";for(l=0;l<L;l++)q+=String.fromCharCode(R.charCodeAt(l)^H.charCodeAt(l));var k=65280>>8*h-f&255;return q=String.fromCharCode(q.charCodeAt(0)&~k)+q.substr(1),q+m+String.fromCharCode(188)},a.verify=function(c,u,l){var f,h=l-1,p=Math.ceil(h/8);if(u=u.substr(-p),p<n+s+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(u.charCodeAt(p-1)!==188)throw new Error("Encoded message does not end in 0xBC.");var d=p-n-1,g=u.substr(0,d),m=u.substr(d,n),x=65280>>8*p-h&255;if((g.charCodeAt(0)&x)!=0)throw new Error("Bits beyond keysize not zero as expected.");var R=r.generate(m,d),L="";for(f=0;f<d;f++)L+=String.fromCharCode(g.charCodeAt(f)^R.charCodeAt(f));L=String.fromCharCode(L.charCodeAt(0)&~x)+L.substr(1);var H=p-n-s-2;for(f=0;f<H;f++)if(L.charCodeAt(f)!==0)throw new Error("Leftmost octets not zero as expected");if(L.charCodeAt(H)!==1)throw new Error("Inconsistent PSS signature, 0x01 marker not found");var q=L.substr(-s),k=new Zi.util.ByteBuffer;k.fillWithByte(0,8),k.putBytes(c),k.putBytes(q),e.start(),e.update(k.getBytes());var J=e.digest().getBytes();return m===J},a}});var Ed=w((VK,rx)=>{var oe=be();Ss();Kn();pc();Vn();Y_();ws();vc();X_();jo();$e();var y=oe.asn1,G=rx.exports=oe.pki=oe.pki||{},Ce=G.oids,ft={};ft.CN=Ce.commonName;ft.commonName="CN";ft.C=Ce.countryName;ft.countryName="C";ft.L=Ce.localityName;ft.localityName="L";ft.ST=Ce.stateOrProvinceName;ft.stateOrProvinceName="ST";ft.O=Ce.organizationName;ft.organizationName="O";ft.OU=Ce.organizationalUnitName;ft.organizationalUnitName="OU";ft.E=Ce.emailAddress;ft.emailAddress="E";var Z_=oe.pki.rsa.publicKeyValidator,WL={name:"Certificate",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:y.Class.UNIVERSAL,type:y.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:y.Class.UNIVERSAL,type:y.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:y.Class.UNIVERSAL,type:y.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:y.Class.UNIVERSAL,type:y.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},Z_,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:y.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:y.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:y.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},YL={name:"rsapss",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:y.Class.UNIVERSAL,type:y.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:y.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:y.Class.UNIVERSAL,type:y.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:y.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:y.Class.UNIVERSAL,type:y.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:y.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:y.Class.UNIVERSAL,type:y.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},QL={name:"CertificationRequestInfo",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},Z_,{name:"CertificationRequestInfo.attributes",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:y.Class.UNIVERSAL,type:y.Type.SET,constructed:!0}]}]}]},XL={name:"CertificationRequest",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[QL,{name:"CertificationRequest.signatureAlgorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};G.RDNAttributesAsArray=function(t,e){for(var r=[],n,i,s,o=0;o<t.value.length;++o){n=t.value[o];for(var a=0;a<n.value.length;++a)s={},i=n.value[a],s.type=y.derToOid(i.value[0].value),s.value=i.value[1].value,s.valueTagClass=i.value[1].type,s.type in Ce&&(s.name=Ce[s.type],s.name in ft&&(s.shortName=ft[s.name])),e&&(e.update(s.type),e.update(s.value)),r.push(s)}return r};G.CRIAttributesAsArray=function(t){for(var e=[],r=0;r<t.length;++r)for(var n=t[r],i=y.derToOid(n.value[0].value),s=n.value[1].value,o=0;o<s.length;++o){var a={};if(a.type=i,a.value=s[o].value,a.valueTagClass=s[o].type,a.type in Ce&&(a.name=Ce[a.type],a.name in ft&&(a.shortName=ft[a.name])),a.type===Ce.extensionRequest){a.extensions=[];for(var c=0;c<a.value.length;++c)a.extensions.push(G.certificateExtensionFromAsn1(a.value[c]))}e.push(a)}return e};function ci(t,e){typeof e=="string"&&(e={shortName:e});for(var r=null,n,i=0;r===null&&i<t.attributes.length;++i)n=t.attributes[i],(e.type&&e.type===n.type||e.name&&e.name===n.name||e.shortName&&e.shortName===n.shortName)&&(r=n);return r}var Pu=function(t,e,r){var n={};if(t!==Ce["RSASSA-PSS"])return n;r&&(n={hash:{algorithmOid:Ce.sha1},mgf:{algorithmOid:Ce.mgf1,hash:{algorithmOid:Ce.sha1}},saltLength:20});var i={},s=[];if(!y.validate(e,YL,i,s)){var o=new Error("Cannot read RSASSA-PSS parameter block.");throw o.errors=s,o}return i.hashOid!==void 0&&(n.hash=n.hash||{},n.hash.algorithmOid=y.derToOid(i.hashOid)),i.maskGenOid!==void 0&&(n.mgf=n.mgf||{},n.mgf.algorithmOid=y.derToOid(i.maskGenOid),n.mgf.hash=n.mgf.hash||{},n.mgf.hash.algorithmOid=y.derToOid(i.maskGenHashOid)),i.saltLength!==void 0&&(n.saltLength=i.saltLength.charCodeAt(0)),n},Nu=function(t){switch(Ce[t.signatureOid]){case"sha1WithRSAEncryption":case"sha1WithRSASignature":return oe.md.sha1.create();case"md5WithRSAEncryption":return oe.md.md5.create();case"sha256WithRSAEncryption":return oe.md.sha256.create();case"sha384WithRSAEncryption":return oe.md.sha384.create();case"sha512WithRSAEncryption":return oe.md.sha512.create();case"RSASSA-PSS":return oe.md.sha256.create();default:var e=new Error("Could not compute "+t.type+" digest. Unknown signature OID.");throw e.signatureOid=t.signatureOid,e}},J_=function(t){var e=t.certificate,r;switch(e.signatureOid){case Ce.sha1WithRSAEncryption:case Ce.sha1WithRSASignature:break;case Ce["RSASSA-PSS"]:var n,i;if(n=Ce[e.signatureParameters.mgf.hash.algorithmOid],n===void 0||oe.md[n]===void 0){var s=new Error("Unsupported MGF hash function.");throw s.oid=e.signatureParameters.mgf.hash.algorithmOid,s.name=n,s}if(i=Ce[e.signatureParameters.mgf.algorithmOid],i===void 0||oe.mgf[i]===void 0){var s=new Error("Unsupported MGF function.");throw s.oid=e.signatureParameters.mgf.algorithmOid,s.name=i,s}if(i=oe.mgf[i].create(oe.md[n].create()),n=Ce[e.signatureParameters.hash.algorithmOid],n===void 0||oe.md[n]===void 0){var s=new Error("Unsupported RSASSA-PSS hash function.");throw s.oid=e.signatureParameters.hash.algorithmOid,s.name=n,s}r=oe.pss.create(oe.md[n].create(),i,e.signatureParameters.saltLength);break}return e.publicKey.verify(t.md.digest().getBytes(),t.signature,r)};G.certificateFromPem=function(t,e,r){var n=oe.pem.decode(t)[0];if(n.type!=="CERTIFICATE"&&n.type!=="X509 CERTIFICATE"&&n.type!=="TRUSTED CERTIFICATE"){var i=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var s=y.fromDer(n.body,r);return G.certificateFromAsn1(s,e)};G.certificateToPem=function(t,e){var r={type:"CERTIFICATE",body:y.toDer(G.certificateToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.publicKeyFromPem=function(t){var e=oe.pem.decode(t)[0];if(e.type!=="PUBLIC KEY"&&e.type!=="RSA PUBLIC KEY"){var r=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert public key from PEM; PEM is encrypted.");var n=y.fromDer(e.body);return G.publicKeyFromAsn1(n)};G.publicKeyToPem=function(t,e){var r={type:"PUBLIC KEY",body:y.toDer(G.publicKeyToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.publicKeyToRSAPublicKeyPem=function(t,e){var r={type:"RSA PUBLIC KEY",body:y.toDer(G.publicKeyToRSAPublicKey(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.getPublicKeyFingerprint=function(t,e){e=e||{};var r=e.md||oe.md.sha1.create(),n=e.type||"RSAPublicKey",i;switch(n){case"RSAPublicKey":i=y.toDer(G.publicKeyToRSAPublicKey(t)).getBytes();break;case"SubjectPublicKeyInfo":i=y.toDer(G.publicKeyToAsn1(t)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+e.type+'".')}r.start(),r.update(i);var s=r.digest();if(e.encoding==="hex"){var o=s.toHex();return e.delimiter?o.match(/.{2}/g).join(e.delimiter):o}else{if(e.encoding==="binary")return s.getBytes();if(e.encoding)throw new Error('Unknown encoding "'+e.encoding+'".')}return s};G.certificationRequestFromPem=function(t,e,r){var n=oe.pem.decode(t)[0];if(n.type!=="CERTIFICATE REQUEST"){var i=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var s=y.fromDer(n.body,r);return G.certificationRequestFromAsn1(s,e)};G.certificationRequestToPem=function(t,e){var r={type:"CERTIFICATE REQUEST",body:y.toDer(G.certificationRequestToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.createCertificate=function(){var t={};return t.version=2,t.serialNumber="00",t.signatureOid=null,t.signature=null,t.siginfo={},t.siginfo.algorithmOid=null,t.validity={},t.validity.notBefore=new Date,t.validity.notAfter=new Date,t.issuer={},t.issuer.getField=function(e){return ci(t.issuer,e)},t.issuer.addField=function(e){Sr([e]),t.issuer.attributes.push(e)},t.issuer.attributes=[],t.issuer.hash=null,t.subject={},t.subject.getField=function(e){return ci(t.subject,e)},t.subject.addField=function(e){Sr([e]),t.subject.attributes.push(e)},t.subject.attributes=[],t.subject.hash=null,t.extensions=[],t.publicKey=null,t.md=null,t.setSubject=function(e,r){Sr(e),t.subject.attributes=e,delete t.subject.uniqueId,r&&(t.subject.uniqueId=r),t.subject.hash=null},t.setIssuer=function(e,r){Sr(e),t.issuer.attributes=e,delete t.issuer.uniqueId,r&&(t.issuer.uniqueId=r),t.issuer.hash=null},t.setExtensions=function(e){for(var r=0;r<e.length;++r)ex(e[r],{cert:t});t.extensions=e},t.getExtension=function(e){typeof e=="string"&&(e={name:e});for(var r=null,n,i=0;r===null&&i<t.extensions.length;++i)n=t.extensions[i],(e.id&&n.id===e.id||e.name&&n.name===e.name)&&(r=n);return r},t.sign=function(e,r){t.md=r||oe.md.sha1.create();var n=Ce[t.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw i.algorithm=t.md.algorithm,i}t.signatureOid=t.siginfo.algorithmOid=n,t.tbsCertificate=G.getTBSCertificate(t);var s=y.toDer(t.tbsCertificate);t.md.update(s.getBytes()),t.signature=e.sign(t.md)},t.verify=function(e){var r=!1;if(!t.issued(e)){var n=e.issuer,i=t.subject,s=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.");throw s.expectedIssuer=i.attributes,s.actualIssuer=n.attributes,s}var o=e.md;if(o===null){o=Nu({signatureOid:e.signatureOid,type:"certificate"});var a=e.tbsCertificate||G.getTBSCertificate(e),c=y.toDer(a);o.update(c.getBytes())}return o!==null&&(r=J_({certificate:t,md:o,signature:e.signature})),r},t.isIssuer=function(e){var r=!1,n=t.issuer,i=e.subject;if(n.hash&&i.hash)r=n.hash===i.hash;else if(n.attributes.length===i.attributes.length){r=!0;for(var s,o,a=0;r&&a<n.attributes.length;++a)s=n.attributes[a],o=i.attributes[a],(s.type!==o.type||s.value!==o.value)&&(r=!1)}return r},t.issued=function(e){return e.isIssuer(t)},t.generateSubjectKeyIdentifier=function(){return G.getPublicKeyFingerprint(t.publicKey,{type:"RSAPublicKey"})},t.verifySubjectKeyIdentifier=function(){for(var e=Ce.subjectKeyIdentifier,r=0;r<t.extensions.length;++r){var n=t.extensions[r];if(n.id===e){var i=t.generateSubjectKeyIdentifier().getBytes();return oe.util.hexToBytes(n.subjectKeyIdentifier)===i}}return!1},t};G.certificateFromAsn1=function(t,e){var r={},n=[];if(!y.validate(t,WL,r,n)){var i=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");throw i.errors=n,i}var s=y.derToOid(r.publicKeyOid);if(s!==G.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var o=G.createCertificate();o.version=r.certVersion?r.certVersion.charCodeAt(0):0;var a=oe.util.createBuffer(r.certSerialNumber);o.serialNumber=a.toHex(),o.signatureOid=oe.asn1.derToOid(r.certSignatureOid),o.signatureParameters=Pu(o.signatureOid,r.certSignatureParams,!0),o.siginfo.algorithmOid=oe.asn1.derToOid(r.certinfoSignatureOid),o.siginfo.parameters=Pu(o.siginfo.algorithmOid,r.certinfoSignatureParams,!1),o.signature=r.certSignature;var c=[];if(r.certValidity1UTCTime!==void 0&&c.push(y.utcTimeToDate(r.certValidity1UTCTime)),r.certValidity2GeneralizedTime!==void 0&&c.push(y.generalizedTimeToDate(r.certValidity2GeneralizedTime)),r.certValidity3UTCTime!==void 0&&c.push(y.utcTimeToDate(r.certValidity3UTCTime)),r.certValidity4GeneralizedTime!==void 0&&c.push(y.generalizedTimeToDate(r.certValidity4GeneralizedTime)),c.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(c.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(o.validity.notBefore=c[0],o.validity.notAfter=c[1],o.tbsCertificate=r.tbsCertificate,e){o.md=Nu({signatureOid:o.signatureOid,type:"certificate"});var u=y.toDer(o.tbsCertificate);o.md.update(u.getBytes())}var l=oe.md.sha1.create(),f=y.toDer(r.certIssuer);l.update(f.getBytes()),o.issuer.getField=function(d){return ci(o.issuer,d)},o.issuer.addField=function(d){Sr([d]),o.issuer.attributes.push(d)},o.issuer.attributes=G.RDNAttributesAsArray(r.certIssuer),r.certIssuerUniqueId&&(o.issuer.uniqueId=r.certIssuerUniqueId),o.issuer.hash=l.digest().toHex();var h=oe.md.sha1.create(),p=y.toDer(r.certSubject);return h.update(p.getBytes()),o.subject.getField=function(d){return ci(o.subject,d)},o.subject.addField=function(d){Sr([d]),o.subject.attributes.push(d)},o.subject.attributes=G.RDNAttributesAsArray(r.certSubject),r.certSubjectUniqueId&&(o.subject.uniqueId=r.certSubjectUniqueId),o.subject.hash=h.digest().toHex(),r.certExtensions?o.extensions=G.certificateExtensionsFromAsn1(r.certExtensions):o.extensions=[],o.publicKey=G.publicKeyFromAsn1(r.subjectPublicKeyInfo),o};G.certificateExtensionsFromAsn1=function(t){for(var e=[],r=0;r<t.value.length;++r)for(var n=t.value[r],i=0;i<n.value.length;++i)e.push(G.certificateExtensionFromAsn1(n.value[i]));return e};G.certificateExtensionFromAsn1=function(t){var e={};if(e.id=y.derToOid(t.value[0].value),e.critical=!1,t.value[1].type===y.Type.BOOLEAN?(e.critical=t.value[1].value.charCodeAt(0)!==0,e.value=t.value[2].value):e.value=t.value[1].value,e.id in Ce){if(e.name=Ce[e.id],e.name==="keyUsage"){var r=y.fromDer(e.value),n=0,i=0;r.value.length>1&&(n=r.value.charCodeAt(1),i=r.value.length>2?r.value.charCodeAt(2):0),e.digitalSignature=(n&128)==128,e.nonRepudiation=(n&64)==64,e.keyEncipherment=(n&32)==32,e.dataEncipherment=(n&16)==16,e.keyAgreement=(n&8)==8,e.keyCertSign=(n&4)==4,e.cRLSign=(n&2)==2,e.encipherOnly=(n&1)==1,e.decipherOnly=(i&128)==128}else if(e.name==="basicConstraints"){var r=y.fromDer(e.value);r.value.length>0&&r.value[0].type===y.Type.BOOLEAN?e.cA=r.value[0].value.charCodeAt(0)!==0:e.cA=!1;var s=null;r.value.length>0&&r.value[0].type===y.Type.INTEGER?s=r.value[0].value:r.value.length>1&&(s=r.value[1].value),s!==null&&(e.pathLenConstraint=y.derToInteger(s))}else if(e.name==="extKeyUsage")for(var r=y.fromDer(e.value),o=0;o<r.value.length;++o){var a=y.derToOid(r.value[o].value);a in Ce?e[Ce[a]]=!0:e[a]=!0}else if(e.name==="nsCertType"){var r=y.fromDer(e.value),n=0;r.value.length>1&&(n=r.value.charCodeAt(1)),e.client=(n&128)==128,e.server=(n&64)==64,e.email=(n&32)==32,e.objsign=(n&16)==16,e.reserved=(n&8)==8,e.sslCA=(n&4)==4,e.emailCA=(n&2)==2,e.objCA=(n&1)==1}else if(e.name==="subjectAltName"||e.name==="issuerAltName"){e.altNames=[];for(var c,r=y.fromDer(e.value),u=0;u<r.value.length;++u){c=r.value[u];var l={type:c.type,value:c.value};switch(e.altNames.push(l),c.type){case 1:case 2:case 6:break;case 7:l.ip=oe.util.bytesToIP(c.value);break;case 8:l.oid=y.derToOid(c.value);break;default:}}}else if(e.name==="subjectKeyIdentifier"){var r=y.fromDer(e.value);e.subjectKeyIdentifier=oe.util.bytesToHex(r.value)}}return e};G.certificationRequestFromAsn1=function(t,e){var r={},n=[];if(!y.validate(t,XL,r,n)){var i=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");throw i.errors=n,i}var s=y.derToOid(r.publicKeyOid);if(s!==G.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var o=G.createCertificationRequest();if(o.version=r.csrVersion?r.csrVersion.charCodeAt(0):0,o.signatureOid=oe.asn1.derToOid(r.csrSignatureOid),o.signatureParameters=Pu(o.signatureOid,r.csrSignatureParams,!0),o.siginfo.algorithmOid=oe.asn1.derToOid(r.csrSignatureOid),o.siginfo.parameters=Pu(o.siginfo.algorithmOid,r.csrSignatureParams,!1),o.signature=r.csrSignature,o.certificationRequestInfo=r.certificationRequestInfo,e){o.md=Nu({signatureOid:o.signatureOid,type:"certification request"});var a=y.toDer(o.certificationRequestInfo);o.md.update(a.getBytes())}var c=oe.md.sha1.create();return o.subject.getField=function(u){return ci(o.subject,u)},o.subject.addField=function(u){Sr([u]),o.subject.attributes.push(u)},o.subject.attributes=G.RDNAttributesAsArray(r.certificationRequestInfoSubject,c),o.subject.hash=c.digest().toHex(),o.publicKey=G.publicKeyFromAsn1(r.subjectPublicKeyInfo),o.getAttribute=function(u){return ci(o,u)},o.addAttribute=function(u){Sr([u]),o.attributes.push(u)},o.attributes=G.CRIAttributesAsArray(r.certificationRequestInfoAttributes||[]),o};G.createCertificationRequest=function(){var t={};return t.version=0,t.signatureOid=null,t.signature=null,t.siginfo={},t.siginfo.algorithmOid=null,t.subject={},t.subject.getField=function(e){return ci(t.subject,e)},t.subject.addField=function(e){Sr([e]),t.subject.attributes.push(e)},t.subject.attributes=[],t.subject.hash=null,t.publicKey=null,t.attributes=[],t.getAttribute=function(e){return ci(t,e)},t.addAttribute=function(e){Sr([e]),t.attributes.push(e)},t.md=null,t.setSubject=function(e){Sr(e),t.subject.attributes=e,t.subject.hash=null},t.setAttributes=function(e){Sr(e),t.attributes=e},t.sign=function(e,r){t.md=r||oe.md.sha1.create();var n=Ce[t.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw i.algorithm=t.md.algorithm,i}t.signatureOid=t.siginfo.algorithmOid=n,t.certificationRequestInfo=G.getCertificationRequestInfo(t);var s=y.toDer(t.certificationRequestInfo);t.md.update(s.getBytes()),t.signature=e.sign(t.md)},t.verify=function(){var e=!1,r=t.md;if(r===null){r=Nu({signatureOid:t.signatureOid,type:"certification request"});var n=t.certificationRequestInfo||G.getCertificationRequestInfo(t),i=y.toDer(n);r.update(i.getBytes())}return r!==null&&(e=J_({certificate:t,md:r,signature:t.signature})),e},t};function uo(t){for(var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),r,n,i=t.attributes,s=0;s<i.length;++s){r=i[s];var o=r.value,a=y.Type.PRINTABLESTRING;"valueTagClass"in r&&(a=r.valueTagClass,a===y.Type.UTF8&&(o=oe.util.encodeUtf8(o))),n=y.create(y.Class.UNIVERSAL,y.Type.SET,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(r.type).getBytes()),y.create(y.Class.UNIVERSAL,a,!1,o)])]),e.value.push(n)}return e}function Sr(t){for(var e,r=0;r<t.length;++r){if(e=t[r],typeof e.name=="undefined"&&(e.type&&e.type in G.oids?e.name=G.oids[e.type]:e.shortName&&e.shortName in ft&&(e.name=G.oids[ft[e.shortName]])),typeof e.type=="undefined")if(e.name&&e.name in G.oids)e.type=G.oids[e.name];else{var n=new Error("Attribute type not specified.");throw n.attribute=e,n}if(typeof e.shortName=="undefined"&&e.name&&e.name in ft&&(e.shortName=ft[e.name]),e.type===Ce.extensionRequest&&(e.valueConstructed=!0,e.valueTagClass=y.Type.SEQUENCE,!e.value&&e.extensions)){e.value=[];for(var i=0;i<e.extensions.length;++i)e.value.push(G.certificateExtensionToAsn1(ex(e.extensions[i])))}if(typeof e.value=="undefined"){var n=new Error("Attribute value not specified.");throw n.attribute=e,n}}}function ex(t,e){if(e=e||{},typeof t.name=="undefined"&&t.id&&t.id in G.oids&&(t.name=G.oids[t.id]),typeof t.id=="undefined")if(t.name&&t.name in G.oids)t.id=G.oids[t.name];else{var r=new Error("Extension ID not specified.");throw r.extension=t,r}if(typeof t.value!="undefined")return t;if(t.name==="keyUsage"){var n=0,i=0,s=0;t.digitalSignature&&(i|=128,n=7),t.nonRepudiation&&(i|=64,n=6),t.keyEncipherment&&(i|=32,n=5),t.dataEncipherment&&(i|=16,n=4),t.keyAgreement&&(i|=8,n=3),t.keyCertSign&&(i|=4,n=2),t.cRLSign&&(i|=2,n=1),t.encipherOnly&&(i|=1,n=0),t.decipherOnly&&(s|=128,n=7);var o=String.fromCharCode(n);s!==0?o+=String.fromCharCode(i)+String.fromCharCode(s):i!==0&&(o+=String.fromCharCode(i)),t.value=y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,o)}else if(t.name==="basicConstraints")t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),t.cA&&t.value.value.push(y.create(y.Class.UNIVERSAL,y.Type.BOOLEAN,!1,String.fromCharCode(255))),"pathLenConstraint"in t&&t.value.value.push(y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.pathLenConstraint).getBytes()));else if(t.name==="extKeyUsage"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);var a=t.value.value;for(var c in t)t[c]===!0&&(c in Ce?a.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(Ce[c]).getBytes())):c.indexOf(".")!==-1&&a.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(c).getBytes())))}else if(t.name==="nsCertType"){var n=0,i=0;t.client&&(i|=128,n=7),t.server&&(i|=64,n=6),t.email&&(i|=32,n=5),t.objsign&&(i|=16,n=4),t.reserved&&(i|=8,n=3),t.sslCA&&(i|=4,n=2),t.emailCA&&(i|=2,n=1),t.objCA&&(i|=1,n=0);var o=String.fromCharCode(n);i!==0&&(o+=String.fromCharCode(i)),t.value=y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,o)}else if(t.name==="subjectAltName"||t.name==="issuerAltName"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);for(var u,l=0;l<t.altNames.length;++l){u=t.altNames[l];var o=u.value;if(u.type===7&&u.ip){if(o=oe.util.bytesFromIP(u.ip),o===null){var r=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw r.extension=t,r}}else u.type===8&&(u.oid?o=y.oidToDer(y.oidToDer(u.oid)):o=y.oidToDer(o));t.value.value.push(y.create(y.Class.CONTEXT_SPECIFIC,u.type,!1,o))}}else if(t.name==="nsComment"&&e.cert){if(!/^[\x00-\x7F]*$/.test(t.comment)||t.comment.length<1||t.comment.length>128)throw new Error('Invalid "nsComment" content.');t.value=y.create(y.Class.UNIVERSAL,y.Type.IA5STRING,!1,t.comment)}else if(t.name==="subjectKeyIdentifier"&&e.cert){var f=e.cert.generateSubjectKeyIdentifier();t.subjectKeyIdentifier=f.toHex(),t.value=y.create(y.Class.UNIVERSAL,y.Type.OCTETSTRING,!1,f.getBytes())}else if(t.name==="authorityKeyIdentifier"&&e.cert){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);var a=t.value.value;if(t.keyIdentifier){var h=t.keyIdentifier===!0?e.cert.generateSubjectKeyIdentifier().getBytes():t.keyIdentifier;a.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!1,h))}if(t.authorityCertIssuer){var p=[y.create(y.Class.CONTEXT_SPECIFIC,4,!0,[uo(t.authorityCertIssuer===!0?e.cert.issuer:t.authorityCertIssuer)])];a.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,p))}if(t.serialNumber){var d=oe.util.hexToBytes(t.serialNumber===!0?e.cert.serialNumber:t.serialNumber);a.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!1,d))}}else if(t.name==="cRLDistributionPoints"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);for(var a=t.value.value,g=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),m=y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[]),u,l=0;l<t.altNames.length;++l){u=t.altNames[l];var o=u.value;if(u.type===7&&u.ip){if(o=oe.util.bytesFromIP(u.ip),o===null){var r=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw r.extension=t,r}}else u.type===8&&(u.oid?o=y.oidToDer(y.oidToDer(u.oid)):o=y.oidToDer(o));m.value.push(y.create(y.Class.CONTEXT_SPECIFIC,u.type,!1,o))}g.value.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[m])),a.push(g)}if(typeof t.value=="undefined"){var r=new Error("Extension value not specified.");throw r.extension=t,r}return t}function bd(t,e){switch(t){case Ce["RSASSA-PSS"]:var r=[];return e.hash.algorithmOid!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.hash.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")])])),e.mgf.algorithmOid!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.mgf.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.mgf.hash.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")])])])),e.saltLength!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(e.saltLength).getBytes())])),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,r);default:return y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")}}function ZL(t){var e=y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[]);if(t.attributes.length===0)return e;for(var r=t.attributes,n=0;n<r.length;++n){var i=r[n],s=i.value,o=y.Type.UTF8;"valueTagClass"in i&&(o=i.valueTagClass),o===y.Type.UTF8&&(s=oe.util.encodeUtf8(s));var a=!1;"valueConstructed"in i&&(a=i.valueConstructed);var c=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(i.type).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.SET,!0,[y.create(y.Class.UNIVERSAL,o,a,s)])]);e.value.push(c)}return e}var JL=new Date("1950-01-01T00:00:00Z"),ek=new Date("2050-01-01T00:00:00Z");function tx(t){return t>=JL&&t<ek?y.create(y.Class.UNIVERSAL,y.Type.UTCTIME,!1,y.dateToUtcTime(t)):y.create(y.Class.UNIVERSAL,y.Type.GENERALIZEDTIME,!1,y.dateToGeneralizedTime(t))}G.getTBSCertificate=function(t){var e=tx(t.validity.notBefore),r=tx(t.validity.notAfter),n=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.version).getBytes())]),y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,oe.util.hexToBytes(t.serialNumber)),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.siginfo.algorithmOid).getBytes()),bd(t.siginfo.algorithmOid,t.siginfo.parameters)]),uo(t.issuer),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,r]),uo(t.subject),G.publicKeyToAsn1(t.publicKey)]);return t.issuer.uniqueId&&n.value.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,[y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.issuer.uniqueId)])),t.subject.uniqueId&&n.value.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!0,[y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.subject.uniqueId)])),t.extensions.length>0&&n.value.push(G.certificateExtensionsToAsn1(t.extensions)),n};G.getCertificationRequestInfo=function(t){var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.version).getBytes()),uo(t.subject),G.publicKeyToAsn1(t.publicKey),ZL(t)]);return e};G.distinguishedNameToAsn1=function(t){return uo(t)};G.certificateToAsn1=function(t){var e=t.tbsCertificate||G.getTBSCertificate(t);return y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.signatureOid).getBytes()),bd(t.signatureOid,t.signatureParameters)]),y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.signature)])};G.certificateExtensionsToAsn1=function(t){var e=y.create(y.Class.CONTEXT_SPECIFIC,3,!0,[]),r=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);e.value.push(r);for(var n=0;n<t.length;++n)r.value.push(G.certificateExtensionToAsn1(t[n]));return e};G.certificateExtensionToAsn1=function(t){var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);e.value.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.id).getBytes())),t.critical&&e.value.push(y.create(y.Class.UNIVERSAL,y.Type.BOOLEAN,!1,String.fromCharCode(255)));var r=t.value;return typeof t.value!="string"&&(r=y.toDer(r).getBytes()),e.value.push(y.create(y.Class.UNIVERSAL,y.Type.OCTETSTRING,!1,r)),e};G.certificationRequestToAsn1=function(t){var e=t.certificationRequestInfo||G.getCertificationRequestInfo(t);return y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.signatureOid).getBytes()),bd(t.signatureOid,t.signatureParameters)]),y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.signature)])};G.createCaStore=function(t){var e={certs:{}};e.getIssuer=function(o){var a=r(o.issuer);return a},e.addCertificate=function(o){if(typeof o=="string"&&(o=oe.pki.certificateFromPem(o)),n(o.subject),!e.hasCertificate(o))if(o.subject.hash in e.certs){var a=e.certs[o.subject.hash];oe.util.isArray(a)||(a=[a]),a.push(o),e.certs[o.subject.hash]=a}else e.certs[o.subject.hash]=o},e.hasCertificate=function(o){typeof o=="string"&&(o=oe.pki.certificateFromPem(o));var a=r(o.subject);if(!a)return!1;oe.util.isArray(a)||(a=[a]);for(var c=y.toDer(G.certificateToAsn1(o)).getBytes(),u=0;u<a.length;++u){var l=y.toDer(G.certificateToAsn1(a[u])).getBytes();if(c===l)return!0}return!1},e.listAllCertificates=function(){var o=[];for(var a in e.certs)if(e.certs.hasOwnProperty(a)){var c=e.certs[a];if(!oe.util.isArray(c))o.push(c);else for(var u=0;u<c.length;++u)o.push(c[u])}return o},e.removeCertificate=function(o){var a;if(typeof o=="string"&&(o=oe.pki.certificateFromPem(o)),n(o.subject),!e.hasCertificate(o))return null;var c=r(o.subject);if(!oe.util.isArray(c))return a=e.certs[o.subject.hash],delete e.certs[o.subject.hash],a;for(var u=y.toDer(G.certificateToAsn1(o)).getBytes(),l=0;l<c.length;++l){var f=y.toDer(G.certificateToAsn1(c[l])).getBytes();u===f&&(a=c[l],c.splice(l,1))}return c.length===0&&delete e.certs[o.subject.hash],a};function r(o){return n(o),e.certs[o.hash]||null}function n(o){if(!o.hash){var a=oe.md.sha1.create();o.attributes=G.RDNAttributesAsArray(uo(o),a),o.hash=a.digest().toHex()}}if(t)for(var i=0;i<t.length;++i){var s=t[i];e.addCertificate(s)}return e};G.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"};G.verifyCertificateChain=function(t,e,r){typeof r=="function"&&(r={verify:r}),r=r||{},e=e.slice(0);var n=e.slice(0),i=r.validityCheckDate;typeof i=="undefined"&&(i=new Date);var s=!0,o=null,a=0;do{var c=e.shift(),u=null,l=!1;if(i&&(i<c.validity.notBefore||i>c.validity.notAfter)&&(o={message:"Certificate is not valid yet or has expired.",error:G.certificateError.certificate_expired,notBefore:c.validity.notBefore,notAfter:c.validity.notAfter,now:i}),o===null){if(u=e[0]||t.getIssuer(c),u===null&&c.isIssuer(c)&&(l=!0,u=c),u){var f=u;oe.util.isArray(f)||(f=[f]);for(var h=!1;!h&&f.length>0;){u=f.shift();try{h=u.verify(c)}catch(q){}}h||(o={message:"Certificate signature is invalid.",error:G.certificateError.bad_certificate})}o===null&&(!u||l)&&!t.hasCertificate(c)&&(o={message:"Certificate is not trusted.",error:G.certificateError.unknown_ca})}if(o===null&&u&&!c.isIssuer(u)&&(o={message:"Certificate issuer is invalid.",error:G.certificateError.bad_certificate}),o===null)for(var p={keyUsage:!0,basicConstraints:!0},d=0;o===null&&d<c.extensions.length;++d){var g=c.extensions[d];g.critical&&!(g.name in p)&&(o={message:"Certificate has an unsupported critical extension.",error:G.certificateError.unsupported_certificate})}if(o===null&&(!s||e.length===0&&(!u||l))){var m=c.getExtension("basicConstraints"),x=c.getExtension("keyUsage");if(x!==null&&(!x.keyCertSign||m===null)&&(o={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:G.certificateError.bad_certificate}),o===null&&m!==null&&!m.cA&&(o={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:G.certificateError.bad_certificate}),o===null&&x!==null&&"pathLenConstraint"in m){var R=a-1;R>m.pathLenConstraint&&(o={message:"Certificate basicConstraints pathLenConstraint violated.",error:G.certificateError.bad_certificate})}}var L=o===null?!0:o.error,H=r.verify?r.verify(L,a,n):L;if(H===!0)o=null;else throw L===!0&&(o={message:"The application rejected the certificate.",error:G.certificateError.bad_certificate}),(H||H===0)&&(typeof H=="object"&&!oe.util.isArray(H)?(H.message&&(o.message=H.message),H.error&&(o.error=H.error)):typeof H=="string"&&(o.error=H)),o;s=!1,++a}while(e.length>0);return!0}});var sx=w((jK,ix)=>{var Y=be();Ss();Kn();pc();ws();vc();H_();Si();$e();Ed();var T=Y.asn1,zt=ix.exports=Y.pkcs7=Y.pkcs7||{};zt.messageFromPem=function(t){var e=Y.pem.decode(t)[0];if(e.type!=="PKCS7"){var r=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var n=T.fromDer(e.body);return zt.messageFromAsn1(n)};zt.messageToPem=function(t,e){var r={type:"PKCS7",body:T.toDer(t.toAsn1()).getBytes()};return Y.pem.encode(r,{maxline:e})};zt.messageFromAsn1=function(t){var e={},r=[];if(!T.validate(t,zt.asn1.contentInfoValidator,e,r)){var n=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw n.errors=r,n}var i=T.derToOid(e.contentType),s;switch(i){case Y.pki.oids.envelopedData:s=zt.createEnvelopedData();break;case Y.pki.oids.encryptedData:s=zt.createEncryptedData();break;case Y.pki.oids.signedData:s=zt.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+i+" is not (yet) supported.")}return s.fromAsn1(e.content.value[0]),s};zt.createSignedData=function(){var t=null;return t={type:Y.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(n){if(_d(t,n,zt.asn1.signedDataValidator),t.certificates=[],t.crls=[],t.digestAlgorithmIdentifiers=[],t.contentInfo=null,t.signerInfos=[],t.rawCapture.certificates)for(var i=t.rawCapture.certificates.value,s=0;s<i.length;++s)t.certificates.push(Y.pki.certificateFromAsn1(i[s]))},toAsn1:function(){t.contentInfo||t.sign();for(var n=[],i=0;i<t.certificates.length;++i)n.push(Y.pki.certificateToAsn1(t.certificates[i]));var s=[],o=T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,t.digestAlgorithmIdentifiers),t.contentInfo])]);return n.length>0&&o.value[0].value.push(T.create(T.Class.CONTEXT_SPECIFIC,0,!0,n)),s.length>0&&o.value[0].value.push(T.create(T.Class.CONTEXT_SPECIFIC,1,!0,s)),o.value[0].value.push(T.create(T.Class.UNIVERSAL,T.Type.SET,!0,t.signerInfos)),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),o])},addSigner:function(n){var i=n.issuer,s=n.serialNumber;if(n.certificate){var o=n.certificate;typeof o=="string"&&(o=Y.pki.certificateFromPem(o)),i=o.issuer.attributes,s=o.serialNumber}var a=n.key;if(!a)throw new Error("Could not add PKCS#7 signer; no private key specified.");typeof a=="string"&&(a=Y.pki.privateKeyFromPem(a));var c=n.digestAlgorithm||Y.pki.oids.sha1;switch(c){case Y.pki.oids.sha1:case Y.pki.oids.sha256:case Y.pki.oids.sha384:case Y.pki.oids.sha512:case Y.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+c)}var u=n.authenticatedAttributes||[];if(u.length>0){for(var l=!1,f=!1,h=0;h<u.length;++h){var p=u[h];if(!l&&p.type===Y.pki.oids.contentType){if(l=!0,f)break;continue}if(!f&&p.type===Y.pki.oids.messageDigest){if(f=!0,l)break;continue}}if(!l||!f)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}t.signers.push({key:a,version:1,issuer:i,serialNumber:s,digestAlgorithm:c,signatureAlgorithm:Y.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:u,unauthenticatedAttributes:[]})},sign:function(n){if(n=n||{},(typeof t.content!="object"||t.contentInfo===null)&&(t.contentInfo=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Y.pki.oids.data).getBytes())]),"content"in t)){var i;t.content instanceof Y.util.ByteBuffer?i=t.content.bytes():typeof t.content=="string"&&(i=Y.util.encodeUtf8(t.content)),n.detached?t.detachedContent=T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,i):t.contentInfo.value.push(T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,i)]))}if(t.signers.length!==0){var s=e();r(s)}},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(n){typeof n=="string"&&(n=Y.pki.certificateFromPem(n)),t.certificates.push(n)},addCertificateRevokationList:function(n){throw new Error("PKCS#7 CRL support not yet implemented.")}},t;function e(){for(var n={},i=0;i<t.signers.length;++i){var s=t.signers[i],o=s.digestAlgorithm;o in n||(n[o]=Y.md[Y.pki.oids[o]].create()),s.authenticatedAttributes.length===0?s.md=n[o]:s.md=Y.md[Y.pki.oids[o]].create()}t.digestAlgorithmIdentifiers=[];for(var o in n)t.digestAlgorithmIdentifiers.push(T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(o).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")]));return n}function r(n){var i;if(t.detachedContent?i=t.detachedContent:(i=t.contentInfo.value[1],i=i.value[0]),!i)throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var s=T.derToOid(t.contentInfo.value[0].value),o=T.toDer(i);o.getByte(),T.getBerValueLength(o),o=o.getBytes();for(var a in n)n[a].start().update(o);for(var c=new Date,u=0;u<t.signers.length;++u){var l=t.signers[u];if(l.authenticatedAttributes.length===0){if(s!==Y.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{l.authenticatedAttributesAsn1=T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var f=T.create(T.Class.UNIVERSAL,T.Type.SET,!0,[]),h=0;h<l.authenticatedAttributes.length;++h){var p=l.authenticatedAttributes[h];p.type===Y.pki.oids.messageDigest?p.value=n[l.digestAlgorithm].digest():p.type===Y.pki.oids.signingTime&&(p.value||(p.value=c)),f.value.push(wd(p)),l.authenticatedAttributesAsn1.value.push(wd(p))}o=T.toDer(f).getBytes(),l.md.start().update(o)}l.signature=l.key.sign(l.md,"RSASSA-PKCS1-V1_5")}t.signerInfos=ok(t.signers)}};zt.createEncryptedData=function(){var t=null;return t={type:Y.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:Y.pki.oids["aes256-CBC"]},fromAsn1:function(e){_d(t,e,zt.asn1.encryptedDataValidator)},decrypt:function(e){e!==void 0&&(t.encryptedContent.key=e),nx(t)}},t};zt.createEnvelopedData=function(){var t=null;return t={type:Y.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:Y.pki.oids["aes256-CBC"]},fromAsn1:function(e){var r=_d(t,e,zt.asn1.envelopedDataValidator);t.recipients=nk(r.recipientInfos.value)},toAsn1:function(){return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,ik(t.recipients)),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,ak(t.encryptedContent))])])])},findRecipient:function(e){for(var r=e.issuer.attributes,n=0;n<t.recipients.length;++n){var i=t.recipients[n],s=i.issuer;if(i.serialNumber===e.serialNumber&&s.length===r.length){for(var o=!0,a=0;a<r.length;++a)if(s[a].type!==r[a].type||s[a].value!==r[a].value){o=!1;break}if(o)return i}}return null},decrypt:function(e,r){if(t.encryptedContent.key===void 0&&e!==void 0&&r!==void 0)switch(e.encryptedContent.algorithm){case Y.pki.oids.rsaEncryption:case Y.pki.oids.desCBC:var n=r.decrypt(e.encryptedContent.content);t.encryptedContent.key=Y.util.createBuffer(n);break;default:throw new Error("Unsupported asymmetric cipher, OID "+e.encryptedContent.algorithm)}nx(t)},addRecipient:function(e){t.recipients.push({version:0,issuer:e.issuer.attributes,serialNumber:e.serialNumber,encryptedContent:{algorithm:Y.pki.oids.rsaEncryption,key:e.publicKey}})},encrypt:function(e,r){if(t.encryptedContent.content===void 0){r=r||t.encryptedContent.algorithm,e=e||t.encryptedContent.key;var n,i,s;switch(r){case Y.pki.oids["aes128-CBC"]:n=16,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["aes192-CBC"]:n=24,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["aes256-CBC"]:n=32,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["des-EDE3-CBC"]:n=24,i=8,s=Y.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+r)}if(e===void 0)e=Y.util.createBuffer(Y.random.getBytes(n));else if(e.length()!=n)throw new Error("Symmetric key has wrong length; got "+e.length()+" bytes, expected "+n+".");t.encryptedContent.algorithm=r,t.encryptedContent.key=e,t.encryptedContent.parameter=Y.util.createBuffer(Y.random.getBytes(i));var o=s(e);if(o.start(t.encryptedContent.parameter.copy()),o.update(t.content),!o.finish())throw new Error("Symmetric encryption failed.");t.encryptedContent.content=o.output}for(var a=0;a<t.recipients.length;++a){var c=t.recipients[a];if(c.encryptedContent.content===void 0)switch(c.encryptedContent.algorithm){case Y.pki.oids.rsaEncryption:c.encryptedContent.content=c.encryptedContent.key.encrypt(t.encryptedContent.key.data);break;default:throw new Error("Unsupported asymmetric cipher, OID "+c.encryptedContent.algorithm)}}}},t};function tk(t){var e={},r=[];if(!T.validate(t,zt.asn1.recipientInfoValidator,e,r)){var n=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw n.errors=r,n}return{version:e.version.charCodeAt(0),issuer:Y.pki.RDNAttributesAsArray(e.issuer),serialNumber:Y.util.createBuffer(e.serial).toHex(),encryptedContent:{algorithm:T.derToOid(e.encAlgorithm),parameter:e.encParameter?e.encParameter.value:void 0,content:e.encKey}}}function rk(t){return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[Y.pki.distinguishedNameToAsn1({attributes:t.issuer}),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,Y.util.hexToBytes(t.serialNumber))]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.encryptedContent.algorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")]),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.encryptedContent.content)])}function nk(t){for(var e=[],r=0;r<t.length;++r)e.push(tk(t[r]));return e}function ik(t){for(var e=[],r=0;r<t.length;++r)e.push(rk(t[r]));return e}function sk(t){var e=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[Y.pki.distinguishedNameToAsn1({attributes:t.issuer}),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,Y.util.hexToBytes(t.serialNumber))]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.digestAlgorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])]);if(t.authenticatedAttributesAsn1&&e.value.push(t.authenticatedAttributesAsn1),e.value.push(T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.signatureAlgorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),e.value.push(T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.signature)),t.unauthenticatedAttributes.length>0){for(var r=T.create(T.Class.CONTEXT_SPECIFIC,1,!0,[]),n=0;n<t.unauthenticatedAttributes.length;++n){var i=t.unauthenticatedAttributes[n];r.values.push(wd(i))}e.value.push(r)}return e}function ok(t){for(var e=[],r=0;r<t.length;++r)e.push(sk(t[r]));return e}function wd(t){var e;if(t.type===Y.pki.oids.contentType)e=T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.value).getBytes());else if(t.type===Y.pki.oids.messageDigest)e=T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.value.bytes());else if(t.type===Y.pki.oids.signingTime){var r=new Date("1950-01-01T00:00:00Z"),n=new Date("2050-01-01T00:00:00Z"),i=t.value;if(typeof i=="string"){var s=Date.parse(i);isNaN(s)?i.length===13?i=T.utcTimeToDate(i):i=T.generalizedTimeToDate(i):i=new Date(s)}i>=r&&i<n?e=T.create(T.Class.UNIVERSAL,T.Type.UTCTIME,!1,T.dateToUtcTime(i)):e=T.create(T.Class.UNIVERSAL,T.Type.GENERALIZEDTIME,!1,T.dateToGeneralizedTime(i))}return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,[e])])}function ak(t){return[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Y.pki.oids.data).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.algorithm).getBytes()),t.parameter?T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.parameter.getBytes()):void 0]),T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.content.getBytes())])]}function _d(t,e,r){var n={},i=[];if(!T.validate(e,r,n,i)){var s=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw s.errors=s,s}var o=T.derToOid(n.contentType);if(o!==Y.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(n.encryptedContent){var a="";if(Y.util.isArray(n.encryptedContent))for(var c=0;c<n.encryptedContent.length;++c){if(n.encryptedContent[c].type!==T.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");a+=n.encryptedContent[c].value}else a=n.encryptedContent;t.encryptedContent={algorithm:T.derToOid(n.encAlgorithm),parameter:Y.util.createBuffer(n.encParameter.value),content:Y.util.createBuffer(a)}}if(n.content){var a="";if(Y.util.isArray(n.content))for(var c=0;c<n.content.length;++c){if(n.content[c].type!==T.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");a+=n.content[c].value}else a=n.content;t.content=Y.util.createBuffer(a)}return t.version=n.version.charCodeAt(0),t.rawCapture=n,n}function nx(t){if(t.encryptedContent.key===void 0)throw new Error("Symmetric key not available.");if(t.content===void 0){var e;switch(t.encryptedContent.algorithm){case Y.pki.oids["aes128-CBC"]:case Y.pki.oids["aes192-CBC"]:case Y.pki.oids["aes256-CBC"]:e=Y.aes.createDecryptionCipher(t.encryptedContent.key);break;case Y.pki.oids.desCBC:case Y.pki.oids["des-EDE3-CBC"]:e=Y.des.createDecryptionCipher(t.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+t.encryptedContent.algorithm)}if(e.start(t.encryptedContent.parameter),e.update(t.encryptedContent.content),!e.finish())throw new Error("Symmetric decryption failed.");t.content=e.output}}});var cx=w(($K,ax)=>{"use strict";Ed();var ck=be(),ox=ck.pki,uk=(t,e)=>{let r=ox.setRsaPublicKey(e.n,e.e),n=ox.createCertificate();n.publicKey=r,n.serialNumber="01",n.validity.notBefore=new Date,n.validity.notAfter=new Date,n.validity.notAfter.setFullYear(n.validity.notBefore.getFullYear()+10);let i=[{name:"organizationName",value:"ipfs"},{shortName:"OU",value:"keystore"},{name:"commonName",value:t.id}];return n.setSubject(i),n.setIssuer(i),n.setExtensions([{name:"basicConstraints",cA:!0},{name:"keyUsage",keyCertSign:!0,digitalSignature:!0,nonRepudiation:!0,keyEncipherment:!0,dataEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0,codeSigning:!0,emailProtection:!0,timeStamping:!0},{name:"nsCertType",client:!0,server:!0,email:!0,objsign:!0,sslCA:!0,emailCA:!0,objCA:!0}]),n.sign(e),n};async function lk(t,e){let r=t.map(e),i=(await Promise.all(r)).findIndex(s=>s);return t[i]}ax.exports={certificateForKey:uk,findAsync:lk}});var hx=w((HK,fx)=>{"use strict";sx();Zl();var ui=be(),{certificateForKey:fk,findAsync:hk}=cx(),lo=he(),{fromString:ux}=(It(),Nt),{toString:dk}=(Tt(),Ot),{codes:fo}=je(),xd=new WeakMap,lx=class{constructor(e,r){if(!e)throw lo(new Error("keychain is required"),fo.ERR_KEYCHAIN_REQUIRED);this.keychain=e,xd.set(this,{dek:r})}async encrypt(e,r){if(!(r instanceof Uint8Array))throw lo(new Error("Plain data must be a Uint8Array"),fo.ERR_INVALID_PARAMETERS);let n=await this.keychain.findKeyByName(e),i=await this.keychain._getPrivateKey(e),s=xd.get(this).dek,o=ui.pki.decryptRsaPrivateKey(i,s),a=await fk(n,o),c=ui.pkcs7.createEnvelopedData();c.addRecipient(a),c.content=ui.util.createBuffer(r),c.encrypt();let u=ui.asn1.toDer(c.toAsn1()).getBytes();return ux(u,"ascii")}async decrypt(e){if(!(e instanceof Uint8Array))throw lo(new Error("CMS data is required"),fo.ERR_INVALID_PARAMETERS);let r;try{let u=ui.util.createBuffer(dk(e,"ascii")),l=ui.asn1.fromDer(u);r=ui.pkcs7.messageFromAsn1(l)}catch(u){throw lo(new Error("Invalid CMS: "+u.message),fo.ERR_INVALID_CMS)}let n=r.recipients.filter(u=>u.issuer.find(l=>l.shortName==="O"&&l.value==="ipfs")).filter(u=>u.issuer.find(l=>l.shortName==="CN")).map(u=>({recipient:u,keyId:u.issuer.find(l=>l.shortName==="CN").value})),i=await hk(n,async u=>{try{if(await this.keychain.findKeyById(u.keyId))return!0}catch(l){return!1}return!1});if(!i){let u=n.map(l=>l.keyId);throw lo(new Error("Decryption needs one of the key(s): "+u.join(", ")),fo.ERR_MISSING_KEYS,{missingKeys:u})}let s=await this.keychain.findKeyById(i.keyId);if(!s)throw lo(new Error("No key available to decrypto"),fo.ERR_NO_KEY);let o=await this.keychain._getPrivateKey(s.name),a=xd.get(this).dek,c=ui.pki.decryptRsaPrivateKey(o,a);return r.decrypt(i.recipient,c),ux(r.content.getBytes(),"ascii")}};fx.exports=lx});var bx=w((zK,vx)=>{"use strict";var dx=Te(),px=Object.assign(dx("libp2p:keychain"),{error:dx("libp2p:keychain:err")}),pk=R_(),yk=Vs(),Ji=Ru(),{Key:yx}=(Zc(),nh),gk=hx(),et=he(),{codes:tt}=je(),{toString:es}=(Tt(),Ot),{fromString:Rn}=(It(),Nt);pf();var mk="/pkcs8/",gx="/info/",li=new WeakMap,ts={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Sd={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Bn(t){return!t||typeof t!="string"?!1:t===pk(t.trim())}async function Le(t){let e=200,r=1e3,n=Math.random()*(r-e)+e;throw await new Promise(i=>setTimeout(i,n)),t}function cn(t){return new yx(mk+t)}function fi(t){return new yx(gx+t)}var mx=class{constructor(e,r){if(!e)throw new Error("store is required");if(this.store=e,this.opts=yk(Sd,r),this.opts.pass&&this.opts.pass.length<20)throw new Error("pass must be least 20 characters");if(this.opts.dek.keyLength<ts.minKeyLength)throw new Error(`dek.keyLength must be least ${ts.minKeyLength} bytes`);if(this.opts.dek.salt.length<ts.minSaltLength)throw new Error(`dek.saltLength must be least ${ts.minSaltLength} bytes`);if(this.opts.dek.iterationCount<ts.minIterationCount)throw new Error(`dek.iterationCount must be least ${ts.minIterationCount}`);let n=this.opts.pass?Ji.pbkdf2(this.opts.pass,this.opts.dek.salt,this.opts.dek.iterationCount,this.opts.dek.keyLength,this.opts.dek.hash):"";li.set(this,{dek:n})}get cms(){return new gk(this,li.get(this).dek)}static generateOptions(){let e=Object.assign({},Sd),r=Math.ceil(ts.minSaltLength/3)*3;return e.dek.salt=es(Ji.randomBytes(r),"base64"),e}static get options(){return Sd}async createKey(e,r,n=2048){let i=this;if(!Bn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(typeof r!="string")return Le(et(new Error(`Invalid key type '${r}'`),tt.ERR_INVALID_KEY_TYPE));let s=cn(e);if(await i.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)return Le(et(new Error(`Invalid RSA key size ${n}`),tt.ERR_INVALID_KEY_SIZE));break;default:break}let a;try{let c=await Ji.keys.generateKeyPair(r,n),u=await c.id(),l=li.get(this).dek,f=await c.export(l);a={name:e,id:u};let h=i.store.batch();h.put(s,Rn(f)),h.put(fi(e),Rn(JSON.stringify(a))),await h.commit()}catch(c){return Le(c)}return a}async listKeys(){let e=this,r={prefix:gx},n=[];for await(let i of e.store.query(r))n.push(JSON.parse(es(i.value)));return n}async findKeyById(e){try{return(await this.listKeys()).find(n=>n.id===e)}catch(r){return Le(r)}}async findKeyByName(e){if(!Bn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));let r=fi(e);try{let n=await this.store.get(r);return JSON.parse(es(n))}catch(n){return Le(et(new Error(`Key '${e}' does not exist. ${n.message}`),tt.ERR_KEY_NOT_FOUND))}}async removeKey(e){let r=this;if(!Bn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));let n=cn(e),i=await r.findKeyByName(e),s=r.store.batch();return s.delete(n),s.delete(fi(e)),await s.commit(),i}async renameKey(e,r){let n=this;if(!Bn(e)||e==="self")return Le(et(new Error(`Invalid old key name '${e}'`),tt.ERR_OLD_KEY_NAME_INVALID));if(!Bn(r)||r==="self")return Le(et(new Error(`Invalid new key name '${r}'`),tt.ERR_NEW_KEY_NAME_INVALID));let i=cn(e),s=cn(r),o=fi(e),a=fi(r);if(await n.store.has(s))return Le(et(new Error(`Key '${r}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));try{let u=await n.store.get(i),l=await n.store.get(o),f=JSON.parse(es(l));f.name=r;let h=n.store.batch();return h.put(s,u),h.put(a,Rn(JSON.stringify(f))),h.delete(i),h.delete(o),await h.commit(),f}catch(u){return Le(u)}}async exportKey(e,r){if(!Bn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r)return Le(et(new Error("Password is required"),tt.ERR_PASSWORD_REQUIRED));let n=cn(e);try{let i=await this.store.get(n),s=es(i),o=li.get(this).dek;return(await Ji.keys.import(s,o)).export(r)}catch(i){return Le(i)}}async importKey(e,r,n){let i=this;if(!Bn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r)return Le(et(new Error("PEM encoded key is required"),tt.ERR_PEM_REQUIRED));let s=cn(e);if(await i.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));let a;try{a=await Ji.keys.import(r,n)}catch(f){return Le(et(new Error("Cannot read the key, most likely the password is wrong"),tt.ERR_CANNOT_READ_KEY))}let c;try{c=await a.id();let f=li.get(this).dek;r=await a.export(f)}catch(f){return Le(f)}let u={name:e,id:c},l=i.store.batch();return l.put(s,Rn(r)),l.put(fi(e),Rn(JSON.stringify(u))),await l.commit(),u}async importPeer(e,r){let n=this;if(!Bn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r||!r.privKey)return Le(et(new Error("Peer.privKey is required"),tt.ERR_MISSING_PRIVATE_KEY));let i=r.privKey,s=cn(e);if(await n.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));try{let a=await i.id(),c=li.get(this).dek,u=await i.export(c),l={name:e,id:a},f=n.store.batch();return f.put(s,Rn(u)),f.put(fi(e),Rn(JSON.stringify(l))),await f.commit(),l}catch(a){return Le(a)}}async _getPrivateKey(e){if(!Bn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));try{let r=cn(e),n=await this.store.get(r);return es(n)}catch(r){return Le(et(new Error(`Key '${e}' does not exist. ${r.message}`),tt.ERR_KEY_NOT_FOUND))}}async rotateKeychainPass(e,r){if(typeof e!="string")return Le(et(new Error(`Invalid old pass type '${typeof e}'`),tt.ERR_INVALID_OLD_PASS_TYPE));if(typeof r!="string")return Le(et(new Error(`Invalid new pass type '${typeof r}'`),tt.ERR_INVALID_NEW_PASS_TYPE));if(r.length<20)return Le(et(new Error(`Invalid pass length ${r.length}`),tt.ERR_INVALID_PASS_LENGTH));px("recreating keychain");let n=li.get(this).dek;this.opts.pass=r;let i=r?Ji.pbkdf2(r,this.opts.dek.salt,this.opts.dek.iterationCount,this.opts.dek.keyLength,this.opts.dek.hash):"";li.set(this,{dek:i});let s=await this.listKeys();for(let o of s){let a=await this.store.get(cn(o.name)),c=es(a),u=await Ji.keys.import(c,n),l=i.toString(),f=await u.export(l),h=this.store.batch(),p={name:o.name,id:o.id};h.put(cn(o.name),Rn(f)),h.put(fi(o.name),Rn(JSON.stringify(p))),await h.commit()}px("keychain reconstructed")}};vx.exports=mx});var Du=w((Ou,Ex)=>{(function(t,e){typeof Ou=="object"&&typeof Ex!="undefined"?e(Ou):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.streamingIterables={}))})(Ou,function(t){"use strict";async function*e(b,v){let _=[];for await(let C of v)_.push(C),_.length===b&&(yield _,_=[]);_.length>0&&(yield _)}function*r(b,v){let _=[];for(let C of v)_.push(C),_.length===b&&(yield _,_=[]);_.length>0&&(yield _)}function n(b,v){return v===void 0?_=>n(b,_):v[Symbol.asyncIterator]?e(b,v):r(b,v)}function i(b){if(typeof b.next=="function")return b;if(typeof b[Symbol.iterator]=="function")return b[Symbol.iterator]();if(typeof b[Symbol.asyncIterator]=="function")return b[Symbol.asyncIterator]();throw new TypeError('"values" does not to conform to any of the iterator or iterable protocols')}function s(){let b,v;return{promise:new Promise((C,A)=>{v=C,b=A}),reject:b,resolve:v}}function o(b,v){let _=i(v),C=[],A=[],B=!1,N=!1;function O(){for(;A.length>0&&C.length>0;){let ee=A.shift(),{error:fe,value:ke}=C.shift();fe?ee.reject(fe):ee.resolve({done:!1,value:ke})}for(;A.length>0&&N;){let{resolve:ee}=A.shift();ee({done:!0,value:void 0})}}async function U(){if(!N&&!B&&!(C.length>=b)){B=!0;try{let{done:ee,value:fe}=await _.next();ee?N=!0:C.push({value:fe})}catch(ee){N=!0,C.push({error:ee})}O(),B=!1,U()}}async function W(){if(C.length>0){let{error:fe,value:ke}=C.shift();if(fe)throw fe;return U(),{done:!1,value:ke}}if(N)return{done:!0,value:void 0};let ee=s();return A.push(ee),U(),ee.promise}let Q={next:W,[Symbol.asyncIterator]:()=>Q};return Q}function*a(b,v){let _=[],C;try{for(let A of v)_.push(A),!(_.length<=b)&&(yield _.shift())}catch(A){C=A}for(let A of _)yield A;if(C)throw C}function c(b,v){return v===void 0?_=>c(b,_):b===0?v:v[Symbol.asyncIterator]?o(b,v):a(b,v)}async function u(b){let v=[];for await(let _ of b)v.push(_);return v}function l(b){return b[Symbol.asyncIterator]?u(b):Array.from(b)}async function*f(b){for await(let v of b)yield*v}function*h(b){for(let v of b)yield*v}function p(...b){return b.find(_=>_[Symbol.asyncIterator]!==void 0)?f(b):h(b)}async function d(b){for await(let v of b);}function g(b){if(b[Symbol.asyncIterator])return d(b);for(let v of b);}async function*m(b,v){for await(let _ of v)await b(_)&&(yield _)}function x(b,v){return v===void 0?_=>m(b,_):m(b,v)}async function*R(b){for await(let v of b)v&&typeof v!="string"&&(v[Symbol.iterator]||v[Symbol.asyncIterator])?yield*R(v):yield v}async function*L(b,v){for await(let _ of v)yield await b(_)}function H(b,v){return v===void 0?_=>L(b,_):L(b,v)}function q(b,v){return v===void 0?_=>q(b,_):x(_=>_!=null,R(H(b,v)))}function k(b,v,_){let C=i(_),A=[],B=[],N=!1,O=!1,U=0,W=null;function Q(){for(;B.length>0&&A.length>0;){let{resolve:ae}=B.shift(),ue=A.shift();ae({done:!1,value:ue})}for(;B.length>0&&U===0&&N;){let{resolve:ae,reject:ue}=B.shift();W?(ue(W),W=null):ae({done:!0,value:void 0})}}async function ee(){if(N){Q();return}if(!O&&!(U+A.length>=b)){O=!0,U++;try{let{done:ae,value:ue}=await C.next();ae?(N=!0,U--,Q()):fe(ue)}catch(ae){N=!0,U--,W=ae,Q()}O=!1,ee()}}async function fe(ae){try{let ue=await v(ae);if(ue&&ue[Symbol.asyncIterator])for await(let us of ue)A.push(us);else A.push(ue)}catch(ue){N=!0,W=ue}U--,Q(),ee()}async function ke(){if(A.length===0){let ue=s();return B.push(ue),ee(),ue.promise}let ae=A.shift();return ee(),{done:!1,value:ae}}let ge={next:ke,[Symbol.asyncIterator]:()=>ge};return ge}function J(b,v,_){return v===void 0?(C,A)=>A?J(b,C,A):J(b,C):_===void 0?C=>J(b,v,C):x(C=>C!=null,R(k(b,v,_)))}async function ie(b){return new Promise(v=>{b.once("readable",()=>{v()})})}async function*j(b){for(;;){let v=b.read();if(v!==null){yield v;continue}if(b._readableState.ended)break;await ie(b)}}function we(b){return typeof b[Symbol.asyncIterator]=="function"?b:j(b)}async function*le(...b){let v=new Set(b.map(i));for(;v.size>0;)for(let _ of v){let C=await _.next();C.done?v.delete(_):yield C.value}}function ye(b,...v){let _=b();for(let C of v)_=C(_);return _}async function*nt(b,v,_){let C=null,A=U=>({value:v(U)}),B=async function*(U){for await(let W of U){if(C)return;yield W}},N=ye(()=>_,c(1),B,H(A),c(b-1)),O=i(N);for(;;){let{value:U,done:W}=await O.next();if(W)break;try{let Q=await U.value;C||(yield Q)}catch(Q){C=Q}}if(C)throw C}function it(b,v,_){return v===void 0?(C,A)=>it(b,C,A):_===void 0?C=>it(b,v,C):b===1?H(v,_):nt(b,v,_)}function Ie(b,v,_){return v===void 0?(C,A)=>A?Ie(b,C,A):Ie(b,C):_===void 0?C=>Ie(b,v,C):x(C=>C!=null,R(it(b,v,_)))}async function*Me(...b){let v=b.map(i),_=new Set,C=new Map,A=null,B=null,N=null,O=ee=>{A=ee,B&&B(ee)},U=ee=>{N&&N(ee)},W=()=>new Promise((ee,fe)=>{if(A&&fe(A),C.size>0)return ee();N=ee,B=fe}),Q=ee=>{let fe=Promise.resolve(ee.next()).then(async({done:ke,value:ge})=>{ke||C.set(ee,ge),_.delete(fe)});_.add(fe),fe.then(U,O)};for(let ee of v)Q(ee);for(;;){if(_.size===0&&C.size===0)return;await W();for(let[ee,fe]of C)C.delete(ee),yield fe,Q(ee)}}async function ne(b,v,_){let C=v;for await(let A of _)C=await b(C,A);return C}function tr(b,v,_){return v===void 0?(C,A)=>A?ne(b,C,A):tr(b,C):_===void 0?C=>tr(b,v,C):ne(b,v,_)}async function*Wt(b,v){let _=0;for await(let C of v)if(yield await C,_++,_>=b)break}function*fn(b,v){let _=0;for(let C of v)if(yield C,_++,_>=b)break}function Yt(b,v){return v===void 0?_=>Yt(b,_):v[Symbol.asyncIterator]?Wt(b,v):fn(b,v)}async function*hn(b,v){for await(let _ of v)await b(_),yield _}function z(b,v){return v===void 0?_=>hn(b,_):hn(b,v)}function cs(b,v){let _=b[0]+v[0],C=b[1]+v[1];if(C>=1e9){let A=C%1e9;_+=(C-A)/1e9,C=A}return[_,C]}async function*$a(b,v){let _=v[Symbol.asyncIterator](),C=[0,0];for(;;){let A=process.hrtime(),{value:B,done:N}=await _.next(),O=process.hrtime(A);if(C=cs(C,O),b.progress&&b.progress(O,C),N)return b.total&&b.total(C),B;yield B}}function*Io(b,v){let _=v[Symbol.iterator](),C=[0,0];for(;;){let A=process.hrtime(),{value:B,done:N}=_.next(),O=process.hrtime(A);if(C=cs(C,O),b.progress&&b.progress(O,C),N)return b.total&&b.total(C),B;yield B}}function Kt(b={},v){return v===void 0?_=>Kt(b,_):v[Symbol.asyncIterator]!==void 0?$a(b,v):Io(b,v)}function Tr(b,v,_){let C=i(_),A=[],B=[],N=!1,O=!1,U=0,W=null;function Q(){for(;B.length>0&&A.length>0;){let{resolve:ae}=B.shift(),ue=A.shift();ae({done:!1,value:ue})}for(;B.length>0&&U===0&&N;){let{resolve:ae,reject:ue}=B.shift();W?(ue(W),W=null):ae({done:!0,value:void 0})}}async function ee(){if(N){Q();return}if(!O&&!(U+A.length>=b)){O=!0,U++;try{let{done:ae,value:ue}=await C.next();ae?(N=!0,U--,Q()):fe(ue)}catch(ae){N=!0,U--,W=ae,Q()}O=!1,ee()}}async function fe(ae){try{let ue=await v(ae);A.push(ue)}catch(ue){N=!0,W=ue}U--,Q(),ee()}async function ke(){if(A.length===0){let ue=s();return B.push(ue),ee(),ue.promise}let ae=A.shift();return ee(),{done:!1,value:ae}}let ge={next:ke,[Symbol.asyncIterator]:()=>ge};return ge}function E(b,v,_){return v===void 0?(C,A)=>A?E(b,C,A):E(b,C):_===void 0?C=>E(b,v,C):Tr(b,v,_)}async function S(b,v){let _=null,C=null,A=null,B=W=>{_=W,C&&C(W)},N=()=>{A&&A()},O=()=>{b.removeListener("error",B),b.removeListener("drain",N)};b.once("error",B);let U=()=>new Promise((W,Q)=>{if(_)return Q(_);b.once("drain",N),A=W,C=Q});for await(let W of v)if(b.write(W)===!1&&await U(),_)break;if(O(),_)throw _}function I(b,v){return v===void 0?_=>S(b,_):S(b,v)}t.batch=n,t.buffer=c,t.collect=l,t.concat=p,t.consume=g,t.filter=x,t.flatMap=q,t.flatTransform=J,t.flatten=R,t.fromStream=we,t.getIterator=i,t.map=H,t.merge=le,t.parallelFlatMap=Ie,t.parallelMap=it,t.parallelMerge=Me,t.pipeline=ye,t.reduce=tr,t.take=Yt,t.tap=z,t.time=Kt,t.transform=E,t.writeToStream=I,Object.defineProperty(t,"__esModule",{value:!0})})});var _x=w((GK,wx)=>{wx.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function i(s,o){r[s]=o,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(s){return r[s]!==void 0||n[s]!==void 0},remove:function(s){r[s]!==void 0&&(r[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var o=r[s];if(o!==void 0)return o;if((o=n[s])!==void 0)return i(s,o),o},set:function(s,o){r[s]!==void 0?r[s]=o:i(s,o)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var Sx=w((WK,xx)=>{"use strict";var vk=_x();xx.exports=t=>{let e=vk(t);return e.delete=e.remove,e}});var Cx=w((Ax,Lu)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,i=Math.floor,s="[BigNumber Error] ",o=s+"Number primitive has more than 15 significant digits: ",a=1e14,c=14,u=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],f=1e7,h=1e9;function p(q){var k,J,ie,j=z.prototype={constructor:z,toString:null,valueOf:null},we=new z(1),le=20,ye=4,nt=-7,it=21,Ie=-1e7,Me=1e7,ne=!1,tr=1,Wt=0,fn={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Yt="0123456789abcdefghijklmnopqrstuvwxyz",hn=!0;function z(E,S){var I,b,v,_,C,A,B,N,O=this;if(!(O instanceof z))return new z(E,S);if(S==null){if(E&&E._isBigNumber===!0){O.s=E.s,!E.c||E.e>Me?O.c=O.e=null:E.e<Ie?O.c=[O.e=0]:(O.e=E.e,O.c=E.c.slice());return}if((A=typeof E=="number")&&E*0==0){if(O.s=1/E<0?(E=-E,-1):1,E===~~E){for(_=0,C=E;C>=10;C/=10,_++);_>Me?O.c=O.e=null:(O.e=_,O.c=[E]);return}N=String(E)}else{if(!r.test(N=String(E)))return ie(O,N,A);O.s=N.charCodeAt(0)==45?(N=N.slice(1),-1):1}(_=N.indexOf("."))>-1&&(N=N.replace(".","")),(C=N.search(/e/i))>0?(_<0&&(_=C),_+=+N.slice(C+1),N=N.substring(0,C)):_<0&&(_=N.length)}else{if(x(S,2,Yt.length,"Base"),S==10&&hn)return O=new z(E),Kt(O,le+O.e+1,ye);if(N=String(E),A=typeof E=="number"){if(E*0!=0)return ie(O,N,A,S);if(O.s=1/E<0?(N=N.slice(1),-1):1,z.DEBUG&&N.replace(/^0\.0*|\./,"").length>15)throw Error(o+E)}else O.s=N.charCodeAt(0)===45?(N=N.slice(1),-1):1;for(I=Yt.slice(0,S),_=C=0,B=N.length;C<B;C++)if(I.indexOf(b=N.charAt(C))<0){if(b=="."){if(C>_){_=B;continue}}else if(!v&&(N==N.toUpperCase()&&(N=N.toLowerCase())||N==N.toLowerCase()&&(N=N.toUpperCase()))){v=!0,C=-1,_=0;continue}return ie(O,String(E),A,S)}A=!1,N=J(N,S,10,O.s),(_=N.indexOf("."))>-1?N=N.replace(".",""):_=N.length}for(C=0;N.charCodeAt(C)===48;C++);for(B=N.length;N.charCodeAt(--B)===48;);if(N=N.slice(C,++B)){if(B-=C,A&&z.DEBUG&&B>15&&(E>u||E!==i(E)))throw Error(o+O.s*E);if((_=_-C-1)>Me)O.c=O.e=null;else if(_<Ie)O.c=[O.e=0];else{if(O.e=_,O.c=[],C=(_+1)%c,_<0&&(C+=c),C<B){for(C&&O.c.push(+N.slice(0,C)),B-=c;C<B;)O.c.push(+N.slice(C,C+=c));C=c-(N=N.slice(C)).length}else C-=B;for(;C--;N+="0");O.c.push(+N)}}else O.c=[O.e=0]}z.clone=p,z.ROUND_UP=0,z.ROUND_DOWN=1,z.ROUND_CEIL=2,z.ROUND_FLOOR=3,z.ROUND_HALF_UP=4,z.ROUND_HALF_DOWN=5,z.ROUND_HALF_EVEN=6,z.ROUND_HALF_CEIL=7,z.ROUND_HALF_FLOOR=8,z.EUCLID=9,z.config=z.set=function(E){var S,I;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(S="DECIMAL_PLACES")&&(I=E[S],x(I,0,h,S),le=I),E.hasOwnProperty(S="ROUNDING_MODE")&&(I=E[S],x(I,0,8,S),ye=I),E.hasOwnProperty(S="EXPONENTIAL_AT")&&(I=E[S],I&&I.pop?(x(I[0],-h,0,S),x(I[1],0,h,S),nt=I[0],it=I[1]):(x(I,-h,h,S),nt=-(it=I<0?-I:I))),E.hasOwnProperty(S="RANGE"))if(I=E[S],I&&I.pop)x(I[0],-h,-1,S),x(I[1],1,h,S),Ie=I[0],Me=I[1];else if(x(I,-h,h,S),I)Ie=-(Me=I<0?-I:I);else throw Error(s+S+" cannot be zero: "+I);if(E.hasOwnProperty(S="CRYPTO"))if(I=E[S],I===!!I)if(I)if(typeof crypto!="undefined"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ne=I;else throw ne=!I,Error(s+"crypto unavailable");else ne=I;else throw Error(s+S+" not true or false: "+I);if(E.hasOwnProperty(S="MODULO_MODE")&&(I=E[S],x(I,0,9,S),tr=I),E.hasOwnProperty(S="POW_PRECISION")&&(I=E[S],x(I,0,h,S),Wt=I),E.hasOwnProperty(S="FORMAT"))if(I=E[S],typeof I=="object")fn=I;else throw Error(s+S+" not an object: "+I);if(E.hasOwnProperty(S="ALPHABET"))if(I=E[S],typeof I=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(I))hn=I.slice(0,10)=="0123456789",Yt=I;else throw Error(s+S+" invalid: "+I)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:le,ROUNDING_MODE:ye,EXPONENTIAL_AT:[nt,it],RANGE:[Ie,Me],CRYPTO:ne,MODULO_MODE:tr,POW_PRECISION:Wt,FORMAT:fn,ALPHABET:Yt}},z.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!z.DEBUG)return!0;var S,I,b=E.c,v=E.e,_=E.s;e:if({}.toString.call(b)=="[object Array]"){if((_===1||_===-1)&&v>=-h&&v<=h&&v===i(v)){if(b[0]===0){if(v===0&&b.length===1)return!0;break e}if(S=(v+1)%c,S<1&&(S+=c),String(b[0]).length==S){for(S=0;S<b.length;S++)if(I=b[S],I<0||I>=a||I!==i(I))break e;if(I!==0)return!0}}}else if(b===null&&v===null&&(_===null||_===1||_===-1))return!0;throw Error(s+"Invalid BigNumber: "+E)},z.maximum=z.max=function(){return $a(arguments,j.lt)},z.minimum=z.min=function(){return $a(arguments,j.gt)},z.random=function(){var E=9007199254740992,S=Math.random()*E&2097151?function(){return i(Math.random()*E)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(I){var b,v,_,C,A,B=0,N=[],O=new z(we);if(I==null?I=le:x(I,0,h),C=n(I/c),ne)if(crypto.getRandomValues){for(b=crypto.getRandomValues(new Uint32Array(C*=2));B<C;)A=b[B]*131072+(b[B+1]>>>11),A>=9e15?(v=crypto.getRandomValues(new Uint32Array(2)),b[B]=v[0],b[B+1]=v[1]):(N.push(A%1e14),B+=2);B=C/2}else if(crypto.randomBytes){for(b=crypto.randomBytes(C*=7);B<C;)A=(b[B]&31)*281474976710656+b[B+1]*1099511627776+b[B+2]*4294967296+b[B+3]*16777216+(b[B+4]<<16)+(b[B+5]<<8)+b[B+6],A>=9e15?crypto.randomBytes(7).copy(b,B):(N.push(A%1e14),B+=7);B=C/7}else throw ne=!1,Error(s+"crypto unavailable");if(!ne)for(;B<C;)A=S(),A<9e15&&(N[B++]=A%1e14);for(C=N[--B],I%=c,C&&I&&(A=l[c-I],N[B]=i(C/A)*A);N[B]===0;N.pop(),B--);if(B<0)N=[_=0];else{for(_=-1;N[0]===0;N.splice(0,1),_-=c);for(B=1,A=N[0];A>=10;A/=10,B++);B<c&&(_-=c-B)}return O.e=_,O.c=N,O}}(),z.sum=function(){for(var E=1,S=arguments,I=new z(S[0]);E<S.length;)I=I.plus(S[E++]);return I},J=function(){var E="0123456789";function S(I,b,v,_){for(var C,A=[0],B,N=0,O=I.length;N<O;){for(B=A.length;B--;A[B]*=b);for(A[0]+=_.indexOf(I.charAt(N++)),C=0;C<A.length;C++)A[C]>v-1&&(A[C+1]==null&&(A[C+1]=0),A[C+1]+=A[C]/v|0,A[C]%=v)}return A.reverse()}return function(I,b,v,_,C){var A,B,N,O,U,W,Q,ee,fe=I.indexOf("."),ke=le,ge=ye;for(fe>=0&&(O=Wt,Wt=0,I=I.replace(".",""),ee=new z(b),W=ee.pow(I.length-fe),Wt=O,ee.c=S(H(g(W.c),W.e,"0"),10,v,E),ee.e=ee.c.length),Q=S(I,b,v,C?(A=Yt,E):(A=E,Yt)),N=O=Q.length;Q[--O]==0;Q.pop());if(!Q[0])return A.charAt(0);if(fe<0?--N:(W.c=Q,W.e=N,W.s=_,W=k(W,ee,ke,ge,v),Q=W.c,U=W.r,N=W.e),B=N+ke+1,fe=Q[B],O=v/2,U=U||B<0||Q[B+1]!=null,U=ge<4?(fe!=null||U)&&(ge==0||ge==(W.s<0?3:2)):fe>O||fe==O&&(ge==4||U||ge==6&&Q[B-1]&1||ge==(W.s<0?8:7)),B<1||!Q[0])I=U?H(A.charAt(1),-ke,A.charAt(0)):A.charAt(0);else{if(Q.length=B,U)for(--v;++Q[--B]>v;)Q[B]=0,B||(++N,Q=[1].concat(Q));for(O=Q.length;!Q[--O];);for(fe=0,I="";fe<=O;I+=A.charAt(Q[fe++]));I=H(I,N,A.charAt(0))}return I}}(),k=function(){function E(b,v,_){var C,A,B,N,O=0,U=b.length,W=v%f,Q=v/f|0;for(b=b.slice();U--;)B=b[U]%f,N=b[U]/f|0,C=Q*B+N*W,A=W*B+C%f*f+O,O=(A/_|0)+(C/f|0)+Q*N,b[U]=A%_;return O&&(b=[O].concat(b)),b}function S(b,v,_,C){var A,B;if(_!=C)B=_>C?1:-1;else for(A=B=0;A<_;A++)if(b[A]!=v[A]){B=b[A]>v[A]?1:-1;break}return B}function I(b,v,_,C){for(var A=0;_--;)b[_]-=A,A=b[_]<v[_]?1:0,b[_]=A*C+b[_]-v[_];for(;!b[0]&&b.length>1;b.splice(0,1));}return function(b,v,_,C,A){var B,N,O,U,W,Q,ee,fe,ke,ge,ae,ue,us,cl,ul,Kr,To,cr=b.s==v.s?1:-1,Vt=b.c,at=v.c;if(!Vt||!Vt[0]||!at||!at[0])return new z(!b.s||!v.s||(Vt?at&&Vt[0]==at[0]:!at)?NaN:Vt&&Vt[0]==0||!at?cr*0:cr/0);for(fe=new z(cr),ke=fe.c=[],N=b.e-v.e,cr=_+N+1,A||(A=a,N=d(b.e/c)-d(v.e/c),cr=cr/c|0),O=0;at[O]==(Vt[O]||0);O++);if(at[O]>(Vt[O]||0)&&N--,cr<0)ke.push(1),U=!0;else{for(cl=Vt.length,Kr=at.length,O=0,cr+=2,W=i(A/(at[0]+1)),W>1&&(at=E(at,W,A),Vt=E(Vt,W,A),Kr=at.length,cl=Vt.length),us=Kr,ge=Vt.slice(0,Kr),ae=ge.length;ae<Kr;ge[ae++]=0);To=at.slice(),To=[0].concat(To),ul=at[0],at[1]>=A/2&&ul++;do{if(W=0,B=S(at,ge,Kr,ae),B<0){if(ue=ge[0],Kr!=ae&&(ue=ue*A+(ge[1]||0)),W=i(ue/ul),W>1)for(W>=A&&(W=A-1),Q=E(at,W,A),ee=Q.length,ae=ge.length;S(Q,ge,ee,ae)==1;)W--,I(Q,Kr<ee?To:at,ee,A),ee=Q.length,B=1;else W==0&&(B=W=1),Q=at.slice(),ee=Q.length;if(ee<ae&&(Q=[0].concat(Q)),I(ge,Q,ae,A),ae=ge.length,B==-1)for(;S(at,ge,Kr,ae)<1;)W++,I(ge,Kr<ae?To:at,ae,A),ae=ge.length}else B===0&&(W++,ge=[0]);ke[O++]=W,ge[0]?ge[ae++]=Vt[us]||0:(ge=[Vt[us]],ae=1)}while((us++<cl||ge[0]!=null)&&cr--);U=ge[0]!=null,ke[0]||ke.splice(0,1)}if(A==a){for(O=1,cr=ke[0];cr>=10;cr/=10,O++);Kt(fe,_+(fe.e=O+N*c-1)+1,C,U)}else fe.e=N,fe.r=+U;return fe}}();function cs(E,S,I,b){var v,_,C,A,B;if(I==null?I=ye:x(I,0,8),!E.c)return E.toString();if(v=E.c[0],C=E.e,S==null)B=g(E.c),B=b==1||b==2&&(C<=nt||C>=it)?L(B,C):H(B,C,"0");else if(E=Kt(new z(E),S,I),_=E.e,B=g(E.c),A=B.length,b==1||b==2&&(S<=_||_<=nt)){for(;A<S;B+="0",A++);B=L(B,_)}else if(S-=C,B=H(B,_,"0"),_+1>A){if(--S>0)for(B+=".";S--;B+="0");}else if(S+=_-A,S>0)for(_+1==A&&(B+=".");S--;B+="0");return E.s<0&&v?"-"+B:B}function $a(E,S){for(var I,b=1,v=new z(E[0]);b<E.length;b++)if(I=new z(E[b]),I.s)S.call(v,I)&&(v=I);else{v=I;break}return v}function Io(E,S,I){for(var b=1,v=S.length;!S[--v];S.pop());for(v=S[0];v>=10;v/=10,b++);return(I=b+I*c-1)>Me?E.c=E.e=null:I<Ie?E.c=[E.e=0]:(E.e=I,E.c=S),E}ie=function(){var E=/^(-?)0([xbo])(?=\w[\w.]*$)/i,S=/^([^.]+)\.$/,I=/^\.([^.]+)$/,b=/^-?(Infinity|NaN)$/,v=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(_,C,A,B){var N,O=A?C:C.replace(v,"");if(b.test(O))_.s=isNaN(O)?null:O<0?-1:1;else{if(!A&&(O=O.replace(E,function(U,W,Q){return N=(Q=Q.toLowerCase())=="x"?16:Q=="b"?2:8,!B||B==N?W:U}),B&&(N=B,O=O.replace(S,"$1").replace(I,"0.$1")),C!=O))return new z(O,N);if(z.DEBUG)throw Error(s+"Not a"+(B?" base "+B:"")+" number: "+C);_.s=null}_.c=_.e=null}}();function Kt(E,S,I,b){var v,_,C,A,B,N,O,U=E.c,W=l;if(U){e:{for(v=1,A=U[0];A>=10;A/=10,v++);if(_=S-v,_<0)_+=c,C=S,B=U[N=0],O=B/W[v-C-1]%10|0;else if(N=n((_+1)/c),N>=U.length)if(b){for(;U.length<=N;U.push(0));B=O=0,v=1,_%=c,C=_-c+1}else break e;else{for(B=A=U[N],v=1;A>=10;A/=10,v++);_%=c,C=_-c+v,O=C<0?0:B/W[v-C-1]%10|0}if(b=b||S<0||U[N+1]!=null||(C<0?B:B%W[v-C-1]),b=I<4?(O||b)&&(I==0||I==(E.s<0?3:2)):O>5||O==5&&(I==4||b||I==6&&(_>0?C>0?B/W[v-C]:0:U[N-1])%10&1||I==(E.s<0?8:7)),S<1||!U[0])return U.length=0,b?(S-=E.e+1,U[0]=W[(c-S%c)%c],E.e=-S||0):U[0]=E.e=0,E;if(_==0?(U.length=N,A=1,N--):(U.length=N+1,A=W[c-_],U[N]=C>0?i(B/W[v-C]%W[C])*A:0),b)for(;;)if(N==0){for(_=1,C=U[0];C>=10;C/=10,_++);for(C=U[0]+=A,A=1;C>=10;C/=10,A++);_!=A&&(E.e++,U[0]==a&&(U[0]=1));break}else{if(U[N]+=A,U[N]!=a)break;U[N--]=0,A=1}for(_=U.length;U[--_]===0;U.pop());}E.e>Me?E.c=E.e=null:E.e<Ie&&(E.c=[E.e=0])}return E}function Tr(E){var S,I=E.e;return I===null?E.toString():(S=g(E.c),S=I<=nt||I>=it?L(S,I):H(S,I,"0"),E.s<0?"-"+S:S)}return j.absoluteValue=j.abs=function(){var E=new z(this);return E.s<0&&(E.s=1),E},j.comparedTo=function(E,S){return m(this,new z(E,S))},j.decimalPlaces=j.dp=function(E,S){var I,b,v,_=this;if(E!=null)return x(E,0,h),S==null?S=ye:x(S,0,8),Kt(new z(_),E+_.e+1,S);if(!(I=_.c))return null;if(b=((v=I.length-1)-d(this.e/c))*c,v=I[v])for(;v%10==0;v/=10,b--);return b<0&&(b=0),b},j.dividedBy=j.div=function(E,S){return k(this,new z(E,S),le,ye)},j.dividedToIntegerBy=j.idiv=function(E,S){return k(this,new z(E,S),0,1)},j.exponentiatedBy=j.pow=function(E,S){var I,b,v,_,C,A,B,N,O,U=this;if(E=new z(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+Tr(E));if(S!=null&&(S=new z(S)),A=E.e>14,!U.c||!U.c[0]||U.c[0]==1&&!U.e&&U.c.length==1||!E.c||!E.c[0])return O=new z(Math.pow(+Tr(U),A?2-R(E):+Tr(E))),S?O.mod(S):O;if(B=E.s<0,S){if(S.c?!S.c[0]:!S.s)return new z(NaN);b=!B&&U.isInteger()&&S.isInteger(),b&&(U=U.mod(S))}else{if(E.e>9&&(U.e>0||U.e<-1||(U.e==0?U.c[0]>1||A&&U.c[1]>=24e7:U.c[0]<8e13||A&&U.c[0]<=9999975e7)))return _=U.s<0&&R(E)?-0:0,U.e>-1&&(_=1/_),new z(B?1/_:_);Wt&&(_=n(Wt/c+2))}for(A?(I=new z(.5),B&&(E.s=1),N=R(E)):(v=Math.abs(+Tr(E)),N=v%2),O=new z(we);;){if(N){if(O=O.times(U),!O.c)break;_?O.c.length>_&&(O.c.length=_):b&&(O=O.mod(S))}if(v){if(v=i(v/2),v===0)break;N=v%2}else if(E=E.times(I),Kt(E,E.e+1,1),E.e>14)N=R(E);else{if(v=+Tr(E),v===0)break;N=v%2}U=U.times(U),_?U.c&&U.c.length>_&&(U.c.length=_):b&&(U=U.mod(S))}return b?O:(B&&(O=we.div(O)),S?O.mod(S):_?Kt(O,Wt,ye,C):O)},j.integerValue=function(E){var S=new z(this);return E==null?E=ye:x(E,0,8),Kt(S,S.e+1,E)},j.isEqualTo=j.eq=function(E,S){return m(this,new z(E,S))===0},j.isFinite=function(){return!!this.c},j.isGreaterThan=j.gt=function(E,S){return m(this,new z(E,S))>0},j.isGreaterThanOrEqualTo=j.gte=function(E,S){return(S=m(this,new z(E,S)))===1||S===0},j.isInteger=function(){return!!this.c&&d(this.e/c)>this.c.length-2},j.isLessThan=j.lt=function(E,S){return m(this,new z(E,S))<0},j.isLessThanOrEqualTo=j.lte=function(E,S){return(S=m(this,new z(E,S)))===-1||S===0},j.isNaN=function(){return!this.s},j.isNegative=function(){return this.s<0},j.isPositive=function(){return this.s>0},j.isZero=function(){return!!this.c&&this.c[0]==0},j.minus=function(E,S){var I,b,v,_,C=this,A=C.s;if(E=new z(E,S),S=E.s,!A||!S)return new z(NaN);if(A!=S)return E.s=-S,C.plus(E);var B=C.e/c,N=E.e/c,O=C.c,U=E.c;if(!B||!N){if(!O||!U)return O?(E.s=-S,E):new z(U?C:NaN);if(!O[0]||!U[0])return U[0]?(E.s=-S,E):new z(O[0]?C:ye==3?-0:0)}if(B=d(B),N=d(N),O=O.slice(),A=B-N){for((_=A<0)?(A=-A,v=O):(N=B,v=U),v.reverse(),S=A;S--;v.push(0));v.reverse()}else for(b=(_=(A=O.length)<(S=U.length))?A:S,A=S=0;S<b;S++)if(O[S]!=U[S]){_=O[S]<U[S];break}if(_&&(v=O,O=U,U=v,E.s=-E.s),S=(b=U.length)-(I=O.length),S>0)for(;S--;O[I++]=0);for(S=a-1;b>A;){if(O[--b]<U[b]){for(I=b;I&&!O[--I];O[I]=S);--O[I],O[b]+=a}O[b]-=U[b]}for(;O[0]==0;O.splice(0,1),--N);return O[0]?Io(E,O,N):(E.s=ye==3?-1:1,E.c=[E.e=0],E)},j.modulo=j.mod=function(E,S){var I,b,v=this;return E=new z(E,S),!v.c||!E.s||E.c&&!E.c[0]?new z(NaN):!E.c||v.c&&!v.c[0]?new z(v):(tr==9?(b=E.s,E.s=1,I=k(v,E,0,3),E.s=b,I.s*=b):I=k(v,E,0,tr),E=v.minus(I.times(E)),!E.c[0]&&tr==1&&(E.s=v.s),E)},j.multipliedBy=j.times=function(E,S){var I,b,v,_,C,A,B,N,O,U,W,Q,ee,fe,ke,ge=this,ae=ge.c,ue=(E=new z(E,S)).c;if(!ae||!ue||!ae[0]||!ue[0])return!ge.s||!E.s||ae&&!ae[0]&&!ue||ue&&!ue[0]&&!ae?E.c=E.e=E.s=null:(E.s*=ge.s,!ae||!ue?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(b=d(ge.e/c)+d(E.e/c),E.s*=ge.s,B=ae.length,U=ue.length,B<U&&(ee=ae,ae=ue,ue=ee,v=B,B=U,U=v),v=B+U,ee=[];v--;ee.push(0));for(fe=a,ke=f,v=U;--v>=0;){for(I=0,W=ue[v]%ke,Q=ue[v]/ke|0,C=B,_=v+C;_>v;)N=ae[--C]%ke,O=ae[C]/ke|0,A=Q*N+O*W,N=W*N+A%ke*ke+ee[_]+I,I=(N/fe|0)+(A/ke|0)+Q*O,ee[_--]=N%fe;ee[_]=I}return I?++b:ee.splice(0,1),Io(E,ee,b)},j.negated=function(){var E=new z(this);return E.s=-E.s||null,E},j.plus=function(E,S){var I,b=this,v=b.s;if(E=new z(E,S),S=E.s,!v||!S)return new z(NaN);if(v!=S)return E.s=-S,b.minus(E);var _=b.e/c,C=E.e/c,A=b.c,B=E.c;if(!_||!C){if(!A||!B)return new z(v/0);if(!A[0]||!B[0])return B[0]?E:new z(A[0]?b:v*0)}if(_=d(_),C=d(C),A=A.slice(),v=_-C){for(v>0?(C=_,I=B):(v=-v,I=A),I.reverse();v--;I.push(0));I.reverse()}for(v=A.length,S=B.length,v-S<0&&(I=B,B=A,A=I,S=v),v=0;S;)v=(A[--S]=A[S]+B[S]+v)/a|0,A[S]=a===A[S]?0:A[S]%a;return v&&(A=[v].concat(A),++C),Io(E,A,C)},j.precision=j.sd=function(E,S){var I,b,v,_=this;if(E!=null&&E!==!!E)return x(E,1,h),S==null?S=ye:x(S,0,8),Kt(new z(_),E,S);if(!(I=_.c))return null;if(v=I.length-1,b=v*c+1,v=I[v]){for(;v%10==0;v/=10,b--);for(v=I[0];v>=10;v/=10,b++);}return E&&_.e+1>b&&(b=_.e+1),b},j.shiftedBy=function(E){return x(E,-u,u),this.times("1e"+E)},j.squareRoot=j.sqrt=function(){var E,S,I,b,v,_=this,C=_.c,A=_.s,B=_.e,N=le+4,O=new z("0.5");if(A!==1||!C||!C[0])return new z(!A||A<0&&(!C||C[0])?NaN:C?_:1/0);if(A=Math.sqrt(+Tr(_)),A==0||A==1/0?(S=g(C),(S.length+B)%2==0&&(S+="0"),A=Math.sqrt(+S),B=d((B+1)/2)-(B<0||B%2),A==1/0?S="5e"+B:(S=A.toExponential(),S=S.slice(0,S.indexOf("e")+1)+B),I=new z(S)):I=new z(A+""),I.c[0]){for(B=I.e,A=B+N,A<3&&(A=0);;)if(v=I,I=O.times(v.plus(k(_,v,N,1))),g(v.c).slice(0,A)===(S=g(I.c)).slice(0,A))if(I.e<B&&--A,S=S.slice(A-3,A+1),S=="9999"||!b&&S=="4999"){if(!b&&(Kt(v,v.e+le+2,0),v.times(v).eq(_))){I=v;break}N+=4,A+=4,b=1}else{(!+S||!+S.slice(1)&&S.charAt(0)=="5")&&(Kt(I,I.e+le+2,1),E=!I.times(I).eq(_));break}}return Kt(I,I.e+le+1,ye,E)},j.toExponential=function(E,S){return E!=null&&(x(E,0,h),E++),cs(this,E,S,1)},j.toFixed=function(E,S){return E!=null&&(x(E,0,h),E=E+this.e+1),cs(this,E,S)},j.toFormat=function(E,S,I){var b,v=this;if(I==null)E!=null&&S&&typeof S=="object"?(I=S,S=null):E&&typeof E=="object"?(I=E,E=S=null):I=fn;else if(typeof I!="object")throw Error(s+"Argument not an object: "+I);if(b=v.toFixed(E,S),v.c){var _,C=b.split("."),A=+I.groupSize,B=+I.secondaryGroupSize,N=I.groupSeparator||"",O=C[0],U=C[1],W=v.s<0,Q=W?O.slice(1):O,ee=Q.length;if(B&&(_=A,A=B,B=_,ee-=_),A>0&&ee>0){for(_=ee%A||A,O=Q.substr(0,_);_<ee;_+=A)O+=N+Q.substr(_,A);B>0&&(O+=N+Q.slice(_)),W&&(O="-"+O)}b=U?O+(I.decimalSeparator||"")+((B=+I.fractionGroupSize)?U.replace(new RegExp("\\d{"+B+"}\\B","g"),"$&"+(I.fractionGroupSeparator||"")):U):O}return(I.prefix||"")+b+(I.suffix||"")},j.toFraction=function(E){var S,I,b,v,_,C,A,B,N,O,U,W,Q=this,ee=Q.c;if(E!=null&&(A=new z(E),!A.isInteger()&&(A.c||A.s!==1)||A.lt(we)))throw Error(s+"Argument "+(A.isInteger()?"out of range: ":"not an integer: ")+Tr(A));if(!ee)return new z(Q);for(S=new z(we),N=I=new z(we),b=B=new z(we),W=g(ee),_=S.e=W.length-Q.e-1,S.c[0]=l[(C=_%c)<0?c+C:C],E=!E||A.comparedTo(S)>0?_>0?S:N:A,C=Me,Me=1/0,A=new z(W),B.c[0]=0;O=k(A,S,0,1),v=I.plus(O.times(b)),v.comparedTo(E)!=1;)I=b,b=v,N=B.plus(O.times(v=N)),B=v,S=A.minus(O.times(v=S)),A=v;return v=k(E.minus(I),b,0,1),B=B.plus(v.times(N)),I=I.plus(v.times(b)),B.s=N.s=Q.s,_=_*2,U=k(N,b,_,ye).minus(Q).abs().comparedTo(k(B,I,_,ye).minus(Q).abs())<1?[N,b]:[B,I],Me=C,U},j.toNumber=function(){return+Tr(this)},j.toPrecision=function(E,S){return E!=null&&x(E,1,h),cs(this,E,S,2)},j.toString=function(E){var S,I=this,b=I.s,v=I.e;return v===null?b?(S="Infinity",b<0&&(S="-"+S)):S="NaN":(E==null?S=v<=nt||v>=it?L(g(I.c),v):H(g(I.c),v,"0"):E===10&&hn?(I=Kt(new z(I),le+v+1,ye),S=H(g(I.c),I.e,"0")):(x(E,2,Yt.length,"Base"),S=J(H(g(I.c),v,"0"),10,E,b,!0)),b<0&&I.c[0]&&(S="-"+S)),S},j.valueOf=j.toJSON=function(){return Tr(this)},j._isBigNumber=!0,q!=null&&z.set(q),z}function d(q){var k=q|0;return q>0||q===k?k:k-1}function g(q){for(var k,J,ie=1,j=q.length,we=q[0]+"";ie<j;){for(k=q[ie++]+"",J=c-k.length;J--;k="0"+k);we+=k}for(j=we.length;we.charCodeAt(--j)===48;);return we.slice(0,j+1||1)}function m(q,k){var J,ie,j=q.c,we=k.c,le=q.s,ye=k.s,nt=q.e,it=k.e;if(!le||!ye)return null;if(J=j&&!j[0],ie=we&&!we[0],J||ie)return J?ie?0:-ye:le;if(le!=ye)return le;if(J=le<0,ie=nt==it,!j||!we)return ie?0:!j^J?1:-1;if(!ie)return nt>it^J?1:-1;for(ye=(nt=j.length)<(it=we.length)?nt:it,le=0;le<ye;le++)if(j[le]!=we[le])return j[le]>we[le]^J?1:-1;return nt==it?0:nt>it^J?1:-1}function x(q,k,J,ie){if(q<k||q>J||q!==i(q))throw Error(s+(ie||"Argument")+(typeof q=="number"?q<k||q>J?" out of range: ":" not an integer: ":" not a primitive number: ")+String(q))}function R(q){var k=q.c.length-1;return d(q.e/c)==k&&q.c[k]%2!=0}function L(q,k){return(q.length>1?q.charAt(0)+"."+q.slice(1):q)+(k<0?"e":"e+")+k}function H(q,k,J){var ie,j;if(k<0){for(j=J+".";++k;j+=J);q=j+q}else if(ie=q.length,++k>ie){for(j=J,k-=ie;--k;j+=J);q+=j}else k<ie&&(q=q.slice(0,k)+"."+q.slice(k));return q}e=p(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Lu!="undefined"&&Lu.exports?Lu.exports=e:(t||(t=typeof self!="undefined"&&self?self:window),t.BigNumber=e)})(Ax)});var Rx=w((Ix,Tx)=>{"use strict";var bk=Math.exp;Ix=Tx.exports=function(e){if(typeof e!="number")throw new Error("must provide a timespan to the moving average constructor");if(e<=0)throw new Error("must provide a timespan > 0 to the moving average constructor");let r,n=0,i=0,s=0,o,a={};function c(u,l){return 1-bk(-(u-l)/e)}return a.push=function(l,f){if(o){let h=c(l,o),p=f-r,d=h*p;r=h*f+(1-h)*r,n=(1-h)*(n+p*d),i=Math.sqrt(n),s=r+h*p}else r=f;o=l},a.movingAverage=function(){return r},a.variance=function(){return n},a.deviation=function(){return i},a.forecast=function(){return s},a}});var Ox=w((YK,Nx)=>{"use strict";var{EventEmitter:Ek}=Qt(),{BigNumber:ku}=Cx(),Bx=Rx(),wk=va(),Px=class extends Ek{constructor(e,r){super();this._options=r,this._queue=[],this._stats={dataReceived:ku(0),dataSent:ku(0)},this._frequencyLastTime=Date.now(),this._frequencyAccumulators={},this._movingAverages={},this._update=this._update.bind(this);let n=this._options.movingAverageIntervals;for(let i=0;i<e.length;i++){let s=e[i];this._stats[s]=ku(0),this._movingAverages[s]={};for(let o=0;o<n.length;o++){let a=n[o];(this._movingAverages[s][a]=Bx(a)).push(this._frequencyLastTime,0)}}}start(){this._queue.length&&this._resetComputeTimeout()}stop(){this._timeout&&(this._timeout.clear(),this._timeout=null)}get snapshot(){return Object.assign({},this._stats)}get movingAverages(){return Object.assign({},this._movingAverages)}toJSON(){let e=this.snapshot,r=this.movingAverages,n={dataReceived:e.dataReceived.toString(),dataSent:e.dataSent.toString(),movingAverages:{}},i=Object.keys(r);for(let s of i){n.movingAverages[s]={};for(let o of Object.keys(r[s]))n.movingAverages[s][o]=r[s][o].movingAverage()}return n}push(e,r){this._queue.push([e,r,Date.now()]),this._resetComputeTimeout()}_resetComputeTimeout(){this._timeout=wk(this._update,this._nextTimeout())}_nextTimeout(){let e=this._queue.length/this._options.computeThrottleMaxQueueSize;return Math.max(this._options.computeThrottleTimeout*(1-e),0)}_update(){if(this._timeout=null,this._queue.length){let e;for(e of this._queue)this._applyOp(e);this._queue=[],this._updateFrequency(e[2]),this.emit("update",this._stats)}}_updateFrequency(e){let r=e-this._frequencyLastTime;Object.keys(this._stats).forEach(n=>{this._updateFrequencyFor(n,r,e)}),this._frequencyLastTime=e}_updateFrequencyFor(e,r,n){let i=this._frequencyAccumulators[e]||0;this._frequencyAccumulators[e]=0;let o=i/(r||1)*1e3,a=this._movingAverages[e];a||(a=this._movingAverages[e]={});let c=this._options.movingAverageIntervals;for(let u=0;u<c.length;u++){let l=c[u],f=a[l];f||(f=a[l]=Bx(l)),f.push(n,o)}}_applyOp(e){let r=e[0],n=e[1];if(typeof n!="number")throw new Error(`invalid increment number: ${n}`);let i;Object.prototype.hasOwnProperty.call(this._stats,r)?i=this._stats[r]:i=this._stats[r]=ku(0),this._stats[r]=i.plus(n),this._frequencyAccumulators[r]||(this._frequencyAccumulators[r]=0),this._frequencyAccumulators[r]+=n}};Nx.exports=Px});var kx=w((QK,Lx)=>{"use strict";var _k=Vs(),{pipe:xk}=kr(),{tap:Dx}=Du(),Sk=Sx(),{METRICS:Ak}=au(),Ad=Ox(),Cd=["dataReceived","dataSent"],Ck={in:"dataReceived",out:"dataSent"},qu=class{constructor(e){this._options=_k(Ak,e),this._globalStats=new Ad(Cd,this._options),this._peerStats=new Map,this._protocolStats=new Map,this._oldPeers=Sk(this._options.maxOldPeersRetention),this._running=!1,this._onMessage=this._onMessage.bind(this),this._systems=new Map}start(){this._running=!0}stop(){this._running=!1,this._globalStats.stop();for(let e of this._peerStats.values())e.stop();for(let e of this._protocolStats.values())e.stop()}get global(){return this._globalStats}get peers(){return Array.from(this._peerStats.keys())}getComponentMetrics(){return this._systems}updateComponentMetric({system:e="libp2p",component:r,metric:n,value:i}){this._systems.has(e)||this._systems.set(e,new Map);let s=this._systems.get(e);s.has(r)||s.set(r,new Map),s.get(r).set(n,i)}forPeer(e){let r=e.toB58String();return this._peerStats.get(r)||this._oldPeers.get(r)}get protocols(){return Array.from(this._protocolStats.keys())}forProtocol(e){return this._protocolStats.get(e)}onPeerDisconnected(e){let r=e.toB58String(),n=this._peerStats.get(r);n&&(n.stop(),this._peerStats.delete(r),this._oldPeers.set(r,n))}_onMessage({remotePeer:e,protocol:r,direction:n,dataLength:i}){if(!this._running)return;let s=Ck[n],o=this.forPeer(e);if(o||(o=new Ad(Cd,this._options),this._peerStats.set(e.toB58String(),o)),o.push(s,i),this._globalStats.push(s,i),r){let a=this.forProtocol(r);a||(a=new Ad(Cd,this._options),this._protocolStats.set(r,a)),a.push(s,i)}}updatePlaceholder(e,r){if(!this._running)return;let n=this.forPeer(e),i=r.toB58String(),s=this.forPeer(r),o=n;s&&(o=qu.mergeStats(s,o),this._oldPeers.delete(i)),this._peerStats.delete(e.toB58String()),this._peerStats.set(i,o),o.start()}trackStream({stream:e,remotePeer:r,protocol:n}){let i=this,s=e.source;e.source=Dx(a=>i._onMessage({remotePeer:r,protocol:n,direction:"in",dataLength:a.length}))(s);let o=e.sink;return e.sink=a=>xk(a,Dx(c=>i._onMessage({remotePeer:r,protocol:n,direction:"out",dataLength:c.length})),o),e}static mergeStats(e,r){return e.stop(),r.stop(),e._queue=[...e._queue,...r._queue],e}};Lx.exports=qu});var Uu=w((XK,Fx)=>{"use strict";var qx=Yi(),Ux=ro(),{pipe:Ik}=kr(),Tk=he(),{fromString:Rk}=(It(),Nt),Bk=hh(),{source:Pk}=vu(),Mx=Rk(`
|
|
45
|
+
`);function Id(t){return Ux.encode.single(new qx([t,Mx]))}function Nk(t,e){t.push(Id(e))}async function Ok(t,e){t.push(e.reduce((r,n)=>r.append(Id(n)),new qx))}async function Dk(t,e){let r=1,n={[Symbol.asyncIterator](){return this},next:()=>t.next(r)},i=n;e&&e.signal&&(i=Pk(n,e.signal));let s=a=>{r=a},o=await Ik(i,Ux.decode({onLength:s}),Bk);if(o.get(o.length-1)!==Mx[0])throw Tk(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.shallowSlice(0,-1)}Fx.exports={encode:Id,write:Nk,writeAll:Ok,read:Dk}});var jx=w((ZK,Vx)=>{"use strict";var Kx=Te(),Lk=he(),ho=Uu(),kk=no(),po=Object.assign(Kx("mss:select"),{error:Kx("mss:select:error")});Vx.exports=async function(e,r,n,i){r=Array.isArray(r)?[...r]:[r];let{reader:s,writer:o,rest:a,stream:c}=kk(e),u=r.shift();if(!u)throw new Error("At least one protocol must be specified");n?(po('select: write ["%s", "%s"]',n,u),ho.writeAll(o,[n,u])):(po('select: write "%s"',u),ho.write(o,u));let l=(await ho.read(s,i)).toString();if(po('select: read "%s"',l),l===n&&(l=(await ho.read(s,i)).toString(),po('select: read "%s"',l)),l===u)return a(),{stream:c,protocol:u};for(let f of r){po('select: write "%s"',f),ho.write(o,f);let h=(await ho.read(s,i)).toString();if(po('select: read "%s" for "%s"',h,f),h===f)return a(),{stream:c,protocol:f}}throw a(),Lk(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}});var Td=w($x=>{"use strict";$x.PROTOCOL_ID="/multistream/1.0.0"});var Gx=w((eV,zx)=>{"use strict";var Hx=Te(),qk=Yi(),yo=Uu(),Uk=no(),{PROTOCOL_ID:Rd}=Td(),La=Object.assign(Hx("mss:handle"),{error:Hx("mss:handle:error")});zx.exports=async function(e,r,n){r=Array.isArray(r)?r:[r];let{writer:i,reader:s,rest:o,stream:a}=Uk(e);for(;;){let c=(await yo.read(s,n)).toString();if(La('read "%s"',c),c===Rd){La('respond with "%s" for "%s"',Rd,c),yo.write(i,Rd);continue}if(r.includes(c))return yo.write(i,c),La('respond with "%s" for "%s"',c,c),o(),{stream:a,protocol:c};if(c==="ls"){yo.write(i,new qk(r.map(u=>yo.encode(u)))),La('respond with "%s" for %s',r,c);continue}yo.write(i,"na"),La('respond with "na" for "%s"',c)}}});var Xx=w((tV,Qx)=>{"use strict";var Mk=td(),Wx=Te(),Yx=Uu(),Fk=no(),Kk=ro(),{pipe:Vk}=kr(),jk=Object.assign(Wx("mss:ls"),{error:Wx("mss:ls:error")});Qx.exports=async function(e,r){let{reader:n,writer:i,rest:s,stream:o}=Fk(e);jk('write "ls"'),Yx.write(i,"ls"),s();let a=await Yx.read(n,r),c=Mk([a]),u=[];return await Vk(c,Kk.decode(),async f=>{for await(let h of f)u.push(h.shallowSlice(0,-1).toString())}),{stream:o,protocols:u}}});var tS=w(Mu=>{"use strict";var Zx=jx(),$k=Gx(),Hk=Xx(),{PROTOCOL_ID:Bd}=Td();Mu.PROTOCOL_ID=Bd;var Pd=class{constructor(e){this._stream=e,this._shaken=!1}async _handshake(e){if(this._shaken)return;let{stream:r}=await Zx(this._stream,Bd,void 0,e);this._stream=r,this._shaken=!0}},Jx=class extends Pd{select(e,r){return Zx(this._stream,e,this._shaken?void 0:Bd,r)}async ls(e){await this._handshake(e);let r=await Hk(this._stream,e),{stream:n,protocols:i}=r;return this._stream=n,i}};Mu.Dialer=Jx;var eS=class extends Pd{handle(e,r){return $k(this._stream,e,r)}};Mu.Listener=eS});var nS=w((nV,rS)=>{"use strict";var zk={OPEN:"open",CLOSING:"closing",CLOSED:"closed"};rS.exports=zk});var uS=w((iV,cS)=>{"use strict";var iS=Rt(),{Multiaddr:Gk}=qt(),sr=he(),{OPEN:Wk,CLOSING:sS,CLOSED:Nd}=nS(),oS=Symbol.for("@libp2p/interface-connection/connection"),aS=class{constructor({localAddr:e,remoteAddr:r,localPeer:n,remotePeer:i,newStream:s,close:o,getStreams:a,stat:c}){Yk(e,n,i,s,o,a,c),this.id=parseInt(String(Math.random()*1e9)).toString(36)+Date.now(),this.localAddr=e,this.remoteAddr=r,this.localPeer=n,this.remotePeer=i,this._stat={...c,status:Wk},this._newStream=s,this._close=o,this._getStreams=a,this.registry=new Map,this.tags=[]}get[Symbol.toStringTag](){return"Connection"}get[oS](){return!0}static isConnection(e){return Boolean(e&&e[oS])}get stat(){return this._stat}get streams(){return this._getStreams()}async newStream(e){if(this.stat.status===sS)throw sr(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Nd)throw sr(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let{stream:r,protocol:n}=await this._newStream(e);return this.addStream(r,{protocol:n}),{stream:r,protocol:n}}addStream(e,{protocol:r,metadata:n={}}){this.registry.set(e.id,{protocol:r,...n})}removeStream(e){this.registry.delete(e)}async close(){if(this.stat.status!==Nd){if(this._closing)return this._closing;this.stat.status=sS,this._closing=await this._close(),this._stat.timeline.close=Date.now(),this.stat.status=Nd}}};cS.exports=aS;function Yk(t,e,r,n,i,s,o){if(t&&!Gk.isMultiaddr(t))throw sr(new Error("localAddr must be an instance of multiaddr"),"ERR_INVALID_PARAMETERS");if(!iS.isPeerId(e))throw sr(new Error("localPeer must be an instance of peer-id"),"ERR_INVALID_PARAMETERS");if(!iS.isPeerId(r))throw sr(new Error("remotePeer must be an instance of peer-id"),"ERR_INVALID_PARAMETERS");if(typeof n!="function")throw sr(new Error("new stream must be a function"),"ERR_INVALID_PARAMETERS");if(typeof i!="function")throw sr(new Error("close must be a function"),"ERR_INVALID_PARAMETERS");if(typeof s!="function")throw sr(new Error("getStreams must be a function"),"ERR_INVALID_PARAMETERS");if(!o)throw sr(new Error("connection metadata object must be provided"),"ERR_INVALID_PARAMETERS");if(o.direction!=="inbound"&&o.direction!=="outbound")throw sr(new Error('direction must be "inbound" or "outbound"'),"ERR_INVALID_PARAMETERS");if(!o.timeline)throw sr(new Error("connection timeline object must be provided in the stat object"),"ERR_INVALID_PARAMETERS");if(!o.timeline.open)throw sr(new Error("connection open timestamp must be provided"),"ERR_INVALID_PARAMETERS");if(!o.timeline.upgraded)throw sr(new Error("connection upgraded timestamp must be provided"),"ERR_INVALID_PARAMETERS")}});var fS=w(lS=>{"use strict";lS.Connection=uS()});var dS=w((oV,hS)=>{"use strict";function Qk(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}else return Array.from(t)}hS.exports=function(e){var r=void 0,n=void 0;function i(a){if(!(a instanceof Object))throw new Error('Target "'+a+'" is not an object');n=a}function s(a){Object.keys(a).forEach(function(c){var u=a[c];if(typeof u!="function")throw new Error('Trap "'+c+": "+u+'" is not a function');if(!Reflect[c])throw new Error('Trap "'+c+": "+u+'" is not a valid trap')}),r=a}i(function(){}),e&&i(e),s(Reflect);var o=new Proxy({},{get:function(c,u){return function(){for(var l=arguments.length,f=Array(l),h=0;h<l;h++)f[h]=arguments[h];return r[u].apply(null,[n].concat(Qk(f.slice(1))))}}});return{setTarget:i,setHandler:s,getTarget:function(){return n},getHandler:function(){return r},proxy:new Proxy(n,o)}}});var vS=w((aV,mS)=>{"use strict";var pS=Te(),vt=Object.assign(pS("libp2p:upgrader"),{error:pS("libp2p:upgrader:err")}),rs=he(),go=tS(),{Connection:Xk}=fS(),Zk=Rt(),{pipe:Jk}=kr(),yS=dS(),{codes:ns}=je(),gS=class{constructor({localPeer:e,metrics:r,cryptos:n=new Map,muxers:i=new Map,onConnectionEnd:s=()=>{},onConnection:o=()=>{}}){this.localPeer=e,this.metrics=r,this.cryptos=n,this.muxers=i,this.protector=null,this.protocols=new Map,this.onConnection=o,this.onConnectionEnd=s}async upgradeInbound(e){let r,n,i,s,o,a,c;if(this.metrics){({setTarget:a,proxy:c}=yS());let l=(Math.random()*1e9).toString(36)+Date.now();a({toB58String:()=>l}),e=this.metrics.trackStream({stream:e,remotePeer:c})}vt("Starting the inbound connection upgrade");let u=e;this.protector&&(u=await this.protector.protect(e));try{({conn:r,remotePeer:n,protocol:o}=await this._encryptInbound(this.localPeer,u,this.cryptos)),this.muxers.size?{stream:i,Muxer:s}=await this._multiplexInbound(r,this.muxers):i=r}catch(l){throw vt.error("Failed to upgrade inbound connection",l),await e.close(l),l}return this.metrics&&(this.metrics.updatePlaceholder(c,n),a(n)),vt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:o,direction:"inbound",maConn:e,upgradedConn:i,Muxer:s,remotePeer:n})}async upgradeOutbound(e){let r=e.remoteAddr.getPeerId();if(!r)throw rs(new Error("outbound connection must have a peer id"),ns.ERR_INVALID_MULTIADDR);let n=Zk.createFromB58String(r),i,s,o,a,c,u,l;if(this.metrics){({setTarget:u,proxy:l}=yS());let h=(Math.random()*1e9).toString(36)+Date.now();u({toB58String:()=>h}),e=this.metrics.trackStream({stream:e,remotePeer:l})}vt("Starting the outbound connection upgrade");let f=e;this.protector&&(f=await this.protector.protect(e));try{({conn:i,remotePeer:s,protocol:a}=await this._encryptOutbound(this.localPeer,f,n,this.cryptos)),this.muxers.size?{stream:o,Muxer:c}=await this._multiplexOutbound(i,this.muxers):o=i}catch(h){throw vt.error("Failed to upgrade outbound connection",h),await e.close(h),h}return this.metrics&&(this.metrics.updatePlaceholder(l,s),u(s)),vt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:a,direction:"outbound",maConn:e,upgradedConn:o,Muxer:c,remotePeer:s})}_createConnection({cryptoProtocol:e,direction:r,maConn:n,upgradedConn:i,Muxer:s,remotePeer:o}){let a,c,u;s&&(a=new s({onStream:async h=>{if(!u)return;let p=new go.Listener(h);try{let{stream:d,protocol:g}=await p.handle(Array.from(this.protocols.keys()));vt("%s: incoming stream opened on %s",r,g),this.metrics&&this.metrics.trackStream({stream:d,remotePeer:o,protocol:g}),u.addStream(h,{protocol:g}),this._onStream({connection:u,stream:{...h,...d},protocol:g})}catch(d){vt.error(d)}},onStreamEnd:h=>{u.removeStream(h.id)}}),c=async h=>{vt("%s: starting new stream on %s",r,h);let p=a.newStream(),d=new go.Dialer(p);try{let{stream:g,protocol:m}=await d.select(h);return this.metrics&&this.metrics.trackStream({stream:g,remotePeer:o,protocol:m}),{stream:{...p,...g},protocol:m}}catch(g){throw vt.error("could not create new stream",g),rs(g,ns.ERR_UNSUPPORTED_PROTOCOL)}},Jk(i,a,i).catch(vt.error));let l=n.timeline;n.timeline=new Proxy(l,{set:(...h)=>(u&&h[1]==="close"&&h[2]&&!l.close&&(async()=>{try{u.stat.status==="open"&&await u.close()}catch(p){vt.error(p)}finally{this.onConnectionEnd(u)}})().catch(p=>{vt.error(p)}),Reflect.set(...h))}),n.timeline.upgraded=Date.now();let f=()=>{throw rs(new Error("connection is not multiplexed"),ns.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=new Xk({localAddr:n.localAddr,remoteAddr:n.remoteAddr,localPeer:this.localPeer,remotePeer:o,stat:{direction:r,timeline:n.timeline,multiplexer:s&&s.multicodec,encryption:e},newStream:c||f,getStreams:()=>a?a.streams:f(),close:async()=>{await n.close(),a&&a.streams.map(h=>h.abort())}}),this.onConnection(u),u}_onStream({connection:e,stream:r,protocol:n}){this.protocols.get(n)({connection:e,stream:r,protocol:n})}async _encryptInbound(e,r,n){let i=new go.Listener(r),s=Array.from(n.keys());vt("handling inbound crypto protocol selection",s);try{let{stream:o,protocol:a}=await i.handle(s),c=n.get(a);if(vt("encrypting inbound connection..."),!c)throw new Error(`no crypto module found for ${a}`);return{...await c.secureInbound(e,o),protocol:a}}catch(o){throw rs(o,ns.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r,n,i){let s=new go.Dialer(r),o=Array.from(i.keys());vt("selecting outbound crypto protocol",o);try{let{stream:a,protocol:c}=await s.select(o),u=i.get(c);if(vt("encrypting outbound connection to %j",n),!u)throw new Error(`no crypto module found for ${c}`);return{...await u.secureOutbound(e,a,n),protocol:c}}catch(a){throw rs(a,ns.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=new go.Dialer(e),i=Array.from(r.keys());vt("outbound selecting muxer %s",i);try{let{stream:s,protocol:o}=await n.select(i);vt("%s selected as muxer protocol",o);let a=r.get(o);return{stream:s,Muxer:a}}catch(s){throw rs(s,ns.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=new go.Listener(e),i=Array.from(r.keys());vt("inbound handling muxers %s",i);try{let{stream:s,protocol:o}=await n.handle(i),a=r.get(o);return{stream:s,Muxer:a}}catch(s){throw rs(s,ns.ERR_MUXER_UNAVAILABLE)}}};mS.exports=gS});var SS=w((cV,xS)=>{"use strict";var bS=Te(),mo=he(),{Multiaddr:e6}=qt(),Fu=Rt(),{codes:un}=je(),ES=du(),wS=fu(),Ke=Object.assign(bS("libp2p:peer-store:address-book"),{error:bS("libp2p:peer-store:address-book:err")}),Ku="change:multiaddrs",_S=class{constructor(e,r){this._emit=e,this._store=r}async consumePeerRecord(e){Ke("consumePeerRecord await write lock");let r=await this._store.lock.writeLock();Ke("consumePeerRecord got write lock");let n,i;try{let s;try{s=ES.createFromProtobuf(e.payload)}catch(a){return Ke.error("invalid peer record received"),!1}n=s.peerId;let o=s.multiaddrs;if(!n.equals(e.peerId))return Ke("signing key does not match PeerId in the PeerRecord"),!1;if(!o||!o.length)return!1;if(await this._store.has(n)){let a=await this._store.load(n);if(a.peerRecordEnvelope){let c=await wS.createFromProtobuf(a.peerRecordEnvelope);if(ES.createFromProtobuf(c.payload).seqNumber>=s.seqNumber)return!1}}i=await this._store.patchOrCreate(n,{addresses:Od(o,!0),peerRecordEnvelope:e.marshal()}),Ke(`stored provided peer record for ${s.peerId.toB58String()}`)}finally{Ke("consumePeerRecord release write lock"),r()}return this._emit(Ku,{peerId:n,multiaddrs:i.addresses.map(({multiaddr:s})=>s)}),!0}async getRawEnvelope(e){Ke("getRawEnvelope await read lock");let r=await this._store.lock.readLock();Ke("getRawEnvelope got read lock");try{return(await this._store.load(e)).peerRecordEnvelope}catch(n){if(n.code!==un.ERR_NOT_FOUND)throw n}finally{Ke("getRawEnvelope release read lock"),r()}}async getPeerRecord(e){let r=await this.getRawEnvelope(e);if(!!r)return wS.createFromProtobuf(r)}async get(e){if(!Fu.isPeerId(e))throw Ke.error("peerId must be an instance of peer-id to store data"),mo(new Error("peerId must be an instance of peer-id"),un.ERR_INVALID_PARAMETERS);Ke("get wait for read lock");let r=await this._store.lock.readLock();Ke("get got read lock");try{return(await this._store.load(e)).addresses}catch(n){if(n.code!==un.ERR_NOT_FOUND)throw n}finally{Ke("get release read lock"),r()}return[]}async set(e,r){if(!Fu.isPeerId(e))throw Ke.error("peerId must be an instance of peer-id to store data"),mo(new Error("peerId must be an instance of peer-id"),un.ERR_INVALID_PARAMETERS);Ke("set await write lock");let n=await this._store.lock.writeLock();Ke("set got write lock");let i=!1,s;try{let o=Od(r);if(!o.length)return;try{let a=await this._store.load(e);if(i=!0,new Set([...o.map(({multiaddr:c})=>c.toString()),...a.addresses.map(({multiaddr:c})=>c.toString())]).size===a.addresses.length&&o.length===a.addresses.length)return}catch(a){if(a.code!==un.ERR_NOT_FOUND)throw a}s=await this._store.patchOrCreate(e,{addresses:o}),Ke(`set multiaddrs for ${e.toB58String()}`)}finally{Ke("set release write lock"),n()}this._emit(Ku,{peerId:e,multiaddrs:s.addresses.map(o=>o.multiaddr)}),i||this._emit("peer",e)}async add(e,r){if(!Fu.isPeerId(e))throw Ke.error("peerId must be an instance of peer-id to store data"),mo(new Error("peerId must be an instance of peer-id"),un.ERR_INVALID_PARAMETERS);Ke("add await write lock");let n=await this._store.lock.writeLock();Ke("add got write lock");let i,s;try{let o=Od(r);if(!o.length)return;try{let a=await this._store.load(e);if(i=!0,new Set([...o.map(({multiaddr:c})=>c.toString()),...a.addresses.map(({multiaddr:c})=>c.toString())]).size===a.addresses.length)return}catch(a){if(a.code!==un.ERR_NOT_FOUND)throw a}s=await this._store.mergeOrCreate(e,{addresses:o}),Ke(`added multiaddrs for ${e}`)}finally{Ke("set release write lock"),n()}this._emit(Ku,{peerId:e,multiaddrs:s.addresses.map(o=>o.multiaddr)}),i||this._emit("peer",e)}async delete(e){if(!Fu.isPeerId(e))throw Ke.error("peerId must be an instance of peer-id to store data"),mo(new Error("peerId must be an instance of peer-id"),un.ERR_INVALID_PARAMETERS);Ke("delete await write lock");let r=await this._store.lock.writeLock();Ke("delete got write lock");let n;try{n=await this._store.has(e),await this._store.patchOrCreate(e,{addresses:[]})}finally{Ke("delete release write lock"),r()}n&&this._emit(Ku,{peerId:e,multiaddrs:[]})}async getMultiaddrsForPeer(e,r=n=>n){let n=await this.get(e);return r(n).map(i=>{let s=i.multiaddr,o=s.getPeerId();return o&&o===e.toB58String()?s:s.encapsulate(`/p2p/${e.toB58String()}`)})}};function Od(t,e=!1){if(!t)throw Ke.error("multiaddrs must be provided to store data"),mo(new Error("multiaddrs must be provided"),un.ERR_INVALID_PARAMETERS);return Array.from(new Set(t.map(r=>r.toString()))).map(r=>{try{return{multiaddr:new e6(r),isCertified:e}}catch(n){throw mo(n,un.ERR_INVALID_PARAMETERS)}})}xS.exports=_S});var RS=w((uV,TS)=>{"use strict";var AS=Te(),Vu=he(),{codes:vo}=je(),Dd=Rt(),{equals:t6}=(pr(),dr),or=Object.assign(AS("libp2p:peer-store:key-book"),{error:AS("libp2p:peer-store:key-book:err")}),CS="change:pubkey",IS=class{constructor(e,r){this._emit=e,this._store=r}async set(e,r){if(!Dd.isPeerId(e))throw or.error("peerId must be an instance of peer-id to store data"),Vu(new Error("peerId must be an instance of peer-id"),vo.ERR_INVALID_PARAMETERS);if(!r)throw or.error("publicKey must be an instance of PublicKey to store data"),Vu(new Error("publicKey must be an instance of PublicKey"),vo.ERR_INVALID_PARAMETERS);or("set await write lock");let n=await this._store.lock.writeLock();or("set got write lock");let i=!1;try{try{let s=await this._store.load(e);if(s.pubKey&&t6(s.pubKey.bytes,r.bytes))return}catch(s){if(s.code!==vo.ERR_NOT_FOUND)throw s}await this._store.patchOrCreate(e,{pubKey:r}),i=!0}finally{or("set release write lock"),n()}i&&this._emit(CS,{peerId:e,pubKey:r})}async get(e){if(!Dd.isPeerId(e))throw or.error("peerId must be an instance of peer-id to store data"),Vu(new Error("peerId must be an instance of peer-id"),vo.ERR_INVALID_PARAMETERS);or("get await write lock");let r=await this._store.lock.readLock();or("get got write lock");try{return(await this._store.load(e)).pubKey}catch(n){if(n.code!==vo.ERR_NOT_FOUND)throw n}finally{or("get release write lock"),r()}}async delete(e){if(!Dd.isPeerId(e))throw or.error("peerId must be an instance of peer-id to store data"),Vu(new Error("peerId must be an instance of peer-id"),vo.ERR_INVALID_PARAMETERS);or("delete await write lock");let r=await this._store.lock.writeLock();or("delete got write lock");try{await this._store.patchOrCreate(e,{pubKey:void 0})}finally{or("delete release write lock"),r()}this._emit(CS,{peerId:e,pubKey:void 0})}};TS.exports=IS});var OS=w((lV,NS)=>{"use strict";var BS=Te(),hi=he(),{codes:Ar}=je(),bo=Rt(),{equals:r6}=(pr(),dr),We=Object.assign(BS("libp2p:peer-store:metadata-book"),{error:BS("libp2p:peer-store:metadata-book:err")}),ju="change:metadata",PS=class{constructor(e,r){this._emit=e,this._store=r}async get(e){if(!bo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),hi(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);We("get await read lock");let r=await this._store.lock.readLock();We("get got read lock");try{return(await this._store.load(e)).metadata}catch(n){if(n.code!==Ar.ERR_NOT_FOUND)throw n}finally{We("get release read lock"),r()}return new Map}async getValue(e,r){if(!bo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),hi(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);We("getValue await read lock");let n=await this._store.lock.readLock();We("getValue got read lock");try{return(await this._store.load(e)).metadata.get(r)}catch(i){if(i.code!==Ar.ERR_NOT_FOUND)throw i}finally{We("getValue release write lock"),n()}}async set(e,r){if(!bo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),hi(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);if(!r||!(r instanceof Map))throw We.error("valid metadata must be provided to store data"),hi(new Error("valid metadata must be provided"),Ar.ERR_INVALID_PARAMETERS);We("set await write lock");let n=await this._store.lock.writeLock();We("set got write lock");try{await this._store.mergeOrCreate(e,{metadata:r})}finally{We("set release write lock"),n()}this._emit(ju,{peerId:e,metadata:r})}async setValue(e,r,n){if(!bo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),hi(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);if(typeof r!="string"||!(n instanceof Uint8Array))throw We.error("valid key and value must be provided to store data"),hi(new Error("valid key and value must be provided"),Ar.ERR_INVALID_PARAMETERS);We("setValue await write lock");let i=await this._store.lock.writeLock();We("setValue got write lock");let s;try{try{let a=(await this._store.load(e)).metadata.get(r);if(a!=null&&r6(n,a))return}catch(o){if(o.code!==Ar.ERR_NOT_FOUND)throw o}s=await this._store.mergeOrCreate(e,{metadata:new Map([[r,n]])})}finally{We("setValue release write lock"),i()}this._emit(ju,{peerId:e,metadata:s.metadata})}async delete(e){if(!bo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),hi(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);We("delete await write lock");let r=await this._store.lock.writeLock();We("delete got write lock");let n;try{n=await this._store.has(e),n&&await this._store.patch(e,{metadata:new Map})}finally{We("delete release write lock"),r()}n&&this._emit(ju,{peerId:e,metadata:new Map})}async deleteValue(e,r){if(!bo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),hi(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);We("deleteValue await write lock");let n=await this._store.lock.writeLock();We("deleteValue got write lock");let i;try{i=(await this._store.load(e)).metadata,i.delete(r),await this._store.patch(e,{metadata:i})}catch(s){if(s.code!==Ar.ERR_NOT_FOUND)throw s}finally{We("deleteValue release write lock"),n()}i&&this._emit(ju,{peerId:e,metadata:i})}};NS.exports=PS});var qS=w((fV,kS)=>{"use strict";var DS=Te(),Eo=he(),{codes:Mr}=je(),Ld=Rt(),ot=Object.assign(DS("libp2p:peer-store:proto-book"),{error:DS("libp2p:peer-store:proto-book:err")}),$u="change:protocols",LS=class{constructor(e,r){this._emit=e,this._store=r}async get(e){ot("get wait for read lock");let r=await this._store.lock.readLock();ot("get got read lock");try{return(await this._store.load(e)).protocols}catch(n){if(n.code!==Mr.ERR_NOT_FOUND)throw n}finally{ot("get release read lock"),r()}return[]}async set(e,r){if(!Ld.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),Eo(new Error("peerId must be an instance of peer-id"),Mr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),Eo(new Error("protocols must be provided"),Mr.ERR_INVALID_PARAMETERS);ot("set await write lock");let n=await this._store.lock.writeLock();ot("set got write lock");let i;try{try{let s=await this._store.load(e);if(new Set([...r]).size===s.protocols.length)return}catch(s){if(s.code!==Mr.ERR_NOT_FOUND)throw s}i=await this._store.patchOrCreate(e,{protocols:r}),ot(`stored provided protocols for ${e.toB58String()}`)}finally{ot("set release write lock"),n()}this._emit($u,{peerId:e,protocols:i.protocols})}async add(e,r){if(!Ld.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),Eo(new Error("peerId must be an instance of peer-id"),Mr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),Eo(new Error("protocols must be provided"),Mr.ERR_INVALID_PARAMETERS);ot("add await write lock");let n=await this._store.lock.writeLock();ot("add got write lock");let i;try{try{let s=await this._store.load(e);if(new Set([...s.protocols,...r]).size===s.protocols.length)return}catch(s){if(s.code!==Mr.ERR_NOT_FOUND)throw s}i=await this._store.mergeOrCreate(e,{protocols:r}),ot(`added provided protocols for ${e.toB58String()}`)}finally{ot("add release write lock"),n()}this._emit($u,{peerId:e,protocols:i.protocols})}async remove(e,r){if(!Ld.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),Eo(new Error("peerId must be an instance of peer-id"),Mr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),Eo(new Error("protocols must be provided"),Mr.ERR_INVALID_PARAMETERS);ot("remove await write lock");let n=await this._store.lock.writeLock();ot("remove got write lock");let i;try{try{let s=await this._store.load(e),o=new Set(s.protocols);for(let a of r)o.delete(a);if(s.protocols.length===o.size)return;r=Array.from(o)}catch(s){if(s.code!==Mr.ERR_NOT_FOUND)throw s}i=await this._store.patchOrCreate(e,{protocols:r})}finally{ot("remove release write lock"),n()}this._emit($u,{peerId:e,protocols:i.protocols})}async delete(e){ot("delete await write lock");let r=await this._store.lock.writeLock();ot("delete got write lock");let n;try{n=await this._store.has(e),await this._store.patchOrCreate(e,{protocols:[]})}catch(i){if(i.code!==Mr.ERR_NOT_FOUND)throw i}finally{ot("delete release write lock"),r()}n&&this._emit($u,{peerId:e,protocols:[]})}};kS.exports=LS});var MS=w((hV,US)=>{"use strict";var di=pn(),wo=di.Reader,kd=di.Writer,Ue=di.util,yt=di.roots["libp2p-peer"]||(di.roots["libp2p-peer"]={});yt.Peer=function(){function t(r){if(this.addresses=[],this.protocols=[],this.metadata=[],r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}t.prototype.addresses=Ue.emptyArray,t.prototype.protocols=Ue.emptyArray,t.prototype.metadata=Ue.emptyArray,t.prototype.pubKey=null,t.prototype.peerRecordEnvelope=null;var e;return Object.defineProperty(t.prototype,"_pubKey",{get:Ue.oneOfGetter(e=["pubKey"]),set:Ue.oneOfSetter(e)}),Object.defineProperty(t.prototype,"_peerRecordEnvelope",{get:Ue.oneOfGetter(e=["peerRecordEnvelope"]),set:Ue.oneOfSetter(e)}),t.encode=function(n,i){if(i||(i=kd.create()),n.addresses!=null&&n.addresses.length)for(var s=0;s<n.addresses.length;++s)yt.Address.encode(n.addresses[s],i.uint32(10).fork()).ldelim();if(n.protocols!=null&&n.protocols.length)for(var s=0;s<n.protocols.length;++s)i.uint32(18).string(n.protocols[s]);if(n.metadata!=null&&n.metadata.length)for(var s=0;s<n.metadata.length;++s)yt.Metadata.encode(n.metadata[s],i.uint32(26).fork()).ldelim();return n.pubKey!=null&&Object.hasOwnProperty.call(n,"pubKey")&&i.uint32(34).bytes(n.pubKey),n.peerRecordEnvelope!=null&&Object.hasOwnProperty.call(n,"peerRecordEnvelope")&&i.uint32(42).bytes(n.peerRecordEnvelope),i},t.decode=function(n,i){n instanceof wo||(n=wo.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new yt.Peer;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.addresses&&o.addresses.length||(o.addresses=[]),o.addresses.push(yt.Address.decode(n,n.uint32()));break;case 2:o.protocols&&o.protocols.length||(o.protocols=[]),o.protocols.push(n.string());break;case 3:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(yt.Metadata.decode(n,n.uint32()));break;case 4:o.pubKey=n.bytes();break;case 5:o.peerRecordEnvelope=n.bytes();break;default:n.skipType(a&7);break}}return o},t.fromObject=function(n){if(n instanceof yt.Peer)return n;var i=new yt.Peer;if(n.addresses){if(!Array.isArray(n.addresses))throw TypeError(".Peer.addresses: array expected");i.addresses=[];for(var s=0;s<n.addresses.length;++s){if(typeof n.addresses[s]!="object")throw TypeError(".Peer.addresses: object expected");i.addresses[s]=yt.Address.fromObject(n.addresses[s])}}if(n.protocols){if(!Array.isArray(n.protocols))throw TypeError(".Peer.protocols: array expected");i.protocols=[];for(var s=0;s<n.protocols.length;++s)i.protocols[s]=String(n.protocols[s])}if(n.metadata){if(!Array.isArray(n.metadata))throw TypeError(".Peer.metadata: array expected");i.metadata=[];for(var s=0;s<n.metadata.length;++s){if(typeof n.metadata[s]!="object")throw TypeError(".Peer.metadata: object expected");i.metadata[s]=yt.Metadata.fromObject(n.metadata[s])}}return n.pubKey!=null&&(typeof n.pubKey=="string"?Ue.base64.decode(n.pubKey,i.pubKey=Ue.newBuffer(Ue.base64.length(n.pubKey)),0):n.pubKey.length&&(i.pubKey=n.pubKey)),n.peerRecordEnvelope!=null&&(typeof n.peerRecordEnvelope=="string"?Ue.base64.decode(n.peerRecordEnvelope,i.peerRecordEnvelope=Ue.newBuffer(Ue.base64.length(n.peerRecordEnvelope)),0):n.peerRecordEnvelope.length&&(i.peerRecordEnvelope=n.peerRecordEnvelope)),i},t.toObject=function(n,i){i||(i={});var s={};if((i.arrays||i.defaults)&&(s.addresses=[],s.protocols=[],s.metadata=[]),n.addresses&&n.addresses.length){s.addresses=[];for(var o=0;o<n.addresses.length;++o)s.addresses[o]=yt.Address.toObject(n.addresses[o],i)}if(n.protocols&&n.protocols.length){s.protocols=[];for(var o=0;o<n.protocols.length;++o)s.protocols[o]=n.protocols[o]}if(n.metadata&&n.metadata.length){s.metadata=[];for(var o=0;o<n.metadata.length;++o)s.metadata[o]=yt.Metadata.toObject(n.metadata[o],i)}return n.pubKey!=null&&n.hasOwnProperty("pubKey")&&(s.pubKey=i.bytes===String?Ue.base64.encode(n.pubKey,0,n.pubKey.length):i.bytes===Array?Array.prototype.slice.call(n.pubKey):n.pubKey,i.oneofs&&(s._pubKey="pubKey")),n.peerRecordEnvelope!=null&&n.hasOwnProperty("peerRecordEnvelope")&&(s.peerRecordEnvelope=i.bytes===String?Ue.base64.encode(n.peerRecordEnvelope,0,n.peerRecordEnvelope.length):i.bytes===Array?Array.prototype.slice.call(n.peerRecordEnvelope):n.peerRecordEnvelope,i.oneofs&&(s._peerRecordEnvelope="peerRecordEnvelope")),s},t.prototype.toJSON=function(){return this.constructor.toObject(this,di.util.toJSONOptions)},t}();yt.Address=function(){function t(r){if(r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}t.prototype.multiaddr=Ue.newBuffer([]),t.prototype.isCertified=null;var e;return Object.defineProperty(t.prototype,"_isCertified",{get:Ue.oneOfGetter(e=["isCertified"]),set:Ue.oneOfSetter(e)}),t.encode=function(n,i){return i||(i=kd.create()),n.multiaddr!=null&&Object.hasOwnProperty.call(n,"multiaddr")&&i.uint32(10).bytes(n.multiaddr),n.isCertified!=null&&Object.hasOwnProperty.call(n,"isCertified")&&i.uint32(16).bool(n.isCertified),i},t.decode=function(n,i){n instanceof wo||(n=wo.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new yt.Address;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.multiaddr=n.bytes();break;case 2:o.isCertified=n.bool();break;default:n.skipType(a&7);break}}return o},t.fromObject=function(n){if(n instanceof yt.Address)return n;var i=new yt.Address;return n.multiaddr!=null&&(typeof n.multiaddr=="string"?Ue.base64.decode(n.multiaddr,i.multiaddr=Ue.newBuffer(Ue.base64.length(n.multiaddr)),0):n.multiaddr.length&&(i.multiaddr=n.multiaddr)),n.isCertified!=null&&(i.isCertified=Boolean(n.isCertified)),i},t.toObject=function(n,i){i||(i={});var s={};return i.defaults&&(i.bytes===String?s.multiaddr="":(s.multiaddr=[],i.bytes!==Array&&(s.multiaddr=Ue.newBuffer(s.multiaddr)))),n.multiaddr!=null&&n.hasOwnProperty("multiaddr")&&(s.multiaddr=i.bytes===String?Ue.base64.encode(n.multiaddr,0,n.multiaddr.length):i.bytes===Array?Array.prototype.slice.call(n.multiaddr):n.multiaddr),n.isCertified!=null&&n.hasOwnProperty("isCertified")&&(s.isCertified=n.isCertified,i.oneofs&&(s._isCertified="isCertified")),s},t.prototype.toJSON=function(){return this.constructor.toObject(this,di.util.toJSONOptions)},t}();yt.Metadata=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.key="",t.prototype.value=Ue.newBuffer([]),t.encode=function(r,n){return n||(n=kd.create()),r.key!=null&&Object.hasOwnProperty.call(r,"key")&&n.uint32(10).string(r.key),r.value!=null&&Object.hasOwnProperty.call(r,"value")&&n.uint32(18).bytes(r.value),n},t.decode=function(r,n){r instanceof wo||(r=wo.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new yt.Metadata;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.key=r.string();break;case 2:s.value=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof yt.Metadata)return r;var n=new yt.Metadata;return r.key!=null&&(n.key=String(r.key)),r.value!=null&&(typeof r.value=="string"?Ue.base64.decode(r.value,n.value=Ue.newBuffer(Ue.base64.length(r.value)),0):r.value.length&&(n.value=r.value)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.key="",n.bytes===String?i.value="":(i.value=[],n.bytes!==Array&&(i.value=Ue.newBuffer(i.value)))),r.key!=null&&r.hasOwnProperty("key")&&(i.key=r.key),r.value!=null&&r.hasOwnProperty("value")&&(i.value=n.bytes===String?Ue.base64.encode(r.value,0,r.value.length):n.bytes===Array?Array.prototype.slice.call(r.value):r.value),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,di.util.toJSONOptions)},t}();US.exports=yt});var qd=w((dV,FS)=>{FS.exports={WORKER_REQUEST_READ_LOCK:"lock:worker:request-read",WORKER_RELEASE_READ_LOCK:"lock:worker:release-read",MASTER_GRANT_READ_LOCK:"lock:master:grant-read",WORKER_REQUEST_WRITE_LOCK:"lock:worker:request-write",WORKER_RELEASE_WRITE_LOCK:"lock:worker:release-write",MASTER_GRANT_WRITE_LOCK:"lock:master:grant-write"}});var KS=w(()=>{});var XS=w((gV,QS)=>{var n6=Qt().EventEmitter,{nanoid:i6}=(Qc(),rh),{WORKER_REQUEST_READ_LOCK:VS,WORKER_RELEASE_READ_LOCK:jS,MASTER_GRANT_READ_LOCK:$S,WORKER_REQUEST_WRITE_LOCK:HS,WORKER_RELEASE_WRITE_LOCK:zS,MASTER_GRANT_WRITE_LOCK:GS}=qd(),ka,WS=(t,e,r,n,i)=>(s,o)=>{o&&o.type===r&&t.emit(e,o.name,()=>(s.send({type:i,name:o.name,identifier:o.identifier}),new Promise(a=>{let c=u=>{u&&u.type===n&&u.identifier===o.identifier&&(s.removeListener("message",c),a())};s.on("message",c)})))},YS=(t,e,r,n)=>()=>{let i=i6();return process.send({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{a&&a.type===r&&a.identifier===i&&(process.removeListener("message",o),s(()=>{process.send({type:n,identifier:i,name:t})}))};process.on("message",o)})};QS.exports=t=>{try{if(ka=KS(),!Object.keys(ka).length)return}catch(e){return}if(ka.isMaster||t.singleProcess){let e=new n6;return ka.on("message",WS(e,"requestReadLock",VS,jS,$S)),ka.on("message",WS(e,"requestWriteLock",HS,zS,GS)),e}return{isWorker:!0,readLock:e=>YS(e,VS,$S,jS),writeLock:e=>YS(e,HS,GS,zS)}}});var Ud=w((mV,ZS)=>{var pi={},_o=t=>{t.addEventListener("message",e=>{_o.dispatchEvent("message",t,e)}),t.port&&t.port.addEventListener("message",e=>{_o.dispatchEvent("message",t,e)})};_o.addEventListener=(t,e)=>{pi[t]||(pi[t]=[]),pi[t].push(e)};_o.removeEventListener=(t,e)=>{!pi[t]||(pi[t]=pi[t].filter(r=>r===e))};_o.dispatchEvent=function(){let t=Array.prototype.slice.call(arguments),e=t.shift();!pi[e]||pi[e].forEach(r=>r.apply(null,t))};ZS.exports=_o});var uA=w((vV,cA)=>{var s6=Qt().EventEmitter,{nanoid:o6}=(Qc(),rh),{WORKER_REQUEST_READ_LOCK:JS,WORKER_RELEASE_READ_LOCK:eA,MASTER_GRANT_READ_LOCK:tA,WORKER_REQUEST_WRITE_LOCK:rA,WORKER_RELEASE_WRITE_LOCK:nA,MASTER_GRANT_WRITE_LOCK:iA}=qd(),sA=Ud(),oA=(t,e,r,n,i)=>(s,o)=>{if(!o||!o.data||o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.emit(e,a.name,()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),new Promise(c=>{let u=l=>{if(!l||!l.data)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f&&f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})))},aA=(t,e,r,n)=>()=>{let i=o6();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(!a||!a.data)return;let c={type:a.data.type,identifier:a.data.identifier};c&&c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},a6={singleProcess:!1};cA.exports=t=>{if(t=Object.assign({},a6,t),!!globalThis.document||t.singleProcess){let r=new s6;return sA.addEventListener("message",oA(r,"requestReadLock",JS,eA,tA)),sA.addEventListener("message",oA(r,"requestWriteLock",rA,nA,iA)),r}return{isWorker:!0,readLock:r=>aA(r,JS,tA,eA),writeLock:r=>aA(r,rA,iA,nA)}}});var fA=w((bV,Md)=>{"use strict";var c6=Object.prototype.hasOwnProperty,Gt="~";function qa(){}Object.create&&(qa.prototype=Object.create(null),new qa().__proto__||(Gt=!1));function u6(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function lA(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new u6(r,n||t,i),o=Gt?Gt+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 Hu(t,e){--t._eventsCount==0?t._events=new qa:delete t._events[e]}function Mt(){this._events=new qa,this._eventsCount=0}Mt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)c6.call(r,n)&&e.push(Gt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Mt.prototype.listeners=function(e){var r=Gt?Gt+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};Mt.prototype.listenerCount=function(e){var r=Gt?Gt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Mt.prototype.emit=function(e,r,n,i,s,o){var a=Gt?Gt+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 h=c.length,p;for(f=0;f<h;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};Mt.prototype.on=function(e,r,n){return lA(this,e,r,n,!1)};Mt.prototype.once=function(e,r,n){return lA(this,e,r,n,!0)};Mt.prototype.removeListener=function(e,r,n,i){var s=Gt?Gt+e:e;if(!this._events[s])return this;if(!r)return Hu(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Hu(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:Hu(this,s)}return this};Mt.prototype.removeAllListeners=function(e){var r;return e?(r=Gt?Gt+e:e,this._events[r]&&Hu(this,r)):(this._events=new qa,this._eventsCount=0),this};Mt.prototype.off=Mt.prototype.removeListener;Mt.prototype.addListener=Mt.prototype.on;Mt.prefixed=Gt;Mt.EventEmitter=Mt;typeof Md!="undefined"&&(Md.exports=Mt)});var dA=w((EV,hA)=>{"use strict";hA.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(n=>{n(e())}).then(()=>r),r=>new Promise(n=>{n(e())}).then(()=>{throw r})))});var yA=w((wV,zu)=>{"use strict";var l6=dA(),Fd=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},pA=(t,e,r)=>new Promise((n,i)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===1/0){n(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{n(r())}catch(c){i(c)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new Fd(o);typeof t.cancel=="function"&&t.cancel(),i(a)},e);l6(t.then(n,i),()=>{clearTimeout(s)})});zu.exports=pA;zu.exports.default=pA;zu.exports.TimeoutError=Fd});var gA=w(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});function f6(t,e,r){let n=0,i=t.length;for(;i>0;){let s=i/2|0,o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}Kd.default=f6});var vA=w(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});var h6=gA(),mA=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let n={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(n);return}let i=h6.default(this._queue,n,(s,o)=>o.priority-s.priority);this._queue.splice(i,0,n)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};Vd.default=mA});var wA=w(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});var d6=fA(),bA=yA(),p6=vA(),Gu=()=>{},y6=new bA.TimeoutError,EA=class extends d6{constructor(e){var r,n,i,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=Gu,this._resolveIdle=Gu,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:p6.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${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 \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===1/0||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=Gu,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=Gu,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let e=Date.now();if(this._intervalId===void 0){let r=this._intervalEnd-e;if(r<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}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._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((n,i)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():bA.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&i(y6)});n(await o)}catch(o){i(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};jd.default=EA});var _A=w((CV,$d)=>{"use strict";var Wu,AV=$d.exports.timeout=function(t,e){var r=new Wu,n;return Promise.race([t,new Promise(function(i,s){n=setTimeout(function(){s(r)},e)})]).then(function(i){return clearTimeout(n),i},function(i){throw clearTimeout(n),i})};Wu=$d.exports.TimeoutError=function(){Error.call(this),this.stack=Error().stack,this.message="Timeout"};Wu.prototype=Object.create(Error.prototype);Wu.prototype.name="TimeoutError"});var SA=w((IV,zd)=>{var g6=XS(),m6=uA(),{default:xA}=wA(),{timeout:v6}=_A(),b6=Ud(),is={},yi;function Hd(t,e){let r,n=new Promise(i=>{r=i});return t.add(()=>v6((()=>new Promise(i=>{r(()=>{i()})}))(),e.timeout)),n}var E6=(t,e)=>{if(yi.isWorker)return{readLock:yi.readLock(t,e),writeLock:yi.writeLock(t,e)};let r=new xA({concurrency:1}),n=null;return{readLock:()=>{if(n)return Hd(n,e);n=new xA({concurrency:e.concurrency,autoStart:!1});let i=n,s=Hd(n,e);return r.add(()=>(i.start(),i.onIdle().then(()=>{n===i&&(n=null)}))),s},writeLock:()=>(n=null,Hd(r,e))}},w6={concurrency:1/0,timeout:846e5,global:globalThis,singleProcess:!1};zd.exports=(t,e)=>(e||(e={}),typeof t=="object"&&(e=t,t="lock"),t||(t="lock"),e=Object.assign({},w6,e),yi||(yi=g6(e)||m6(e),yi.isWorker||(yi.on("requestReadLock",(r,n)=>{!is[r]||is[r].readLock().then(i=>n().finally(()=>i()))}),yi.on("requestWriteLock",async(r,n)=>{!is[r]||is[r].writeLock().then(i=>n().finally(()=>i()))}))),is[t]||(is[t]=E6(t,e)),is[t]);zd.exports.Worker=function(t,e){e=e||globalThis.Worker;let r;try{r=new e(t)}catch(n){n.message.includes("not a constructor")&&(r=e(t))}if(!r)throw new Error("Could not create Worker from",e);return b6(r),r}});var DA=w((TV,OA)=>{"use strict";var AA=Te(),CA=Rt(),IA=he(),{codes:Yu}=je(),{Key:_6}=(Zc(),nh),{base32:x6}=(bi(),vi),{keys:{unmarshalPublicKey:S6,marshalPublicKey:A6}}=Ru(),{Multiaddr:TA}=qt(),{Peer:RA}=MS(),C6=SA(),{equals:I6}=(pr(),dr),BA=Object.assign(AA("libp2p:peer-store:store"),{error:AA("libp2p:peer-store:store:err")}),PA="/peers/",NA=class{constructor(e){this._datastore=e,this.lock=C6("peer-store",{singleProcess:!0})}_peerIdToDatastoreKey(e){if(!CA.isPeerId(e))throw BA.error("peerId must be an instance of peer-id to store data"),IA(new Error("peerId must be an instance of peer-id"),Yu.ERR_INVALID_PARAMETERS);let r=e.toString();return new _6(`${PA}${r}`)}async has(e){return this._datastore.has(this._peerIdToDatastoreKey(e))}async delete(e){await this._datastore.delete(this._peerIdToDatastoreKey(e))}async load(e){let r=await this._datastore.get(this._peerIdToDatastoreKey(e)),n=RA.decode(r),i=n.pubKey?S6(n.pubKey):e.pubKey,s=new Map;for(let o of n.metadata)s.set(o.key,o.value);return{...n,id:e,pubKey:i,addresses:n.addresses.map(({multiaddr:o,isCertified:a})=>({multiaddr:new TA(o),isCertified:a||!1})),metadata:s,peerRecordEnvelope:n.peerRecordEnvelope||void 0}}async save(e){if(e.pubKey!=null&&e.id.pubKey!=null&&!I6(e.pubKey.bytes,e.id.pubKey.bytes))throw BA.error("peer publicKey bytes do not match peer id publicKey bytes"),IA(new Error("publicKey bytes do not match peer id publicKey bytes"),Yu.ERR_INVALID_PARAMETERS);let r=RA.encode({addresses:e.addresses.sort((n,i)=>n.multiaddr.toString().localeCompare(i.multiaddr.toString())).map(({multiaddr:n,isCertified:i})=>({multiaddr:n.bytes,isCertified:i})),protocols:e.protocols.sort(),pubKey:e.pubKey?A6(e.pubKey):void 0,metadata:[...e.metadata.keys()].sort().map(n=>({key:n,value:e.metadata.get(n)})),peerRecordEnvelope:e.peerRecordEnvelope}).finish();return await this._datastore.put(this._peerIdToDatastoreKey(e.id),r),this.load(e.id)}async patch(e,r){let n=await this.load(e);return await this._patch(e,r,n)}async patchOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Yu.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._patch(e,r,n)}async _patch(e,r,n){return await this.save({...n,...r,id:e})}async merge(e,r){let n=await this.load(e);return this._merge(e,r,n)}async mergeOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Yu.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._merge(e,r,n)}async _merge(e,r,n){let i=new Map;return(r.addresses||[]).forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),n.addresses.forEach(({multiaddr:s,isCertified:o})=>{let a=s.toString();i.set(a,Boolean(i.get(a)||o))}),await this.save({id:e,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:new TA(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols||[],...r.protocols||[]])),metadata:new Map([...n.metadata?n.metadata.entries():[],...r.metadata?r.metadata.entries():[]]),pubKey:r.pubKey||(n!=null?n.pubKey:void 0),peerRecordEnvelope:r.peerRecordEnvelope||(n!=null?n.peerRecordEnvelope:void 0)})}async*all(){for await(let e of this._datastore.queryKeys({prefix:PA})){let r=e.toString().split("/")[2],n=x6.decode(r);yield this.load(CA.createFromBytes(n))}}};OA.exports=NA});var UA=w((RV,qA)=>{"use strict";var LA=Te(),{EventEmitter:T6}=Qt(),R6=SS(),B6=RS(),P6=OS(),N6=qS(),O6=DA(),Cr=Object.assign(LA("libp2p:peer-store"),{error:LA("libp2p:peer-store:err")}),kA=class extends T6{constructor({peerId:e,datastore:r}){super();this._peerId=e,this._store=new O6(r),this.addressBook=new R6(this.emit.bind(this),this._store),this.keyBook=new B6(this.emit.bind(this),this._store),this.metadataBook=new P6(this.emit.bind(this),this._store),this.protoBook=new N6(this.emit.bind(this),this._store)}async*getPeers(){Cr("getPeers await read lock");let e=await this._store.lock.readLock();Cr("getPeers got read lock");try{for await(let r of this._store.all())r.id.toB58String()!==this._peerId.toB58String()&&(yield r)}finally{Cr("getPeers release read lock"),e()}}async delete(e){Cr("delete await write lock");let r=await this._store.lock.writeLock();Cr("delete got write lock");try{await this._store.delete(e)}finally{Cr("delete release write lock"),r()}}async get(e){Cr("get await read lock");let r=await this._store.lock.readLock();Cr("get got read lock");try{return this._store.load(e)}finally{Cr("get release read lock"),r()}}async has(e){Cr("has await read lock");let r=await this._store.lock.readLock();Cr("has got read lock");try{return this._store.has(e)}finally{Cr("has release read lock"),r()}}};qA.exports=kA});var FA=w((BV,MA)=>{"use strict";function D6(t,e,r){let n=new t(e,r);n._subscribeAdapter=n.subscribe,n._unsubscribeAdapter=n.unsubscribe;function i(o,a){a&&n.on(o,a),n._subscribeAdapter(o)}function s(o,a){a?n.removeListener(o,a):n.removeAllListeners(o),n.listenerCount(o)===0&&n._unsubscribeAdapter(o)}return n.subscribe=i,n.unsubscribe=s,n}MA.exports=D6});var HA=w((PV,$A)=>{"use strict";var KA=()=>{},VA=Symbol.for("@libp2p/js-interfaces/topology"),jA=class{constructor({min:e=0,max:r=1/0,handlers:n={}}){this.min=e,this.max=r,this._onConnect=n.onConnect||KA,this._onDisconnect=n.onDisconnect||KA,this.peers=new Set}get[Symbol.toStringTag](){return"Topology"}get[VA](){return!0}static isTopology(e){return Boolean(e&&e[VA])}async setRegistrar(e){this._registrar=e}disconnect(e){this._onDisconnect(e)}};$A.exports=jA});var YA=w((NV,WA)=>{"use strict";var zA=Te(),L6=Object.assign(zA("libp2p:registrar"),{error:zA("libp2p:registrar:err")}),k6=he(),{codes:{ERR_INVALID_PARAMETERS:q6}}=je(),U6=HA(),GA=class{constructor({peerStore:e,connectionManager:r}){this.peerStore=e,this.connectionManager=r,this.topologies=new Map,this._handle=void 0,this._onDisconnect=this._onDisconnect.bind(this),this.connectionManager.on("peer:disconnect",this._onDisconnect)}get handle(){return this._handle}set handle(e){this._handle=e}getConnection(e){return this.connectionManager.get(e)}async register(e){if(!U6.isTopology(e))throw L6.error("topology must be an instance of interfaces/topology"),k6(new Error("topology must be an instance of interfaces/topology"),q6);let r=(Math.random()*1e9).toString(36)+Date.now();return this.topologies.set(r,e),await e.setRegistrar(this),r}unregister(e){return this.topologies.delete(e)}_onDisconnect(e){for(let[,r]of this.topologies)r.disconnect(e.remotePeer)}};WA.exports=GA});var Gd=w((OV,Ua)=>{"use strict";var{Buffer:Qu}=oi(),Xu=Yi();Ua.exports=async function*(t){for await(let e of t)Qu.isBuffer(e)?yield e:Xu.isBufferList(e)?yield e.slice():yield Qu.from(e)};Ua.exports.toBuffer=Ua.exports;Ua.exports.toList=async function*(t){for await(let e of t)Qu.isBuffer(e)?yield new Xu().append(e):Xu.isBufferList(e)?yield e:yield new Xu().append(Qu.from(e))}});var XA=w((DV,QA)=>{"use strict";QA.exports={PROTOCOL:"/ipfs/ping/1.0.0",PING_LENGTH:32,PROTOCOL_VERSION:"1.0.0",PROTOCOL_NAME:"ping"}});var tC=w((Zu,eC)=>{"use strict";var ZA=Te(),Wd=Object.assign(ZA("libp2p:ping"),{error:ZA("libp2p:ping:err")}),M6=he(),{codes:F6}=je(),K6=Ru(),{pipe:JA}=kr(),{toBuffer:V6}=Gd(),{collect:j6,take:$6}=Du(),{equals:H6}=(pr(),dr),{PROTOCOL_NAME:Yd,PING_LENGTH:z6,PROTOCOL_VERSION:Qd}=XA();async function G6(t,e){let r=`/${t._config.protocolPrefix}/${Yd}/${Qd}`;Wd("dialing %s to %s",r,e.toB58String?e.toB58String():e);let n=await t.dial(e),{stream:i}=await n.newStream(r),s=Date.now(),o=K6.randomBytes(z6),[a]=await JA([o],i,u=>$6(1,u),V6,j6),c=Date.now();if(!H6(o,a))throw M6(new Error("Received wrong ping ack"),F6.ERR_WRONG_PING_ACK);return c-s}function W6(t){t.handle(`/${t._config.protocolPrefix}/${Yd}/${Qd}`,({stream:e})=>JA(e,e)).catch(e=>{Wd.error(e)})}function Y6(t){t.unhandle(`/${t._config.protocolPrefix}/${Yd}/${Qd}`).catch(e=>{Wd.error(e)})}Zu=eC.exports=G6;Zu.mount=W6;Zu.unmount=Y6});var iC=w((LV,nC)=>{"use strict";var xo=pn(),rC=xo.Reader,Q6=xo.Writer,rt=xo.util,Ma=xo.roots["libp2p-identify"]||(xo.roots["libp2p-identify"]={});Ma.Identify=function(){function t(e){if(this.listenAddrs=[],this.protocols=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.protocolVersion="",t.prototype.agentVersion="",t.prototype.publicKey=rt.newBuffer([]),t.prototype.listenAddrs=rt.emptyArray,t.prototype.observedAddr=rt.newBuffer([]),t.prototype.protocols=rt.emptyArray,t.prototype.signedPeerRecord=rt.newBuffer([]),t.encode=function(r,n){if(n||(n=Q6.create()),r.publicKey!=null&&Object.hasOwnProperty.call(r,"publicKey")&&n.uint32(10).bytes(r.publicKey),r.listenAddrs!=null&&r.listenAddrs.length)for(var i=0;i<r.listenAddrs.length;++i)n.uint32(18).bytes(r.listenAddrs[i]);if(r.protocols!=null&&r.protocols.length)for(var i=0;i<r.protocols.length;++i)n.uint32(26).string(r.protocols[i]);return r.observedAddr!=null&&Object.hasOwnProperty.call(r,"observedAddr")&&n.uint32(34).bytes(r.observedAddr),r.protocolVersion!=null&&Object.hasOwnProperty.call(r,"protocolVersion")&&n.uint32(42).string(r.protocolVersion),r.agentVersion!=null&&Object.hasOwnProperty.call(r,"agentVersion")&&n.uint32(50).string(r.agentVersion),r.signedPeerRecord!=null&&Object.hasOwnProperty.call(r,"signedPeerRecord")&&n.uint32(66).bytes(r.signedPeerRecord),n},t.decode=function(r,n){r instanceof rC||(r=rC.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new Ma.Identify;r.pos<i;){var o=r.uint32();switch(o>>>3){case 5:s.protocolVersion=r.string();break;case 6:s.agentVersion=r.string();break;case 1:s.publicKey=r.bytes();break;case 2:s.listenAddrs&&s.listenAddrs.length||(s.listenAddrs=[]),s.listenAddrs.push(r.bytes());break;case 4:s.observedAddr=r.bytes();break;case 3:s.protocols&&s.protocols.length||(s.protocols=[]),s.protocols.push(r.string());break;case 8:s.signedPeerRecord=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof Ma.Identify)return r;var n=new Ma.Identify;if(r.protocolVersion!=null&&(n.protocolVersion=String(r.protocolVersion)),r.agentVersion!=null&&(n.agentVersion=String(r.agentVersion)),r.publicKey!=null&&(typeof r.publicKey=="string"?rt.base64.decode(r.publicKey,n.publicKey=rt.newBuffer(rt.base64.length(r.publicKey)),0):r.publicKey.length&&(n.publicKey=r.publicKey)),r.listenAddrs){if(!Array.isArray(r.listenAddrs))throw TypeError(".Identify.listenAddrs: array expected");n.listenAddrs=[];for(var i=0;i<r.listenAddrs.length;++i)typeof r.listenAddrs[i]=="string"?rt.base64.decode(r.listenAddrs[i],n.listenAddrs[i]=rt.newBuffer(rt.base64.length(r.listenAddrs[i])),0):r.listenAddrs[i].length&&(n.listenAddrs[i]=r.listenAddrs[i])}if(r.observedAddr!=null&&(typeof r.observedAddr=="string"?rt.base64.decode(r.observedAddr,n.observedAddr=rt.newBuffer(rt.base64.length(r.observedAddr)),0):r.observedAddr.length&&(n.observedAddr=r.observedAddr)),r.protocols){if(!Array.isArray(r.protocols))throw TypeError(".Identify.protocols: array expected");n.protocols=[];for(var i=0;i<r.protocols.length;++i)n.protocols[i]=String(r.protocols[i])}return r.signedPeerRecord!=null&&(typeof r.signedPeerRecord=="string"?rt.base64.decode(r.signedPeerRecord,n.signedPeerRecord=rt.newBuffer(rt.base64.length(r.signedPeerRecord)),0):r.signedPeerRecord.length&&(n.signedPeerRecord=r.signedPeerRecord)),n},t.toObject=function(r,n){n||(n={});var i={};if((n.arrays||n.defaults)&&(i.listenAddrs=[],i.protocols=[]),n.defaults&&(n.bytes===String?i.publicKey="":(i.publicKey=[],n.bytes!==Array&&(i.publicKey=rt.newBuffer(i.publicKey))),n.bytes===String?i.observedAddr="":(i.observedAddr=[],n.bytes!==Array&&(i.observedAddr=rt.newBuffer(i.observedAddr))),i.protocolVersion="",i.agentVersion="",n.bytes===String?i.signedPeerRecord="":(i.signedPeerRecord=[],n.bytes!==Array&&(i.signedPeerRecord=rt.newBuffer(i.signedPeerRecord)))),r.publicKey!=null&&r.hasOwnProperty("publicKey")&&(i.publicKey=n.bytes===String?rt.base64.encode(r.publicKey,0,r.publicKey.length):n.bytes===Array?Array.prototype.slice.call(r.publicKey):r.publicKey),r.listenAddrs&&r.listenAddrs.length){i.listenAddrs=[];for(var s=0;s<r.listenAddrs.length;++s)i.listenAddrs[s]=n.bytes===String?rt.base64.encode(r.listenAddrs[s],0,r.listenAddrs[s].length):n.bytes===Array?Array.prototype.slice.call(r.listenAddrs[s]):r.listenAddrs[s]}if(r.protocols&&r.protocols.length){i.protocols=[];for(var s=0;s<r.protocols.length;++s)i.protocols[s]=r.protocols[s]}return r.observedAddr!=null&&r.hasOwnProperty("observedAddr")&&(i.observedAddr=n.bytes===String?rt.base64.encode(r.observedAddr,0,r.observedAddr.length):n.bytes===Array?Array.prototype.slice.call(r.observedAddr):r.observedAddr),r.protocolVersion!=null&&r.hasOwnProperty("protocolVersion")&&(i.protocolVersion=r.protocolVersion),r.agentVersion!=null&&r.hasOwnProperty("agentVersion")&&(i.agentVersion=r.agentVersion),r.signedPeerRecord!=null&&r.hasOwnProperty("signedPeerRecord")&&(i.signedPeerRecord=n.bytes===String?rt.base64.encode(r.signedPeerRecord,0,r.signedPeerRecord.length):n.bytes===Array?Array.prototype.slice.call(r.signedPeerRecord):r.signedPeerRecord),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,xo.util.toJSONOptions)},t}();nC.exports=Ma});var dC=w((kV,hC)=>{"use strict";var sC=Te(),ar=Object.assign(sC("libp2p:identify"),{error:sC("libp2p:identify:err")}),Xd=he(),Ju=ro(),{pipe:el}=kr(),{collect:oC,take:aC,consume:cC}=Du(),{fromString:So}=(It(),Nt),X6=Rt(),{Multiaddr:Zd}=qt(),{toBuffer:uC}=Gd(),Fa=iC(),lC=fu(),fC=du(),{MULTICODEC_IDENTIFY:Z6,MULTICODEC_IDENTIFY_PUSH:J6,IDENTIFY_PROTOCOL_VERSION:e5,MULTICODEC_IDENTIFY_PROTOCOL_NAME:t5,MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME:r5,MULTICODEC_IDENTIFY_PROTOCOL_VERSION:n5,MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION:i5}=vh(),{codes:Jd}=je(),ss=class{static getProtocolStr(e){return{identifyProtocolStr:`/${e._config.protocolPrefix}/${t5}/${n5}`,identifyPushProtocolStr:`/${e._config.protocolPrefix}/${r5}/${i5}`}}constructor({libp2p:e}){this._libp2p=e,this.peerStore=e.peerStore,this.addressManager=e.addressManager,this.connectionManager=e.connectionManager,this.peerId=e.peerId,this.handleMessage=this.handleMessage.bind(this);let r=ss.getProtocolStr(e);this.identifyProtocolStr=r.identifyProtocolStr,this.identifyPushProtocolStr=r.identifyPushProtocolStr,this._host={protocolVersion:`${e._config.protocolPrefix}/${e5}`,...e._options.host},this.connectionManager.on("peer:connect",n=>{this.identify(n).catch(ar.error)}),this.peerStore.on("change:multiaddrs",({peerId:n})=>{n.toString()===this.peerId.toString()&&this.pushToPeerStore().catch(i=>ar.error(i))}),this.peerStore.on("change:protocols",({peerId:n})=>{n.toString()===this.peerId.toString()&&this.pushToPeerStore().catch(i=>ar.error(i))})}async start(){await this.peerStore.metadataBook.setValue(this.peerId,"AgentVersion",So(this._host.agentVersion)),await this.peerStore.metadataBook.setValue(this.peerId,"ProtocolVersion",So(this._host.protocolVersion))}async stop(){}async push(e){let r=await this.peerStore.addressBook.getRawEnvelope(this.peerId),n=this._libp2p.multiaddrs.map(o=>o.bytes),i=await this.peerStore.protoBook.get(this.peerId),s=e.map(async o=>{try{let{stream:a}=await o.newStream(this.identifyPushProtocolStr);await el([Fa.Identify.encode({listenAddrs:n,signedPeerRecord:r,protocols:i}).finish()],Ju.encode(),a,cC)}catch(a){ar.error("could not push identify update to peer",a)}});return Promise.all(s)}async pushToPeerStore(){if(!this._libp2p.isStarted())return;let e=[],r;for await(let n of this.peerStore.getPeers())n.protocols.includes(this.identifyPushProtocolStr)&&(r=this.connectionManager.get(n.id))&&e.push(r);await this.push(e)}async identify(e){let{stream:r}=await e.newStream(this.identifyProtocolStr),[n]=await el([],r,Ju.decode(),aC(1),uC,oC);if(!n)throw Xd(new Error("No data could be retrieved"),Jd.ERR_CONNECTION_ENDED);let i;try{i=Fa.Identify.decode(n)}catch(h){throw Xd(h,Jd.ERR_INVALID_MESSAGE)}let{publicKey:s,listenAddrs:o,protocols:a,observedAddr:c,signedPeerRecord:u}=i,l=await X6.createFromPubKey(s);if(e.remotePeer.toB58String()!==l.toB58String())throw Xd(new Error("identified peer does not match the expected peer"),Jd.ERR_INVALID_PEER);let f=ss.getCleanMultiaddr(c);try{let h=await lC.openAndCertify(u,fC.DOMAIN);if(await this.peerStore.addressBook.consumePeerRecord(h)){await this.peerStore.protoBook.set(l,a),await this.peerStore.metadataBook.setValue(l,"AgentVersion",So(i.agentVersion)),await this.peerStore.metadataBook.setValue(l,"ProtocolVersion",So(i.protocolVersion));return}}catch(h){ar("received invalid envelope, discard it and fallback to listenAddrs is available",h)}try{await this.peerStore.addressBook.set(l,o.map(h=>new Zd(h)))}catch(h){ar.error("received invalid addrs",h)}await this.peerStore.protoBook.set(l,a),await this.peerStore.metadataBook.setValue(l,"AgentVersion",So(i.agentVersion)),await this.peerStore.metadataBook.setValue(l,"ProtocolVersion",So(i.protocolVersion)),ar("received observed address of %s",f)}handleMessage({connection:e,stream:r,protocol:n}){switch(n){case this.identifyProtocolStr:return this._handleIdentify({connection:e,stream:r});case this.identifyPushProtocolStr:return this._handlePush({connection:e,stream:r});default:ar.error("cannot handle unknown protocol %s",n)}}async _handleIdentify({connection:e,stream:r}){try{let n=new Uint8Array(0);this.peerId.pubKey&&(n=this.peerId.pubKey.bytes);let i=await this.peerStore.addressBook.getRawEnvelope(this.peerId),s=await this.peerStore.protoBook.get(this.peerId),o=Fa.Identify.encode({protocolVersion:this._host.protocolVersion,agentVersion:this._host.agentVersion,publicKey:n,listenAddrs:this._libp2p.multiaddrs.map(a=>a.bytes),signedPeerRecord:i,observedAddr:e.remoteAddr.bytes,protocols:s}).finish();await el([o],Ju.encode(),r,cC)}catch(n){ar.error("could not respond to identify request",n)}}async _handlePush({connection:e,stream:r}){let n;try{let[s]=await el([],r,Ju.decode(),aC(1),uC,oC);n=Fa.Identify.decode(s)}catch(s){return ar.error("received invalid message",s)}let i=e.remotePeer;try{let s=await lC.openAndCertify(n.signedPeerRecord,fC.DOMAIN);if(await this.peerStore.addressBook.consumePeerRecord(s)){await this.peerStore.protoBook.set(i,n.protocols);return}}catch(s){ar("received invalid envelope, discard it and fallback to listenAddrs is available",s)}try{await this.peerStore.addressBook.set(i,n.listenAddrs.map(s=>new Zd(s)))}catch(s){ar.error("received invalid addrs",s)}try{await this.peerStore.protoBook.set(i,n.protocols)}catch(s){ar.error("received invalid protocols",s)}}static getCleanMultiaddr(e){if(e&&e.length>0)try{return new Zd(e)}catch(r){return null}return null}},s5={IDENTIFY:Z6,IDENTIFY_PUSH:J6};ss.multicodecs=s5;ss.Messsage=Fa;hC.exports=ss});var gC=w((qV,yC)=>{"use strict";var os=pn(),tl=os.Reader,pC=os.Writer,Ao=os.util,ln=os.roots["libp2p-fetch"]||(os.roots["libp2p-fetch"]={});ln.FetchRequest=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.identifier="",t.encode=function(r,n){return n||(n=pC.create()),r.identifier!=null&&Object.hasOwnProperty.call(r,"identifier")&&n.uint32(10).string(r.identifier),n},t.decode=function(r,n){r instanceof tl||(r=tl.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new ln.FetchRequest;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.identifier=r.string();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof ln.FetchRequest)return r;var n=new ln.FetchRequest;return r.identifier!=null&&(n.identifier=String(r.identifier)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.identifier=""),r.identifier!=null&&r.hasOwnProperty("identifier")&&(i.identifier=r.identifier),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,os.util.toJSONOptions)},t}();ln.FetchResponse=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.status=0,t.prototype.data=Ao.newBuffer([]),t.encode=function(r,n){return n||(n=pC.create()),r.status!=null&&Object.hasOwnProperty.call(r,"status")&&n.uint32(8).int32(r.status),r.data!=null&&Object.hasOwnProperty.call(r,"data")&&n.uint32(18).bytes(r.data),n},t.decode=function(r,n){r instanceof tl||(r=tl.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new ln.FetchResponse;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.status=r.int32();break;case 2:s.data=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof ln.FetchResponse)return r;var n=new ln.FetchResponse;switch(r.status){case"OK":case 0:n.status=0;break;case"NOT_FOUND":case 1:n.status=1;break;case"ERROR":case 2:n.status=2;break}return r.data!=null&&(typeof r.data=="string"?Ao.base64.decode(r.data,n.data=Ao.newBuffer(Ao.base64.length(r.data)),0):r.data.length&&(n.data=r.data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.status=n.enums===String?"OK":0,n.bytes===String?i.data="":(i.data=[],n.bytes!==Array&&(i.data=Ao.newBuffer(i.data)))),r.status!=null&&r.hasOwnProperty("status")&&(i.status=n.enums===String?ln.FetchResponse.StatusCode[r.status]:r.status),r.data!=null&&r.hasOwnProperty("data")&&(i.data=n.bytes===String?Ao.base64.encode(r.data,0,r.data.length):n.bytes===Array?Array.prototype.slice.call(r.data):r.data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,os.util.toJSONOptions)},t.StatusCode=function(){var e={},r=Object.create(e);return r[e[0]="OK"]=0,r[e[1]="NOT_FOUND"]=1,r[e[2]="ERROR"]=2,r}(),t}();yC.exports=ln});var vC=w((UV,mC)=>{"use strict";mC.exports={PROTOCOL:"/libp2p/fetch/0.0.1"}});var xC=w((wC,_C)=>{"use strict";var bC=Te(),o5=Object.assign(bC("libp2p:fetch"),{error:bC("libp2p:fetch:err")}),e0=he(),{codes:t0}=je(),rl=ro(),{FetchRequest:r0,FetchResponse:Fr}=gC(),EC=no(),{PROTOCOL:a5}=vC(),Ka=class{constructor(e){this._lookupFunctions=new Map,this._libp2p=e,this.handleMessage=this.handleMessage.bind(this)}async fetch(e,r){o5("dialing %s to %s",this._protocol,e.toB58String?e.toB58String():e);let n=await this._libp2p.dial(e),{stream:i}=await n.newStream(Ka.PROTOCOL),s=EC(i),o=new r0({identifier:r});s.write(rl.encode.single(r0.encode(o).finish()));let a=Fr.decode((await rl.decode.fromReader(s.reader).next()).value.slice());switch(a.status){case Fr.StatusCode.OK:return a.data;case Fr.StatusCode.NOT_FOUND:return null;case Fr.StatusCode.ERROR:{let c=new TextDecoder().decode(a.data);throw e0(new Error("Error in fetch protocol response: "+c),t0.ERR_INVALID_PARAMETERS)}default:throw e0(new Error("Unknown response status"),t0.ERR_INVALID_MESSAGE)}}async handleMessage(e){let{stream:r}=e,n=EC(r),i=r0.decode((await rl.decode.fromReader(n.reader).next()).value.slice()),s,o=this._getLookupFunction(i.identifier);if(o){let a=await o(i.identifier);a?s=new Fr({status:Fr.StatusCode.OK,data:a}):s=new Fr({status:Fr.StatusCode.NOT_FOUND})}else{let a=new TextEncoder().encode("No lookup function registered for key: "+i.identifier);s=new Fr({status:Fr.StatusCode.ERROR,data:a})}n.write(rl.encode.single(Fr.encode(s).finish()))}_getLookupFunction(e){for(let r of this._lookupFunctions.keys())if(e.startsWith(r))return this._lookupFunctions.get(r);return null}registerLookupFunction(e,r){if(this._lookupFunctions.has(e))throw e0(new Error("Fetch protocol handler for key prefix '"+e+"' already registered"),t0.ERR_KEY_ALREADY_EXISTS);this._lookupFunctions.set(e,r)}unregisterLookupFunction(e,r){r!=null&&this._lookupFunctions.get(e)!==r||this._lookupFunctions.delete(e)}};Ka.PROTOCOL=a5;wC=_C.exports=Ka});var SC=w(()=>{});var AC=w(n0=>{"use strict";Object.defineProperty(n0,"__esModule",{value:!0}),n0.promisify=nl;var c5="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function nl(t){if(typeof t!="function")throw new TypeError("Argument to promisify must be a function");var e=t[c5],r=nl.Promise||Promise;if(typeof r!="function")throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var n=this,i=arguments.length,s=Array(i),o=0;o<i;o++)s[o]=arguments[o];return new r(function(a,c){s.push(function(u){if(u)return c(u);for(var l=arguments.length,f=Array(1<l?l-1:0),h=1;h<l;h++)f[h-1]=arguments[h];if(f.length===1||!e)return a(f[0]);var p={};f.forEach(function(d,g){var m=e[g];m&&(p[m]=d)}),a(p)}),t.apply(n,s)})}}nl.argumentNames="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__",nl.Promise=void 0});var IC=w((VV,CC)=>{function u5(){return typeof window!="undefined"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process!="undefined"&&typeof process.versions=="object"&&!!process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0}CC.exports=u5});var RC=w((jV,TC)=>{"use strict";var l5=IC(),il=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Va=l5(),f5=il&&!Va,h5=Va&&!il,d5=Va&&il,p5=typeof h0=="function"&&typeof process!="undefined"&&typeof process.release!="undefined"&&process.release.name==="node"&&!Va,y5=typeof importScripts=="function"&&typeof self!="undefined"&&typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope,g5=typeof process!="undefined"&&typeof process.env!="undefined"&&!1;TC.exports={isTest:g5,isElectron:Va,isElectronMain:h5,isElectronRenderer:d5,isNode:p5,isBrowser:f5,isWebWorker:y5,isEnvWithDom:il}});var PC=w(($V,BC)=>{function Ir(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}BC.exports=Ir;Ir.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Ir.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Ir.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};Ir.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Ir.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Ir.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Ir.prototype.start=Ir.prototype.try;Ir.prototype.errors=function(){return this._errors};Ir.prototype.attempts=function(){return this._attempts};Ir.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],s=i.message,o=(t[s]||0)+1;t[s]=o,o>=r&&(e=i,r=o)}return e}});var NC=w(as=>{var m5=PC();as.operation=function(t){var e=as.timeouts(t);return new m5(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};as.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<e.retries;i++)n.push(this.createTimeout(i,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(i,e)),n.sort(function(s,o){return s-o}),n};as.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout),n};as.wrap=function(t,e,r){if(e instanceof Array&&(r=e,e=null),!r){r=[];for(var n in t)typeof t[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var s=r[i],o=t[s];t[s]=function(c){var u=as.operation(e),l=Array.prototype.slice.call(arguments,1),f=l.pop();l.push(function(h){u.retry(h)||(h&&(arguments[0]=u.mainError()),f.apply(this,arguments))}),u.attempt(function(){c.apply(t,l)})}.bind(t,o),t[s].options=e}}});var DC=w((zV,OC)=>{OC.exports=NC()});var kC=w((GV,sl)=>{"use strict";var v5=DC(),b5=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"],i0=class extends Error{constructor(e){super();e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}},E5=(t,e,r)=>{let n=r.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=n,t},w5=t=>b5.includes(t),LC=(t,e)=>new Promise((r,n)=>{e={onFailedAttempt:()=>{},retries:10,...e};let i=v5.operation(e);i.attempt(async s=>{try{r(await t(s))}catch(o){if(!(o instanceof Error)){n(new TypeError(`Non-error was thrown: "${o}". You should only throw errors.`));return}if(o instanceof i0)i.stop(),n(o.originalError);else if(o instanceof TypeError&&!w5(o.message))i.stop(),n(o);else{E5(o,s,e);try{await e.onFailedAttempt(o)}catch(a){n(a);return}i.retry(o)||n(i.mainError())}}})});sl.exports=LC;sl.exports.default=LC;sl.exports.AbortError=i0});var UC=w((WV,qC)=>{"use strict";function _5(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}qC.exports=_5});var FC=w((YV,MC)=>{"use strict";var x5=UC();function S5(t){let{address:e}=t.nodeAddress();return x5(e)}MC.exports=S5});var zC=w((QV,HC)=>{"use strict";var A5=SC(),KC=Te(),{promisify:s0}=AC(),{Multiaddr:C5}=qt(),Co=Object.assign(KC("libp2p:nat"),{error:KC("libp2p:nat:err")}),{isBrowser:VC}=RC(),o0=kC(),I5=bh(),jC=mh(),T5=he(),{codes:{ERR_INVALID_PARAMETERS:R5}}=je(),B5=FC(),a0=7200;function P5(t=1024,e=65535){return Math.floor(Math.random()*(e-t+1)+t)}var $C=class{constructor({peerId:e,addressManager:r,transportManager:n,...i}){if(this._peerId=e,this._addressManager=r,this._transportManager=n,this._enabled=i.enabled,this._externalIp=i.externalIp,this._options={description:i.description||`${jC.name}@${jC.version} ${this._peerId}`,ttl:i.ttl||a0,autoUpdate:i.keepAlive||!0,gateway:i.gateway,enablePMP:Boolean(i.pmp&&i.pmp.enabled)},this._options.ttl<a0)throw T5(new Error(`NatManager ttl should be at least ${a0} seconds`),R5)}start(){VC||!this._enabled||this._start().catch(e=>{Co.error(e)})}async _start(){let e=this._transportManager.getAddrs();for(let r of e){let{family:n,host:i,port:s,transport:o}=r.toOptions();if(!r.isThinWaistAddress()||o!=="tcp"||B5(r)||n!==4)continue;let a=this._getClient(),c=this._externalIp||await a.externalIp();if(I5(c))throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);let u=P5();Co(`opening uPnP connection from ${c}:${u} to ${i}:${s}`),await a.map({publicPort:u,privatePort:s,protocol:o.toUpperCase()}),this._addressManager.addObservedAddr(C5.fromNodeAddress({family:4,address:c,port:u},o))}}_getClient(){if(this._client)return this._client;let e=new A5(this._options),r=s0(e.map.bind(e)),n=s0(e.destroy.bind(e)),i=s0(e.externalIp.bind(e));return this._client={map:(...s)=>o0(()=>r(...s),{onFailedAttempt:Co.error,unref:!0}),destroy:(...s)=>o0(()=>n(...s),{onFailedAttempt:Co.error,unref:!0}),externalIp:(...s)=>o0(()=>i(...s),{onFailedAttempt:Co.error,unref:!0})},this._client}async stop(){if(!(VC||!this._client))try{await this._client.destroy(),this._client=null}catch(e){Co.error(e)}}};HC.exports=$C});var J5=w((XV,XC)=>{"use strict";var GC=Te(),Ft=Object.assign(GC("libp2p"),{error:GC("libp2p:err")}),{EventEmitter:N5}=Qt(),c0=he(),O5=Rt(),{Multiaddr:D5}=qt(),{MemoryDatastore:L5}=(m1(),g1),k5=W1(),q5=eb(),u0=ph(),{validate:U5}=mE(),{codes:ol,messages:M5}=je(),F5=EE(),K5=qE(),V5=$E(),WC=B2(),j5=V2(),$5=E_(),YC=bx(),H5=kx(),z5=Th(),G5=vS(),W5=UA(),Y5=FA(),Q5=YA(),al=tC(),QC=dC(),l0=xC(),X5=zC(),{updateSelfPeerRecord:Z5}=Ch(),ja=class extends N5{static async create(e){if(e.peerId)return new ja(e);let r=await O5.create();return e.peerId=r,new ja(e)}constructor(e){super();if(this._options=U5(e),this.peerId=this._options.peerId,this.datastore=this._options.datastore,this._options.metrics.enabled){let n=new H5({...this._options.metrics});this.metrics=n}if(this.peerStore=new W5({peerId:this.peerId,datastore:this.datastore&&this._options.peerStore.persistence?this.datastore:new L5}),this.addresses=this._options.addresses,this.addressManager=new F5(this.peerId,this._options.addresses),this.addressManager.on("change:addresses",()=>{Z5(this).catch(n=>{Ft.error("Error updating self peer record",n)})}),this._modules=this._options.modules,this._config=this._options.config,this._transport=[],this._discovery=new Map,this.connectionManager=new K5(this,{...this._options.connectionManager}),this._autodialler=new V5(this,{enabled:this._config.peerDiscovery.autoDial,minConnections:this._options.connectionManager.minConnections,autoDialInterval:this._options.connectionManager.autoDialInterval}),this._options.keychain&&this._options.keychain.datastore){Ft("creating keychain");let n=YC.generateOptions();this.keychain=new YC(this._options.keychain.datastore,{...n,...this._options.keychain}),Ft("keychain constructed")}if(this.upgrader=new G5({localPeer:this.peerId,metrics:this.metrics,onConnection:n=>this.connectionManager.onConnect(n),onConnectionEnd:n=>this.connectionManager.onDisconnect(n)}),this.transportManager=new z5({libp2p:this,upgrader:this.upgrader,faultTolerance:this._options.transportManager.faultTolerance}),this.natManager=new X5({peerId:this.peerId,addressManager:this.addressManager,transportManager:this.transportManager,...this._options.config.nat}),this.registrar=new Q5({peerStore:this.peerStore,connectionManager:this.connectionManager}),this.handle=this.handle.bind(this),this.registrar.handle=this.handle,!this._modules.connEncryption||!this._modules.connEncryption.length)throw c0(new Error(M5.CONN_ENCRYPTION_REQUIRED),ol.CONN_ENCRYPTION_REQUIRED);if(this._modules.connEncryption.forEach(n=>{this.upgrader.cryptos.set(n.protocol,n)}),this.dialer=new $5({transportManager:this.transportManager,peerStore:this.peerStore,metrics:this.metrics,...this._options.dialer}),this._modules.transport.forEach(n=>{let i=n.prototype[Symbol.toStringTag],s=this._config.transport[i];this.transportManager.add(i,n,s)}),this._config.relay.enabled&&(this.transportManager.add(WC.prototype[Symbol.toStringTag],WC),this.relay=new j5(this)),this._modules.streamMuxer&&(this._modules.streamMuxer.forEach(i=>{this.upgrader.muxers.set(i.multicodec,i)}),this.identifyService=new QC({libp2p:this})),this._modules.connProtector)this.upgrader.protector=this._modules.connProtector;else if(globalThis.process!==void 0&&globalThis.process.env&&globalThis.process.env.LIBP2P_FORCE_PNET)throw new Error("Private network is enforced, but no protector was provided");if(this._modules.dht){let n=this._modules.dht;this._dht=n.create({libp2p:this,...this._config.dht})}if(this._modules.pubsub){let n=this._modules.pubsub;this.pubsub=Y5(n,this,this._config.pubsub)}this.peerRouting=new k5(this),this.contentRouting=new q5(this),al.mount(this),this._onDiscoveryPeer=this._onDiscoveryPeer.bind(this),this.fetchService=new l0(this)}emit(e,...r){return e==="error"&&!this._events.error?(Ft.error(r),!1):super.emit(e,...r)}async start(){Ft("libp2p is starting"),this.identifyService&&await this.handle(Object.values(QC.getProtocolStr(this)),this.identifyService.handleMessage),this.fetchService&&await this.handle(l0.PROTOCOL,this.fetchService.handleMessage);try{await this._onStarting(),await this._onDidStart(),Ft("libp2p has started")}catch(e){throw this.emit("error",e),Ft.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){Ft("libp2p is stopping");try{this._isStarted=!1,this.identifyService&&await this.identifyService.stop(),this.relay&&this.relay.stop(),this.peerRouting.stop(),await this._autodialler.stop(),await(this._dht&&this._dht.stop());for(let e of this._discovery.values())e.removeListener("peer",this._onDiscoveryPeer);await Promise.all(Array.from(this._discovery.values(),e=>e.stop())),this._discovery=new Map,await this.connectionManager.stop(),await Promise.all([this.pubsub&&this.pubsub.stop(),this.metrics&&this.metrics.stop()]),await this.natManager.stop(),await this.transportManager.close(),this.unhandle(l0.PROTOCOL),al.unmount(this),this.dialer.destroy()}catch(e){e&&(Ft.error(e),this.emit("error",e))}Ft("libp2p has stopped")}async loadKeychain(){if(!!this.keychain)try{await this.keychain.findKeyByName("self")}catch(e){await this.keychain.importPeer("self",this.peerId)}}isStarted(){return this._isStarted}get connections(){return this.connectionManager.connections}dial(e,r){return this._dial(e,r)}async dialProtocol(e,r,n){if(!r||!r.length)throw c0(new Error("no protocols were provided to open a stream"),ol.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this._dial(e,n)).newStream(r)}async _dial(e,r){let{id:n,multiaddrs:i}=u0(e);if(n.equals(this.peerId))throw c0(new Error("Cannot dial self"),ol.ERR_DIALED_SELF);let s=this.connectionManager.get(n);return s?i&&await this.peerStore.addressBook.add(n,i):s=await this.dialer.connectToPeer(e,r),s}get multiaddrs(){let e=this.addressManager.getAnnounceAddrs().map(i=>i.toString());e.length||(e=this.transportManager.getAddrs().map(i=>i.toString())),e=e.concat(this.addressManager.getObservedAddrs().map(i=>i.toString()));let r=this._options.addresses.announceFilter,n=new Set(e);return r(Array.from(n).map(i=>new D5(i)))}async hangUp(e){let{id:r}=u0(e),n=this.connectionManager.connections.get(r.toB58String());!n||await Promise.all(n.map(i=>i.close()))}fetch(e,r){return this.fetchService.fetch(e,r)}ping(e){let{id:r,multiaddrs:n}=u0(e);return n?al(this,n[0]):al(this,r)}async handle(e,r){e=Array.isArray(e)?e:[e],e.forEach(n=>{this.upgrader.protocols.set(n,r)}),await this.peerStore.protoBook.add(this.peerId,e)}async unhandle(e){e=Array.isArray(e)?e:[e],e.forEach(r=>{this.upgrader.protocols.delete(r)}),await this.peerStore.protoBook.remove(this.peerId,e)}async _onStarting(){let e=this.addressManager.getListenAddrs();await this.transportManager.listen(e),this.natManager.start(),this._config.pubsub.enabled&&this.pubsub&&await this.pubsub.start(),this._config.dht.enabled&&(this._dht&&await this._dht.start(),this._dht.on("peer",this._onDiscoveryPeer)),this.metrics&&this.metrics.start(),this.identifyService&&await this.identifyService.start()}async _onDidStart(){this._isStarted=!0,this.peerStore.on("peer",e=>{this.emit("peer:discovery",e),this._maybeConnect(e).catch(r=>{Ft.error(r)})});for await(let e of this.peerStore.getPeers())this.emit("peer:discovery",e.id);this.connectionManager.start(),await this._autodialler.start(),await this._setupPeerDiscovery(),this.relay&&this.relay.start(),this.peerRouting.start()}_onDiscoveryPeer(e){if(e.id.toB58String()===this.peerId.toB58String()){Ft.error(new Error(ol.ERR_DISCOVERED_SELF));return}e.multiaddrs&&this.peerStore.addressBook.add(e.id,e.multiaddrs).catch(r=>Ft.error(r)),e.protocols&&this.peerStore.protoBook.set(e.id,e.protocols).catch(r=>Ft.error(r))}async _maybeConnect(e){if(this._config.peerDiscovery.autoDial===!0&&!this.connectionManager.get(e)&&(this._options.connectionManager.minConnections||0)>this.connectionManager.size){Ft("connecting to discovered peer %s",e.toB58String());try{await this.dialer.connectToPeer(e)}catch(n){Ft.error(`could not connect to discovered peer ${e.toB58String()} with ${n}`)}}}async _setupPeerDiscovery(){let e=r=>{let n={enabled:!0};if(r.tag&&this._config.peerDiscovery&&this._config.peerDiscovery[r.tag]&&(n={...n,...this._config.peerDiscovery[r.tag]}),n.enabled&&!this._discovery.has(r.tag)){let i;typeof r=="function"?i=new r(Object.assign({},n,{peerId:this.peerId,libp2p:this})):i=r,i.on("peer",this._onDiscoveryPeer),this._discovery.set(r.tag,i)}};for(let r of this._modules.peerDiscovery||[])e(r);for(let r of this.transportManager.getTransports())r.discovery&&e(r.discovery);await Promise.all(Array.from(this._discovery.values(),r=>r.start()))}};XC.exports=ja});return J5();})();
|
|
46
|
+
/*!
|
|
47
|
+
* The buffer module from node.js, for the browser.
|
|
48
|
+
*
|
|
49
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
50
|
+
* @license MIT
|
|
51
|
+
*/
|
|
52
|
+
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
53
|
+
/*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) */
|
|
54
|
+
/*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */
|
|
55
|
+
return Libp2p}));
|