@libp2p/floodsub 9.0.6 → 9.0.7

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.
Files changed (2) hide show
  1. package/dist/index.min.js +72 -14
  2. package/package.json +5 -5
package/dist/index.min.js CHANGED
@@ -1,20 +1,38 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PFloodsub = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PFloodsub=(()=>{var ku=Object.create;var Pn=Object.defineProperty;var Pu=Object.getOwnPropertyDescriptor;var Uu=Object.getOwnPropertyNames;var Ku=Object.getPrototypeOf,Ou=Object.prototype.hasOwnProperty;var ct=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Bt=(t,e)=>{for(var r in e)Pn(t,r,{get:e[r],enumerable:!0})},$o=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Uu(e))!Ou.call(t,i)&&i!==r&&Pn(t,i,{get:()=>e[i],enumerable:!(n=Pu(e,i))||n.enumerable});return t};var It=(t,e,r)=>(r=t!=null?ku(Ku(t)):{},$o(e||!t||!t.__esModule?Pn(r,"default",{value:t,enumerable:!0}):r,t)),Mu=t=>$o(Pn({},"__esModule",{value:!0}),t);var wa=ct((bm,ps)=>{"use strict";var jf=Object.prototype.hasOwnProperty,zt="~";function un(){}Object.create&&(un.prototype=Object.create(null),new un().__proto__||(zt=!1));function tl(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function va(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new tl(r,n||t,i),o=zt?zt+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 Fn(t,e){--t._eventsCount===0?t._events=new un:delete t._events[e]}function Ot(){this._events=new un,this._eventsCount=0}Ot.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)jf.call(r,n)&&e.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ot.prototype.listeners=function(e){var r=zt?zt+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};Ot.prototype.listenerCount=function(e){var r=zt?zt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Ot.prototype.emit=function(e,r,n,i,s,o){var a=zt?zt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;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(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var h=c.length,g;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(g=1,f=new Array(u-1);g<u;g++)f[g-1]=arguments[g];c[l].fn.apply(c[l].context,f)}}return!0};Ot.prototype.on=function(e,r,n){return va(this,e,r,n,!1)};Ot.prototype.once=function(e,r,n){return va(this,e,r,n,!0)};Ot.prototype.removeListener=function(e,r,n,i){var s=zt?zt+e:e;if(!this._events[s])return this;if(!r)return Fn(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Fn(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:Fn(this,s)}return this};Ot.prototype.removeAllListeners=function(e){var r;return e?(r=zt?zt+e:e,this._events[r]&&Fn(this,r)):(this._events=new un,this._eventsCount=0),this};Ot.prototype.off=Ot.prototype.removeListener;Ot.prototype.addListener=Ot.prototype.on;Ot.prefixed=zt;Ot.EventEmitter=Ot;typeof ps<"u"&&(ps.exports=Ot)});var ka=ct((Xm,Da)=>{"use strict";function Na(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function cl(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 Na(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Na(new i,r)}}Da.exports=cl});var st=ct((l2,Pa)=>{Pa.exports={options:{usePureJavaScript:!1}}});var Oa=ct((h2,Ka)=>{var Ss={};Ka.exports=Ss;var Ua={};Ss.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=hl(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 f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
- `)}return n};Ss.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=Ua[e];if(!r){r=Ua[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 f=0;t[f]===s&&f<t.length-1;++f)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function hl(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 wt=ct((p2,qa)=>{var Ma=st(),Fa=Oa(),x=qa.exports=Ma.util=Ma.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(f){f()})}};var o=a,t="forge.setImmediate",e=[];x.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};x.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};x.isArrayBufferView=function(t){return t&&x.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function dn(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=Bs;function Bs(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(x.isArrayBuffer(t)||x.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Bs||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=Bs;var pl=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>pl&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};x.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};x.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};x.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(x.encodeUtf8(t))};x.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.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))};x.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};x.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))};x.ByteStringBuffer.prototype.putInt=function(t,e){dn(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};x.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};x.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};x.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};x.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};x.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};x.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};x.ByteStringBuffer.prototype.getInt=function(t){dn(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};x.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.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};x.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};x.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};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var t=x.createBuffer(this.data);return t.read=this.read,t};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.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};x.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};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function dl(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=x.isArrayBuffer(t),n=x.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)}x.DataBuffer=dl;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.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};x.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};x.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};x.DataBuffer.prototype.putBytes=function(t,e){if(x.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(x.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 x.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&x.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 x.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+=x.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+=x.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=x.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};x.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};x.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};x.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};x.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};x.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};x.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};x.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(t,e){dn(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};x.DataBuffer.prototype.putSignedInt=function(t,e){return dn(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};x.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};x.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};x.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};x.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};x.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};x.DataBuffer.prototype.getInt=function(t){dn(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};x.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.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};x.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};x.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.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};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};x.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};x.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return x.binary.raw.encode(e);if(t==="hex")return x.binary.hex.encode(e);if(t==="base64")return x.binary.base64.encode(e);if(t==="utf8")return x.text.utf8.decode(e);if(t==="utf16")return x.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};x.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=x.encodeUtf8(t)),new x.ByteBuffer(t)};x.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};x.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};x.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};x.bytesToHex=function(t){return x.createBuffer(t).toHex()};x.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var He="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ze=[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],Va="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.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+=He.charAt(i>>2),r+=He.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=He.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":He.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
- `,r=r.substr(e));return n+=r,n};x.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=ze[t.charCodeAt(o++)-43],n=ze[t.charCodeAt(o++)-43],i=ze[t.charCodeAt(o++)-43],s=ze[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};x.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};x.decodeUtf8=function(t){return decodeURIComponent(escape(t))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Fa.encode,decode:Fa.decode}};x.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};x.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};x.binary.hex.encode=x.bytesToHex;x.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};x.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+=He.charAt(i>>2),r+=He.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=He.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":He.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
- `,r=r.substr(e));return n+=r,n};x.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=ze[t.charCodeAt(c++)-43],s=ze[t.charCodeAt(c++)-43],o=ze[t.charCodeAt(c++)-43],a=ze[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)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,Va,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,Va,e)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(t,e,r){t=x.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};x.text.utf8.decode=function(t){return x.decodeUtf8(String.fromCharCode.apply(null,t))};x.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};x.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};x.deflate=function(t,e,r){if(e=x.decode64(t.deflate(x.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};x.inflate=function(t,e,r){var n=t.inflate(x.encode64(e)).rval;return n===null?null:x.decode64(n)};var As=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=x.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Is=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(x.decode64(r))),r},yl=function(t,e,r,n){var i=Is(t,e);i===null&&(i={}),i[r]=n,As(t,e,i)},gl=function(t,e,r){var n=Is(t,e);return n!==null&&(n=r in n?n[r]:null),n},ml=function(t,e,r){var n=Is(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),As(t,e,n)}},xl=function(t,e){As(t,e,null)},Yn=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};x.setItem=function(t,e,r,n,i){Yn(yl,arguments,i)};x.getItem=function(t,e,r,n){return Yn(gl,arguments,n)};x.removeItem=function(t,e,r,n){Yn(ml,arguments,n)};x.clearItems=function(t,e,r){Yn(xl,arguments,r)};x.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};x.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("")};x.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)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};x.formatSize=function(t){return t>=1073741824?t=x.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=x.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=x.formatNumber(t/1024,0)+" KiB":t=x.formatNumber(t,0)+" bytes",t};x.bytesFromIP=function(t){return t.indexOf(".")!==-1?x.bytesFromIPv4(t):t.indexOf(":")!==-1?x.bytesFromIPv6(t):null};x.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=x.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};x.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=x.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=x.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};x.bytesToIP=function(t){return t.length===4?x.bytesToIPv4(t):t.length===16?x.bytesToIPv6(t):null};x.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(".")};x.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=x.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(":")};x.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in x&&!t.update)return e(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,e(null,x.cores);if(typeof Worker>"u")return x.cores=1,e(null,x.cores);if(typeof Blob>"u")return x.cores=2,e(null,x.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(f,l){return f+l},0)/o.length);return x.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,x.cores)}i(c,function(f,l){o.push(s(c,l)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],f=0;f<o;++f){var l=new Worker(r);l.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var g=0;g<o;++g)c[g].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<o;++f)c[f].postMessage(f)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var f=a[u],l=c[u]=[],h=0;h<o;++h)if(u!==h){var g=a[h];(f.st>g.st&&f.st<g.et||g.st>f.st&&g.st<f.et)&&l.push(h)}return c.reduce(function(p,d){return Math.max(p,d.length)},0)}}});var Ts=ct((d2,Ha)=>{var Rt=st();wt();Ha.exports=Rt.cipher=Rt.cipher||{};Rt.cipher.algorithms=Rt.cipher.algorithms||{};Rt.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Rt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Rt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Rt.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Rt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Rt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Rt.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Rt.cipher.algorithms[t]=e};Rt.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Rt.cipher.algorithms?Rt.cipher.algorithms[t]:null};var Cs=Rt.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)};Cs.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=Rt.util.createBuffer(),this.output=t.output||Rt.util.createBuffer(),this.mode.start(e)};Cs.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()};Cs.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 Rs=ct((y2,za)=>{var Lt=st();wt();Lt.cipher=Lt.cipher||{};var Z=za.exports=Lt.cipher.modes=Lt.cipher.modes||{};Z.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Z.ecb.prototype.start=function(t){};Z.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Z.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Z.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Z.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Z.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=Wn(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Z.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};Z.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Z.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Z.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Lt.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Wn(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Lt.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Wn(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.ofb.prototype.decrypt=Z.ofb.prototype.encrypt;Z.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Lt.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Wn(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}$n(this._inBlock)};Z.ctr.prototype.decrypt=Z.ctr.prototype.encrypt;Z.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Lt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Lt.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Lt.util.createBuffer(t.additionalData):r=Lt.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Lt.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(_s(n*8)))}this._inBlock=this._j0.slice(0),$n(this._inBlock),this._partialBytes=0,r=Lt.util.createBuffer(r),this._aDataLength=_s(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};Z.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),$n(this._inBlock)};Z.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),$n(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Lt.util.createBuffer();var n=this._aDataLength.concat(_s(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Z.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};Z.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};Z.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};Z.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};Z.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};Z.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function Wn(t,e){if(typeof t=="string"&&(t=Lt.util.createBuffer(t)),Lt.util.isArray(t)&&t.length>4){var r=t;t=Lt.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(!Lt.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function $n(t){t[t.length-1]=t[t.length-1]+1&4294967295}function _s(t){return[t/4294967296|0,t&4294967295]}});var Qn=ct((g2,$a)=>{var ut=st();Ts();Rs();wt();$a.exports=ut.aes=ut.aes||{};ut.aes.startEncrypting=function(t,e,r,n){var i=Zn({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};ut.aes.createEncryptionCipher=function(t,e){return Zn({key:t,output:null,decrypt:!1,mode:e})};ut.aes.startDecrypting=function(t,e,r,n){var i=Zn({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};ut.aes.createDecryptionCipher=function(t,e){return Zn({key:t,output:null,decrypt:!0,mode:e})};ut.aes.Algorithm=function(t,e){Ds||Ya();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Ns(r._w,n,i,!1)},decrypt:function(n,i){return Ns(r._w,n,i,!0)}}}),r._init=!1};ut.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=ut.util.createBuffer(e);else if(ut.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=ut.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!ut.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(!ut.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=Wa(e,t.decrypt&&!o),this._init=!0}};ut.aes._expandKey=function(t,e){return Ds||Ya(),Wa(t,e)};ut.aes._updateBlock=Ns;Or("AES-ECB",ut.cipher.modes.ecb);Or("AES-CBC",ut.cipher.modes.cbc);Or("AES-CFB",ut.cipher.modes.cfb);Or("AES-OFB",ut.cipher.modes.ofb);Or("AES-CTR",ut.cipher.modes.ctr);Or("AES-GCM",ut.cipher.modes.gcm);function Or(t,e){var r=function(){return new ut.aes.Algorithm(t,e)};ut.cipher.registerAlgorithm(t,r)}var Ds=!1,Kr=4,Gt,Ls,Ga,sr,ie;function Ya(){Ds=!0,Ga=[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;Gt=new Array(256),Ls=new Array(256),sr=new Array(4),ie=new Array(4);for(var e=0;e<4;++e)sr[e]=new Array(256),ie[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Gt[r]=a,Ls[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),f=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var l=0;l<4;++l)sr[l][r]=u,ie[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function Wa(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Kr*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=Gt[n>>>16&255]<<24^Gt[n>>>8&255]<<16^Gt[n&255]<<8^Gt[n>>>24]^Ga[i]<<24,i++):s>6&&c%s===4&&(n=Gt[n>>>24]<<24^Gt[n>>>16&255]<<16^Gt[n>>>8&255]<<8^Gt[n&255]),r[c]=r[c-s]^n;if(e){var u,f=ie[0],l=ie[1],h=ie[2],g=ie[3],p=r.slice(0);a=r.length;for(var c=0,d=a-Kr;c<a;c+=Kr,d-=Kr)if(c===0||c===a-Kr)p[c]=r[d],p[c+1]=r[d+3],p[c+2]=r[d+2],p[c+3]=r[d+1];else for(var y=0;y<Kr;++y)u=r[d+y],p[c+(3&-y)]=f[Gt[u>>>24]]^l[Gt[u>>>16&255]]^h[Gt[u>>>8&255]]^g[Gt[u&255]];r=p}return r}function Ns(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=ie[0],o=ie[1],a=ie[2],c=ie[3],u=Ls):(s=sr[0],o=sr[1],a=sr[2],c=sr[3],u=Gt);var f,l,h,g,p,d,y;f=e[0]^t[0],l=e[n?3:1]^t[1],h=e[2]^t[2],g=e[n?1:3]^t[3];for(var m=3,w=1;w<i;++w)p=s[f>>>24]^o[l>>>16&255]^a[h>>>8&255]^c[g&255]^t[++m],d=s[l>>>24]^o[h>>>16&255]^a[g>>>8&255]^c[f&255]^t[++m],y=s[h>>>24]^o[g>>>16&255]^a[f>>>8&255]^c[l&255]^t[++m],g=s[g>>>24]^o[f>>>16&255]^a[l>>>8&255]^c[h&255]^t[++m],f=p,l=d,h=y;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[h>>>8&255]<<8^u[g&255]^t[++m],r[n?3:1]=u[l>>>24]<<24^u[h>>>16&255]<<16^u[g>>>8&255]<<8^u[f&255]^t[++m],r[2]=u[h>>>24]<<24^u[g>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^t[++m],r[n?1:3]=u[g>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[h&255]^t[++m]}function Zn(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=ut.cipher.createDecipher(r,t.key):n=ut.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ut.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Jn=ct((U2,t0)=>{var yn=st();yn.pki=yn.pki||{};var Ps=t0.exports=yn.pki.oids=yn.oids=yn.oids||{};function T(t,e){Ps[t]=e,Ps[e]=t}function nt(t,e){Ps[t]=e}T("1.2.840.113549.1.1.1","rsaEncryption");T("1.2.840.113549.1.1.4","md5WithRSAEncryption");T("1.2.840.113549.1.1.5","sha1WithRSAEncryption");T("1.2.840.113549.1.1.7","RSAES-OAEP");T("1.2.840.113549.1.1.8","mgf1");T("1.2.840.113549.1.1.9","pSpecified");T("1.2.840.113549.1.1.10","RSASSA-PSS");T("1.2.840.113549.1.1.11","sha256WithRSAEncryption");T("1.2.840.113549.1.1.12","sha384WithRSAEncryption");T("1.2.840.113549.1.1.13","sha512WithRSAEncryption");T("1.3.101.112","EdDSA25519");T("1.2.840.10040.4.3","dsa-with-sha1");T("1.3.14.3.2.7","desCBC");T("1.3.14.3.2.26","sha1");T("1.3.14.3.2.29","sha1WithRSASignature");T("2.16.840.1.101.3.4.2.1","sha256");T("2.16.840.1.101.3.4.2.2","sha384");T("2.16.840.1.101.3.4.2.3","sha512");T("2.16.840.1.101.3.4.2.4","sha224");T("2.16.840.1.101.3.4.2.5","sha512-224");T("2.16.840.1.101.3.4.2.6","sha512-256");T("1.2.840.113549.2.2","md2");T("1.2.840.113549.2.5","md5");T("1.2.840.113549.1.7.1","data");T("1.2.840.113549.1.7.2","signedData");T("1.2.840.113549.1.7.3","envelopedData");T("1.2.840.113549.1.7.4","signedAndEnvelopedData");T("1.2.840.113549.1.7.5","digestedData");T("1.2.840.113549.1.7.6","encryptedData");T("1.2.840.113549.1.9.1","emailAddress");T("1.2.840.113549.1.9.2","unstructuredName");T("1.2.840.113549.1.9.3","contentType");T("1.2.840.113549.1.9.4","messageDigest");T("1.2.840.113549.1.9.5","signingTime");T("1.2.840.113549.1.9.6","counterSignature");T("1.2.840.113549.1.9.7","challengePassword");T("1.2.840.113549.1.9.8","unstructuredAddress");T("1.2.840.113549.1.9.14","extensionRequest");T("1.2.840.113549.1.9.20","friendlyName");T("1.2.840.113549.1.9.21","localKeyId");T("1.2.840.113549.1.9.22.1","x509Certificate");T("1.2.840.113549.1.12.10.1.1","keyBag");T("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");T("1.2.840.113549.1.12.10.1.3","certBag");T("1.2.840.113549.1.12.10.1.4","crlBag");T("1.2.840.113549.1.12.10.1.5","secretBag");T("1.2.840.113549.1.12.10.1.6","safeContentsBag");T("1.2.840.113549.1.5.13","pkcs5PBES2");T("1.2.840.113549.1.5.12","pkcs5PBKDF2");T("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");T("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");T("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");T("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");T("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");T("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");T("1.2.840.113549.2.7","hmacWithSHA1");T("1.2.840.113549.2.8","hmacWithSHA224");T("1.2.840.113549.2.9","hmacWithSHA256");T("1.2.840.113549.2.10","hmacWithSHA384");T("1.2.840.113549.2.11","hmacWithSHA512");T("1.2.840.113549.3.7","des-EDE3-CBC");T("2.16.840.1.101.3.4.1.2","aes128-CBC");T("2.16.840.1.101.3.4.1.22","aes192-CBC");T("2.16.840.1.101.3.4.1.42","aes256-CBC");T("2.5.4.3","commonName");T("2.5.4.4","surname");T("2.5.4.5","serialNumber");T("2.5.4.6","countryName");T("2.5.4.7","localityName");T("2.5.4.8","stateOrProvinceName");T("2.5.4.9","streetAddress");T("2.5.4.10","organizationName");T("2.5.4.11","organizationalUnitName");T("2.5.4.12","title");T("2.5.4.13","description");T("2.5.4.15","businessCategory");T("2.5.4.17","postalCode");T("2.5.4.42","givenName");T("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");T("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");T("2.16.840.1.113730.1.1","nsCertType");T("2.16.840.1.113730.1.13","nsComment");nt("2.5.29.1","authorityKeyIdentifier");nt("2.5.29.2","keyAttributes");nt("2.5.29.3","certificatePolicies");nt("2.5.29.4","keyUsageRestriction");nt("2.5.29.5","policyMapping");nt("2.5.29.6","subtreesConstraint");nt("2.5.29.7","subjectAltName");nt("2.5.29.8","issuerAltName");nt("2.5.29.9","subjectDirectoryAttributes");nt("2.5.29.10","basicConstraints");nt("2.5.29.11","nameConstraints");nt("2.5.29.12","policyConstraints");nt("2.5.29.13","basicConstraints");T("2.5.29.14","subjectKeyIdentifier");T("2.5.29.15","keyUsage");nt("2.5.29.16","privateKeyUsagePeriod");T("2.5.29.17","subjectAltName");T("2.5.29.18","issuerAltName");T("2.5.29.19","basicConstraints");nt("2.5.29.20","cRLNumber");nt("2.5.29.21","cRLReason");nt("2.5.29.22","expirationDate");nt("2.5.29.23","instructionCode");nt("2.5.29.24","invalidityDate");nt("2.5.29.25","cRLDistributionPoints");nt("2.5.29.26","issuingDistributionPoint");nt("2.5.29.27","deltaCRLIndicator");nt("2.5.29.28","issuingDistributionPoint");nt("2.5.29.29","certificateIssuer");nt("2.5.29.30","nameConstraints");T("2.5.29.31","cRLDistributionPoints");T("2.5.29.32","certificatePolicies");nt("2.5.29.33","policyMappings");nt("2.5.29.34","policyConstraints");T("2.5.29.35","authorityKeyIdentifier");nt("2.5.29.36","policyConstraints");T("2.5.29.37","extKeyUsage");nt("2.5.29.46","freshestCRL");nt("2.5.29.54","inhibitAnyPolicy");T("1.3.6.1.4.1.11129.2.4.2","timestampList");T("1.3.6.1.5.5.7.1.1","authorityInfoAccess");T("1.3.6.1.5.5.7.3.1","serverAuth");T("1.3.6.1.5.5.7.3.2","clientAuth");T("1.3.6.1.5.5.7.3.3","codeSigning");T("1.3.6.1.5.5.7.3.4","emailProtection");T("1.3.6.1.5.5.7.3.8","timeStamping")});var mn=ct((K2,r0)=>{var ft=st();wt();Jn();var P=r0.exports=ft.asn1=ft.asn1||{};P.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};P.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};P.create=function(t,e,r,n,i){if(ft.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||ft.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=P.copy(a)),a};P.copy=function(t,e){var r;if(ft.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(P.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:P.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};P.equals=function(t,e,r){if(ft.util.isArray(t)){if(!ft.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!P.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&&P.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};P.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 gn(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 Al=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;gn(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};P.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=ft.util.createBuffer(t));var r=t.length(),n=jn(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function jn(t,e,r,n){var i;gn(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=Al(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var f,l,h=(s&32)===32;if(h)if(f=[],c===void 0)for(;;){if(gn(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),f.push(jn(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),f.push(jn(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(f===void 0&&o===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&(l=t.bytes(c)),f===void 0&&n.decodeBitStrings&&o===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&c>1){var g=t.read,p=e,d=0;if(a===P.Type.BITSTRING&&(gn(t,e,1),d=t.getByte(),e--),d===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},m=jn(t,e,r+1,y),w=i-t.length();e-=w,a==P.Type.BITSTRING&&w++;var b=m.tagClass;w===c&&(b===P.Class.UNIVERSAL||b===P.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(t.read=g,e=p)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===P.Type.BMPSTRING)for(f="";c>0;c-=2)gn(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(c),e-=c}var _=l===void 0?null:{bitStringContents:l};return P.create(o,a,h,f,_)}P.toDer=function(t){var e=ft.util.createBuffer(),r=t.tagClass|t.type,n=ft.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=P.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(P.toDer(t.value[s]))}else if(t.type===P.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===P.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};P.oidToDer=function(t){var e=t.split("."),r=ft.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};P.derToOid=function(t){var e;typeof t=="string"&&(t=ft.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};P.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 f=parseInt(t.substr(u+1,2),10),l=parseInt(t.substr(u+4,2),10),h=f*60+l;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};P.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,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var l=t.length-5,h=t.charAt(l);if(h==="+"||h==="-"){var g=parseInt(t.substr(l+1,2),10),p=parseInt(t.substr(l+4,2),10);u=g*60+p,u*=6e4,h==="+"&&(u*=-1),f=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),f?(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};P.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};P.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};P.integerToDer=function(t){var e=ft.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};P.derToInteger=function(t){typeof t=="string"&&(t=ft.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)};P.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&ft.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=P.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 e0=/[^\\u0000-\\u00ff]/;P.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
- `);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case P.Class.UNIVERSAL:n+="Universal:";break;case P.Class.APPLICATION:n+="Application:";break;case P.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case P.Class.PRIVATE:n+="Private:";break}if(t.tagClass===P.Class.UNIVERSAL)switch(n+=t.type,t.type){case P.Type.NONE:n+=" (None)";break;case P.Type.BOOLEAN:n+=" (Boolean)";break;case P.Type.INTEGER:n+=" (Integer)";break;case P.Type.BITSTRING:n+=" (Bit string)";break;case P.Type.OCTETSTRING:n+=" (Octet string)";break;case P.Type.NULL:n+=" (Null)";break;case P.Type.OID:n+=" (Object Identifier)";break;case P.Type.ODESC:n+=" (Object Descriptor)";break;case P.Type.EXTERNAL:n+=" (External or Instance of)";break;case P.Type.REAL:n+=" (Real)";break;case P.Type.ENUMERATED:n+=" (Enumerated)";break;case P.Type.EMBEDDED:n+=" (Embedded PDV)";break;case P.Type.UTF8:n+=" (UTF8)";break;case P.Type.ROID:n+=" (Relative Object Identifier)";break;case P.Type.SEQUENCE:n+=" (Sequence)";break;case P.Type.SET:n+=" (Set)";break;case P.Type.PRINTABLESTRING:n+=" (Printable String)";break;case P.Type.IA5String:n+=" (IA5String (ASCII))";break;case P.Type.UTCTIME:n+=" (UTC time)";break;case P.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case P.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
7
- `,n+=i+"Constructed: "+t.constructed+`
8
- `,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=P.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===P.Type.OID){var c=P.derToOid(t.value);n+=c,ft.pki&&ft.pki.oids&&c in ft.pki.oids&&(n+=" ("+ft.pki.oids[c]+") ")}if(t.type===P.Type.INTEGER)try{n+=P.derToInteger(t.value)}catch{n+="0x"+ft.util.bytesToHex(t.value)}else if(t.type===P.Type.BITSTRING){if(t.value.length>1?n+="0x"+ft.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===P.Type.OCTETSTRING)e0.test(t.value)||(n+="("+t.value+") "),n+="0x"+ft.util.bytesToHex(t.value);else if(t.type===P.Type.UTF8)try{n+=ft.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ft.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===P.Type.PRINTABLESTRING||t.type===P.Type.IA5String?n+=t.value:e0.test(t.value)?n+="0x"+ft.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var s0=ct((O2,i0)=>{var pt=st();Ts();Rs();wt();i0.exports=pt.des=pt.des||{};pt.des.startEncrypting=function(t,e,r,n){var i=ti({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pt.des.createEncryptionCipher=function(t,e){return ti({key:t,output:null,decrypt:!1,mode:e})};pt.des.startDecrypting=function(t,e,r,n){var i=ti({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};pt.des.createDecryptionCipher=function(t,e){return ti({key:t,output:null,decrypt:!0,mode:e})};pt.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return n0(r._keys,n,i,!1)},decrypt:function(n,i){return n0(r._keys,n,i,!0)}}}),r._init=!1};pt.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=pt.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=kl(e),this._init=!0}};me("DES-ECB",pt.cipher.modes.ecb);me("DES-CBC",pt.cipher.modes.cbc);me("DES-CFB",pt.cipher.modes.cfb);me("DES-OFB",pt.cipher.modes.ofb);me("DES-CTR",pt.cipher.modes.ctr);me("3DES-ECB",pt.cipher.modes.ecb);me("3DES-CBC",pt.cipher.modes.cbc);me("3DES-CFB",pt.cipher.modes.cfb);me("3DES-OFB",pt.cipher.modes.ofb);me("3DES-CTR",pt.cipher.modes.ctr);function me(t,e){var r=function(){return new pt.des.Algorithm(t,e)};pt.cipher.registerAlgorithm(t,r)}var Il=[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],Cl=[-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],Tl=[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],_l=[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],Rl=[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],Ll=[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],Nl=[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],Dl=[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 kl(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],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[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],g=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],d=t.length()>8?3:1,y=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,b,_=0;_<d;_++){var E=t.getInt32(),S=t.getInt32();b=(E>>>4^S)&252645135,S^=b,E^=b<<4,b=(S>>>-16^E)&65535,E^=b,S^=b<<-16,b=(E>>>2^S)&858993459,S^=b,E^=b<<2,b=(S>>>-16^E)&65535,E^=b,S^=b<<-16,b=(E>>>1^S)&1431655765,S^=b,E^=b<<1,b=(S>>>8^E)&16711935,E^=b,S^=b<<8,b=(E>>>1^S)&1431655765,S^=b,E^=b<<1,b=E<<8|S>>>20&240,E=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=b;for(var L=0;L<m.length;++L){m[L]?(E=E<<2|E>>>26,S=S<<2|S>>>26):(E=E<<1|E>>>27,S=S<<1|S>>>27),E&=-15,S&=-15;var N=e[E>>>28]|r[E>>>24&15]|n[E>>>20&15]|i[E>>>16&15]|s[E>>>12&15]|o[E>>>8&15]|a[E>>>4&15],z=c[S>>>28]|u[S>>>24&15]|f[S>>>20&15]|l[S>>>16&15]|h[S>>>12&15]|g[S>>>8&15]|p[S>>>4&15];b=(z>>>16^N)&65535,y[w++]=N^b,y[w++]=z^b<<16}}return y}function n0(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 f=s[u+1],l=s[u+2],h=s[u];h!=f;h+=l){var g=c^t[h],p=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(Cl[g>>>24&63]|_l[g>>>16&63]|Ll[g>>>8&63]|Dl[g&63]|Il[p>>>24&63]|Tl[p>>>16&63]|Rl[p>>>8&63]|Nl[p&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 ti(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=pt.cipher.createDecipher(r,t.key):n=pt.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof pt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var or=ct((M2,o0)=>{var ei=st();o0.exports=ei.md=ei.md||{};ei.md.algorithms=ei.md.algorithms||{}});var c0=ct((F2,a0)=>{var Te=st();or();wt();var Pl=a0.exports=Te.hmac=Te.hmac||{};Pl.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 Te.md.algorithms)e=Te.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=Te.util.createBuffer(o);else if(Te.util.isArray(o)){var a=o;o=Te.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=Te.util.createBuffer(),n=Te.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 ri=ct(()=>{});var Us=ct((H2,u0)=>{var Yt=st();c0();or();wt();var Ul=Yt.pkcs5=Yt.pkcs5||{},_e;Yt.util.isNodejs&&!Yt.options.usePureJavaScript&&(_e=ri());u0.exports=Yt.pbkdf2=Ul.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),Yt.util.isNodejs&&!Yt.options.usePureJavaScript&&_e.pbkdf2&&(i===null||typeof i!="object")&&(_e.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?_e.pbkdf2Sync.length===4?_e.pbkdf2(t,e,r,n,function(b,_){if(b)return s(b);s(null,_.toString("binary"))}):_e.pbkdf2(t,e,r,n,i,function(b,_){if(b)return s(b);s(null,_.toString("binary"))}):_e.pbkdf2Sync.length===4?_e.pbkdf2Sync(t,e,r,n).toString("binary"):_e.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Yt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Yt.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,f=Yt.hmac.create();f.start(i,t);var l="",h,g,p;if(!s){for(var d=1;d<=c;++d){f.start(null,null),f.update(e),f.update(Yt.util.int32ToBytes(d)),h=p=f.digest().getBytes();for(var y=2;y<=r;++y)f.start(null,null),f.update(p),g=f.digest().getBytes(),h=Yt.util.xorBytes(h,g,o),p=g;l+=d<c?h:h.substr(0,u)}return l}var d=1,y;function m(){if(d>c)return s(null,l);f.start(null,null),f.update(e),f.update(Yt.util.int32ToBytes(d)),h=p=f.digest().getBytes(),y=2,w()}function w(){if(y<=r)return f.start(null,null),f.update(p),g=f.digest().getBytes(),h=Yt.util.xorBytes(h,g,o),p=g,++y,Yt.util.setImmediate(w);l+=d<c?h:h.substr(0,u),++d,m()}m()}});var h0=ct((z2,l0)=>{var ii=st();wt();var f0=l0.exports=ii.pem=ii.pem||{};f0.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
- `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=ni(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=ni(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=ni(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=ni(t.headers[i]);return t.procType&&(r+=`\r
10
- `),r+=ii.util.encode64(t.body,e.maxline||64)+`\r
11
- `,r+="-----END "+t.type+`-----\r
12
- `,r};f0.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:ii.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 f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var h=c[l];if(!/\s/.test(h[0]))break;f+=h,u=l}if(s=f.match(n),s){for(var g={name:s[1],values:[]},p=s[2].split(","),d=0;d<p.length;++d)g.values.push(Kl(p[d]));if(a.procType)if(!a.contentDomain&&g.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&g.name==="DEK-Info"){if(g.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(g);else{if(g.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(g.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:p[0],type:p[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 ni(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
- `;for(var s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
14
- `+e.substr(o)):e=e.substr(0,o)+`\r
15
- `+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function Kl(t){return t.replace(/^\s+/,"")}});var x0=ct((G2,m0)=>{var xe=st();or();wt();var d0=m0.exports=xe.sha256=xe.sha256||{};xe.md.sha256=xe.md.algorithms.sha256=d0;d0.create=function(){y0||Ol();var t=null,e=xe.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=xe.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=xe.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),p0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=xe.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Ks.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};p0(l,r,i);var h=xe.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h.putInt32(l.h5),h.putInt32(l.h6),h.putInt32(l.h7),h},n};var Ks=null,y0=!1,g0=null;function Ol(){Ks="\x80",Ks+=xe.util.fillString("\0",64),g0=[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],y0=!0}function p0(t,e,r){for(var n,i,s,o,a,c,u,f,l,h,g,p,d,y,m,w=r.length();w>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(f=t.h0,l=t.h1,h=t.h2,g=t.h3,p=t.h4,d=t.h5,y=t.h6,m=t.h7,u=0;u<64;++u)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(d^y),s=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|h&(f^l),n=m+o+a+g0[u]+e[u],i=s+c,m=y,y=d,d=p,p=g+n>>>0,g=h,h=l,l=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+l|0,t.h2=t.h2+h|0,t.h3=t.h3+g|0,t.h4=t.h4+p|0,t.h5=t.h5+d|0,t.h6=t.h6+y|0,t.h7=t.h7+m|0,w-=64}}});var v0=ct((Y2,b0)=>{var be=st();wt();var si=null;be.util.isNodejs&&!be.options.usePureJavaScript&&!process.versions["node-webkit"]&&(si=ri());var Ml=b0.exports=be.prng=be.prng||{};Ml.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,f){if(!f)return e.generateSync(u);var l=e.plugin.cipher,h=e.plugin.increment,g=e.plugin.formatKey,p=e.plugin.formatSeed,d=be.util.createBuffer();e.key=null,y();function y(m){if(m)return f(m);if(d.length()>=u)return f(null,d.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return be.util.nextTick(function(){s(y)});var w=l(e.key,e.seed);e.generated+=w.length,d.putBytes(w),e.key=g(l(e.key,h(e.seed))),e.seed=p(l(e.key,e.seed)),be.util.setImmediate(y)}},e.generateSync=function(u){var f=e.plugin.cipher,l=e.plugin.increment,h=e.plugin.formatKey,g=e.plugin.formatSeed;e.key=null;for(var p=be.util.createBuffer();p.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var d=f(e.key,e.seed);e.generated+=d.length,p.putBytes(d),e.key=h(f(e.key,l(e.seed))),e.seed=g(f(e.key,e.seed))}return p.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(l,h){if(l)return u(l);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 f=1,l=0;l<32;++l)e.reseeds%f===0&&(u.update(e.pools[l].digest().getBytes()),e.pools[l].start()),f=f<<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 f=null,l=be.util.globalScope,h=l.crypto||l.msCrypto;h&&h.getRandomValues&&(f=function(E){return h.getRandomValues(E)});var g=be.util.createBuffer();if(f)for(;g.length()<u;){var p=Math.max(1,Math.min(u-g.length(),65536)/4),d=new Uint32Array(Math.floor(p));try{f(d);for(var y=0;y<d.length;++y)g.putInt32(d[y])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(g.length()<u)for(var m,w,b,_=Math.floor(Math.random()*65536);g.length()<u;){w=16807*(_&65535),m=16807*(_>>16),w+=(m&32767)<<16,w+=m>>15,w=(w&2147483647)+(w>>31),_=w&4294967295;for(var y=0;y<3;++y)b=_>>>(y<<3),b^=Math.floor(Math.random()*256),g.putByte(b&255)}return g.getBytes(u)}return si?(e.seedFile=function(u,f){si.randomBytes(u,function(l,h){if(l)return f(l);f(null,h.toString())})},e.seedFileSync=function(u){return si.randomBytes(u).toString()}):(e.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},e.seedFileSync=c),e.collect=function(u){for(var f=u.length,l=0;l<f;++l)e.pools[e.pool].update(u.substr(l,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,f){for(var l="",h=0;h<f;h+=8)l+=String.fromCharCode(u>>h&255);e.collect(l)},e.registerWorker=function(u){if(u===self)e.seedFile=function(l,h){function g(p){var d=p.data;d.forge&&d.forge.prng&&(self.removeEventListener("message",g),h(d.forge.prng.err,d.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var h=l.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(g,p){u.postMessage({forge:{prng:{err:g,bytes:p}}})})};u.addEventListener("message",f)}},e}});var xn=ct((W2,Os)=>{var Nt=st();Qn();x0();v0();wt();(function(){if(Nt.random&&Nt.random.getBytes){Os.exports=Nt.random;return}(function(t){var e={},r=new Array(4),n=Nt.util.createBuffer();e.formatKey=function(l){var h=Nt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),Nt.aes._expandKey(l,!1)},e.formatSeed=function(l){var h=Nt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),l},e.cipher=function(l,h){return Nt.aes._updateBlock(l,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(l){return++l[3],l},e.md=Nt.md.sha256;function i(){var l=Nt.prng.create(e);return l.getBytes=function(h,g){return l.generate(h,g)},l.getBytesSync=function(h){return l.generate(h)},l}var s=i(),o=null,a=Nt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(l){return c.getRandomValues(l)}),Nt.options.usePureJavaScript||!Nt.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(l){s.collectInt(l.clientX,16),s.collectInt(l.clientY,16)}),t().keypress(function(l){s.collectInt(l.charCode,8)}))}if(!Nt.random)Nt.random=s;else for(var f in s)Nt.random[f]=s[f];Nt.random.createInstance=i,Os.exports=Nt.random})(typeof jQuery<"u"?jQuery:null)})()});var B0=ct(($2,S0)=>{var Wt=st();wt();var Ms=[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],w0=[1,2,3,5],Fl=function(t,e){return t<<e&65535|(t&65535)>>16-e},Vl=function(t,e){return(t&65535)>>e|t<<16-e&65535};S0.exports=Wt.rc2=Wt.rc2||{};Wt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Wt.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(Ms[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Ms[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Ms[r.at(a+1)^r.at(a+s)]);return r};var E0=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,f,l=[];for(t=Wt.rc2.expandKey(t,e),u=0;u<64;u++)l.push(t.getInt16Le());r?(a=function(p){for(u=0;u<4;u++)p[u]+=l[f]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),p[u]=Fl(p[u],w0[u]),f++},c=function(p){for(u=0;u<4;u++)p[u]+=l[p[(u+3)%4]&63]}):(a=function(p){for(u=3;u>=0;u--)p[u]=Vl(p[u],w0[u]),p[u]-=l[f]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),f--},c=function(p){for(u=3;u>=0;u--)p[u]-=l[p[(u+3)%4]&63]});var h=function(p){var d=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),d.push(y&65535)}f=r?0:63;for(var m=0;m<p.length;m++)for(var w=0;w<p[m][0];w++)p[m][1](d);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(d[u]):d[u]^=o.getInt16Le()),s.putInt16Le(d[u])},g=null;return g={start:function(p,d){p&&typeof p=="string"&&(p=Wt.util.createBuffer(p)),n=!1,i=Wt.util.createBuffer(),s=d||new Wt.util.createBuffer,o=p,g.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var d=!0;if(r)if(p)d=p(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(d&&(n=!0,g.update()),!r&&(d=i.length()===0,d))if(p)d=p(8,s,!r);else{var m=s.length(),w=s.at(m-1);w>m?d=!1:s.truncate(w)}return d}},g};Wt.rc2.startEncrypting=function(t,e,r){var n=Wt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Wt.rc2.createEncryptionCipher=function(t,e){return E0(t,e,!0)};Wt.rc2.startDecrypting=function(t,e,r){var n=Wt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Wt.rc2.createDecryptionCipher=function(t,e){return E0(t,e,!1)}});var ci=ct((Z2,N0)=>{var Fs=st();N0.exports=Fs.jsbn=Fs.jsbn||{};var Re,ql=0xdeadbeefcafe,A0=(ql&16777215)==15715070;function I(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))}Fs.jsbn.BigInteger=I;function tt(){return new I(null)}function Hl(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 zl(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,f=a*c+u*o;c=o*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function I0(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,f=a*c+u*o;c=o*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(I.prototype.am=I0,Re=28):A0&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=zl,Re=30):A0&&navigator.appName!="Netscape"?(I.prototype.am=Hl,Re=26):(I.prototype.am=I0,Re=28);I.prototype.DB=Re;I.prototype.DM=(1<<Re)-1;I.prototype.DV=1<<Re;var Vs=52;I.prototype.FV=Math.pow(2,Vs);I.prototype.F1=Vs-Re;I.prototype.F2=2*Re-Vs;var Gl="0123456789abcdefghijklmnopqrstuvwxyz",oi=new Array,Mr,te;Mr=48;for(te=0;te<=9;++te)oi[Mr++]=te;Mr=97;for(te=10;te<36;++te)oi[Mr++]=te;Mr=65;for(te=10;te<36;++te)oi[Mr++]=te;function C0(t){return Gl.charAt(t)}function T0(t,e){var r=oi[t.charCodeAt(e)];return r??-1}function Yl(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 Wl(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 Ge(t){var e=tt();return e.fromInt(t),e}function $l(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:T0(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&I.ZERO.subTo(this,this)}function Zl(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Ql(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=C0(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+=C0(n));return i?s:"0"}function Xl(){var t=tt();return I.ZERO.subTo(this,t),t}function Jl(){return this.s<0?this.negate():this}function jl(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 ai(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 th(){return this.t<=0?0:this.DB*(this.t-1)+ai(this.data[this.t-1]^this.s&this.DM)}function eh(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 rh(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 nh(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 ih(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 sh(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 oh(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&&I.ZERO.subTo(e,e)}function ah(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 ch(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=tt());var s=tt(),o=this.s,a=t.s,c=this.DB-ai(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,f=s.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/l,g=(1<<this.F1)/l,p=1<<this.F2,d=r.t,y=d-u,m=e??tt();for(s.dlShiftTo(y,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),I.ONE.dlShiftTo(u,m),m.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var w=r.data[--d]==f?this.DM:Math.floor(r.data[d]*h+(r.data[d-1]+p)*g);if((r.data[d]+=s.am(0,w,r,y,0,u))<w)for(s.dlShiftTo(y,m),r.subTo(m,r);r.data[d]<--w;)r.subTo(m,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&I.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&I.ZERO.subTo(r,r)}}}function uh(t){var e=tt();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(I.ZERO)>0&&t.subTo(e,e),e}function ar(t){this.m=t}function fh(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function lh(t){return t}function hh(t){t.divRemTo(this.m,null,t)}function ph(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function dh(t,e){t.squareTo(e),this.reduce(e)}ar.prototype.convert=fh;ar.prototype.revert=lh;ar.prototype.reduce=hh;ar.prototype.mulTo=ph;ar.prototype.sqrTo=dh;function yh(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function cr(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 gh(t){var e=tt();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(I.ZERO)>0&&this.m.subTo(e,e),e}function mh(t){var e=tt();return t.copyTo(e),this.reduce(e),e}function xh(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 bh(t,e){t.squareTo(e),this.reduce(e)}function vh(t,e,r){t.multiplyTo(e,r),this.reduce(r)}cr.prototype.convert=gh;cr.prototype.revert=mh;cr.prototype.reduce=xh;cr.prototype.mulTo=vh;cr.prototype.sqrTo=bh;function wh(){return(this.t>0?this.data[0]&1:this.s)==0}function Eh(t,e){if(t>4294967295||t<1)return I.ONE;var r=tt(),n=tt(),i=e.convert(this),s=ai(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 Sh(t,e){var r;return t<256||e.isEven()?r=new ar(e):r=new cr(e),this.exp(t,r)}I.prototype.copyTo=Yl;I.prototype.fromInt=Wl;I.prototype.fromString=$l;I.prototype.clamp=Zl;I.prototype.dlShiftTo=eh;I.prototype.drShiftTo=rh;I.prototype.lShiftTo=nh;I.prototype.rShiftTo=ih;I.prototype.subTo=sh;I.prototype.multiplyTo=oh;I.prototype.squareTo=ah;I.prototype.divRemTo=ch;I.prototype.invDigit=yh;I.prototype.isEven=wh;I.prototype.exp=Eh;I.prototype.toString=Ql;I.prototype.negate=Xl;I.prototype.abs=Jl;I.prototype.compareTo=jl;I.prototype.bitLength=th;I.prototype.mod=uh;I.prototype.modPowInt=Sh;I.ZERO=Ge(0);I.ONE=Ge(1);function Bh(){var t=tt();return this.copyTo(t),t}function Ah(){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 Ih(){return this.t==0?this.s:this.data[0]<<24>>24}function Ch(){return this.t==0?this.s:this.data[0]<<16>>16}function Th(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function _h(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Rh(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=Ge(r),i=tt(),s=tt(),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 Lh(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=T0(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&&I.ZERO.subTo(this,this)}function Nh(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(I.ONE.shiftLeft(t-1),qs,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(I.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 Dh(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function kh(t){return this.compareTo(t)==0}function Ph(t){return this.compareTo(t)<0?this:t}function Uh(t){return this.compareTo(t)>0?this:t}function Kh(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 Oh(t,e){return t&e}function Mh(t){var e=tt();return this.bitwiseTo(t,Oh,e),e}function qs(t,e){return t|e}function Fh(t){var e=tt();return this.bitwiseTo(t,qs,e),e}function _0(t,e){return t^e}function Vh(t){var e=tt();return this.bitwiseTo(t,_0,e),e}function R0(t,e){return t&~e}function qh(t){var e=tt();return this.bitwiseTo(t,R0,e),e}function Hh(){for(var t=tt(),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 zh(t){var e=tt();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function Gh(t){var e=tt();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Yh(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function Wh(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Yh(this.data[t]);return this.s<0?this.t*this.DB:-1}function $h(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function Zh(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=$h(this.data[r]^e);return t}function Qh(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Xh(t,e){var r=I.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function Jh(t){return this.changeBit(t,qs)}function jh(t){return this.changeBit(t,R0)}function tp(t){return this.changeBit(t,_0)}function ep(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 rp(t){var e=tt();return this.addTo(t,e),e}function np(t){var e=tt();return this.subTo(t,e),e}function ip(t){var e=tt();return this.multiplyTo(t,e),e}function sp(t){var e=tt();return this.divRemTo(t,e,null),e}function op(t){var e=tt();return this.divRemTo(t,null,e),e}function ap(t){var e=tt(),r=tt();return this.divRemTo(t,e,r),new Array(e,r)}function cp(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function up(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 bn(){}function L0(t){return t}function fp(t,e,r){t.multiplyTo(e,r)}function lp(t,e){t.squareTo(e)}bn.prototype.convert=L0;bn.prototype.revert=L0;bn.prototype.mulTo=fp;bn.prototype.sqrTo=lp;function hp(t){return this.exp(t,new bn)}function pp(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 dp(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 Fr(t){this.r2=tt(),this.q3=tt(),I.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function yp(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=tt();return t.copyTo(e),this.reduce(e),e}function gp(t){return t}function mp(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 xp(t,e){t.squareTo(e),this.reduce(e)}function bp(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Fr.prototype.convert=yp;Fr.prototype.revert=gp;Fr.prototype.reduce=mp;Fr.prototype.mulTo=bp;Fr.prototype.sqrTo=xp;function vp(t,e){var r=t.bitLength(),n,i=Ge(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 ar(e):e.isEven()?s=new Fr(e):s=new cr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var f=tt();for(s.sqrTo(o[1],f);a<=u;)o[a]=tt(),s.mulTo(f,o[a-2],o[a]),a+=2}var l=t.t-1,h,g=!0,p=tt(),d;for(r=ai(t.data[l])-1;l>=0;){for(r>=c?h=t.data[l]>>r-c&u:(h=(t.data[l]&(1<<r+1)-1)<<c-r,l>0&&(h|=t.data[l-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),g)o[h].copyTo(i),g=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(d=i,i=p,p=d),s.mulTo(p,o[h],i)}for(;l>=0&&!(t.data[l]&1<<r);)s.sqrTo(i,p),d=i,i=p,p=d,--r<0&&(r=this.DB-1,--l)}return s.revert(i)}function wp(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 Ep(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 Sp(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return I.ZERO;for(var r=t.clone(),n=this.clone(),i=Ge(1),s=Ge(0),o=Ge(0),a=Ge(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(I.ONE)!=0)return I.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 se=[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],Bp=(1<<26)/se[se.length-1];function Ap(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=se[se.length-1]){for(e=0;e<se.length;++e)if(r.data[0]==se[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<se.length;){for(var n=se[e],i=e+1;i<se.length&&n<Bp;)n*=se[i++];for(n=r.modInt(n);e<i;)if(n%se[e++]==0)return!1}return r.millerRabin(t)}function Ip(t){var e=this.subtract(I.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Cp(),s,o=0;o<t;++o){do s=new I(this.bitLength(),i);while(s.compareTo(I.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(I.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(I.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Cp(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=Th;I.prototype.toRadix=Rh;I.prototype.fromRadix=Lh;I.prototype.fromNumber=Nh;I.prototype.bitwiseTo=Kh;I.prototype.changeBit=Xh;I.prototype.addTo=ep;I.prototype.dMultiply=cp;I.prototype.dAddOffset=up;I.prototype.multiplyLowerTo=pp;I.prototype.multiplyUpperTo=dp;I.prototype.modInt=Ep;I.prototype.millerRabin=Ip;I.prototype.clone=Bh;I.prototype.intValue=Ah;I.prototype.byteValue=Ih;I.prototype.shortValue=Ch;I.prototype.signum=_h;I.prototype.toByteArray=Dh;I.prototype.equals=kh;I.prototype.min=Ph;I.prototype.max=Uh;I.prototype.and=Mh;I.prototype.or=Fh;I.prototype.xor=Vh;I.prototype.andNot=qh;I.prototype.not=Hh;I.prototype.shiftLeft=zh;I.prototype.shiftRight=Gh;I.prototype.getLowestSetBit=Wh;I.prototype.bitCount=Zh;I.prototype.testBit=Qh;I.prototype.setBit=Jh;I.prototype.clearBit=jh;I.prototype.flipBit=tp;I.prototype.add=rp;I.prototype.subtract=np;I.prototype.multiply=ip;I.prototype.divide=sp;I.prototype.remainder=op;I.prototype.divideAndRemainder=ap;I.prototype.modPow=vp;I.prototype.modInverse=Sp;I.prototype.pow=hp;I.prototype.gcd=wp;I.prototype.isProbablePrime=Ap});var K0=ct((Q2,U0)=>{var ve=st();or();wt();var k0=U0.exports=ve.sha1=ve.sha1||{};ve.md.sha1=ve.md.algorithms.sha1=k0;k0.create=function(){P0||Tp();var t=null,e=ve.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=ve.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=ve.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),D0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=ve.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Hs.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};D0(l,r,i);var h=ve.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h},n};var Hs=null,P0=!1;function Tp(){Hs="\x80",Hs+=ve.util.fillString("\0",64),P0=!0}function D0(t,e,r){for(var n,i,s,o,a,c,u,f,l=r.length();l>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=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(;f<20;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=a^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(;f<32;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=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(;f<40;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=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(;f<60;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=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(;f<80;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=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,l-=64}}});var F0=ct((X2,M0)=>{var we=st();wt();xn();K0();var O0=M0.exports=we.pkcs1=we.pkcs1||{};O0.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=we.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 f=s.digest(),l="",h=c-e.length,g=0;g<h;g++)l+="\0";var p=f.getBytes()+l+""+e;if(!i)i=we.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 d=ui(i,a-s.digestLength-1,o),y=we.util.xorBytes(p,d,p.length),m=ui(y,s.digestLength,o),w=we.util.xorBytes(i,m,i.length);return"\0"+w+y};O0.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 y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=we.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),f=e.substring(1+i.digestLength),l=ui(f,i.digestLength,s),h=we.util.xorBytes(u,l,u.length),g=ui(h,o-i.digestLength-1,s),p=we.util.xorBytes(f,g,f.length),d=p.substring(0,i.digestLength),y=c!=="\0",m=0;m<i.digestLength;++m)y|=a.charAt(m)!==d.charAt(m);for(var w=1,b=i.digestLength,_=i.digestLength;_<p.length;_++){var E=p.charCodeAt(_),S=E&1^1,L=w?65534:0;y|=E&L,w=w&S,b+=w}if(y||p.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(b+1)};function ui(t,e,r){r||(r=we.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 V0=ct((J2,zs)=>{var Ye=st();wt();ci();xn();(function(){if(Ye.prime){zs.exports=Ye.prime;return}var t=zs.exports=Ye.prime=Ye.prime||{},e=Ye.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(l,h){return l|h};t.generateProbablePrime=function(l,h,g){typeof h=="function"&&(g=h,h={}),h=h||{};var p=h.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var d=h.prng||Ye.random,y={nextBytes:function(m){for(var w=d.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=w.charCodeAt(b)}};if(p.name==="PRIMEINC")return s(l,y,p.options,g);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(l,h,g,p){return"workers"in g?c(l,h,g,p):o(l,h,g,p)}function o(l,h,g,p){var d=u(l,h),y=0,m=f(d.bitLength());"millerRabinTests"in g&&(m=g.millerRabinTests);var w=10;"maxBlockTime"in g&&(w=g.maxBlockTime),a(d,l,h,y,m,w,p)}function a(l,h,g,p,d,y,m){var w=+new Date;do{if(l.bitLength()>h&&(l=u(h,g)),l.isProbablePrime(d))return m(null,l);l.dAddOffset(r[p++%8],0)}while(y<0||+new Date-w<y);Ye.util.setImmediate(function(){a(l,h,g,p,d,y,m)})}function c(l,h,g,p){if(typeof Worker>"u")return o(l,h,g,p);var d=u(l,h),y=g.workers,m=g.workLoad||100,w=m*30/8,b=g.workerScript||"forge/prime.worker.js";if(y===-1)return Ye.util.estimateCores(function(E,S){E&&(S=2),y=S-1,_()});_();function _(){y=Math.max(1,y);for(var E=[],S=0;S<y;++S)E[S]=new Worker(b);for(var L=y,S=0;S<y;++S)E[S].addEventListener("message",z);var N=!1;function z(H){if(!N){--L;var V=H.data;if(V.found){for(var Q=0;Q<E.length;++Q)E[Q].terminate();return N=!0,p(null,new e(V.prime,16))}d.bitLength()>l&&(d=u(l,h));var ot=d.toString(16);H.target.postMessage({hex:ot,workLoad:m}),d.dAddOffset(w,0)}}}}function u(l,h){var g=new e(l,h),p=l-1;return g.testBit(p)||g.bitwiseTo(e.ONE.shiftLeft(p),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var li=ct((j2,$0)=>{var F=st();mn();ci();Jn();F0();V0();xn();wt();typeof j>"u"&&(j=F.jsbn.BigInteger);var j,Gs=F.util.isNodejs?ri():null,v=F.asn1,ee=F.util;F.pki=F.pki||{};$0.exports=F.pki.rsa=F.rsa=F.rsa||{};var G=F.pki,_p=[6,4,2,4,2,4,6,2],Rp={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Lp={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Np={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Dp=F.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},kp={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Pp=function(t){var e;if(t.algorithm in G.oids)e=G.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},Y0=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(j.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(j.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new j(F.util.bytesToHex(F.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(j.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};G.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=W0(t,e,r)):(i=F.util.createBuffer(),i.putBytes(t));for(var o=new j(i.toHex(),16),a=Y0(o,e,n),c=a.toString(16),u=F.util.createBuffer(),f=s-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(F.util.hexToBytes(c)),u.getBytes()};G.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 j(F.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Y0(o,e,r),c=a.toString(16),u=F.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(F.util.hexToBytes(c)),n!==!1?fi(u.getBytes(),e,r):u.getBytes()};G.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||F.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 j(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};G.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new j(null);r.fromInt(30);for(var n=0,i=function(l,h){return l|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 j(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(j.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(Kp(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(_p[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(j.ONE).gcd(t.e).compareTo(j.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(j.ONE),t.q1=t.q.subtract(j.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(j.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:G.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:G.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};G.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),!F.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(q0("generateKeyPair"))return Gs.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:G.privateKeyFromPem(u),publicKey:G.publicKeyFromPem(c)})});if(H0("generateKey")&&H0("exportKey"))return ee.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:G0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ee.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=G.privateKeyFromAsn1(v.fromDer(F.util.createBuffer(a)));n(null,{privateKey:c,publicKey:G.setRsaPublicKey(c.n,c.e)})}});if(z0("generateKey")&&z0("exportKey")){var i=ee.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:G0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=ee.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,h=G.privateKeyFromAsn1(v.fromDer(F.util.createBuffer(l)));n(null,{privateKey:h,publicKey:G.setRsaPublicKey(h.n,h.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(q0("generateKeyPairSync")){var s=Gs.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:G.privateKeyFromPem(s.privateKey),publicKey:G.publicKeyFromPem(s.publicKey)}}}var o=G.rsa.createKeyPairGenerationState(t,e,r);if(!n)return G.rsa.stepKeyPairGenerationState(o,0),o.keys;Up(o,r,n)};G.setRsaPublicKey=G.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 W0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return F.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 G.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=fi(u,r,!0);var f=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),l={},h=[];if(!v.validate(f,kp,l,h)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=h,g}var p=v.derToOid(l.algorithmIdentifier);if(!(p===F.oids.md2||p===F.oids.md5||p===F.oids.sha1||p===F.oids.sha224||p===F.oids.sha256||p===F.oids.sha384||p===F.oids.sha512||p===F.oids["sha512-224"]||p===F.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=p,g}if((p===F.oids.md2||p===F.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=fi(u,r,!0),c===u}});var a=G.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};G.setRsaPrivateKey=G.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,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var h=G.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:fi};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(g,p){return F.pkcs1.decode_rsa_oaep(p,g,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(g){return g}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(h,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Pp},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var h=f.encode(u,c.n.bitLength());return G.rsa.encrypt(h,c,l)},c};G.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(G.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};G.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Rp,e,r)&&(t=v.fromDer(F.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Lp,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,f,l;return i=F.util.createBuffer(e.privateKeyModulus).toHex(),s=F.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=F.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=F.util.createBuffer(e.privateKeyPrime1).toHex(),c=F.util.createBuffer(e.privateKeyPrime2).toHex(),u=F.util.createBuffer(e.privateKeyExponent1).toHex(),f=F.util.createBuffer(e.privateKeyExponent2).toHex(),l=F.util.createBuffer(e.privateKeyCoefficient).toHex(),G.setRsaPrivateKey(new j(i,16),new j(s,16),new j(o,16),new j(a,16),new j(c,16),new j(u,16),new j(f,16),new j(l,16))};G.privateKeyToAsn1=G.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.qInv))])};G.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Dp,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==G.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,Np,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=F.util.createBuffer(e.publicKeyModulus).toHex(),o=F.util.createBuffer(e.publicKeyExponent).toHex();return G.setRsaPublicKey(new j(s,16),new j(o,16))};G.publicKeyToAsn1=G.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(G.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[G.publicKeyToRSAPublicKey(t)])])};G.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ee(t.e))])};function W0(t,e,r){var n=F.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,f=F.random.getBytes(o),c=0;c<o;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function fi(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=F.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var f=s.getByte();if(f!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function Up(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){F.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(j.ONE).gcd(t.e).compareTo(j.ONE)!==0){t.p=null,i();return}if(t.q.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(j.ONE),t.q1=t.q.subtract(j.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(j.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 f=t.e.modInverse(t.phi);t.keys={privateKey:G.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:G.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ee(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=F.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Kp(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 q0(t){return F.util.isNodejs&&typeof Gs[t]=="function"}function H0(t){return typeof ee.globalScope<"u"&&typeof ee.globalScope.crypto=="object"&&typeof ee.globalScope.crypto.subtle=="object"&&typeof ee.globalScope.crypto.subtle[t]=="function"}function z0(t){return typeof ee.globalScope<"u"&&typeof ee.globalScope.msCrypto=="object"&&typeof ee.globalScope.msCrypto.subtle=="object"&&typeof ee.globalScope.msCrypto.subtle[t]=="function"}function G0(t){for(var e=F.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var tc=ct((tx,j0)=>{var U=st();Qn();mn();s0();or();Jn();Us();h0();xn();B0();li();wt();typeof Z0>"u"&&(Z0=U.jsbn.BigInteger);var Z0,B=U.asn1,Y=U.pki=U.pki||{};j0.exports=Y.pbe=U.pbe=U.pbe||{};var ur=Y.oids,Op={name:"EncryptedPrivateKeyInfo",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Mp={name:"PBES2Algorithms",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:B.Class.UNIVERSAL,type:B.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Fp={name:"pkcs-12PbeParams",tagClass:B.Class.UNIVERSAL,type:B.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:B.Class.UNIVERSAL,type:B.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:B.Class.UNIVERSAL,type:B.Type.INTEGER,constructed:!1,capture:"iterations"}]};Y.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=U.random.getBytesSync(r.saltSize),i=r.count,s=B.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":o=16,u=16,f=ur["aes128-CBC"],l=U.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,f=ur["aes192-CBC"],l=U.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,f=ur["aes256-CBC"],l=U.aes.createEncryptionCipher;break;case"des":o=8,u=8,f=ur.desCBC,l=U.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),p=J0(g),d=U.pkcs5.pbkdf2(e,n,i,o,p),y=U.random.getBytesSync(u),m=l(d);m.start(y),m.update(B.toDer(t)),m.finish(),c=m.output.getBytes();var w=Vp(n,s,o,g);a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(ur.pkcs5PBES2).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(ur.pkcs5PBKDF2).getBytes()),w]),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(f).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var b=new U.util.ByteBuffer(n),d=Y.pbe.generatePkcs12Key(e,b,1,i,o),y=Y.pbe.generatePkcs12Key(e,b,2,i,o),m=U.des.createEncryptionCipher(d);m.start(y),m.update(B.toDer(t)),m.finish(),c=m.output.getBytes(),a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(ur["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,n),B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var _=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,c)]);return _};Y.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!B.validate(t,Op,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=B.derToOid(n.encryptionOid),a=Y.pbe.getCipher(o,n.encryptionParams,e),c=U.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=B.fromDer(a.output)),r};Y.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:B.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};Y.encryptedPrivateKeyFromPem=function(t){var e=U.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 B.fromDer(e.body)};Y.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Y.wrapRsaPrivateKey(Y.privateKeyToAsn1(t));return n=Y.encryptPrivateKeyInfo(n,e,r),Y.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=U.random.getBytesSync(8),a=U.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=U.pbe.opensslDeriveBytes(e,s.substr(0,8),o),f=a(u);f.start(s),f.update(B.toDer(Y.privateKeyToAsn1(t))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:U.util.bytesToHex(s).toUpperCase()},body:f.output.getBytes()};return U.pem.encode(l)};Y.decryptRsaPrivateKey=function(t,e){var r=null,n=U.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=U.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=U.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=U.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=U.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=U.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(l){return U.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":s=8,o=function(l){return U.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":s=16,o=function(l){return U.rc2.createDecryptionCipher(l,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=U.util.hexToBytes(n.dekInfo.parameters),c=U.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(U.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Y.decryptPrivateKeyInfo(B.fromDer(r),e):r=B.fromDer(r),r!==null&&(r=Y.privateKeyFromAsn1(r)),r};Y.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in U.md))throw new Error('"sha1" hash algorithm unavailable.');s=U.md.sha1.create()}var c=s.digestLength,u=s.blockLength,f=new U.util.ByteBuffer,l=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)l.putInt16(t.charCodeAt(a));l.putInt16(0)}var h=l.length(),g=e.length(),p=new U.util.ByteBuffer;p.fillWithByte(r,u);var d=u*Math.ceil(g/u),y=new U.util.ByteBuffer;for(a=0;a<d;a++)y.putByte(e.at(a%g));var m=u*Math.ceil(h/u),w=new U.util.ByteBuffer;for(a=0;a<m;a++)w.putByte(l.at(a%h));var b=y;b.putBuffer(w);for(var _=Math.ceil(i/c),E=1;E<=_;E++){var S=new U.util.ByteBuffer;S.putBytes(p.bytes()),S.putBytes(b.bytes());for(var L=0;L<n;L++)s.start(),s.update(S.getBytes()),S=s.digest();var N=new U.util.ByteBuffer;for(a=0;a<u;a++)N.putByte(S.at(a%c));var z=Math.ceil(g/u)+Math.ceil(h/u),H=new U.util.ByteBuffer;for(o=0;o<z;o++){var V=new U.util.ByteBuffer(b.getBytes(u)),Q=511;for(a=N.length()-1;a>=0;a--)Q=Q>>8,Q+=N.at(a)+V.at(a),V.setAt(a,Q&255);H.putBuffer(V)}b=H,f.putBuffer(S)}return f.truncate(f.length()-i),f};Y.pbe.getCipher=function(t,e,r){switch(t){case Y.oids.pkcs5PBES2:return Y.pbe.getCipherForPBES2(t,e,r);case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:return Y.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Y.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!B.validate(e,Mp,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=B.derToOid(n.kdfOid),t!==Y.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=B.derToOid(n.encOid),t!==Y.oids["aes128-CBC"]&&t!==Y.oids["aes192-CBC"]&&t!==Y.oids["aes256-CBC"]&&t!==Y.oids["des-EDE3-CBC"]&&t!==Y.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=U.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Y.oids[t]){case"aes128-CBC":c=16,u=U.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=U.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=U.des.createDecryptionCipher;break;case"desCBC":c=8,u=U.des.createDecryptionCipher;break}var f=X0(n.prfOid),l=U.pkcs5.pbkdf2(r,o,a,c,f),h=n.encIv,g=u(l);return g.start(h),g};Y.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!B.validate(e,Fp,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=U.util.createBuffer(n.salt),a=U.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(t){case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=U.des.startDecrypting;break;case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(d,y){var m=U.rc2.createDecryptionCipher(d,40);return m.start(y,null),m};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var l=X0(n.prfOid),h=Y.pbe.generatePkcs12Key(r,o,1,a,c,l);l.start();var g=Y.pbe.generatePkcs12Key(r,o,2,a,u,l);return f(h,g)};Y.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in U.md))throw new Error('"md5" hash algorithm unavailable.');n=U.md.md5.create()}e===null&&(e="");for(var i=[Q0(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Q0(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Q0(t,e){return t.start().update(e).digest().getBytes()}function X0(t){var e;if(!t)e="hmacWithSHA1";else if(e=Y.oids[B.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return J0(e)}function J0(t){var e=U.md;switch(t){case"hmacWithSHA224":e=U.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 Vp(t,e,r,n){var i=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,t),B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,U.util.hexToBytes(r.toString(16))),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(Y.oids[n]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])),i}});var Wc=ct((Qb,Yc)=>{var ht=st();or();wt();var Cn=Yc.exports=ht.sha512=ht.sha512||{};ht.md.sha512=ht.md.algorithms.sha512=Cn;var zc=ht.sha384=ht.sha512.sha384=ht.sha512.sha384||{};zc.create=function(){return Cn.create("SHA-384")};ht.md.sha384=ht.md.algorithms.sha384=zc;ht.sha512.sha256=ht.sha512.sha256||{create:function(){return Cn.create("SHA-512/256")}};ht.md["sha512/256"]=ht.md.algorithms["sha512/256"]=ht.sha512.sha256;ht.sha512.sha224=ht.sha512.sha224||{create:function(){return Cn.create("SHA-512/224")}};ht.md["sha512/224"]=ht.md.algorithms["sha512/224"]=ht.sha512.sha224;Cn.create=function(t){if(Gc||ay(),typeof t>"u"&&(t="SHA-512"),!(t in gr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=gr[t],r=null,n=ht.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=ht.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=ht.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Hc(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=ht.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(Io.substr(0,a.blockLength-f));for(var l,h,g=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)l=a.fullMessageLength[p+1]*8,h=l/4294967296>>>0,g+=h,c.putInt32(g>>>0),g=l>>>0;c.putInt32(g);for(var d=new Array(r.length),p=0;p<r.length;++p)d[p]=r[p].slice(0);Hc(d,i,c);var y=ht.util.createBuffer(),m;t==="SHA-512"?m=d.length:t==="SHA-384"?m=d.length-2:m=d.length-4;for(var p=0;p<m;++p)y.putInt32(d[p][0]),(p!==m-1||t!=="SHA-512/224")&&y.putInt32(d[p][1]);return y},a};var Io=null,Gc=!1,Co=null,gr=null;function ay(){Io="\x80",Io+=ht.util.fillString("\0",128),Co=[[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]],gr={},gr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],gr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],gr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],gr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Gc=!0}function Hc(t,e,r){for(var n,i,s,o,a,c,u,f,l,h,g,p,d,y,m,w,b,_,E,S,L,N,z,H,V,Q,ot,Dt,C,k,R,D,A,K,M,q=r.length();q>=128;){for(C=0;C<16;++C)e[C][0]=r.getInt32()>>>0,e[C][1]=r.getInt32()>>>0;for(;C<80;++C)D=e[C-2],k=D[0],R=D[1],n=((k>>>19|R<<13)^(R>>>29|k<<3)^k>>>6)>>>0,i=((k<<13|R>>>19)^(R<<3|k>>>29)^(k<<26|R>>>6))>>>0,K=e[C-15],k=K[0],R=K[1],s=((k>>>1|R<<31)^(k>>>8|R<<24)^k>>>7)>>>0,o=((k<<31|R>>>1)^(k<<24|R>>>8)^(k<<25|R>>>7))>>>0,A=e[C-7],M=e[C-16],R=i+A[1]+o+M[1],e[C][0]=n+A[0]+s+M[0]+(R/4294967296>>>0)>>>0,e[C][1]=R>>>0;for(d=t[0][0],y=t[0][1],m=t[1][0],w=t[1][1],b=t[2][0],_=t[2][1],E=t[3][0],S=t[3][1],L=t[4][0],N=t[4][1],z=t[5][0],H=t[5][1],V=t[6][0],Q=t[6][1],ot=t[7][0],Dt=t[7][1],C=0;C<80;++C)u=((L>>>14|N<<18)^(L>>>18|N<<14)^(N>>>9|L<<23))>>>0,f=((L<<18|N>>>14)^(L<<14|N>>>18)^(N<<23|L>>>9))>>>0,l=(V^L&(z^V))>>>0,h=(Q^N&(H^Q))>>>0,a=((d>>>28|y<<4)^(y>>>2|d<<30)^(y>>>7|d<<25))>>>0,c=((d<<4|y>>>28)^(y<<30|d>>>2)^(y<<25|d>>>7))>>>0,g=(d&m|b&(d^m))>>>0,p=(y&w|_&(y^w))>>>0,R=Dt+f+h+Co[C][1]+e[C][1],n=ot+u+l+Co[C][0]+e[C][0]+(R/4294967296>>>0)>>>0,i=R>>>0,R=c+p,s=a+g+(R/4294967296>>>0)>>>0,o=R>>>0,ot=V,Dt=Q,V=z,Q=H,z=L,H=N,R=S+i,L=E+n+(R/4294967296>>>0)>>>0,N=R>>>0,E=b,S=_,b=m,_=w,m=d,w=y,R=i+o,d=n+s+(R/4294967296>>>0)>>>0,y=R>>>0;R=t[0][1]+y,t[0][0]=t[0][0]+d+(R/4294967296>>>0)>>>0,t[0][1]=R>>>0,R=t[1][1]+w,t[1][0]=t[1][0]+m+(R/4294967296>>>0)>>>0,t[1][1]=R>>>0,R=t[2][1]+_,t[2][0]=t[2][0]+b+(R/4294967296>>>0)>>>0,t[2][1]=R>>>0,R=t[3][1]+S,t[3][0]=t[3][0]+E+(R/4294967296>>>0)>>>0,t[3][1]=R>>>0,R=t[4][1]+N,t[4][0]=t[4][0]+L+(R/4294967296>>>0)>>>0,t[4][1]=R>>>0,R=t[5][1]+H,t[5][0]=t[5][0]+z+(R/4294967296>>>0)>>>0,t[5][1]=R>>>0,R=t[6][1]+Q,t[6][0]=t[6][0]+V+(R/4294967296>>>0)>>>0,t[6][1]=R>>>0,R=t[7][1]+Dt,t[7][0]=t[7][0]+ot+(R/4294967296>>>0)>>>0,t[7][1]=R>>>0,q-=128}}});var Yy={};Bt(Yy,{FloodSub:()=>Fi,floodsub:()=>Gy,multicodec:()=>Mo});var $y=Symbol.for("@libp2p/connection");var Qy=Symbol.for("@libp2p/content-routing");var jy=Symbol.for("@libp2p/peer-discovery");var Zo=Symbol.for("@libp2p/peer-id");var r1=Symbol.for("@libp2p/peer-routing");var jr;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(jr||(jr={}));var o1=Symbol.for("@libp2p/transport");var Qo;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Qo||(Qo={}));var O=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var wr=class extends EventTarget{#t=new Map;listenerCount(e){let r=this.#t.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#t.get(e);i==null&&(i=[],this.#t.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#t.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#t.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#t.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new de(e,r))}},qi=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},de=globalThis.CustomEvent??qi;var Wi={};Bt(Wi,{base58btc:()=>Ht,base58flickr:()=>Gu});var O1=new Uint8Array(0);function Xo(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function Ie(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function Jo(t){return new TextEncoder().encode(t)}function jo(t){return new TextDecoder().decode(t)}function Fu(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),f=Math.log(256)/Math.log(a);function l(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var d=0,y=0,m=0,w=p.length;m!==w&&p[m]===0;)m++,d++;for(var b=(w-m)*f+1>>>0,_=new Uint8Array(b);m!==w;){for(var E=p[m],S=0,L=b-1;(E!==0||S<y)&&L!==-1;L--,S++)E+=256*_[L]>>>0,_[L]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");y=S,m++}for(var N=b-y;N!==b&&_[N]===0;)N++;for(var z=c.repeat(d);N<b;++N)z+=t.charAt(_[N]);return z}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var d=0;if(p[d]!==" "){for(var y=0,m=0;p[d]===c;)y++,d++;for(var w=(p.length-d)*u+1>>>0,b=new Uint8Array(w);p[d];){var _=r[p.charCodeAt(d)];if(_===255)return;for(var E=0,S=w-1;(_!==0||E<m)&&S!==-1;S--,E++)_+=a*b[S]>>>0,b[S]=_%256>>>0,_=_/256>>>0;if(_!==0)throw new Error("Non-zero carry");m=E,d++}if(p[d]!==" "){for(var L=w-m;L!==w&&b[L]===0;)L++;for(var N=new Uint8Array(y+(w-L)),z=y;L!==w;)N[z++]=b[L++];return N}}}function g(p){var d=h(p);if(d)return d;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:h,decode:g}}var Vu=Fu,qu=Vu,ea=qu;var Hi=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},zi=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ra(this,e)}},Gi=class{decoders;constructor(e){this.decoders=e}or(e){return ra(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function ra(t,e){return new Gi({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Yi=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Hi(e,r,n),this.decoder=new zi(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Er({name:t,prefix:e,encode:r,decode:n}){return new Yi(t,e,r,n)}function Me({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=ea(r,t);return Er({prefix:e,name:t,encode:n,decode:s=>Ie(i(s))})}function Hu(t,e,r,n){let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;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 f=0;f<s;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,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}function zu(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!==0&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s}function xt({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return Er({prefix:e,name:t,encode(i){return zu(i,n,r)},decode(i){return Hu(i,n,r,t)}})}var Ht=Me({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Gu=Me({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var $i={};Bt($i,{base10:()=>Yu});var Yu=Me({prefix:"9",name:"base10",alphabet:"0123456789"});var Zi={};Bt(Zi,{base16:()=>Wu,base16upper:()=>$u});var Wu=xt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$u=xt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Qi={};Bt(Qi,{base2:()=>Zu});var Zu=xt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Xi={};Bt(Xi,{base256emoji:()=>tf});var na=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Qu=na.reduce((t,e,r)=>(t[r]=e,t),[]),Xu=na.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Ju(t){return t.reduce((e,r)=>(e+=Qu[r],e),"")}function ju(t){let e=[];for(let r of t){let n=Xu[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var tf=Er({prefix:"\u{1F680}",name:"base256emoji",encode:Ju,decode:ju});var Ji={};Bt(Ji,{base32:()=>Sr,base32hex:()=>sf,base32hexpad:()=>af,base32hexpadupper:()=>cf,base32hexupper:()=>of,base32pad:()=>rf,base32padupper:()=>nf,base32upper:()=>ef,base32z:()=>uf});var Sr=xt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ef=xt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),rf=xt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),nf=xt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),sf=xt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),of=xt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),af=xt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),cf=xt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),uf=xt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ji={};Bt(ji,{base36:()=>ff,base36upper:()=>lf});var ff=Me({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),lf=Me({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ts={};Bt(ts,{base64:()=>tn,base64pad:()=>hf,base64url:()=>pf,base64urlpad:()=>df});var tn=xt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),hf=xt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),pf=xt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),df=xt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var es={};Bt(es,{base8:()=>yf});var yf=xt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var rs={};Bt(rs,{identity:()=>gf});var gf=Er({prefix:"\0",name:"identity",encode:t=>jo(t),decode:t=>Jo(t)});var tg=new TextEncoder,eg=new TextDecoder;var is={};Bt(is,{identity:()=>Fe});var bf=oa,ia=128,vf=127,wf=~vf,Ef=Math.pow(2,31);function oa(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Ef;)e[r++]=t&255|ia,t/=128;for(;t&wf;)e[r++]=t&255|ia,t>>>=7;return e[r]=t|0,oa.bytes=r-n+1,e}var Sf=ns,Bf=128,sa=127;function ns(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw ns.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&sa)<<i:(o&sa)*Math.pow(2,i),i+=7}while(o>=Bf);return ns.bytes=s-n,r}var Af=Math.pow(2,7),If=Math.pow(2,14),Cf=Math.pow(2,21),Tf=Math.pow(2,28),_f=Math.pow(2,35),Rf=Math.pow(2,42),Lf=Math.pow(2,49),Nf=Math.pow(2,56),Df=Math.pow(2,63),kf=function(t){return t<Af?1:t<If?2:t<Cf?3:t<Tf?4:t<_f?5:t<Rf?6:t<Lf?7:t<Nf?8:t<Df?9:10},Pf={encode:bf,decode:Sf,encodingLength:kf},Uf=Pf,en=Uf;function rn(t,e=0){return[en.decode(t,e),en.decode.bytes]}function Br(t,e,r=0){return en.encode(t,e,r),e}function Ar(t){return en.encodingLength(t)}function ye(t,e){let r=e.byteLength,n=Ar(t),i=n+Ar(r),s=new Uint8Array(i+r);return Br(t,s,0),Br(r,s,n),s.set(e,i),new Ir(t,r,e,s)}function nn(t){let e=Ie(t),[r,n]=rn(e),[i,s]=rn(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Ir(r,i,o,e)}function aa(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Xo(t.bytes,r.bytes)}}var Ir=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var ca=0,Kf="identity",ua=Ie;function Of(t){return ye(ca,ua(t))}var Fe={code:ca,name:Kf,encode:ua,digest:Of};var as={};Bt(as,{sha256:()=>Ct,sha512:()=>Mf});function os({name:t,code:e,encode:r}){return new ss(t,e,r)}var ss=class{name;code;encode;constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?ye(this.code,r):r.then(n=>ye(this.code,n))}else throw Error("Unknown type, must be binary type")}};function la(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Ct=os({name:"sha2-256",code:18,encode:la("SHA-256")}),Mf=os({name:"sha2-512",code:19,encode:la("SHA-512")});function ha(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Vf(r,cs(t),e??Ht.encoder);default:return qf(r,cs(t),e??Sr.encoder)}}var pa=new WeakMap;function cs(t){let e=pa.get(t);if(e==null){let r=new Map;return pa.set(t,r),r}return e}var er=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==sn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Hf)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=ye(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&aa(e.multihash,n.multihash)}toString(e){return ha(this,e)}toJSON(){return{"/":ha(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o??da(n,i,s.bytes))}else if(r[zf]===!0){let{version:n,multihash:i,code:s}=r,o=nn(i);return t.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==sn)throw new Error(`Version 0 CID must use dag-pb (code: ${sn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=da(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,sn,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Ie(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 Ir(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,h]=rn(e.subarray(r));return r+=h,l},i=n(),s=sn;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,f=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=Ff(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return cs(s).set(n,e),s}};function Ff(t,e){switch(t[0]){case"Q":{let r=e??Ht;return[Ht.prefix,r.decode(`${Ht.prefix}${t}`)]}case Ht.prefix:{let r=e??Ht;return[Ht.prefix,r.decode(t)]}case Sr.prefix:{let r=e??Sr;return[Sr.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Vf(t,e,r){let{prefix:n}=r;if(n!==Ht.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}function qf(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}var sn=112,Hf=18;function da(t,e,r){let n=Ar(t),i=n+Ar(e),s=new Uint8Array(i+r.byteLength);return Br(t,s,0),Br(e,s,n),s.set(r,i),s}var zf=Symbol.for("@ipld/js-cid/CID");var Tr={...rs,...Qi,...es,...$i,...Zi,...Ji,...ji,...Wi,...ts,...Xi},Eg={...as,...is};function Kt(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 Gf=Symbol.for("nodejs.util.inspect.custom"),ya=Object.values(Tr).map(t=>t.decoder).reduce((t,e)=>t.or(e),Tr.identity.decoder),ga=114,us=36,fs=37,on=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Zo]=!0;toString(){return this.string==null&&(this.string=Ht.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return er.createV1(ga,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return Kt(this.multihash.bytes,e);if(typeof e=="string")return ge(e).equals(this);if(e?.multihash?.bytes!=null)return Kt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Gf](){return`PeerId(${this.toString()})`}},_r=class extends on{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Rr=class extends on{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Lr=class extends on{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function ge(t,e){if(e=e??ya,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=nn(Ht.decode(`z${t}`));return t.startsWith("12D")?new Rr({multihash:r}):t.startsWith("16U")?new Lr({multihash:r}):new _r({multihash:r})}return an(ya.decode(t))}function an(t){try{let e=nn(t);if(e.code===Fe.code){if(e.digest.length===us)return new Rr({multihash:e});if(e.digest.length===fs)return new Lr({multihash:e})}if(e.code===Ct.code)return new _r({multihash:e})}catch{return Yf(er.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Yf(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==ga)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ct.code)return new _r({multihash:t.multihash});if(e.code===Fe.code){if(e.digest.length===us)return new Rr({multihash:t.multihash});if(e.digest.length===fs)return new Lr({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Kn(t,e){return t.length===us?new Rr({multihash:ye(Fe.code,t),privateKey:e}):t.length===fs?new Lr({multihash:ye(Fe.code,t),privateKey:e}):new _r({multihash:await Ct.digest(t),publicKey:t,privateKey:e})}function rr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var Nr=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return rr(this.map.entries(),e=>[ge(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,ge(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return rr(this.map.keys(),e=>ge(e))}values(){return this.map.values()}get size(){return this.map.size}};var Dr=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return rr(this.set.entries(),e=>{let r=ge(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=ge(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return rr(this.set.values(),e=>ge(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};function On(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Mn=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},kr=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Mn(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Mn(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var ls=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Pr(t={}){return $f(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function $f(t,e){e=e??{};let r=e.onEnd,n=new kr,i,s,o,a=On(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((y,m)=>{s=w=>{s=null,n.push(w);try{y(t(n))}catch(b){m(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=On()})}},u=y=>s!=null?s(y):(n.push(y),i),f=y=>(n=new kr,s!=null?s({error:y}):(n.push({error:y}),i)),l=y=>{if(o)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},h=y=>o?i:(o=!0,y!=null?f(y):u({done:!0})),g=()=>(n=new kr,h(),{done:!0}),p=y=>(h(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:g,throw:p,push:l,end:h,get readableLength(){return n.size},onEmpty:async y=>{let m=y?.signal;if(m?.throwIfAborted(),n.isEmpty())return;let w,b;m!=null&&(w=new Promise((_,E)=>{b=()=>{E(new ls)},m.addEventListener("abort",b)}));try{await Promise.race([a.promise,w])}finally{b!=null&&m!=null&&m?.removeEventListener("abort",b)}}},r==null)return i;let d=i;return i={[Symbol.asyncIterator](){return this},next(){return d.next()},throw(y){return d.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return d.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(y){return d.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return d.readableLength},onEmpty:y=>d.onEmpty(y)},i}function Zf(t){return t[Symbol.asyncIterator]!=null}function Qf(...t){let e=[];for(let r of t)Zf(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Pr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var ma=Qf;function cn(t,...e){if(t==null)throw new Error("Empty pipeline");if(hs(t)){let n=t;t=()=>n.source}else if(ba(t)||xa(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&hs(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)hs(r[n])&&(r[n]=Jf(r[n]));return Xf(...r)}var Xf=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},xa=t=>t?.[Symbol.asyncIterator]!=null,ba=t=>t?.[Symbol.iterator]!=null,hs=t=>t==null?!1:t.sink!=null&&t.source!=null,Jf=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Pr({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(xa(s))i=async function*(){yield*s,n.end()};else if(ba(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ma(n,i())}return t.source};var ds=It(wa(),1);var fn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},ys=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Ea=t=>globalThis.DOMException===void 0?new ys(t):new DOMException(t),Sa=t=>{let e=t.reason===void 0?Ea("This operation was aborted."):t.reason;return e instanceof Error?e:Ea(e)};function gs(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:h}=e;h.aborted&&f(Sa(h)),h.addEventListener("abort",()=>{f(Sa(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,f);return}let l=new fn;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){f(h)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await t)}catch(h){f(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}function ms(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var ln=class{#t=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#t[this.size-1].priority>=r.priority){this.#t.push(n);return}let i=ms(this.#t,n,(s,o)=>o.priority-s.priority);this.#t.splice(i,0,n)}dequeue(){return this.#t.shift()?.run}filter(e){return this.#t.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#t.length}};var hn=class extends ds.default{#t;#o;#s=0;#p;#a;#d=0;#r;#c;#e;#y;#n=0;#u;#i;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:ln,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#t=e.carryoverConcurrencyCount,this.#o=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#p=e.intervalCap,this.#a=e.interval,this.#e=new e.queueClass,this.#y=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#i=e.autoStart===!1}get#b(){return this.#o||this.#s<this.#p}get#v(){return this.#n<this.#u}#w(){this.#n--,this.#f(),this.emit("next")}#E(){this.#x(),this.#m(),this.#c=void 0}get#S(){let e=Date.now();if(this.#r===void 0){let r=this.#d-e;if(r<0)this.#s=this.#t?this.#n:0;else return this.#c===void 0&&(this.#c=setTimeout(()=>{this.#E()},r)),!0}return!1}#f(){if(this.#e.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#i){let e=!this.#S;if(this.#b&&this.#v){let r=this.#e.dequeue();return r?(this.emit("active"),r(),e&&this.#m(),!0):!1}}return!1}#m(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#a),this.#d=Date.now()+this.#a)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#t?this.#n:0,this.#l()}#l(){for(;this.#f(););}get concurrency(){return this.#u}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.#u=e,this.#l()}async#B(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#e.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=gs(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#B(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof fn&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#w()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#i?(this.#i=!1,this.#l(),this):this}pause(){this.#i=!0}clear(){this.#e=new this.#y}async onEmpty(){this.#e.size!==0&&await this.#h("empty")}async onSizeLessThan(e){this.#e.size<e||await this.#h("next",()=>this.#e.size<e)}async onIdle(){this.#n===0&&this.#e.size===0||await this.#h("idle")}async#h(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#e.size}sizeBy(e){return this.#e.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#i}};var Tt={ERR_INVALID_SIGNATURE_POLICY:"ERR_INVALID_SIGNATURE_POLICY",ERR_UNHANDLED_SIGNATURE_POLICY:"ERR_UNHANDLED_SIGNATURE_POLICY",ERR_MISSING_SIGNATURE:"ERR_MISSING_SIGNATURE",ERR_MISSING_SEQNO:"ERR_MISSING_SEQNO",ERR_MISSING_KEY:"ERR_MISSING_KEY",ERR_INVALID_SIGNATURE:"ERR_INVALID_SIGNATURE",ERR_MISSING_FROM:"ERR_MISSING_FROM",ERR_UNEXPECTED_FROM:"ERR_UNEXPECTED_FROM",ERR_UNEXPECTED_SIGNATURE:"ERR_UNEXPECTED_SIGNATURE",ERR_UNEXPECTED_KEY:"ERR_UNEXPECTED_KEY",ERR_UNEXPECTED_SEQNO:"ERR_UNEXPECTED_SEQNO",ERR_TOPIC_VALIDATOR_REJECT:"ERR_TOPIC_VALIDATOR_REJECT"};function Ba(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function Aa(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function Ia(t,e){let r=Ba(t).return?.();Aa(r)&&r.catch(n=>{e.error("could not cause iterator to return",n)})}function Ve(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Ce(t=0){return globalThis.Buffer?.alloc!=null?Ve(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Mt(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ve(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var el=Math.pow(2,7),rl=Math.pow(2,14),nl=Math.pow(2,21),xs=Math.pow(2,28),bs=Math.pow(2,35),vs=Math.pow(2,42),ws=Math.pow(2,49),rt=128,Ft=127;function nr(t){if(t<el)return 1;if(t<rl)return 2;if(t<nl)return 3;if(t<xs)return 4;if(t<bs)return 5;if(t<vs)return 6;if(t<ws)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function il(t,e,r=0){switch(nr(t)){case 8:e[r++]=t&255|rt,t/=128;case 7:e[r++]=t&255|rt,t/=128;case 6:e[r++]=t&255|rt,t/=128;case 5:e[r++]=t&255|rt,t/=128;case 4:e[r++]=t&255|rt,t>>>=7;case 3:e[r++]=t&255|rt,t>>>=7;case 2:e[r++]=t&255|rt,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function sl(t,e,r=0){switch(nr(t)){case 8:e.set(r++,t&255|rt),t/=128;case 7:e.set(r++,t&255|rt),t/=128;case 6:e.set(r++,t&255|rt),t/=128;case 5:e.set(r++,t&255|rt),t/=128;case 4:e.set(r++,t&255|rt),t>>>=7;case 3:e.set(r++,t&255|rt),t>>>=7;case 2:e.set(r++,t&255|rt),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function ol(t,e){let r=t[e],n=0;if(n+=r&Ft,r<rt||(r=t[e+1],n+=(r&Ft)<<7,r<rt)||(r=t[e+2],n+=(r&Ft)<<14,r<rt)||(r=t[e+3],n+=(r&Ft)<<21,r<rt)||(r=t[e+4],n+=(r&Ft)*xs,r<rt)||(r=t[e+5],n+=(r&Ft)*bs,r<rt)||(r=t[e+6],n+=(r&Ft)*vs,r<rt)||(r=t[e+7],n+=(r&Ft)*ws,r<rt))return n;throw new RangeError("Could not decode varint")}function al(t,e){let r=t.get(e),n=0;if(n+=r&Ft,r<rt||(r=t.get(e+1),n+=(r&Ft)<<7,r<rt)||(r=t.get(e+2),n+=(r&Ft)<<14,r<rt)||(r=t.get(e+3),n+=(r&Ft)<<21,r<rt)||(r=t.get(e+4),n+=(r&Ft)*xs,r<rt)||(r=t.get(e+5),n+=(r&Ft)*bs,r<rt)||(r=t.get(e+6),n+=(r&Ft)*vs,r<rt)||(r=t.get(e+7),n+=(r&Ft)*ws,r<rt))return n;throw new RangeError("Could not decode varint")}function Ca(t,e,r=0){return e==null&&(e=Mt(nr(t))),e instanceof Uint8Array?il(t,e,r):sl(t,e,r)}function Ta(t,e=0){return t instanceof Uint8Array?ol(t,e):al(t,e)}function Vt(t,e){if(globalThis.Buffer!=null)return Ve(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Mt(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Ve(r)}var La=Symbol.for("@achingbrain/uint8arraylist");function Ra(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Vn(t){return!!t?.[La]}var qe=class t{bufs;length;[La]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Vn(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Vn(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=Ra(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Ra(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Vn(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Vt(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Vt(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new t;return s.length=i,s.bufs=[...n],s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,f=r>a&&r<=c;if(u&&f){if(e===a&&r===c){n.push(o);break}let l=e-a;n.push(o.subarray(l,l+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(f){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Vn(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let l=0;l<s;l++)o[l]=-1;for(let l=0;l<i;l++)o[n[l]]=l;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let h=u;h>=0;h--){let g=this.get(l+h);if(n[h]!==g){f=Math.max(1,h-a[g]);break}}if(f===0)return l}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Mt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Ce(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Ce(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Ce(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Mt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Ce(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Ce(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Ce(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Ce(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Ce(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Kt(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function qn(t){return t[Symbol.asyncIterator]!=null}var Hn=t=>{let e=nr(t),r=Mt(e);return Ca(t,r),Hn.bytes=e,r};Hn.bytes=0;function zn(t,e){e=e??{};let r=e.lengthEncoder??Hn;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return qn(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}zn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Hn;return new qe(r(t.byteLength),t)};var Ur=It(ka(),1);var ul=8,fl=1024*1024*4,ir;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(ir||(ir={}));var Es=t=>{let e=Ta(t);return Es.bytes=nr(e),e};Es.bytes=0;function pn(t,e){let r=new qe,n=ir.LENGTH,i=-1,s=e?.lengthDecoder??Es,o=e?.maxLengthLength??ul,a=e?.maxDataLength??fl;function*c(){for(;r.byteLength>0;){if(n===ir.LENGTH)try{if(i=s(r),i<0)throw(0,Ur.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Ur.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=ir.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,Ur.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===ir.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=ir.LENGTH}}}return qn(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,Ur.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,Ur.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}pn.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return pn(n,{...e??{},onLength:s=>{r=s}})};var Gn=class extends wr{id;protocol;outboundStream;inboundStream;_rawOutboundStream;_rawInboundStream;_inboundAbortController;closed;log;constructor(e,r){super(),this.log=e.logger.forComponent("libp2p-pubsub:peer-streams"),this.id=r.id,this.protocol=r.protocol,this._inboundAbortController=new AbortController,this.closed=!1}get isReadable(){return!!this.inboundStream}get isWritable(){return!!this.outboundStream}write(e){if(this.outboundStream==null){let r=this.id.toString();throw new Error("No writable connection to "+r)}this.outboundStream.push(e instanceof Uint8Array?new qe(e):e)}attachInboundStream(e){let r=()=>{Ia(e.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",r,{once:!0}),this._rawInboundStream=e,this.inboundStream=cn(this._rawInboundStream,n=>pn(n)),this.dispatchEvent(new de("stream:inbound")),this.inboundStream}async attachOutboundStream(e){let r=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=e,this.outboundStream=Pr({onEnd:n=>{this._rawOutboundStream!=null&&this._rawOutboundStream.closeWrite().catch(i=>{this.log("error closing outbound stream",i)}),this._rawOutboundStream=void 0,this.outboundStream=void 0,n!=null&&this.dispatchEvent(new de("close"))}}),cn(this.outboundStream,n=>zn(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),r==null&&this.dispatchEvent(new de("stream:outbound")),this.outboundStream}close(){this.closed||(this.closed=!0,this.outboundStream!=null&&this.outboundStream.end(),this.inboundStream!=null&&this._inboundAbortController.abort(),this._rawOutboundStream=void 0,this.outboundStream=void 0,this._rawInboundStream=void 0,this.inboundStream=void 0,this.dispatchEvent(new de("close")))}};var A2=It(Qn(),1),vl=It(st(),1);function Qa(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Za=Qa("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),ks=Qa("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=Mt(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),bl={utf8:Za,"utf-8":Za,hex:Tr.base16,latin1:ks,ascii:ks,binary:ks,...Tr},Xn=bl;function gt(t,e="utf8"){let r=Xn[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ve(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function bt(t,e="utf8"){let r=Xn[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Et={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Xa={SHA1:20,SHA256:32,SHA512:64};var Sl={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Bl=async(t,e)=>{let r=await Et.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,0,r.byteLength)};async function Ja(t,e){let r=Sl[t],n=await Et.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return Bl(n,i)},length:Xa[t]}}var Dn={};Bt(Dn,{generateEphemeralKeyPair:()=>Mc,generateKeyPair:()=>Dy,generateKeyPairFromSeed:()=>ky,importKey:()=>Oy,keyStretcher:()=>qc,keysPBM:()=>Zr,marshalPrivateKey:()=>Ky,marshalPublicKey:()=>Uy,supportedKeys:()=>Be,unmarshalPrivateKey:()=>mu,unmarshalPublicKey:()=>Py});var tw=It(mn(),1),ew=It(tc(),1);var Li=It(st(),1);var Bo={};Bt(Bo,{Ed25519PrivateKey:()=>yr,Ed25519PublicKey:()=>In,generateKeyPair:()=>ny,generateKeyPairFromSeed:()=>So,unmarshalEd25519PrivateKey:()=>ey,unmarshalEd25519PublicKey:()=>ry});var ex=It(wt(),1),rx=It(ci(),1),ec=It(st(),1);function oe(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Vt([new Uint8Array(e-r.length),r])}return bt(r,"base64url")}function Jt(t){let e=hi(t);return new ec.default.jsbn.BigInteger(bt(e,"base16"),16)}function hi(t,e){let r=gt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Vt([new Uint8Array(e-r.length),r])}return r}function re(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function rc(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function qp(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Ys(t,...e){if(!qp(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function nc(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");rc(t.outputLen),rc(t.blockLen)}function Vr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function ic(t,e){Ys(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var pi=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function sc(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var di=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),ae=(t,e)=>t<<32-e|t>>>e,Hp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Hp)throw new Error("Non little-endian hardware is not supported");function Ws(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function vn(t){if(typeof t=="string"&&(t=Ws(t)),!sc(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function yi(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!sc(i))throw new Error("Uint8Array expected");e+=i.length}let r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var qr=class{clone(){return this._cloneInto()}},fx={}.toString;function gi(t){let e=n=>t().update(vn(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Hr(t=32){if(pi&&typeof pi.getRandomValues=="function")return pi.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function zp(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}var zr=class extends qr{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=di(this.buffer)}update(e){Vr(this);let{view:r,buffer:n,blockLen:i}=this;e=vn(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=di(e);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Vr(this),ic(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:s}=this,{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let l=o;l<i;l++)r[l]=0;zp(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=di(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%r&&e.buffer.set(n),e}};var mi=BigInt(4294967295),$s=BigInt(32);function oc(t,e=!1){return e?{h:Number(t&mi),l:Number(t>>$s&mi)}:{h:Number(t>>$s&mi)|0,l:Number(t&mi)|0}}function Gp(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:s,l:o}=oc(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var Yp=(t,e)=>BigInt(t>>>0)<<$s|BigInt(e>>>0),Wp=(t,e,r)=>t>>>r,$p=(t,e,r)=>t<<32-r|e>>>r,Zp=(t,e,r)=>t>>>r|e<<32-r,Qp=(t,e,r)=>t<<32-r|e>>>r,Xp=(t,e,r)=>t<<64-r|e>>>r-32,Jp=(t,e,r)=>t>>>r-32|e<<64-r,jp=(t,e)=>e,td=(t,e)=>t,ed=(t,e,r)=>t<<r|e>>>32-r,rd=(t,e,r)=>e<<r|t>>>32-r,nd=(t,e,r)=>e<<r-32|t>>>64-r,id=(t,e,r)=>t<<r-32|e>>>64-r;function sd(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var od=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),ad=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,cd=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),ud=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,fd=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),ld=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var hd={fromBig:oc,split:Gp,toBig:Yp,shrSH:Wp,shrSL:$p,rotrSH:Zp,rotrSL:Qp,rotrBH:Xp,rotrBL:Jp,rotr32H:jp,rotr32L:td,rotlSH:ed,rotlSL:rd,rotlBH:nd,rotlBL:id,add:sd,add3L:od,add3H:ad,add4L:cd,add4H:ud,add5H:ld,add5L:fd},W=hd;var[pd,dd]=W.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),We=new Uint32Array(80),$e=new Uint32Array(80),Zs=class extends zr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:g,Gl:p,Hh:d,Hl:y}=this;return[e,r,n,i,s,o,a,c,u,f,l,h,g,p,d,y]}set(e,r,n,i,s,o,a,c,u,f,l,h,g,p,d,y){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=g|0,this.Gl=p|0,this.Hh=d|0,this.Hl=y|0}process(e,r){for(let b=0;b<16;b++,r+=4)We[b]=e.getUint32(r),$e[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let _=We[b-15]|0,E=$e[b-15]|0,S=W.rotrSH(_,E,1)^W.rotrSH(_,E,8)^W.shrSH(_,E,7),L=W.rotrSL(_,E,1)^W.rotrSL(_,E,8)^W.shrSL(_,E,7),N=We[b-2]|0,z=$e[b-2]|0,H=W.rotrSH(N,z,19)^W.rotrBH(N,z,61)^W.shrSH(N,z,6),V=W.rotrSL(N,z,19)^W.rotrBL(N,z,61)^W.shrSL(N,z,6),Q=W.add4L(L,V,$e[b-7],$e[b-16]),ot=W.add4H(Q,S,H,We[b-7],We[b-16]);We[b]=ot|0,$e[b]=Q|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:g,Fl:p,Gh:d,Gl:y,Hh:m,Hl:w}=this;for(let b=0;b<80;b++){let _=W.rotrSH(l,h,14)^W.rotrSH(l,h,18)^W.rotrBH(l,h,41),E=W.rotrSL(l,h,14)^W.rotrSL(l,h,18)^W.rotrBL(l,h,41),S=l&g^~l&d,L=h&p^~h&y,N=W.add5L(w,E,L,dd[b],$e[b]),z=W.add5H(N,m,_,S,pd[b],We[b]),H=N|0,V=W.rotrSH(n,i,28)^W.rotrBH(n,i,34)^W.rotrBH(n,i,39),Q=W.rotrSL(n,i,28)^W.rotrBL(n,i,34)^W.rotrBL(n,i,39),ot=n&s^n&a^s&a,Dt=i&o^i&c^o&c;m=d|0,w=y|0,d=g|0,y=p|0,g=l|0,p=h|0,{h:l,l:h}=W.add(u|0,f|0,z|0,H|0),u=a|0,f=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let C=W.add3L(H,Q,Dt);n=W.add3H(C,z,V,ot),i=C|0}({h:n,l:i}=W.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=W.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=W.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=W.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=W.add(this.Eh|0,this.El|0,l|0,h|0),{h:g,l:p}=W.add(this.Fh|0,this.Fl|0,g|0,p|0),{h:d,l:y}=W.add(this.Gh|0,this.Gl|0,d|0,y|0),{h:m,l:w}=W.add(this.Hh|0,this.Hl|0,m|0,w|0),this.set(n,i,s,o,a,c,u,f,l,h,g,p,d,y,m,w)}roundClean(){We.fill(0),$e.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Qs=gi(()=>new Zs);var bi={};Bt(bi,{bitGet:()=>wd,bitLen:()=>vd,bitMask:()=>wn,bitSet:()=>Ed,bytesToHex:()=>Ne,bytesToNumberBE:()=>De,bytesToNumberLE:()=>Ze,concatBytes:()=>ke,createHmacDrbg:()=>js,ensureBytes:()=>vt,equalBytes:()=>xd,hexToBytes:()=>fr,hexToNumber:()=>Js,isBytes:()=>ce,numberToBytesBE:()=>Qe,numberToBytesLE:()=>lr,numberToHexUnpadded:()=>fc,numberToVarBytesBE:()=>md,utf8ToBytes:()=>bd,validateObject:()=>Se});var uc=BigInt(0),xi=BigInt(1),yd=BigInt(2);function ce(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var gd=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ne(t){if(!ce(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=gd[t[r]];return e}function fc(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Js(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var Le={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function ac(t){if(t>=Le._0&&t<=Le._9)return t-Le._0;if(t>=Le._A&&t<=Le._F)return t-(Le._A-10);if(t>=Le._a&&t<=Le._f)return t-(Le._a-10)}function fr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,s=0;i<r;i++,s+=2){let o=ac(t.charCodeAt(s)),a=ac(t.charCodeAt(s+1));if(o===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[i]=o*16+a}return n}function De(t){return Js(Ne(t))}function Ze(t){if(!ce(t))throw new Error("Uint8Array expected");return Js(Ne(Uint8Array.from(t).reverse()))}function Qe(t,e){return fr(t.toString(16).padStart(e*2,"0"))}function lr(t,e){return Qe(t,e).reverse()}function md(t){return fr(fc(t))}function vt(t,e,r){let n;if(typeof e=="string")try{n=fr(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(ce(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function ke(...t){let e=0;for(let i=0;i<t.length;i++){let s=t[i];if(!ce(s))throw new Error("Uint8Array expected");e+=s.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let s=t[i];r.set(s,n),n+=s.length}return r}function xd(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function bd(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function vd(t){let e;for(e=0;t>uc;t>>=xi,e+=1);return e}function wd(t,e){return t>>BigInt(e)&xi}var Ed=(t,e,r)=>t|(r?xi:uc)<<BigInt(e),wn=t=>(yd<<BigInt(t-1))-xi,Xs=t=>new Uint8Array(t),cc=t=>Uint8Array.from(t);function js(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Xs(t),i=Xs(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...l)=>r(i,n,...l),c=(l=Xs())=>{i=a(cc([0]),l),n=a(),l.length!==0&&(i=a(cc([1]),l),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<e;){n=a();let g=n.slice();h.push(g),l+=n.length}return ke(...h)};return(l,h)=>{o(),c(l);let g;for(;!(g=h(u()));)c();return o(),g}}var Sd={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||ce(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Se(t,e,r={}){let n=(i,s,o)=>{let a=Sd[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=t[i];if(!(o&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(e))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return t}var _t=BigInt(0),dt=BigInt(1),hr=BigInt(2),Bd=BigInt(3),to=BigInt(4),lc=BigInt(5),hc=BigInt(8),Ad=BigInt(9),Id=BigInt(16);function at(t,e){let r=t%e;return r>=_t?r:e+r}function Cd(t,e,r){if(r<=_t||e<_t)throw new Error("Expected power/modulo > 0");if(r===dt)return _t;let n=dt;for(;e>_t;)e&dt&&(n=n*t%r),t=t*t%r,e>>=dt;return n}function yt(t,e,r){let n=t;for(;e-- >_t;)n*=n,n%=r;return n}function vi(t,e){if(t===_t||e<=_t)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=at(t,e),n=e,i=_t,s=dt,o=dt,a=_t;for(;r!==_t;){let u=n/r,f=n%r,l=i-o*u,h=s-a*u;n=r,r=f,i=o,s=a,o=l,a=h}if(n!==dt)throw new Error("invert: does not exist");return at(i,e)}function Td(t){let e=(t-dt)/hr,r,n,i;for(r=t-dt,n=0;r%hr===_t;r/=hr,n++);for(i=hr;i<t&&Cd(i,e,t)!==t-dt;i++);if(n===1){let o=(t+dt)/to;return function(c,u){let f=c.pow(u,o);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let s=(r+dt)/hr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,s),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let g=1;for(let d=a.sqr(h);g<u&&!a.eql(d,a.ONE);g++)d=a.sqr(d);let p=a.pow(f,dt<<BigInt(u-g-1));f=a.sqr(p),l=a.mul(l,p),h=a.mul(h,f),u=g}return l}}function _d(t){if(t%to===Bd){let e=(t+dt)/to;return function(n,i){let s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(t%hc===lc){let e=(t-lc)/hc;return function(n,i){let s=n.mul(i,hr),o=n.pow(s,e),a=n.mul(i,o),c=n.mul(n.mul(a,hr),o),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%Id,Td(t)}var pc=(t,e)=>(at(t,e)&dt)===dt,Rd=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function eo(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Rd.reduce((n,i)=>(n[i]="function",n),e);return Se(t,r)}function Ld(t,e,r){if(r<_t)throw new Error("Expected power > 0");if(r===_t)return t.ONE;if(r===dt)return e;let n=t.ONE,i=e;for(;r>_t;)r&dt&&(n=t.mul(n,i)),i=t.sqr(i),r>>=dt;return n}function Nd(t,e){let r=new Array(e.length),n=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),i=t.inv(n);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),i),r}function ro(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function wi(t,e,r=!1,n={}){if(t<=_t)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=ro(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=_d(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:wn(i),ZERO:_t,ONE:dt,create:c=>at(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return _t<=c&&c<t},is0:c=>c===_t,isOdd:c=>(c&dt)===dt,neg:c=>at(-c,t),eql:(c,u)=>c===u,sqr:c=>at(c*c,t),add:(c,u)=>at(c+u,t),sub:(c,u)=>at(c-u,t),mul:(c,u)=>at(c*u,t),pow:(c,u)=>Ld(a,c,u),div:(c,u)=>at(c*vi(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>vi(c,t),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>Nd(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?lr(c,s):Qe(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?Ze(c):De(c)}});return Object.freeze(a)}function dc(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function yc(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function no(t){let e=yc(t);return e+Math.ceil(e/2)}function gc(t,e,r=!1){let n=t.length,i=yc(e),s=no(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?De(t):Ze(t),a=at(o,e-dt)+dt;return r?lr(a,i):Qe(a,i)}var kd=BigInt(0),io=BigInt(1);function Ei(t,e){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=t.ZERO,a=i;for(;s>kd;)s&io&&(o=o.add(a)),a=a.double(),s>>=io;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),c=[],u=i,f=u;for(let l=0;l<o;l++){f=u,c.push(f);for(let h=1;h<a;h++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=t.ZERO,f=t.BASE,l=BigInt(2**i-1),h=2**i,g=BigInt(i);for(let p=0;p<a;p++){let d=p*c,y=Number(o&l);o>>=g,y>c&&(y-=h,o+=io);let m=d,w=d+Math.abs(y)-1,b=p%2!==0,_=y<0;y===0?f=f.add(r(b,s[m])):u=u.add(r(_,s[w]))}return{p:u,f}},wNAFCached(i,s,o,a){let c=i._WINDOW_SIZE||1,u=s.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&s.set(i,a(u))),this.wNAF(c,u,o)}}}function En(t){return eo(t.Fp),Se(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ro(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var ue=BigInt(0),jt=BigInt(1),Si=BigInt(2),Pd=BigInt(8),Ud={zip215:!0};function Kd(t){let e=En(t);return Se(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Bi(t){let e=Kd(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=e,u=Si<<BigInt(a*8)-jt,f=r.create,l=e.uvRatio||((D,A)=>{try{return{isValid:!0,value:r.sqrt(D*r.inv(A))}}catch{return{isValid:!1,value:ue}}}),h=e.adjustScalarBytes||(D=>D),g=e.domain||((D,A,K)=>{if(A.length||K)throw new Error("Contexts/pre-hash are not supported");return D}),p=D=>typeof D=="bigint"&&ue<D,d=(D,A)=>p(D)&&p(A)&&D<A,y=D=>D===ue||d(D,u);function m(D,A){if(d(D,A))return D;throw new Error(`Expected valid scalar < ${A}, got ${typeof D} ${D}`)}function w(D){return D===ue?D:m(D,n)}let b=new Map;function _(D){if(!(D instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(A,K,M,q){if(this.ex=A,this.ey=K,this.ez=M,this.et=q,!y(A))throw new Error("x required");if(!y(K))throw new Error("y required");if(!y(M))throw new Error("z required");if(!y(q))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(A){if(A instanceof E)throw new Error("extended point not allowed");let{x:K,y:M}=A||{};if(!y(K)||!y(M))throw new Error("invalid affine point");return new E(K,M,jt,f(K*M))}static normalizeZ(A){let K=r.invertBatch(A.map(M=>M.ez));return A.map((M,q)=>M.toAffine(K[q])).map(E.fromAffine)}_setWindowSize(A){this._WINDOW_SIZE=A,b.delete(this)}assertValidity(){let{a:A,d:K}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:q,ez:$,et:X}=this,it=f(M*M),J=f(q*q),et=f($*$),St=f(et*et),mt=f(it*A),kt=f(et*f(mt+J)),Pt=f(St+f(K*f(it*J)));if(kt!==Pt)throw new Error("bad point: equation left != right (1)");let At=f(M*q),Ut=f($*X);if(At!==Ut)throw new Error("bad point: equation left != right (2)")}equals(A){_(A);let{ex:K,ey:M,ez:q}=this,{ex:$,ey:X,ez:it}=A,J=f(K*it),et=f($*q),St=f(M*it),mt=f(X*q);return J===et&&St===mt}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:A}=e,{ex:K,ey:M,ez:q}=this,$=f(K*K),X=f(M*M),it=f(Si*f(q*q)),J=f(A*$),et=K+M,St=f(f(et*et)-$-X),mt=J+X,kt=mt-it,Pt=J-X,At=f(St*kt),Ut=f(mt*Pt),Ae=f(St*Pt),tr=f(kt*mt);return new E(At,Ut,tr,Ae)}add(A){_(A);let{a:K,d:M}=e,{ex:q,ey:$,ez:X,et:it}=this,{ex:J,ey:et,ez:St,et:mt}=A;if(K===BigInt(-1)){let Vo=f(($-q)*(et+J)),qo=f(($+q)*(et-J)),Vi=f(qo-Vo);if(Vi===ue)return this.double();let Ho=f(X*Si*mt),zo=f(it*Si*St),Go=zo+Ho,Yo=qo+Vo,Wo=zo-Ho,Ru=f(Go*Vi),Lu=f(Yo*Wo),Nu=f(Go*Wo),Du=f(Vi*Yo);return new E(Ru,Lu,Du,Nu)}let kt=f(q*J),Pt=f($*et),At=f(it*M*mt),Ut=f(X*St),Ae=f((q+$)*(J+et)-kt-Pt),tr=Ut-At,Jr=Ut+At,Fo=f(Pt-K*kt),Iu=f(Ae*tr),Cu=f(Jr*Fo),Tu=f(Ae*Fo),_u=f(tr*Jr);return new E(Iu,Cu,_u,Tu)}subtract(A){return this.add(A.negate())}wNAF(A){return N.wNAFCached(this,b,A,E.normalizeZ)}multiply(A){let{p:K,f:M}=this.wNAF(m(A,n));return E.normalizeZ([K,M])[0]}multiplyUnsafe(A){let K=w(A);return K===ue?L:this.equals(L)||K===jt?this:this.equals(S)?this.wNAF(K).p:N.unsafeLadder(this,K)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return N.unsafeLadder(this,n).is0()}toAffine(A){let{ex:K,ey:M,ez:q}=this,$=this.is0();A==null&&(A=$?Pd:r.inv(q));let X=f(K*A),it=f(M*A),J=f(q*A);if($)return{x:ue,y:jt};if(J!==jt)throw new Error("invZ was invalid");return{x:X,y:it}}clearCofactor(){let{h:A}=e;return A===jt?this:this.multiplyUnsafe(A)}static fromHex(A,K=!1){let{d:M,a:q}=e,$=r.BYTES;A=vt("pointHex",A,$);let X=A.slice(),it=A[$-1];X[$-1]=it&-129;let J=Ze(X);J===ue||(K?m(J,u):m(J,r.ORDER));let et=f(J*J),St=f(et-jt),mt=f(M*et-q),{isValid:kt,value:Pt}=l(St,mt);if(!kt)throw new Error("Point.fromHex: invalid y coordinate");let At=(Pt&jt)===jt,Ut=(it&128)!==0;if(!K&&Pt===ue&&Ut)throw new Error("Point.fromHex: x=0 and x_0=1");return Ut!==At&&(Pt=f(-Pt)),E.fromAffine({x:Pt,y:J})}static fromPrivateKey(A){return V(A).point}toRawBytes(){let{x:A,y:K}=this.toAffine(),M=lr(K,r.BYTES);return M[M.length-1]|=A&jt?128:0,M}toHex(){return Ne(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,jt,f(e.Gx*e.Gy)),E.ZERO=new E(ue,jt,jt,ue);let{BASE:S,ZERO:L}=E,N=Ei(E,a*8);function z(D){return at(D,n)}function H(D){return z(Ze(D))}function V(D){let A=a;D=vt("private key",D,A);let K=vt("hashed private key",s(D),2*A),M=h(K.slice(0,A)),q=K.slice(A,2*A),$=H(M),X=S.multiply($),it=X.toRawBytes();return{head:M,prefix:q,scalar:$,point:X,pointBytes:it}}function Q(D){return V(D).pointBytes}function ot(D=new Uint8Array,...A){let K=ke(...A);return H(s(g(K,vt("context",D),!!i)))}function Dt(D,A,K={}){D=vt("message",D),i&&(D=i(D));let{prefix:M,scalar:q,pointBytes:$}=V(A),X=ot(K.context,M,D),it=S.multiply(X).toRawBytes(),J=ot(K.context,it,$,D),et=z(X+J*q);w(et);let St=ke(it,lr(et,r.BYTES));return vt("result",St,a*2)}let C=Ud;function k(D,A,K,M=C){let{context:q,zip215:$}=M,X=r.BYTES;D=vt("signature",D,2*X),A=vt("message",A),i&&(A=i(A));let it=Ze(D.slice(X,2*X)),J,et,St;try{J=E.fromHex(K,$),et=E.fromHex(D.slice(0,X),$),St=S.multiplyUnsafe(it)}catch{return!1}if(!$&&J.isSmallOrder())return!1;let mt=ot(q,et.toRawBytes(),J.toRawBytes(),A);return et.add(J.multiplyUnsafe(mt)).subtract(St).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:Q,sign:Dt,verify:k,ExtendedPoint:E,utils:{getExtendedPublicKey:V,randomPrivateKey:()=>o(r.BYTES),precompute(D=8,A=E.BASE){return A._setWindowSize(D),A.multiply(BigInt(3)),A}}}}var oo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),mc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Nx=BigInt(0),Od=BigInt(1),so=BigInt(2),Md=BigInt(5),xc=BigInt(10),Fd=BigInt(20),Vd=BigInt(40),bc=BigInt(80);function qd(t){let e=oo,n=t*t%e*t%e,i=yt(n,so,e)*n%e,s=yt(i,Od,e)*t%e,o=yt(s,Md,e)*s%e,a=yt(o,xc,e)*o%e,c=yt(a,Fd,e)*a%e,u=yt(c,Vd,e)*c%e,f=yt(u,bc,e)*u%e,l=yt(f,bc,e)*u%e,h=yt(l,xc,e)*o%e;return{pow_p_5_8:yt(h,so,e)*t%e,b2:n}}function Hd(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function zd(t,e){let r=oo,n=at(e*e*e,r),i=at(n*n*e,r),s=qd(t*i).pow_p_5_8,o=at(t*n*s,r),a=at(e*o*o,r),c=o,u=at(o*mc,r),f=a===t,l=a===at(-t,r),h=a===at(-t*mc,r);return f&&(o=c),(l||h)&&(o=u),pc(o,r)&&(o=at(-o,r)),{isValid:f||l,value:o}}var Pe=wi(oo,void 0,!0),ao={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Pe,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Qs,randomBytes:Hr,adjustScalarBytes:Hd,uvRatio:zd},Gr=Bi(ao);function vc(t,e,r){if(e.length>255)throw new Error("Context is too big");return yi(Ws("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var Dx=Bi({...ao,domain:vc}),kx=Bi({...ao,domain:vc,prehash:Qs});var Gd=(Pe.ORDER+BigInt(3))/BigInt(8),Px=Pe.pow(so,Gd),Ux=Pe.sqrt(Pe.neg(Pe.ONE)),Kx=(Pe.ORDER-BigInt(5))/BigInt(8),Ox=BigInt(486662);var Mx=dc(Pe,Pe.neg(BigInt(486664)));var Fx=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Vx=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),qx=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Hx=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var zx=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Yr=32,Ue=64,Ai=32;function wc(){let t=Gr.utils.randomPrivateKey(),e=Gr.getPublicKey(t);return{privateKey:Ac(t,e),publicKey:e}}function Ec(t){if(t.length!==Ai)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=Gr.getPublicKey(e);return{privateKey:Ac(e,r),publicKey:r}}function Sc(t,e){let r=t.subarray(0,Ai);return Gr.sign(e instanceof Uint8Array?e:e.subarray(),r)}function Bc(t,e,r){return Gr.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function Ac(t,e){let r=new Uint8Array(Ue);for(let n=0;n<Ai;n++)r[n]=t[n],r[Ai+n]=e[n];return r}var co={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ii(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=Et.get();r*=8;async function c(l,h){let g=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),d={name:e,iv:p};typeof h=="string"&&(h=gt(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",co,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",co,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(d,y,l);return Vt([g,d.iv,new Uint8Array(m)])}async function u(l,h){let g=l.subarray(0,s),p=l.subarray(s,s+n),d=l.subarray(s+n),y={name:e,iv:p};typeof h=="string"&&(h=gt(h));let m;if(h.length===0)try{let b={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,_,{name:e,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",co,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:g,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,_,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,m,d);return new Uint8Array(w)}return{encrypt:c,decrypt:u}}async function Wr(t,e){let n=await Ii().encrypt(t,e);return tn.encode(n)}var Zr={};Bt(Zr,{KeyType:()=>lt,PrivateKey:()=>he,PublicKey:()=>le});var uo=new Float32Array([-0]),Xe=new Uint8Array(uo.buffer);function Cc(t,e,r){uo[0]=t,e[r]=Xe[0],e[r+1]=Xe[1],e[r+2]=Xe[2],e[r+3]=Xe[3]}function Tc(t,e){return Xe[0]=t[e],Xe[1]=t[e+1],Xe[2]=t[e+2],Xe[3]=t[e+3],uo[0]}var fo=new Float64Array([-0]),qt=new Uint8Array(fo.buffer);function _c(t,e,r){fo[0]=t,e[r]=qt[0],e[r+1]=qt[1],e[r+2]=qt[2],e[r+3]=qt[3],e[r+4]=qt[4],e[r+5]=qt[5],e[r+6]=qt[6],e[r+7]=qt[7]}function Rc(t,e){return qt[0]=t[e],qt[1]=t[e+1],qt[2]=t[e+2],qt[3]=t[e+3],qt[4]=t[e+4],qt[5]=t[e+5],qt[6]=t[e+6],qt[7]=t[e+7],fo[0]}var Wd=BigInt(Number.MAX_SAFE_INTEGER),$d=BigInt(Number.MIN_SAFE_INTEGER),$t=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return pr;if(e<Wd&&e>$d)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>Lc&&(i=0n,++n>Lc&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return pr;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):pr}},pr=new $t(0,0);pr.toBigInt=function(){return 0n};pr.zzEncode=pr.zzDecode=function(){return this};pr.length=function(){return 1};var Lc=4294967296n;function Nc(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Dc(t,e,r){if(r-e<1)return"";let i,s=[],o=0,a;for(;e<r;)a=t[e++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function lo(t,e,r){let n=r,i,s;for(let o=0;o<t.length;++o)i=t.charCodeAt(o),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((s=t.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function fe(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Ci(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var ho=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,fe(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw fe(this,4);return Ci(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw fe(this,4);return Ci(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw fe(this,4);let e=Tc(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw fe(this,4);let e=Rc(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw fe(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Dc(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw fe(this,e);this.pos+=e}else do if(this.pos>=this.len)throw fe(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new $t(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw fe(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw fe(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw fe(this,8);let e=Ci(this.buf,this.pos+=4),r=Ci(this.buf,this.pos+=4);return new $t(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function po(t){return new ho(t instanceof Uint8Array?t:t.subarray())}function Zt(t,e){let r=po(t);return e.decode(r)}function yo(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return Mt(o);i+o>e&&(n=Mt(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var dr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function go(){}var xo=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Zd=yo();function Qd(t){return globalThis.Buffer!=null?Mt(t):Zd(t)}var An=class{len;head;tail;states;constructor(){this.len=0,this.head=new dr(go,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new dr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new bo((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Sn,10,$t.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=$t.fromBigInt(e);return this._push(Sn,r.length(),r)}uint64Number(e){let r=$t.fromNumber(e);return this._push(Sn,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=$t.fromBigInt(e).zzEncode();return this._push(Sn,r.length(),r)}sint64Number(e){let r=$t.fromNumber(e).zzEncode();return this._push(Sn,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(mo,1,e?1:0)}fixed32(e){return this._push(Bn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=$t.fromBigInt(e);return this._push(Bn,4,r.lo)._push(Bn,4,r.hi)}fixed64Number(e){let r=$t.fromNumber(e);return this._push(Bn,4,r.lo)._push(Bn,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Cc,4,e)}double(e){return this._push(_c,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(mo,1,0):this.uint32(r)._push(Jd,r,e)}string(e){let r=Nc(e);return r!==0?this.uint32(r)._push(lo,r,e):this._push(mo,1,0)}fork(){return this.states=new xo(this),this.head=this.tail=new dr(go,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new dr(go,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=Qd(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function mo(t,e,r){e[r]=t&255}function Xd(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var bo=class extends dr{next;constructor(e,r){super(Xd,e,r),this.next=void 0}};function Sn(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function Bn(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 Jd(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(An.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(jd,e,t),this},An.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(ty,e,t),this});function jd(t,e,r){e.set(t,r)}function ty(t,e,r){t.length<40?lo(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(gt(t),r)}function vo(){return new An}function Qt(t,e){let r=vo();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var $r;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})($r||($r={}));function Ti(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function wo(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return Ti("enum",$r.VARINT,r,n)}function Xt(t,e){return Ti("message",$r.LENGTH_DELIMITED,t,e)}var lt;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(lt||(lt={}));var Eo;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Eo||(Eo={}));(function(t){t.codec=()=>wo(Eo)})(lt||(lt={}));var le;(function(t){let e;t.codec=()=>(e==null&&(e=Xt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),lt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=lt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Qt(r,t.codec()),t.decode=r=>Zt(r,t.codec())})(le||(le={}));var he;(function(t){let e;t.codec=()=>(e==null&&(e=Xt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),lt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=lt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Qt(r,t.codec()),t.decode=r=>Zt(r,t.codec())})(he||(he={}));var In=class{_key;constructor(e){this._key=Qr(e,Yr)}verify(e,r){return Bc(this._key,r,e)}marshal(){return this._key}get bytes(){return le.encode({Type:lt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}hash(){let e=Ct.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}},yr=class{_key;_publicKey;constructor(e,r){this._key=Qr(e,Ue),this._publicKey=Qr(r,Yr)}sign(e){return Sc(this._key,e)}get public(){return new In(this._publicKey)}marshal(){return this._key}get bytes(){return he.encode({Type:lt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}async hash(){let e=Ct.digest(this.bytes),r;return re(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Fe.digest(this.public.bytes);return Ht.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Wr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function ey(t){if(t.length>Ue){t=Qr(t,Ue+Yr);let n=t.subarray(0,Ue),i=t.subarray(Ue,t.length);return new yr(n,i)}t=Qr(t,Ue);let e=t.subarray(0,Ue),r=t.subarray(Yr);return new yr(e,r)}function ry(t){return t=Qr(t,Yr),new In(t)}async function ny(){let{privateKey:t,publicKey:e}=wc();return new yr(t,e)}async function So(t){let{privateKey:e,publicKey:r}=Ec(t);return new yr(e,r)}function Qr(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new O(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var Pc={"P-256":256,"P-384":384,"P-521":521},iy=Object.keys(Pc),Ao=iy.join(" / ");async function Uc(t){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new O(`Unknown curve: ${t}. Must be ${Ao}`,"ERR_INVALID_CURVE");let e=await Et.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(s,o)=>{let a;o!=null?a=await Et.get().subtle.importKey("jwk",oy(t,o),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):a=e.privateKey;let c=await Et.get().subtle.importKey("jwk",Oc(t,s),{name:"ECDH",namedCurve:t},!1,[]),u=await Et.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:c},a,Pc[t]);return new Uint8Array(u,0,u.byteLength)},n=await Et.get().subtle.exportKey("jwk",e.publicKey);return{key:sy(n),genSharedKey:r}}var Kc={"P-256":32,"P-384":48,"P-521":66};function sy(t){if(t.crv==null||t.x==null||t.y==null)throw new O("JWK was missing components","ERR_INVALID_PARAMETERS");if(t.crv!=="P-256"&&t.crv!=="P-384"&&t.crv!=="P-521")throw new O(`Unknown curve: ${t.crv}. Must be ${Ao}`,"ERR_INVALID_CURVE");let e=Kc[t.crv];return Vt([Uint8Array.from([4]),hi(t.x,e),hi(t.y,e)],1+e*2)}function Oc(t,e){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new O(`Unknown curve: ${t}. Must be ${Ao}`,"ERR_INVALID_CURVE");let r=Kc[t];if(!Kt(e.subarray(0,1),Uint8Array.from([4])))throw new O("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:bt(e.subarray(1,r+1),"base64url"),y:bt(e.subarray(1+r),"base64url"),ext:!0}}var oy=(t,e)=>({...Oc(t,e.public),d:bt(e.private,"base64url")});var Mc=Uc;async function Fc(t,e){let r=tn.decode(t);return Ii().decrypt(r,e)}var Vc={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function qc(t,e,r){let n=Vc[t];if(n==null){let w=Object.keys(Vc).join(" / ");throw new O(`unknown cipher type '${t}'. Must be ${w}`,"ERR_INVALID_CIPHER_TYPE")}if(e==null)throw new O("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,s=n.ivSize,o=20,a=gt("key expansion"),c=2*(s+i+o),u=await Ja(e,r),f=await u.digest(a),l=[],h=0;for(;h<c;){let w=await u.digest(Vt([f,a])),b=w.length;h+b>c&&(b=c-h),l.push(w),h+=b,f=await u.digest(f)}let g=c/2,p=Vt(l),d=p.subarray(0,g),y=p.subarray(g,c),m=w=>({iv:w.subarray(0,s),cipherKey:w.subarray(s,s+i),macKey:w.subarray(s+i)});return{k1:m(d),k2:m(y)}}var Ro={};Bt(Ro,{MAX_KEY_SIZE:()=>Rn,RsaPrivateKey:()=>Xr,RsaPublicKey:()=>_n,fromJwk:()=>gy,generateKeyPair:()=>my,unmarshalRsaPrivateKey:()=>dy,unmarshalRsaPublicKey:()=>yy});var Tn=It(st(),1);var xv=It(Wc(),1);function mr(t){if(isNaN(t)||t<=0)throw new O("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Hr(t)}var tv=It(li(),1),To=It(st(),1);function $c(t,e){return e.map(r=>Jt(t[r]))}function Zc(t){return To.default.pki.setRsaPrivateKey(...$c(t,["n","e","d","p","q","dp","dq","qi"]))}function Qc(t){return To.default.pki.setRsaPublicKey(...$c(t,["n","e"]))}var xr={};Bt(xr,{jwkToPkcs1:()=>uy,jwkToPkix:()=>ly,pkcs1ToJwk:()=>cy,pkixToJwk:()=>fy});var nv=It(mn(),1),iv=It(li(),1);var Ke=It(st(),1);function cy(t){let e=Ke.default.asn1.fromDer(bt(t,"ascii")),r=Ke.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:oe(r.n),e:oe(r.e),d:oe(r.d),p:oe(r.p),q:oe(r.q),dp:oe(r.dP),dq:oe(r.dQ),qi:oe(r.qInv),alg:"RS256"}}function uy(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new O("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ke.default.pki.privateKeyToAsn1({n:Jt(t.n),e:Jt(t.e),d:Jt(t.d),p:Jt(t.p),q:Jt(t.q),dP:Jt(t.dp),dQ:Jt(t.dq),qInv:Jt(t.qi)});return gt(Ke.default.asn1.toDer(e).getBytes(),"ascii")}function fy(t){let e=Ke.default.asn1.fromDer(bt(t,"ascii")),r=Ke.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:oe(r.n),e:oe(r.e)}}function ly(t){if(t.n==null||t.e==null)throw new O("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Ke.default.pki.publicKeyToAsn1({n:Jt(t.n),e:Jt(t.e)});return gt(Ke.default.asn1.toDer(e).getBytes(),"ascii")}async function Xc(t){let e=await Et.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 tu(e);return{privateKey:r[0],publicKey:r[1]}}async function _o(t){let r=[await Et.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await hy(t)],n=await tu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Jc(t,e){let r=await Et.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Et.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function jc(t,e,r){let n=await Et.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Et.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function tu(t){if(t.privateKey==null||t.publicKey==null)throw new O("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Et.get().subtle.exportKey("jwk",t.privateKey),Et.get().subtle.exportKey("jwk",t.publicKey)])}async function hy(t){return Et.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function eu(t,e,r,n){let i=e?Qc(t):Zc(t),s=bt(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return gt(o,"ascii")}function ru(t,e){return eu(t,!0,e,(r,n)=>n.encrypt(r))}function nu(t,e){return eu(t,!1,e,(r,n)=>n.decrypt(r))}function _i(t){if(t.kty!=="RSA")throw new O("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new O("invalid key modulus","ERR_INVALID_KEY_MODULUS");return gt(t.n,"base64url").length*8}var Rn=8192,_n=class{_key;constructor(e){this._key=e}verify(e,r){return jc(this._key,r,e)}marshal(){return xr.jwkToPkix(this._key)}get bytes(){return le.encode({Type:lt.RSA,Data:this.marshal()}).subarray()}encrypt(e){return ru(this._key,e)}equals(e){return Kt(this.bytes,e.bytes)}hash(){let e=Ct.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}},Xr=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return mr(16)}sign(e){return Jc(this._key,e)}get public(){if(this._publicKey==null)throw new O("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new _n(this._publicKey)}decrypt(e){return nu(this._key,e)}marshal(){return xr.jwkToPkcs1(this._key)}get bytes(){return he.encode({Type:lt.RSA,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}hash(){let e=Ct.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return bt(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Tn.default.util.ByteBuffer(this.marshal()),i=Tn.default.asn1.fromDer(n),s=Tn.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Tn.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Wr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function dy(t){let e=xr.pkcs1ToJwk(t);if(_i(e)>Rn)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await _o(e);return new Xr(r.privateKey,r.publicKey)}function yy(t){let e=xr.pkixToJwk(t);if(_i(e)>Rn)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new _n(e)}async function gy(t){if(_i(t)>Rn)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await _o(t);return new Xr(e.privateKey,e.publicKey)}async function my(t){if(t>Rn)throw new O("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Xc(t);return new Xr(e.privateKey,e.publicKey)}var Uo={};Bt(Uo,{Secp256k1PrivateKey:()=>Nn,Secp256k1PublicKey:()=>Ln,generateKeyPair:()=>Ny,unmarshalSecp256k1PrivateKey:()=>Ry,unmarshalSecp256k1PublicKey:()=>Ly});var xy=(t,e,r)=>t&e^~t&r,by=(t,e,r)=>t&e^t&r^e&r,vy=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Je=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),je=new Uint32Array(64),Lo=class extends zr{constructor(){super(64,32,8,!1),this.A=Je[0]|0,this.B=Je[1]|0,this.C=Je[2]|0,this.D=Je[3]|0,this.E=Je[4]|0,this.F=Je[5]|0,this.G=Je[6]|0,this.H=Je[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[e,r,n,i,s,o,a,c]}set(e,r,n,i,s,o,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)je[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let h=je[l-15],g=je[l-2],p=ae(h,7)^ae(h,18)^h>>>3,d=ae(g,17)^ae(g,19)^g>>>10;je[l]=d+je[l-7]+p+je[l-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let h=ae(a,6)^ae(a,11)^ae(a,25),g=f+h+xy(a,c,u)+vy[l]+je[l]|0,d=(ae(n,2)^ae(n,13)^ae(n,22))+by(n,i,s)|0;f=u,u=c,c=a,a=o+g|0,o=s,s=i,i=n,n=g+d|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,s,o,a,c,u,f)}roundClean(){je.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var iu=gi(()=>new Lo);function wy(t){let e=En(t);Se(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Ey,hexToBytes:Sy}=bi,br={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=br;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Ey(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=br,r=typeof t=="string"?Sy(t):t;if(!ce(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=br._parseInt(r.subarray(2)),{d:o,l:a}=br._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,o=i.length/2,a=r(s),c=r(o);return`30${r(o+s+4)}02${c}${i}02${a}${n}`}},Oe=BigInt(0),ne=BigInt(1),Tv=BigInt(2),su=BigInt(3),_v=BigInt(4);function By(t){let e=wy(t),{Fp:r}=e,n=e.toBytes||((p,d,y)=>{let m=d.toAffine();return ke(Uint8Array.from([4]),r.toBytes(m.x),r.toBytes(m.y))}),i=e.fromBytes||(p=>{let d=p.subarray(1),y=r.fromBytes(d.subarray(0,r.BYTES)),m=r.fromBytes(d.subarray(r.BYTES,2*r.BYTES));return{x:y,y:m}});function s(p){let{a:d,b:y}=e,m=r.sqr(p),w=r.mul(m,p);return r.add(r.add(w,r.mul(p,d)),y)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(p){return typeof p=="bigint"&&Oe<p&&p<e.n}function a(p){if(!o(p))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(p){let{allowedPrivateKeyLengths:d,nByteLength:y,wrapPrivateKey:m,n:w}=e;if(d&&typeof p!="bigint"){if(ce(p)&&(p=Ne(p)),typeof p!="string"||!d.includes(p.length))throw new Error("Invalid key");p=p.padStart(y*2,"0")}let b;try{b=typeof p=="bigint"?p:De(vt("private key",p,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof p}`)}return m&&(b=at(b,w)),a(b),b}let u=new Map;function f(p){if(!(p instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(d,y,m){if(this.px=d,this.py=y,this.pz=m,d==null||!r.isValid(d))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(m==null||!r.isValid(m))throw new Error("z required")}static fromAffine(d){let{x:y,y:m}=d||{};if(!d||!r.isValid(y)||!r.isValid(m))throw new Error("invalid affine point");if(d instanceof l)throw new Error("projective point not allowed");let w=b=>r.eql(b,r.ZERO);return w(y)&&w(m)?l.ZERO:new l(y,m,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(d){let y=r.invertBatch(d.map(m=>m.pz));return d.map((m,w)=>m.toAffine(y[w])).map(l.fromAffine)}static fromHex(d){let y=l.fromAffine(i(vt("pointHex",d)));return y.assertValidity(),y}static fromPrivateKey(d){return l.BASE.multiply(c(d))}_setWindowSize(d){this._WINDOW_SIZE=d,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:d,y}=this.toAffine();if(!r.isValid(d)||!r.isValid(y))throw new Error("bad point: x or y not FE");let m=r.sqr(y),w=s(d);if(!r.eql(m,w))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:d}=this.toAffine();if(r.isOdd)return!r.isOdd(d);throw new Error("Field doesn't support isOdd")}equals(d){f(d);let{px:y,py:m,pz:w}=this,{px:b,py:_,pz:E}=d,S=r.eql(r.mul(y,E),r.mul(b,w)),L=r.eql(r.mul(m,E),r.mul(_,w));return S&&L}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:d,b:y}=e,m=r.mul(y,su),{px:w,py:b,pz:_}=this,E=r.ZERO,S=r.ZERO,L=r.ZERO,N=r.mul(w,w),z=r.mul(b,b),H=r.mul(_,_),V=r.mul(w,b);return V=r.add(V,V),L=r.mul(w,_),L=r.add(L,L),E=r.mul(d,L),S=r.mul(m,H),S=r.add(E,S),E=r.sub(z,S),S=r.add(z,S),S=r.mul(E,S),E=r.mul(V,E),L=r.mul(m,L),H=r.mul(d,H),V=r.sub(N,H),V=r.mul(d,V),V=r.add(V,L),L=r.add(N,N),N=r.add(L,N),N=r.add(N,H),N=r.mul(N,V),S=r.add(S,N),H=r.mul(b,_),H=r.add(H,H),N=r.mul(H,V),E=r.sub(E,N),L=r.mul(H,z),L=r.add(L,L),L=r.add(L,L),new l(E,S,L)}add(d){f(d);let{px:y,py:m,pz:w}=this,{px:b,py:_,pz:E}=d,S=r.ZERO,L=r.ZERO,N=r.ZERO,z=e.a,H=r.mul(e.b,su),V=r.mul(y,b),Q=r.mul(m,_),ot=r.mul(w,E),Dt=r.add(y,m),C=r.add(b,_);Dt=r.mul(Dt,C),C=r.add(V,Q),Dt=r.sub(Dt,C),C=r.add(y,w);let k=r.add(b,E);return C=r.mul(C,k),k=r.add(V,ot),C=r.sub(C,k),k=r.add(m,w),S=r.add(_,E),k=r.mul(k,S),S=r.add(Q,ot),k=r.sub(k,S),N=r.mul(z,C),S=r.mul(H,ot),N=r.add(S,N),S=r.sub(Q,N),N=r.add(Q,N),L=r.mul(S,N),Q=r.add(V,V),Q=r.add(Q,V),ot=r.mul(z,ot),C=r.mul(H,C),Q=r.add(Q,ot),ot=r.sub(V,ot),ot=r.mul(z,ot),C=r.add(C,ot),V=r.mul(Q,C),L=r.add(L,V),V=r.mul(k,C),S=r.mul(Dt,S),S=r.sub(S,V),V=r.mul(Dt,Q),N=r.mul(k,N),N=r.add(N,V),new l(S,L,N)}subtract(d){return this.add(d.negate())}is0(){return this.equals(l.ZERO)}wNAF(d){return g.wNAFCached(this,u,d,y=>{let m=r.invertBatch(y.map(w=>w.pz));return y.map((w,b)=>w.toAffine(m[b])).map(l.fromAffine)})}multiplyUnsafe(d){let y=l.ZERO;if(d===Oe)return y;if(a(d),d===ne)return this;let{endo:m}=e;if(!m)return g.unsafeLadder(this,d);let{k1neg:w,k1:b,k2neg:_,k2:E}=m.splitScalar(d),S=y,L=y,N=this;for(;b>Oe||E>Oe;)b&ne&&(S=S.add(N)),E&ne&&(L=L.add(N)),N=N.double(),b>>=ne,E>>=ne;return w&&(S=S.negate()),_&&(L=L.negate()),L=new l(r.mul(L.px,m.beta),L.py,L.pz),S.add(L)}multiply(d){a(d);let y=d,m,w,{endo:b}=e;if(b){let{k1neg:_,k1:E,k2neg:S,k2:L}=b.splitScalar(y),{p:N,f:z}=this.wNAF(E),{p:H,f:V}=this.wNAF(L);N=g.constTimeNegate(_,N),H=g.constTimeNegate(S,H),H=new l(r.mul(H.px,b.beta),H.py,H.pz),m=N.add(H),w=z.add(V)}else{let{p:_,f:E}=this.wNAF(y);m=_,w=E}return l.normalizeZ([m,w])[0]}multiplyAndAddUnsafe(d,y,m){let w=l.BASE,b=(E,S)=>S===Oe||S===ne||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),_=b(this,y).add(b(d,m));return _.is0()?void 0:_}toAffine(d){let{px:y,py:m,pz:w}=this,b=this.is0();d==null&&(d=b?r.ONE:r.inv(w));let _=r.mul(y,d),E=r.mul(m,d),S=r.mul(w,d);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:_,y:E}}isTorsionFree(){let{h:d,isTorsionFree:y}=e;if(d===ne)return!0;if(y)return y(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:d,clearCofactor:y}=e;return d===ne?this:y?y(l,this):this.multiplyUnsafe(e.h)}toRawBytes(d=!0){return this.assertValidity(),n(l,this,d)}toHex(d=!0){return Ne(this.toRawBytes(d))}}l.BASE=new l(e.Gx,e.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,g=Ei(l,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function Ay(t){let e=En(t);return Se(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function ou(t){let e=Ay(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(C){return Oe<C&&C<r.ORDER}function a(C){return at(C,n)}function c(C){return vi(C,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:h}=By({...e,toBytes(C,k,R){let D=k.toAffine(),A=r.toBytes(D.x),K=ke;return R?K(Uint8Array.from([k.hasEvenY()?2:3]),A):K(Uint8Array.from([4]),A,r.toBytes(D.y))},fromBytes(C){let k=C.length,R=C[0],D=C.subarray(1);if(k===i&&(R===2||R===3)){let A=De(D);if(!o(A))throw new Error("Point is not on curve");let K=l(A),M=r.sqrt(K),q=(M&ne)===ne;return(R&1)===1!==q&&(M=r.neg(M)),{x:A,y:M}}else if(k===s&&R===4){let A=r.fromBytes(D.subarray(0,r.BYTES)),K=r.fromBytes(D.subarray(r.BYTES,2*r.BYTES));return{x:A,y:K}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),g=C=>Ne(Qe(C,e.nByteLength));function p(C){let k=n>>ne;return C>k}function d(C){return p(C)?a(-C):C}let y=(C,k,R)=>De(C.slice(k,R));class m{constructor(k,R,D){this.r=k,this.s=R,this.recovery=D,this.assertValidity()}static fromCompact(k){let R=e.nByteLength;return k=vt("compactSignature",k,R*2),new m(y(k,0,R),y(k,R,2*R))}static fromDER(k){let{r:R,s:D}=br.toSig(vt("DER",k));return new m(R,D)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new m(this.r,this.s,k)}recoverPublicKey(k){let{r:R,s:D,recovery:A}=this,K=L(vt("msgHash",k));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let M=A===2||A===3?R+e.n:R;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let q=A&1?"03":"02",$=u.fromHex(q+g(M)),X=c(M),it=a(-K*X),J=a(D*X),et=u.BASE.multiplyAndAddUnsafe($,it,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return fr(this.toDERHex())}toDERHex(){return br.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return fr(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}let w={isValidPrivateKey(C){try{return f(C),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let C=no(e.n);return gc(e.randomBytes(C),e.n)},precompute(C=8,k=u.BASE){return k._setWindowSize(C),k.multiply(BigInt(3)),k}};function b(C,k=!0){return u.fromPrivateKey(C).toRawBytes(k)}function _(C){let k=ce(C),R=typeof C=="string",D=(k||R)&&C.length;return k?D===i||D===s:R?D===2*i||D===2*s:C instanceof u}function E(C,k,R=!0){if(_(C))throw new Error("first arg must be private key");if(!_(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(f(C)).toRawBytes(R)}let S=e.bits2int||function(C){let k=De(C),R=C.length*8-e.nBitLength;return R>0?k>>BigInt(R):k},L=e.bits2int_modN||function(C){return a(S(C))},N=wn(e.nBitLength);function z(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(Oe<=C&&C<N))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Qe(C,e.nByteLength)}function H(C,k,R=V){if(["recovered","canonical"].some(mt=>mt in R))throw new Error("sign() legacy options not supported");let{hash:D,randomBytes:A}=e,{lowS:K,prehash:M,extraEntropy:q}=R;K==null&&(K=!0),C=vt("msgHash",C),M&&(C=vt("prehashed msgHash",D(C)));let $=L(C),X=f(k),it=[z(X),z($)];if(q!=null){let mt=q===!0?A(r.BYTES):q;it.push(vt("extraEntropy",mt))}let J=ke(...it),et=$;function St(mt){let kt=S(mt);if(!h(kt))return;let Pt=c(kt),At=u.BASE.multiply(kt).toAffine(),Ut=a(At.x);if(Ut===Oe)return;let Ae=a(Pt*a(et+Ut*X));if(Ae===Oe)return;let tr=(At.x===Ut?0:2)|Number(At.y&ne),Jr=Ae;return K&&p(Ae)&&(Jr=d(Ae),tr^=1),new m(Ut,Jr,tr)}return{seed:J,k2sig:St}}let V={lowS:e.lowS,prehash:!1},Q={lowS:e.lowS,prehash:!1};function ot(C,k,R=V){let{seed:D,k2sig:A}=H(C,k,R),K=e;return js(K.hash.outputLen,K.nByteLength,K.hmac)(D,A)}u.BASE._setWindowSize(8);function Dt(C,k,R,D=Q){let A=C;if(k=vt("msgHash",k),R=vt("publicKey",R),"strict"in D)throw new Error("options.strict was renamed to lowS");let{lowS:K,prehash:M}=D,q,$;try{if(typeof A=="string"||ce(A))try{q=m.fromDER(A)}catch(At){if(!(At instanceof br.Err))throw At;q=m.fromCompact(A)}else if(typeof A=="object"&&typeof A.r=="bigint"&&typeof A.s=="bigint"){let{r:At,s:Ut}=A;q=new m(At,Ut)}else throw new Error("PARSE");$=u.fromHex(R)}catch(At){if(At.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(K&&q.hasHighS())return!1;M&&(k=e.hash(k));let{r:X,s:it}=q,J=L(k),et=c(it),St=a(J*et),mt=a(X*et),kt=u.BASE.multiplyAndAddUnsafe($,St,mt)?.toAffine();return kt?a(kt.x)===X:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:E,sign:ot,verify:Dt,ProjectivePoint:u,Signature:m,utils:w}}var Ri=class extends qr{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,nc(e);let n=vn(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Vr(this),this.iHash.update(e),this}digestInto(e){Vr(this),Ys(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},No=(t,e,r)=>new Ri(t,e).update(r).digest();No.create=(t,e)=>new Ri(t,e);function Iy(t){return{hash:t,hmac:(e,...r)=>No(t,e,yi(...r)),randomBytes:Hr}}function au(t,e){let r=n=>ou({...t,...Iy(n)});return Object.freeze({...r(e),create:r})}var fu=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),cu=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Cy=BigInt(1),Do=BigInt(2),uu=(t,e)=>(t+e/Do)/e;function Ty(t){let e=fu,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,f=u*u*t%e,l=yt(f,r,e)*f%e,h=yt(l,r,e)*f%e,g=yt(h,Do,e)*u%e,p=yt(g,i,e)*g%e,d=yt(p,s,e)*p%e,y=yt(d,a,e)*d%e,m=yt(y,c,e)*y%e,w=yt(m,a,e)*d%e,b=yt(w,r,e)*f%e,_=yt(b,o,e)*p%e,E=yt(_,n,e)*u%e,S=yt(E,Do,e);if(!ko.eql(ko.sqr(S),t))throw new Error("Cannot find square root");return S}var ko=wi(fu,void 0,void 0,{sqrt:Ty}),pe=au({a:BigInt(0),b:BigInt(7),Fp:ko,n:cu,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=cu,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Cy*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=uu(s*t,e),c=uu(-n*t,e),u=at(t-a*r-c*i,e),f=at(-a*n-c*s,e),l=u>o,h=f>o;if(l&&(u=e-u),h&&(f=e-f),u>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:h,k2:f}}}},iu),Vv=BigInt(0);var qv=pe.ProjectivePoint;function lu(){return pe.utils.randomPrivateKey()}function hu(t,e){let r=Ct.digest(e instanceof Uint8Array?e:e.subarray());if(re(r))return r.then(({digest:n})=>pe.sign(n,t).toDERRawBytes()).catch(n=>{throw new O(String(n),"ERR_INVALID_INPUT")});try{return pe.sign(r.digest,t).toDERRawBytes()}catch(n){throw new O(String(n),"ERR_INVALID_INPUT")}}function pu(t,e,r){let n=Ct.digest(r instanceof Uint8Array?r:r.subarray());if(re(n))return n.then(({digest:i})=>pe.verify(e,i,t)).catch(i=>{throw new O(String(i),"ERR_INVALID_INPUT")});try{return pe.verify(e,n.digest,t)}catch(i){throw new O(String(i),"ERR_INVALID_INPUT")}}function du(t){return pe.ProjectivePoint.fromHex(t).toRawBytes(!0)}function yu(t){try{pe.getPublicKey(t,!0)}catch(e){throw new O(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Po(t){try{pe.ProjectivePoint.fromHex(t)}catch(e){throw new O(String(e),"ERR_INVALID_PUBLIC_KEY")}}function gu(t){try{return pe.getPublicKey(t,!0)}catch(e){throw new O(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Ln=class{_key;constructor(e){Po(e),this._key=e}verify(e,r){return pu(this._key,r,e)}marshal(){return du(this._key)}get bytes(){return le.encode({Type:lt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}async hash(){let e=Ct.digest(this.bytes),r;return re(e)?{bytes:r}=await e:r=e.bytes,r}},Nn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??gu(e),yu(this._key),Po(this._publicKey)}sign(e){return hu(this._key,e)}get public(){return new Ln(this._publicKey)}marshal(){return this._key}get bytes(){return he.encode({Type:lt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Kt(this.bytes,e.bytes)}hash(){let e=Ct.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return bt(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Wr(this.bytes,e);throw new O(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Ry(t){return new Nn(t)}function Ly(t){return new Ln(t)}async function Ny(){let t=lu();return new Nn(t)}var Be={rsa:Ro,ed25519:Bo,secp256k1:Uo};function Ko(t){let e=Object.keys(Be).join(" / ");return new O(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Oo(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Be[t];throw Ko(t)}async function Dy(t,e){return Oo(t).generateKeyPair(e??2048)}async function ky(t,e,r){if(t.toLowerCase()!=="ed25519")throw new O("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return So(e)}function Py(t){let e=le.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case lt.RSA:return Be.rsa.unmarshalRsaPublicKey(r);case lt.Ed25519:return Be.ed25519.unmarshalEd25519PublicKey(r);case lt.Secp256k1:return Be.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Ko(e.Type??"unknown")}}function Uy(t,e){return e=(e??"rsa").toLowerCase(),Oo(e),t.bytes}async function mu(t){let e=he.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case lt.RSA:return Be.rsa.unmarshalRsaPrivateKey(r);case lt.Ed25519:return Be.ed25519.unmarshalEd25519PrivateKey(r);case lt.Secp256k1:return Be.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Ko(e.Type??"RSA")}}function Ky(t,e){return e=(e??"rsa").toLowerCase(),Oo(e),t.bytes}async function Oy(t,e){try{let i=await Fc(t,e);return await mu(i)}catch{}let r=Li.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new O("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Li.default.asn1.toDer(Li.default.pki.privateKeyToAsn1(r));return n=gt(n.getBytes(),"ascii"),Be.rsa.unmarshalRsaPrivateKey(n)}var My=It(Us(),1),Fy=It(wt(),1);function xu(){return BigInt(`0x${bt(mr(8),"base16")}`)}var bu=(t,e)=>{let r=gt(e.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(t.length+r.length);return n.set(t,0),n.set(r,t.length),n},vu=t=>Ct.encode(t);var wu=function(t){return Array.isArray(t)?t:[t]},Vy=async t=>{if(t.sequenceNumber==null||t.from==null||t.signature==null)return!1;let e=an(t.from);return e.publicKey!=null?!0:t.key!=null?(await Kn(t.key)).equals(e):!1},Eu=async t=>{if(t.from==null)throw new O("RPC message was missing from",Tt.ERR_MISSING_FROM);if(!await Vy(t))return{type:"unsigned",topic:t.topic??"",data:t.data??new Uint8Array(0)};let e=an(t.from),r={type:"signed",from:an(t.from),topic:t.topic??"",sequenceNumber:Hy(t.sequenceNumber??new Uint8Array(0)),data:t.data??new Uint8Array(0),signature:t.signature??new Uint8Array(0),key:t.key??e.publicKey??new Uint8Array(0)};if(r.key.length===0)throw new O("Signed RPC message was missing key",Tt.ERR_MISSING_KEY);return r},kn=t=>t.type==="signed"?{from:t.from.multihash.bytes,data:t.data,sequenceNumber:qy(t.sequenceNumber),topic:t.topic,signature:t.signature,key:t.key}:{data:t.data,topic:t.topic},qy=t=>{let e=t.toString(16);return e.length%2!==0&&(e=`0${e}`),gt(e,"base16")},Hy=t=>BigInt(`0x${bt(t,"base16")}`);var Su=gt("libp2p-pubsub:");async function Bu(t,e,r){if(t.privateKey==null)throw new Error("Cannot sign message, no private key present");if(t.publicKey==null)throw new Error("Cannot sign message, no public key present");let n={type:"signed",topic:e.topic,data:e.data,sequenceNumber:e.sequenceNumber,from:t},i=Vt([Su,r(kn(n)).subarray()]),s=await Dn.unmarshalPrivateKey(t.privateKey);return n.signature=await s.sign(i),n.key=t.publicKey,n}async function Au(t,e){if(t.type!=="signed")throw new Error('Message type must be "signed" to be verified');if(t.signature==null)throw new Error("Message must contain a signature to be verified");if(t.from==null)throw new Error("Message must contain a from property to be verified");let r=Vt([Su,e({...kn(t),signature:void 0,key:void 0}).subarray()]),n=await zy(t);return Dn.unmarshalPublicKey(n).verify(r,t.signature)}async function zy(t){if(t.type!=="signed")throw new Error('Message type must be "signed" to have a public key');if(t.from==null)throw new Error("Could not get the public key from the originator id");if(t.key!=null){let e=await Kn(t.key);if(e.publicKey!=null)return e.publicKey}if(t.from.publicKey!=null)return t.from.publicKey;throw new Error("Could not get the public key from the originator id")}var Ni=class extends wr{log;started;topics;subscriptions;peers;globalSignaturePolicy;canRelayMessage;emitSelf;topicValidators;queue;multicodecs;components;_registrarTopologyIds;enabled;maxInboundStreams;maxOutboundStreams;constructor(e,r){super();let{multicodecs:n=[],globalSignaturePolicy:i="StrictSign",canRelayMessage:s=!1,emitSelf:o=!1,messageProcessingConcurrency:a=10,maxInboundStreams:c=1,maxOutboundStreams:u=1}=r;this.log=e.logger.forComponent("libp2p:pubsub"),this.components=e,this.multicodecs=wu(n),this.enabled=r.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new Nr,this.globalSignaturePolicy=i==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=s,this.emitSelf=o,this.topicValidators=new Map,this.queue=new hn({concurrency:a}),this.maxInboundStreams=c,this.maxOutboundStreams=u,this._onIncomingStream=this._onIncomingStream.bind(this),this._onPeerConnected=this._onPeerConnected.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this)}async start(){if(this.started||!this.enabled)return;this.log("starting");let e=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>{await e.handle(n,this._onIncomingStream,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams})}));let r={onConnect:this._onPeerConnected,onDisconnect:this._onPeerDisconnected};this._registrarTopologyIds=await Promise.all(this.multicodecs.map(async n=>e.register(n,r))),this.log("started"),this.started=!0}async stop(){if(!this.started||!this.enabled)return;let e=this.components.registrar;this._registrarTopologyIds!=null&&this._registrarTopologyIds?.forEach(r=>{e.unregister(r)}),await Promise.all(this.multicodecs.map(async r=>{await e.unhandle(r)})),this.log("stopping");for(let r of this.peers.values())r.close();this.peers.clear(),this.subscriptions=new Set,this.started=!1,this.log("stopped")}isStarted(){return this.started}_onIncomingStream(e){let{stream:r,connection:n}=e,i=n.remotePeer;if(r.protocol==null){r.abort(new Error("Stream was not multiplexed"));return}let s=this.addPeer(i,r.protocol),o=s.attachInboundStream(r);this.processMessages(i,o,s).catch(a=>{this.log(a)})}_onPeerConnected(e,r){if(this.log("connected %p",e),r.streams.find(n=>n.direction==="outbound"&&n.protocol!=null&&this.multicodecs.includes(n.protocol))!=null){this.log("outbound pubsub streams already present on connection from %p",e);return}Promise.resolve().then(async()=>{try{let n=await r.newStream(this.multicodecs);if(n.protocol==null){n.abort(new Error("Stream was not multiplexed"));return}await this.addPeer(e,n.protocol).attachOutboundStream(n)}catch(n){this.log.error(n)}this.send(e,{subscriptions:Array.from(this.subscriptions).map(n=>n.toString()),subscribe:!0})}).catch(n=>{this.log.error(n)})}_onPeerDisconnected(e,r){let n=e.toString();this.log("connection ended",n),this._removePeer(e)}addPeer(e,r){let n=this.peers.get(e);if(n!=null)return n;this.log("new peer %p",e);let i=new Gn(this.components,{id:e,protocol:r});return this.peers.set(e,i),i.addEventListener("close",()=>this._removePeer(e),{once:!0}),i}_removePeer(e){let r=this.peers.get(e);if(r!=null){r.close(),this.log("delete peer %p",e),this.peers.delete(e);for(let n of this.topics.values())n.delete(e);return r}}async processMessages(e,r,n){try{await cn(r,async i=>{for await(let s of i){let o=this.decodeRpc(s),a=[];for(let c of o.messages??[]){if(c.from==null||c.data==null||c.topic==null){this.log("message from %p was missing from, data or topic fields, dropping",e);continue}a.push({from:c.from,data:c.data,topic:c.topic,sequenceNumber:c.sequenceNumber??void 0,signature:c.signature??void 0,key:c.key??void 0})}this.processRpc(e,n,{subscriptions:(o.subscriptions??[]).map(c=>({subscribe:!!c.subscribe,topic:c.topic??""})),messages:a}).catch(c=>{this.log(c)})}})}catch(i){this._onPeerDisconnected(n.id,i)}}async processRpc(e,r,n){if(!this.acceptFrom(e))return this.log("received message from unacceptable peer %p",e),!1;this.log("rpc from %p",e);let{subscriptions:i,messages:s}=n;return i!=null&&i.length>0&&(this.log("subscription update from %p",e),i.forEach(o=>{this.processRpcSubOpt(e,o)}),super.dispatchEvent(new de("subscription-change",{detail:{peerId:r.id,subscriptions:i.map(({topic:o,subscribe:a})=>({topic:`${o??""}`,subscribe:!!a}))}}))),s!=null&&s.length>0&&(this.log("messages from %p",e),this.queue.addAll(s.map(o=>async()=>{if(o.topic==null||!this.subscriptions.has(o.topic)&&!this.canRelayMessage)return this.log("received message we didn't subscribe to. Dropping."),!1;try{let a=await Eu(o);await this.processMessage(e,a)}catch(a){this.log.error(a)}})).catch(o=>{this.log(o)})),!0}processRpcSubOpt(e,r){let n=r.topic;if(n==null)return;let i=this.topics.get(n);i==null&&(i=new Dr,this.topics.set(n,i)),r.subscribe===!0?i.add(e):i.delete(e)}async processMessage(e,r){if(!(this.components.peerId.equals(e)&&!this.emitSelf)){try{await this.validate(e,r)}catch(n){this.log("Message is invalid, dropping it. %O",n);return}this.subscriptions.has(r.topic)&&(!this.components.peerId.equals(e)||this.emitSelf)&&super.dispatchEvent(new de("message",{detail:r})),await this.publishMessage(e,r)}}getMsgId(e){switch(this.globalSignaturePolicy){case"StrictSign":if(e.type!=="signed")throw new O('Message type should be "signed" when signature policy is StrictSign but it was not',Tt.ERR_MISSING_SIGNATURE);if(e.sequenceNumber==null)throw new O("Need seqno when signature policy is StrictSign but it was missing",Tt.ERR_MISSING_SEQNO);if(e.key==null)throw new O("Need key when signature policy is StrictSign but it was missing",Tt.ERR_MISSING_KEY);return bu(e.key,e.sequenceNumber);case"StrictNoSign":return vu(e.data);default:throw new O("Cannot get message id: unhandled signature policy",Tt.ERR_UNHANDLED_SIGNATURE_POLICY)}}acceptFrom(e){return!0}send(e,r){let{messages:n,subscriptions:i,subscribe:s}=r;this.sendRpc(e,{subscriptions:(i??[]).map(o=>({topic:o,subscribe:!!s})),messages:(n??[]).map(kn)})}sendRpc(e,r){let n=this.peers.get(e);if(n==null){this.log.error("Cannot send RPC to %p as there are no streams to it available",e);return}if(!n.isWritable){this.log.error("Cannot send RPC to %p as there is no outbound stream to it available",e);return}n.write(this.encodeRpc(r))}async validate(e,r){switch(this.globalSignaturePolicy){case"StrictNoSign":if(r.type!=="unsigned")throw new O('Message type should be "unsigned" when signature policy is StrictNoSign but it was not',Tt.ERR_MISSING_SIGNATURE);if(r.signature!=null)throw new O("StrictNoSigning: signature should not be present",Tt.ERR_UNEXPECTED_SIGNATURE);if(r.key!=null)throw new O("StrictNoSigning: key should not be present",Tt.ERR_UNEXPECTED_KEY);if(r.sequenceNumber!=null)throw new O("StrictNoSigning: seqno should not be present",Tt.ERR_UNEXPECTED_SEQNO);break;case"StrictSign":if(r.type!=="signed")throw new O('Message type should be "signed" when signature policy is StrictSign but it was not',Tt.ERR_MISSING_SIGNATURE);if(r.signature==null)throw new O("StrictSigning: Signing required and no signature was present",Tt.ERR_MISSING_SIGNATURE);if(r.sequenceNumber==null)throw new O("StrictSigning: Signing required and no sequenceNumber was present",Tt.ERR_MISSING_SEQNO);if(!await Au(r,this.encodeMessage.bind(this)))throw new O("StrictSigning: Invalid message signature",Tt.ERR_INVALID_SIGNATURE);break;default:throw new O("Cannot validate message: unhandled signature policy",Tt.ERR_UNHANDLED_SIGNATURE_POLICY)}let i=this.topicValidators.get(r.topic);if(i!=null){let s=await i(e,r);if(s===jr.Reject||s===jr.Ignore)throw new O("Message validation failed",Tt.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(e){switch(this.globalSignaturePolicy){case"StrictSign":return Bu(this.components.peerId,e,this.encodeMessage.bind(this));case"StrictNoSign":return Promise.resolve({type:"unsigned",...e});default:throw new O("Cannot build message: unhandled signature policy",Tt.ERR_UNHANDLED_SIGNATURE_POLICY)}}getSubscribers(e){if(!this.started)throw new O("not started yet","ERR_NOT_STARTED_YET");if(e==null)throw new O("topic is required","ERR_NOT_VALID_TOPIC");let r=this.topics.get(e.toString());return r==null?[]:Array.from(r.values())}async publish(e,r){if(!this.started)throw new Error("Pubsub has not started");let n={from:this.components.peerId,topic:e,data:r??new Uint8Array(0),sequenceNumber:xu()};this.log("publish topic: %s from: %p data: %m",e,n.from,n.data);let i=await this.buildMessage(n),s=!1;this.emitSelf&&this.subscriptions.has(e)&&(s=!0,super.dispatchEvent(new de("message",{detail:i})));let o=await this.publishMessage(this.components.peerId,i);return s&&(o.recipients=[...o.recipients,this.components.peerId]),o}subscribe(e){if(!this.started)throw new Error("Pubsub has not started");if(this.log("subscribe to topic: %s",e),!this.subscriptions.has(e)){this.subscriptions.add(e);for(let r of this.peers.keys())this.send(r,{subscriptions:[e],subscribe:!0})}}unsubscribe(e){if(!this.started)throw new Error("Pubsub is not started");super.removeEventListener(e);let r=this.subscriptions.has(e);if(this.log("unsubscribe from %s - am subscribed %s",e,r),r){this.subscriptions.delete(e);for(let n of this.peers.keys())this.send(n,{subscriptions:[e],subscribe:!1})}}getTopics(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.subscriptions)}getPeers(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.peers.keys())}};var Di=class{entries;validityMs;lastPruneTime=0;constructor(e){this.entries=new Map,this.validityMs=e.validityMs}put(e,r){this.entries.set(e,{value:r,validUntilMs:Date.now()+this.validityMs}),this.prune()}prune(){let e=Date.now();if(!(e-this.lastPruneTime<200)){this.lastPruneTime=e;for(let[r,n]of this.entries.entries())if(n.validUntilMs<e)this.entries.delete(r);else break}}has(e){return this.entries.has(e)}get(e){let r=this.entries.get(e);return r!=null&&r.validUntilMs>=Date.now()?r.value:void 0}clear(){this.entries=new Map,this.lastPruneTime=0}};var Mo="/floodsub/1.0.0";var vr;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=Xt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.subscribe!=null&&(a.uint32(8),a.bool(o.subscribe)),o.topic!=null&&(a.uint32(18),a.string(o.topic)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let f=o.uint32();switch(f>>>3){case 1:c.subscribe=o.bool();break;case 2:c.topic=o.string();break;default:o.skipType(f&7);break}}return c})),s),i.encode=o=>Qt(o,i.codec()),i.decode=o=>Zt(o,i.codec())})(e=t.SubOpts||(t.SubOpts={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=Xt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.from!=null&&(a.uint32(10),a.bytes(o.from)),o.data!=null&&(a.uint32(18),a.bytes(o.data)),o.sequenceNumber!=null&&(a.uint32(26),a.bytes(o.sequenceNumber)),o.topic!=null&&(a.uint32(34),a.string(o.topic)),o.signature!=null&&(a.uint32(42),a.bytes(o.signature)),o.key!=null&&(a.uint32(50),a.bytes(o.key)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let f=o.uint32();switch(f>>>3){case 1:c.from=o.bytes();break;case 2:c.data=o.bytes();break;case 3:c.sequenceNumber=o.bytes();break;case 4:c.topic=o.string();break;case 5:c.signature=o.bytes();break;case 6:c.key=o.bytes();break;default:o.skipType(f&7);break}}return c})),s),i.encode=o=>Qt(o,i.codec()),i.decode=o=>Zt(o,i.codec())})(r=t.Message||(t.Message={}));let n;t.codec=()=>(n==null&&(n=Xt((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.subscriptions!=null)for(let a of i.subscriptions)s.uint32(10),t.SubOpts.codec().encode(a,s);if(i.messages!=null)for(let a of i.messages)s.uint32(18),t.Message.codec().encode(a,s);i.control!=null&&(s.uint32(26),ki.codec().encode(i.control,s)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={subscriptions:[],messages:[]},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.subscriptions.push(t.SubOpts.codec().decode(i,i.uint32()));break;case 2:o.messages.push(t.Message.codec().decode(i,i.uint32()));break;case 3:o.control=ki.codec().decode(i,i.uint32());break;default:i.skipType(c&7);break}}return o})),n),t.encode=i=>Qt(i,t.codec()),t.decode=i=>Zt(i,t.codec())})(vr||(vr={}));var ki;(function(t){let e;t.codec=()=>(e==null&&(e=Xt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.ihave!=null)for(let s of r.ihave)n.uint32(10),Pi.codec().encode(s,n);if(r.iwant!=null)for(let s of r.iwant)n.uint32(18),Ui.codec().encode(s,n);if(r.graft!=null)for(let s of r.graft)n.uint32(26),Ki.codec().encode(s,n);if(r.prune!=null)for(let s of r.prune)n.uint32(34),Oi.codec().encode(s,n);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={ihave:[],iwant:[],graft:[],prune:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.ihave.push(Pi.codec().decode(r,r.uint32()));break;case 2:i.iwant.push(Ui.codec().decode(r,r.uint32()));break;case 3:i.graft.push(Ki.codec().decode(r,r.uint32()));break;case 4:i.prune.push(Oi.codec().decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Qt(r,t.codec()),t.decode=r=>Zt(r,t.codec())})(ki||(ki={}));var Pi;(function(t){let e;t.codec=()=>(e==null&&(e=Xt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.topic!=null&&(n.uint32(10),n.string(r.topic)),r.messageIDs!=null)for(let s of r.messageIDs)n.uint32(18),n.bytes(s);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={messageIDs:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.topic=r.string();break;case 2:i.messageIDs.push(r.bytes());break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Qt(r,t.codec()),t.decode=r=>Zt(r,t.codec())})(Pi||(Pi={}));var Ui;(function(t){let e;t.codec=()=>(e==null&&(e=Xt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.messageIDs!=null)for(let s of r.messageIDs)n.uint32(10),n.bytes(s);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={messageIDs:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.messageIDs.push(r.bytes());break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Qt(r,t.codec()),t.decode=r=>Zt(r,t.codec())})(Ui||(Ui={}));var Ki;(function(t){let e;t.codec=()=>(e==null&&(e=Xt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.topic!=null&&(n.uint32(10),n.string(r.topic)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.topic=r.string();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Qt(r,t.codec()),t.decode=r=>Zt(r,t.codec())})(Ki||(Ki={}));var Oi;(function(t){let e;t.codec=()=>(e==null&&(e=Xt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.topic!=null&&(n.uint32(10),n.string(r.topic)),r.peers!=null)for(let s of r.peers)n.uint32(18),Mi.codec().encode(s,n);r.backoff!=null&&(n.uint32(24),n.uint64(r.backoff)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={peers:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.topic=r.string();break;case 2:i.peers.push(Mi.codec().decode(r,r.uint32()));break;case 3:i.backoff=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Qt(r,t.codec()),t.decode=r=>Zt(r,t.codec())})(Oi||(Oi={}));var Mi;(function(t){let e;t.codec=()=>(e==null&&(e=Xt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.peerID!=null&&(n.uint32(10),n.bytes(r.peerID)),r.signedPeerRecord!=null&&(n.uint32(18),n.bytes(r.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.peerID=r.bytes();break;case 2:i.signedPeerRecord=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Qt(r,t.codec()),t.decode=r=>Zt(r,t.codec())})(Mi||(Mi={}));var Fi=class extends Ni{seenCache;constructor(e,r){super(e,{...r,canRelayMessage:!0,multicodecs:[Mo]}),this.log=e.logger.forComponent("libp2p:floodsub"),this.seenCache=new Di({validityMs:r?.seenTTL??3e4})}decodeRpc(e){return vr.decode(e)}encodeRpc(e){return vr.encode(e)}decodeMessage(e){return vr.Message.decode(e)}encodeMessage(e){return vr.Message.encode(e)}async processMessage(e,r){let n=await super.getMsgId(r),i=bt(n,"base64");this.seenCache.has(i)||(this.seenCache.put(i,!0),await super.processMessage(e,r))}async publishMessage(e,r){let n=this.getSubscribers(r.topic),i=[];return n==null||n.length===0?(this.log("no peers are subscribed to topic %s",r.topic),{recipients:i}):(n.forEach(s=>{if(this.components.peerId.equals(s)){this.log("not sending message on topic %s to myself",r.topic);return}if(s.equals(e)){this.log("not sending message on topic %s to sender %p",r.topic,s);return}this.log("publish msgs on topics %s %p",r.topic,s),i.push(s),this.send(s,{messages:[r]})}),{recipients:i})}};function Gy(t={}){return e=>new Fi(e,t)}return Mu(Yy);})();
2
+ "use strict";var Libp2PFloodsub=(()=>{var _u=Object.create;var ln=Object.defineProperty;var Tu=Object.getOwnPropertyDescriptor;var Cu=Object.getOwnPropertyNames;var Lu=Object.getPrototypeOf,Uu=Object.prototype.hasOwnProperty;var Vs=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),it=(r,t)=>{for(var e in t)ln(r,e,{get:t[e],enumerable:!0})},Ro=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Cu(t))!Uu.call(r,s)&&s!==e&&ln(r,s,{get:()=>t[s],enumerable:!(n=Tu(t,s))||n.enumerable});return r};var Ms=(r,t,e)=>(e=r!=null?_u(Lu(r)):{},Ro(t||!r||!r.__esModule?ln(e,"default",{value:r,enumerable:!0}):e,r)),Du=r=>Ro(ln({},"__esModule",{value:!0}),r);var ra=Vs((sg,fi)=>{"use strict";var jl=Object.prototype.hasOwnProperty,Bt="~";function Kr(){}Object.create&&(Kr.prototype=Object.create(null),new Kr().__proto__||(Bt=!1));function Zl(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function ea(r,t,e,n,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new Zl(e,n||r,s),o=Bt?Bt+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],i]:r._events[o].push(i):(r._events[o]=i,r._eventsCount++),r}function gn(r,t){--r._eventsCount===0?r._events=new Kr:delete r._events[t]}function yt(){this._events=new Kr,this._eventsCount=0}yt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)jl.call(e,n)&&t.push(Bt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};yt.prototype.listeners=function(t){var e=Bt?Bt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var s=0,i=n.length,o=new Array(i);s<i;s++)o[s]=n[s].fn;return o};yt.prototype.listenerCount=function(t){var e=Bt?Bt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};yt.prototype.emit=function(t,e,n,s,i,o){var a=Bt?Bt+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,f,u;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,s),!0;case 5:return c.fn.call(c.context,e,n,s,i),!0;case 6:return c.fn.call(c.context,e,n,s,i,o),!0}for(u=1,f=new Array(l-1);u<l;u++)f[u-1]=arguments[u];c.fn.apply(c.context,f)}else{var p=c.length,w;for(u=0;u<p;u++)switch(c[u].once&&this.removeListener(t,c[u].fn,void 0,!0),l){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,e);break;case 3:c[u].fn.call(c[u].context,e,n);break;case 4:c[u].fn.call(c[u].context,e,n,s);break;default:if(!f)for(w=1,f=new Array(l-1);w<l;w++)f[w-1]=arguments[w];c[u].fn.apply(c[u].context,f)}}return!0};yt.prototype.on=function(t,e,n){return ea(this,t,e,n,!1)};yt.prototype.once=function(t,e,n){return ea(this,t,e,n,!0)};yt.prototype.removeListener=function(t,e,n,s){var i=Bt?Bt+t:t;if(!this._events[i])return this;if(!e)return gn(this,i),this;var o=this._events[i];if(o.fn)o.fn===e&&(!s||o.once)&&(!n||o.context===n)&&gn(this,i);else{for(var a=0,c=[],l=o.length;a<l;a++)(o[a].fn!==e||s&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[i]=c.length===1?c[0]:c:gn(this,i)}return this};yt.prototype.removeAllListeners=function(t){var e;return t?(e=Bt?Bt+t:t,this._events[e]&&gn(this,e)):(this._events=new Kr,this._eventsCount=0),this};yt.prototype.off=yt.prototype.removeListener;yt.prototype.addListener=yt.prototype.on;yt.prefixed=Bt;yt.EventEmitter=yt;typeof fi<"u"&&(fi.exports=yt)});var ga=Vs((Pg,pa)=>{"use strict";function da(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function nf(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return da(r,e)}catch{e.message=r.message,e.stack=r.stack;let s=function(){};return s.prototype=Object.create(Object.getPrototypeOf(r)),da(new s,e)}}pa.exports=nf});var cc=Vs(Nr=>{"use strict";var Uh="[object ArrayBuffer]",ue=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===Uh}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let i=0;i<n.length;i++)if(n[i]!==s[i])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let o of e)n+=o.byteLength;let s=new Uint8Array(n),i=0;for(let o of e){let a=this.toUint8Array(o);s.set(a,i),i+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},ro="string",Dh=/^[0-9a-f]+$/i,Ph=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Oh=/^[a-zA-Z0-9-_]+$/,Mn=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=ue.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},Ut=class{static toString(t,e=!1){let n=ue.toArrayBuffer(t),s=new DataView(n),i="";for(let o=0;o<n.byteLength;o+=2){let a=s.getUint16(o,e);i+=String.fromCharCode(a)}return i}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let i=0;i<t.length;i++)s.setUint16(i*2,t.charCodeAt(i),e);return n}},Hn=class r{static isHex(t){return typeof t===ro&&Dh.test(t)}static isBase64(t){return typeof t===ro&&Ph.test(t)}static isBase64Url(t){return typeof t===ro&&Oh.test(t)}static ToString(t,e="utf8"){let n=ue.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return Ut.toString(n,!0);case"utf16":case"utf16be":return Ut.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return Ut.fromString(t,!0);case"utf16":case"utf16be":return Ut.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=ue.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return Mn.fromString(t);case"utf16":case"utf16be":return Ut.fromString(t);case"utf16le":case"usc2":return Ut.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return Mn.toString(t);case"utf16":case"utf16be":return Ut.toString(t);case"utf16le":case"usc2":return Ut.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=ue.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=ue.toUint8Array(t),n="",s=e.length;for(let i=0;i<s;i++){let o=e[i];o<16&&(n+="0"),n+=o.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let i=e.slice(s,s+2);n[s/2]=parseInt(i,16)}return n.buffer}static ToUtf16String(t,e=!1){return Ut.toString(t,e)}static FromUtf16String(t,e=!1){return Ut.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};Hn.DEFAULT_UTF8_ENCODING="utf8";function Vh(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let i in s)e[i]=s[i]}return e}function Mh(...r){let t=r.map(s=>s.byteLength).reduce((s,i)=>s+i),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let i of s)e[n++]=i}),e.buffer}function Hh(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}Nr.BufferSourceConverter=ue;Nr.Convert=Hn;Nr.assign=Vh;Nr.combine=Mh;Nr.isEqual=Hh});var Td={};it(Td,{FloodSub:()=>Ps,floodsub:()=>_d,multicodec:()=>xo});var Ld=Symbol.for("@libp2p/connection");var Dd=Symbol.for("@libp2p/content-routing");var Vd=Symbol.for("@libp2p/peer-discovery");var _o=Symbol.for("@libp2p/peer-id");var Kd=Symbol.for("@libp2p/peer-routing");var Lr;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(Lr||(Lr={}));var Gd=Symbol.for("@libp2p/transport");var To;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(To||(To={}));var A=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Xe=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let s=this.#t.get(t);s!=null&&(s=s.filter(({callback:i})=>i!==e),this.#t.set(t,s))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:s})=>!s),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new Gt(t,e))}},Hs=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},Gt=globalThis.CustomEvent??Hs;var Gs={};it(Gs,{base58btc:()=>vt,base58flickr:()=>Ku});var Bp=new Uint8Array(0);function Co(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function te(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Lo(r){return new TextEncoder().encode(r)}function Uo(r){return new TextDecoder().decode(r)}function Pu(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),o=i.charCodeAt(0);if(e[o]!==255)throw new TypeError(i+" is ambiguous");e[o]=s}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function u(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var h=0,d=0,m=0,x=g.length;m!==x&&g[m]===0;)m++,h++;for(var b=(x-m)*f+1>>>0,T=new Uint8Array(b);m!==x;){for(var E=g[m],S=0,R=b-1;(E!==0||S<d)&&R!==-1;R--,S++)E+=256*T[R]>>>0,T[R]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");d=S,m++}for(var _=b-d;_!==b&&T[_]===0;)_++;for(var q=c.repeat(h);_<b;++_)q+=r.charAt(T[_]);return q}function p(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;var h=0;if(g[h]!==" "){for(var d=0,m=0;g[h]===c;)d++,h++;for(var x=(g.length-h)*l+1>>>0,b=new Uint8Array(x);g[h];){var T=e[g.charCodeAt(h)];if(T===255)return;for(var E=0,S=x-1;(T!==0||E<m)&&S!==-1;S--,E++)T+=a*b[S]>>>0,b[S]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");m=E,h++}if(g[h]!==" "){for(var R=x-m;R!==x&&b[R]===0;)R++;for(var _=new Uint8Array(d+(x-R)),q=d;R!==x;)_[q++]=b[R++];return _}}}function w(g){var h=p(g);if(h)return h;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:p,decode:w}}var Ou=Pu,Vu=Ou,Po=Vu;var Ks=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Fs=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Oo(this,t)}},qs=class{decoders;constructor(t){this.decoders=t}or(t){return Oo(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Oo(r,t){return new qs({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var $s=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Ks(t,e,n),this.decoder=new Fs(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Qe({name:r,prefix:t,encode:e,decode:n}){return new $s(r,t,e,n)}function ye({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Po(e,r);return Qe({prefix:t,name:r,encode:n,decode:i=>te(s(i))})}function Mu(r,t,e,n){let s={};for(let f=0;f<t.length;++f)s[t[f]]=f;let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*e/8|0),a=0,c=0,l=0;for(let f=0;f<i;++f){let u=s[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|u,a+=e,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function Hu(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,i="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,i+=t[s&a>>o];if(o!==0&&(i+=t[s&a<<e-o]),n)for(;i.length*e&7;)i+="=";return i}function tt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return Qe({prefix:t,name:r,encode(s){return Hu(s,n,e)},decode(s){return Mu(s,n,e,r)}})}var vt=ye({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ku=ye({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var zs={};it(zs,{base10:()=>Fu});var Fu=ye({prefix:"9",name:"base10",alphabet:"0123456789"});var Ys={};it(Ys,{base16:()=>qu,base16upper:()=>$u});var qu=tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$u=tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var js={};it(js,{base2:()=>Gu});var Gu=tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Zs={};it(Zs,{base256emoji:()=>Wu});var Vo=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),zu=Vo.reduce((r,t,e)=>(r[e]=t,r),[]),Yu=Vo.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function ju(r){return r.reduce((t,e)=>(t+=zu[e],t),"")}function Zu(r){let t=[];for(let e of r){let n=Yu[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Wu=Qe({prefix:"\u{1F680}",name:"base256emoji",encode:ju,decode:Zu});var Ws={};it(Ws,{base32:()=>tr,base32hex:()=>tl,base32hexpad:()=>rl,base32hexpadupper:()=>nl,base32hexupper:()=>el,base32pad:()=>Xu,base32padupper:()=>Qu,base32upper:()=>Ju,base32z:()=>sl});var tr=tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Ju=tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xu=tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Qu=tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),tl=tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),el=tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rl=tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nl=tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sl=tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Js={};it(Js,{base36:()=>il,base36upper:()=>ol});var il=ye({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ol=ye({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Xs={};it(Xs,{base64:()=>er,base64pad:()=>al,base64url:()=>cl,base64urlpad:()=>ul});var er=tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),al=tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),cl=tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ul=tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qs={};it(Qs,{base8:()=>ll});var ll=tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ti={};it(ti,{identity:()=>fl});var fl=Qe({prefix:"\0",name:"identity",encode:r=>Uo(r),decode:r=>Lo(r)});var Mp=new TextEncoder,Hp=new TextDecoder;var ri={};it(ri,{identity:()=>be});var pl=Ko,Mo=128,gl=127,ml=~gl,yl=Math.pow(2,31);function Ko(r,t,e){t=t||[],e=e||0;for(var n=e;r>=yl;)t[e++]=r&255|Mo,r/=128;for(;r&ml;)t[e++]=r&255|Mo,r>>>=7;return t[e]=r|0,Ko.bytes=e-n+1,t}var bl=ei,wl=128,Ho=127;function ei(r,n){var e=0,n=n||0,s=0,i=n,o,a=r.length;do{if(i>=a)throw ei.bytes=0,new RangeError("Could not decode varint");o=r[i++],e+=s<28?(o&Ho)<<s:(o&Ho)*Math.pow(2,s),s+=7}while(o>=wl);return ei.bytes=i-n,e}var xl=Math.pow(2,7),El=Math.pow(2,14),vl=Math.pow(2,21),Bl=Math.pow(2,28),Al=Math.pow(2,35),Sl=Math.pow(2,42),kl=Math.pow(2,49),Il=Math.pow(2,56),Nl=Math.pow(2,63),Rl=function(r){return r<xl?1:r<El?2:r<vl?3:r<Bl?4:r<Al?5:r<Sl?6:r<kl?7:r<Il?8:r<Nl?9:10},_l={encode:pl,decode:bl,encodingLength:Rl},Tl=_l,Ur=Tl;function Dr(r,t=0){return[Ur.decode(r,t),Ur.decode.bytes]}function rr(r,t,e=0){return Ur.encode(r,t,e),t}function nr(r){return Ur.encodingLength(r)}function zt(r,t){let e=t.byteLength,n=nr(r),s=n+nr(e),i=new Uint8Array(s+e);return rr(r,i,0),rr(e,i,n),i.set(t,s),new sr(r,e,t,i)}function Pr(r){let t=te(r),[e,n]=Dr(t),[s,i]=Dr(t.subarray(n)),o=t.subarray(n+i);if(o.byteLength!==s)throw new Error("Incorrect length");return new sr(e,s,o,t)}function Fo(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Co(r.bytes,e.bytes)}}var sr=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};var qo=0,Cl="identity",$o=te;function Ll(r){return zt(qo,$o(r))}var be={code:qo,name:Cl,encode:$o,digest:Ll};var ii={};it(ii,{sha256:()=>ct,sha512:()=>Ul});function si({name:r,code:t,encode:e}){return new ni(r,t,e)}var ni=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?zt(this.code,e):e.then(n=>zt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function zo(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var ct=si({name:"sha2-256",code:18,encode:zo("SHA-256")}),Ul=si({name:"sha2-512",code:19,encode:zo("SHA-512")});function Yo(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Pl(e,oi(r),t??vt.encoder);default:return Ol(e,oi(r),t??tr.encoder)}}var jo=new WeakMap;function oi(r){let t=jo.get(r);if(t==null){let e=new Map;return jo.set(r,e),e}return t}var De=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Or)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Vl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=zt(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Fo(t.multihash,n.multihash)}toString(t){return Yo(this,t)}toJSON(){return{"/":Yo(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:s,multihash:i,bytes:o}=e;return new r(n,s,i,o??Zo(n,s,i.bytes))}else if(e[Ml]===!0){let{version:n,multihash:s,code:i}=e,o=Pr(s);return r.create(n,i,o)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Or)throw new Error(`Version 0 CID must use dag-pb (code: ${Or}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=Zo(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Or,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,s=te(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=s.subarray(e.multihashSize-e.digestSize),o=new sr(e.multihashCode,e.digestSize,i,s);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,p]=Dr(t.subarray(e));return e+=p,u},s=n(),i=Or;if(s===18?(s=0,e=0):i=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let o=e,a=n(),c=n(),l=e+c,f=l-o;return{version:s,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:l}}static parse(t,e){let[n,s]=Dl(t,e),i=r.decode(s);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return oi(i).set(n,t),i}};function Dl(r,t){switch(r[0]){case"Q":{let e=t??vt;return[vt.prefix,e.decode(`${vt.prefix}${r}`)]}case vt.prefix:{let e=t??vt;return[vt.prefix,e.decode(r)]}case tr.prefix:{let e=t??tr;return[tr.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Pl(r,t,e){let{prefix:n}=e;if(n!==vt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return s}function Ol(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let i=e.encode(r);return t.set(n,i),i}else return s}var Or=112,Vl=18;function Zo(r,t,e){let n=nr(r),s=n+nr(t),i=new Uint8Array(s+e.byteLength);return rr(r,i,0),rr(t,i,n),i.set(e,s),i}var Ml=Symbol.for("@ipld/js-cid/CID");var or={...ti,...js,...Qs,...zs,...Ys,...Ws,...Js,...Gs,...Xs,...Zs},a0={...ii,...ri};function mt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Hl=Symbol.for("nodejs.util.inspect.custom"),Wo=Object.values(or).map(r=>r.decoder).reduce((r,t)=>r.or(t),or.identity.decoder),Jo=114,ai=36,ci=37,Vr=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[_o]=!0;toString(){return this.string==null&&(this.string=vt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return De.createV1(Jo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return mt(this.multihash.bytes,t);if(typeof t=="string")return Yt(t).equals(this);if(t?.multihash?.bytes!=null)return mt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Hl](){return`PeerId(${this.toString()})`}},ar=class extends Vr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},cr=class extends Vr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},ur=class extends Vr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Yt(r,t){if(t=t??Wo,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Pr(vt.decode(`z${r}`));return r.startsWith("12D")?new cr({multihash:e}):r.startsWith("16U")?new ur({multihash:e}):new ar({multihash:e})}return Mr(Wo.decode(r))}function Mr(r){try{let t=Pr(r);if(t.code===be.code){if(t.digest.length===ai)return new cr({multihash:t});if(t.digest.length===ci)return new ur({multihash:t})}if(t.code===ct.code)return new ar({multihash:t})}catch{return Kl(De.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Kl(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Jo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===ct.code)return new ar({multihash:r.multihash});if(t.code===be.code){if(t.digest.length===ai)return new cr({multihash:r.multihash});if(t.digest.length===ci)return new ur({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function hn(r,t){return r.length===ai?new cr({multihash:zt(be.code,r),privateKey:t}):r.length===ci?new ur({multihash:zt(be.code,r),privateKey:t}):new ar({multihash:await ct.digest(r),publicKey:r,privateKey:t})}function Pe(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),s=n.value;return n.done===!0||s==null?{done:!0,value:void 0}:{done:!1,value:t(s)}}};return e}var lr=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){return this.map.delete(t.toString())}entries(){return Pe(this.map.entries(),t=>[Yt(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,Yt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return Pe(this.map.keys(),t=>Yt(t))}values(){return this.map.values()}get size(){return this.map.size}};var fr=class r{set;constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return Pe(this.set.entries(),t=>{let e=Yt(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=Yt(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Pe(this.set.values(),t=>Yt(t))}intersection(t){let e=new r;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new r;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new r;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};function dn(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var pn=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},hr=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new pn(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new pn(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var ui=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function dr(r={}){return ql(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function ql(r,t){t=t??{};let e=t.onEnd,n=new hr,s,i,o,a=dn(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((d,m)=>{i=x=>{i=null,n.push(x);try{d(r(n))}catch(b){m(b)}return s}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=dn()})}},l=d=>i!=null?i(d):(n.push(d),s),f=d=>(n=new hr,i!=null?i({error:d}):(n.push({error:d}),s)),u=d=>{if(o)return s;if(t?.objectMode!==!0&&d?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:d})},p=d=>o?s:(o=!0,d!=null?f(d):l({done:!0})),w=()=>(n=new hr,p(),{done:!0}),g=d=>(p(d),{done:!0});if(s={[Symbol.asyncIterator](){return this},next:c,return:w,throw:g,push:u,end:p,get readableLength(){return n.size},onEmpty:async d=>{let m=d?.signal;if(m?.throwIfAborted(),n.isEmpty())return;let x,b;m!=null&&(x=new Promise((T,E)=>{b=()=>{E(new ui)},m.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&m!=null&&m?.removeEventListener("abort",b)}}},e==null)return s;let h=s;return s={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(d){return h.throw(d),e!=null&&(e(d),e=void 0),{done:!0}},return(){return h.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(d){return h.end(d),e!=null&&(e(d),e=void 0),s},get readableLength(){return h.readableLength},onEmpty:d=>h.onEmpty(d)},s}function $l(r){return r[Symbol.asyncIterator]!=null}function Gl(...r){let t=[];for(let e of r)$l(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=dr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let s of n)e.push(s)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Xo=Gl;function Hr(r,...t){if(r==null)throw new Error("Empty pipeline");if(li(r)){let n=r;r=()=>n.source}else if(ta(r)||Qo(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&li(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)li(e[n])&&(e[n]=Yl(e[n]));return zl(...e)}var zl=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},Qo=r=>r?.[Symbol.asyncIterator]!=null,ta=r=>r?.[Symbol.iterator]!=null,li=r=>r==null?!1:r.sink!=null&&r.source!=null,Yl=r=>t=>{let e=r.sink(t);if(e?.then!=null){let n=dr({objectMode:!0});e.then(()=>{n.end()},o=>{n.end(o)});let s,i=r.source;if(Qo(i))s=async function*(){yield*i,n.end()};else if(ta(i))s=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Xo(n,s())}return r.source};var hi=Ms(ra(),1);var Fr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},di=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},na=r=>globalThis.DOMException===void 0?new di(r):new DOMException(r),sa=r=>{let t=r.reason===void 0?na("This operation was aborted."):r.reason;return t instanceof Error?t:na(t)};function pi(r,t){let{milliseconds:e,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=t,o,c=new Promise((l,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:p}=t;p.aborted&&f(sa(p)),p.addEventListener("abort",()=>{f(sa(p))})}if(e===Number.POSITIVE_INFINITY){r.then(l,f);return}let u=new Fr;o=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(p){f(p)}return}typeof r.cancel=="function"&&r.cancel(),s===!1?l():s instanceof Error?f(s):(u.message=s??`Promise timed out after ${e} milliseconds`,f(u))},e),(async()=>{try{l(await r)}catch(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function gi(r,t,e){let n=0,s=r.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;e(r[o],t)<=0?(n=++o,s-=i+1):s=i}return n}var qr=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let s=gi(this.#t,n,(i,o)=>o.priority-i.priority);this.#t.splice(s,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var $r=class extends hi.default{#t;#o;#i=0;#d;#a;#p=0;#r;#c;#e;#g;#n=0;#u;#s;#m;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:qr,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#o=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#d=t.intervalCap,this.#a=t.interval,this.#e=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#w(){return this.#o||this.#i<this.#d}get#x(){return this.#n<this.#u}#E(){this.#n--,this.#l(),this.emit("next")}#v(){this.#b(),this.#y(),this.#c=void 0}get#B(){let t=Date.now();if(this.#r===void 0){let e=this.#p-t;if(e<0)this.#i=this.#t?this.#n:0;else return this.#c===void 0&&(this.#c=setTimeout(()=>{this.#v()},e)),!0}return!1}#l(){if(this.#e.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#B;if(this.#w&&this.#x){let e=this.#e.dequeue();return e?(this.emit("active"),e(),t&&this.#y(),!0):!1}}return!1}#y(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#b()},this.#a),this.#p=Date.now()+this.#a)}#b(){this.#i===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#i=this.#t?this.#n:0,this.#f()}#f(){for(;this.#l(););}get concurrency(){return this.#u}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#u=t,this.#f()}async#A(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#m,...e},new Promise((n,s)=>{this.#e.enqueue(async()=>{this.#n++,this.#i++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=pi(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Fr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#E()}},e),this.emit("add"),this.#l()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#s?(this.#s=!1,this.#f(),this):this}pause(){this.#s=!0}clear(){this.#e=new this.#g}async onEmpty(){this.#e.size!==0&&await this.#h("empty")}async onSizeLessThan(t){this.#e.size<t||await this.#h("next",()=>this.#e.size<t)}async onIdle(){this.#n===0&&this.#e.size===0||await this.#h("idle")}async#h(t,e){return new Promise(n=>{let s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)})}get size(){return this.#e.size}sizeBy(t){return this.#e.filter(t).length}get pending(){return this.#n}get isPaused(){return this.#s}};var ut={ERR_INVALID_SIGNATURE_POLICY:"ERR_INVALID_SIGNATURE_POLICY",ERR_UNHANDLED_SIGNATURE_POLICY:"ERR_UNHANDLED_SIGNATURE_POLICY",ERR_MISSING_SIGNATURE:"ERR_MISSING_SIGNATURE",ERR_MISSING_SEQNO:"ERR_MISSING_SEQNO",ERR_MISSING_KEY:"ERR_MISSING_KEY",ERR_INVALID_SIGNATURE:"ERR_INVALID_SIGNATURE",ERR_MISSING_FROM:"ERR_MISSING_FROM",ERR_UNEXPECTED_FROM:"ERR_UNEXPECTED_FROM",ERR_UNEXPECTED_SIGNATURE:"ERR_UNEXPECTED_SIGNATURE",ERR_UNEXPECTED_KEY:"ERR_UNEXPECTED_KEY",ERR_UNEXPECTED_SEQNO:"ERR_UNEXPECTED_SEQNO",ERR_TOPIC_VALIDATOR_REJECT:"ERR_TOPIC_VALIDATOR_REJECT"};function ia(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function oa(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function aa(r,t){let e=ia(r).return?.();oa(e)&&e.catch(n=>{t.error("could not cause iterator to return",n)})}function we(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function ee(r=0){return globalThis.Buffer?.alloc!=null?we(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function bt(r=0){return globalThis.Buffer?.allocUnsafe!=null?we(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var Wl=Math.pow(2,7),Jl=Math.pow(2,14),Xl=Math.pow(2,21),mi=Math.pow(2,28),yi=Math.pow(2,35),bi=Math.pow(2,42),wi=Math.pow(2,49),$=128,wt=127;function Oe(r){if(r<Wl)return 1;if(r<Jl)return 2;if(r<Xl)return 3;if(r<mi)return 4;if(r<yi)return 5;if(r<bi)return 6;if(r<wi)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ql(r,t,e=0){switch(Oe(r)){case 8:t[e++]=r&255|$,r/=128;case 7:t[e++]=r&255|$,r/=128;case 6:t[e++]=r&255|$,r/=128;case 5:t[e++]=r&255|$,r/=128;case 4:t[e++]=r&255|$,r>>>=7;case 3:t[e++]=r&255|$,r>>>=7;case 2:t[e++]=r&255|$,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function tf(r,t,e=0){switch(Oe(r)){case 8:t.set(e++,r&255|$),r/=128;case 7:t.set(e++,r&255|$),r/=128;case 6:t.set(e++,r&255|$),r/=128;case 5:t.set(e++,r&255|$),r/=128;case 4:t.set(e++,r&255|$),r>>>=7;case 3:t.set(e++,r&255|$),r>>>=7;case 2:t.set(e++,r&255|$),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function ef(r,t){let e=r[t],n=0;if(n+=e&wt,e<$||(e=r[t+1],n+=(e&wt)<<7,e<$)||(e=r[t+2],n+=(e&wt)<<14,e<$)||(e=r[t+3],n+=(e&wt)<<21,e<$)||(e=r[t+4],n+=(e&wt)*mi,e<$)||(e=r[t+5],n+=(e&wt)*yi,e<$)||(e=r[t+6],n+=(e&wt)*bi,e<$)||(e=r[t+7],n+=(e&wt)*wi,e<$))return n;throw new RangeError("Could not decode varint")}function rf(r,t){let e=r.get(t),n=0;if(n+=e&wt,e<$||(e=r.get(t+1),n+=(e&wt)<<7,e<$)||(e=r.get(t+2),n+=(e&wt)<<14,e<$)||(e=r.get(t+3),n+=(e&wt)<<21,e<$)||(e=r.get(t+4),n+=(e&wt)*mi,e<$)||(e=r.get(t+5),n+=(e&wt)*yi,e<$)||(e=r.get(t+6),n+=(e&wt)*bi,e<$)||(e=r.get(t+7),n+=(e&wt)*wi,e<$))return n;throw new RangeError("Could not decode varint")}function ca(r,t,e=0){return t==null&&(t=bt(Oe(r))),t instanceof Uint8Array?Ql(r,t,e):tf(r,t,e)}function ua(r,t=0){return r instanceof Uint8Array?ef(r,t):rf(r,t)}function At(r,t){if(globalThis.Buffer!=null)return we(globalThis.Buffer.concat(r,t));t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=bt(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return we(e)}var ha=Symbol.for("@achingbrain/uint8arraylist");function fa(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function mn(r){return!!r?.[ha]}var xe=class r{bufs;length;[ha]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(mn(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(mn(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=fa(this.bufs,t);return e.buf[e.index]}set(t,e){let n=fa(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(mn(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:s}=this._subList(t,e);return At(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:At(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),i=new r;return i.length=s,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],s=0;for(let i=0;i<this.bufs.length;i++){let o=this.bufs[i],a=s,c=a+o.byteLength;if(s=c,t>=c)continue;let l=t>=a&&t<c,f=e>a&&e<=c;if(l&&f){if(t===a&&e===c){n.push(o);break}let u=t-a;n.push(o.subarray(u,u+(e-t)));break}if(l){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(f){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!mn(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let u=0;u<i;u++)o[u]=-1;for(let u=0;u<s;u++)o[n[u]]=u;let a=o,c=this.byteLength-n.byteLength,l=n.byteLength-1,f;for(let u=e;u<=c;u+=f){f=0;for(let p=l;p>=0;p--){let w=this.get(u+p);if(n[p]!==w){f=Math.max(1,p-a[w]);break}}if(f===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let s=ee(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let s=ee(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let s=ee(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=bt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let s=ee(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let s=ee(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let s=ee(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let s=ee(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let s=ee(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!mt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((s,i)=>s+i.byteLength,0)),n.length=e,n}};function yn(r){return r[Symbol.asyncIterator]!=null}var bn=r=>{let t=Oe(r),e=bt(t);return ca(r,e),bn.bytes=t,e};bn.bytes=0;function wn(r,t){t=t??{};let e=t.lengthEncoder??bn;function*n(s){let i=e(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return yn(r)?async function*(){for await(let s of r)yield*n(s)}():function*(){for(let s of r)yield*n(s)}()}wn.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??bn;return new xe(e(r.byteLength),r)};var pr=Ms(ga(),1);var sf=8,of=1024*1024*4,Ve;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Ve||(Ve={}));var xi=r=>{let t=ua(r);return xi.bytes=Oe(t),t};xi.bytes=0;function Gr(r,t){let e=new xe,n=Ve.LENGTH,s=-1,i=t?.lengthDecoder??xi,o=t?.maxLengthLength??sf,a=t?.maxDataLength??of;function*c(){for(;e.byteLength>0;){if(n===Ve.LENGTH)try{if(s=i(e),s<0)throw(0,pr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>a)throw(0,pr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=i.bytes;e.consume(l),t?.onLength!=null&&t.onLength(s),n=Ve.DATA}catch(l){if(l instanceof RangeError){if(e.byteLength>o)throw(0,pr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(n===Ve.DATA){if(e.byteLength<s)break;let l=e.sublist(0,s);e.consume(s),t?.onData!=null&&t.onData(l),yield l,n=Ve.LENGTH}}}return yn(r)?async function*(){for await(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw(0,pr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw(0,pr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Gr.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:i,value:o}=await r.next(e);if(i===!0)return;o!=null&&(yield o)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return Gr(n,{...t??{},onLength:i=>{e=i}})};var xn=class extends Xe{id;protocol;outboundStream;inboundStream;_rawOutboundStream;_rawInboundStream;_inboundAbortController;closed;log;constructor(t,e){super(),this.log=t.logger.forComponent("libp2p-pubsub:peer-streams"),this.id=e.id,this.protocol=e.protocol,this._inboundAbortController=new AbortController,this.closed=!1}get isReadable(){return!!this.inboundStream}get isWritable(){return!!this.outboundStream}write(t){if(this.outboundStream==null){let e=this.id.toString();throw new Error("No writable connection to "+e)}this.outboundStream.push(t instanceof Uint8Array?new xe(t):t)}attachInboundStream(t){let e=()=>{aa(t.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",e,{once:!0}),this._rawInboundStream=t,this.inboundStream=Hr(this._rawInboundStream,n=>Gr(n)),this.dispatchEvent(new Gt("stream:inbound")),this.inboundStream}async attachOutboundStream(t){let e=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=t,this.outboundStream=dr({onEnd:n=>{this._rawOutboundStream!=null&&this._rawOutboundStream.closeWrite().catch(s=>{this.log("error closing outbound stream",s)}),this._rawOutboundStream=void 0,this.outboundStream=void 0,n!=null&&this.dispatchEvent(new Gt("close"))}}),Hr(this.outboundStream,n=>wn(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),e==null&&this.dispatchEvent(new Gt("stream:outbound")),this.outboundStream}close(){this.closed||(this.closed=!0,this.outboundStream!=null&&this.outboundStream.end(),this.inboundStream!=null&&this._inboundAbortController.abort(),this._rawOutboundStream=void 0,this.outboundStream=void 0,this._rawInboundStream=void 0,this.inboundStream=void 0,this.dispatchEvent(new Gt("close")))}};var W={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var ma={SHA1:20,SHA256:32,SHA512:64};var cf={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},uf=async(r,t)=>{let e=await W.get().subtle.sign({name:"HMAC"},r,t);return new Uint8Array(e,0,e.byteLength)};async function ya(r,t){let e=cf[r],n=await W.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:e}},!1,["sign"]);return{async digest(s){return uf(n,s)},length:ma[r]}}var cn={};it(cn,{Ed25519PrivateKey:()=>ce,Ed25519PublicKey:()=>$e,MAX_RSA_KEY_SIZE:()=>Ye,RsaPrivateKey:()=>Te,RsaPublicKey:()=>ze,Secp256k1PrivateKey:()=>We,Secp256k1PublicKey:()=>Ze,generateEphemeralKeyPair:()=>sc,generateKeyPair:()=>xd,generateKeyPairFromSeed:()=>Ed,importKey:()=>Sd,keyStretcher:()=>ac,keysPBM:()=>kr,marshalPrivateKey:()=>Ad,marshalPublicKey:()=>Bd,supportedKeys:()=>me,unmarshalPrivateKey:()=>du,unmarshalPublicKey:()=>vd});var Qi={};it(Qi,{Ed25519PrivateKey:()=>ce,Ed25519PublicKey:()=>$e,generateKeyPair:()=>Nh,generateKeyPairFromSeed:()=>Xi,unmarshalEd25519PrivateKey:()=>kh,unmarshalEd25519PublicKey:()=>Ih});function xa(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var wa=xa("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ei=xa("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=bt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),lf={utf8:wa,"utf-8":wa,hex:or.base16,latin1:Ei,ascii:Ei,binary:Ei,...or},En=lf;function z(r,t="utf8"){let e=En[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?we(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function vi(r,t){let e=z(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=At([new Uint8Array(t-e.length),e])}return e}function Lt(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function gr(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function ff(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Bi(r,...t){if(!ff(r))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(r.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${r.length}`)}function vn(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");gr(r.outputLen),gr(r.blockLen)}function mr(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function Ea(r,t){Bi(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var Bn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function va(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}var br=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Pt=(r,t)=>r<<32-t|r>>>t,hf=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!hf)throw new Error("Non little-endian hardware is not supported");var df=async()=>{};async function Ba(r,t,e){let n=Date.now();for(let s=0;s<r;s++){e(s);let i=Date.now()-n;i>=0&&i<t||(await df(),n+=i)}}function Ai(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Ee(r){if(typeof r=="string"&&(r=Ai(r)),!va(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function An(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];if(!va(s))throw new Error("Uint8Array expected");t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}var yr=class{clone(){return this._cloneInto()}},pf={}.toString;function Aa(r,t){if(t!==void 0&&pf.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,t)}function Sn(r){let t=n=>r().update(Ee(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function wr(r=32){if(Bn&&typeof Bn.getRandomValues=="function")return Bn.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function gf(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(e>>s&i),a=Number(e&i),c=n?4:0,l=n?0:4;r.setUint32(t+c,o,n),r.setUint32(t+l,a,n)}var xr=class extends yr{constructor(t,e,n,s){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=br(this.buffer)}update(t){mr(this);let{view:e,buffer:n,blockLen:s}=this;t=Ee(t);let i=t.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=br(t);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){mr(this),Ea(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let u=o;u<s;u++)e[u]=0;gf(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=br(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,f=this.get();if(l>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,f[u],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return t.length=s,t.pos=a,t.finished=i,t.destroyed=o,s%e&&t.buffer.set(n),t}};var kn=BigInt(4294967295),Si=BigInt(32);function Sa(r,t=!1){return t?{h:Number(r&kn),l:Number(r>>Si&kn)}:{h:Number(r>>Si&kn)|0,l:Number(r&kn)|0}}function mf(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){let{h:i,l:o}=Sa(r[s],t);[e[s],n[s]]=[i,o]}return[e,n]}var yf=(r,t)=>BigInt(r>>>0)<<Si|BigInt(t>>>0),bf=(r,t,e)=>r>>>e,wf=(r,t,e)=>r<<32-e|t>>>e,xf=(r,t,e)=>r>>>e|t<<32-e,Ef=(r,t,e)=>r<<32-e|t>>>e,vf=(r,t,e)=>r<<64-e|t>>>e-32,Bf=(r,t,e)=>r>>>e-32|t<<64-e,Af=(r,t)=>t,Sf=(r,t)=>r,kf=(r,t,e)=>r<<e|t>>>32-e,If=(r,t,e)=>t<<e|r>>>32-e,Nf=(r,t,e)=>t<<e-32|r>>>64-e,Rf=(r,t,e)=>r<<e-32|t>>>64-e;function _f(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var Tf=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Cf=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,Lf=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Uf=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,Df=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),Pf=(r,t,e,n,s,i)=>t+e+n+s+i+(r/2**32|0)|0;var Of={fromBig:Sa,split:mf,toBig:yf,shrSH:bf,shrSL:wf,rotrSH:xf,rotrSL:Ef,rotrBH:vf,rotrBL:Bf,rotr32H:Af,rotr32L:Sf,rotlSH:kf,rotlSL:If,rotlBH:Nf,rotlBL:Rf,add:_f,add3L:Tf,add3H:Cf,add4L:Lf,add4H:Uf,add5H:Pf,add5L:Df},U=Of;var[Vf,Mf]=U.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),ve=new Uint32Array(80),Be=new Uint32Array(80),ki=class extends xr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:l,El:f,Fh:u,Fl:p,Gh:w,Gl:g,Hh:h,Hl:d}=this;return[t,e,n,s,i,o,a,c,l,f,u,p,w,g,h,d]}set(t,e,n,s,i,o,a,c,l,f,u,p,w,g,h,d){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=f|0,this.Fh=u|0,this.Fl=p|0,this.Gh=w|0,this.Gl=g|0,this.Hh=h|0,this.Hl=d|0}process(t,e){for(let b=0;b<16;b++,e+=4)ve[b]=t.getUint32(e),Be[b]=t.getUint32(e+=4);for(let b=16;b<80;b++){let T=ve[b-15]|0,E=Be[b-15]|0,S=U.rotrSH(T,E,1)^U.rotrSH(T,E,8)^U.shrSH(T,E,7),R=U.rotrSL(T,E,1)^U.rotrSL(T,E,8)^U.shrSL(T,E,7),_=ve[b-2]|0,q=Be[b-2]|0,K=U.rotrSH(_,q,19)^U.rotrBH(_,q,61)^U.shrSH(_,q,6),D=U.rotrSL(_,q,19)^U.rotrBL(_,q,61)^U.shrSL(_,q,6),nt=U.add4L(R,D,Be[b-7],Be[b-16]),rt=U.add4H(nt,S,K,ve[b-7],ve[b-16]);ve[b]=rt|0,Be[b]=nt|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:f,Eh:u,El:p,Fh:w,Fl:g,Gh:h,Gl:d,Hh:m,Hl:x}=this;for(let b=0;b<80;b++){let T=U.rotrSH(u,p,14)^U.rotrSH(u,p,18)^U.rotrBH(u,p,41),E=U.rotrSL(u,p,14)^U.rotrSL(u,p,18)^U.rotrBL(u,p,41),S=u&w^~u&h,R=p&g^~p&d,_=U.add5L(x,E,R,Mf[b],Be[b]),q=U.add5H(_,m,T,S,Vf[b],ve[b]),K=_|0,D=U.rotrSH(n,s,28)^U.rotrBH(n,s,34)^U.rotrBH(n,s,39),nt=U.rotrSL(n,s,28)^U.rotrBL(n,s,34)^U.rotrBL(n,s,39),rt=n&i^n&a^i&a,Ct=s&o^s&c^o&c;m=h|0,x=d|0,h=w|0,d=g|0,w=u|0,g=p|0,{h:u,l:p}=U.add(l|0,f|0,q|0,K|0),l=a|0,f=c|0,a=i|0,c=o|0,i=n|0,o=s|0;let v=U.add3L(K,nt,Ct);n=U.add3H(v,q,D,rt),s=v|0}({h:n,l:s}=U.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=U.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=U.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:f}=U.add(this.Dh|0,this.Dl|0,l|0,f|0),{h:u,l:p}=U.add(this.Eh|0,this.El|0,u|0,p|0),{h:w,l:g}=U.add(this.Fh|0,this.Fl|0,w|0,g|0),{h,l:d}=U.add(this.Gh|0,this.Gl|0,h|0,d|0),{h:m,l:x}=U.add(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,s,i,o,a,c,l,f,u,p,w,g,h,d,m,x)}roundClean(){ve.fill(0),Be.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Er=Sn(()=>new ki);var Nn={};it(Nn,{bitGet:()=>zf,bitLen:()=>Gf,bitMask:()=>zr,bitSet:()=>Yf,bytesToHex:()=>ne,bytesToNumberBE:()=>se,bytesToNumberLE:()=>Ae,concatBytes:()=>ie,createHmacDrbg:()=>Ri,ensureBytes:()=>et,equalBytes:()=>qf,hexToBytes:()=>Me,hexToNumber:()=>Ni,isBytes:()=>Ot,numberToBytesBE:()=>Se,numberToBytesLE:()=>He,numberToHexUnpadded:()=>Ra,numberToVarBytesBE:()=>Ff,utf8ToBytes:()=>$f,validateObject:()=>jt});var Na=BigInt(0),In=BigInt(1),Hf=BigInt(2);function Ot(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}var Kf=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function ne(r){if(!Ot(r))throw new Error("Uint8Array expected");let t="";for(let e=0;e<r.length;e++)t+=Kf[r[e]];return t}function Ra(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Ni(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var re={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function ka(r){if(r>=re._0&&r<=re._9)return r-re._0;if(r>=re._A&&r<=re._F)return r-(re._A-10);if(r>=re._a&&r<=re._f)return r-(re._a-10)}function Me(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,i=0;s<e;s++,i+=2){let o=ka(r.charCodeAt(i)),a=ka(r.charCodeAt(i+1));if(o===void 0||a===void 0){let c=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[s]=o*16+a}return n}function se(r){return Ni(ne(r))}function Ae(r){if(!Ot(r))throw new Error("Uint8Array expected");return Ni(ne(Uint8Array.from(r).reverse()))}function Se(r,t){return Me(r.toString(16).padStart(t*2,"0"))}function He(r,t){return Se(r,t).reverse()}function Ff(r){return Me(Ra(r))}function et(r,t,e){let n;if(typeof t=="string")try{n=Me(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(Ot(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let s=n.length;if(typeof e=="number"&&s!==e)throw new Error(`${r} expected ${e} bytes, got ${s}`);return n}function ie(...r){let t=0;for(let s=0;s<r.length;s++){let i=r[s];if(!Ot(i))throw new Error("Uint8Array expected");t+=i.length}let e=new Uint8Array(t),n=0;for(let s=0;s<r.length;s++){let i=r[s];e.set(i,n),n+=i.length}return e}function qf(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function $f(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Gf(r){let t;for(t=0;r>Na;r>>=In,t+=1);return t}function zf(r,t){return r>>BigInt(t)&In}var Yf=(r,t,e)=>r|(e?In:Na)<<BigInt(t),zr=r=>(Hf<<BigInt(r-1))-In,Ii=r=>new Uint8Array(r),Ia=r=>Uint8Array.from(r);function Ri(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=Ii(r),s=Ii(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...u)=>e(s,n,...u),c=(u=Ii())=>{s=a(Ia([0]),u),n=a(),u.length!==0&&(s=a(Ia([1]),u),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,p=[];for(;u<t;){n=a();let w=n.slice();p.push(w),u+=n.length}return ie(...p)};return(u,p)=>{o(),c(u);let w;for(;!(w=p(l()));)c();return o(),w}}var jf={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Ot(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function jt(r,t,e={}){let n=(s,i,o)=>{let a=jf[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(t))n(s,i,!1);for(let[s,i]of Object.entries(e))n(s,i,!0);return r}var lt=BigInt(0),J=BigInt(1),Ke=BigInt(2),Zf=BigInt(3),_i=BigInt(4),_a=BigInt(5),Ta=BigInt(8),Wf=BigInt(9),Jf=BigInt(16);function Y(r,t){let e=r%t;return e>=lt?e:t+e}function Xf(r,t,e){if(e<=lt||t<lt)throw new Error("Expected power/modulo > 0");if(e===J)return lt;let n=J;for(;t>lt;)t&J&&(n=n*r%e),r=r*r%e,t>>=J;return n}function X(r,t,e){let n=r;for(;t-- >lt;)n*=n,n%=e;return n}function Rn(r,t){if(r===lt||t<=lt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=Y(r,t),n=t,s=lt,i=J,o=J,a=lt;for(;e!==lt;){let l=n/e,f=n%e,u=s-o*l,p=i-a*l;n=e,e=f,s=o,i=a,o=u,a=p}if(n!==J)throw new Error("invert: does not exist");return Y(s,t)}function Qf(r){let t=(r-J)/Ke,e,n,s;for(e=r-J,n=0;e%Ke===lt;e/=Ke,n++);for(s=Ke;s<r&&Xf(s,t,r)!==r-J;s++);if(n===1){let o=(r+J)/_i;return function(c,l){let f=c.pow(l,o);if(!c.eql(c.sqr(f),l))throw new Error("Cannot find square root");return f}}let i=(e+J)/Ke;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,f=a.pow(a.mul(a.ONE,s),e),u=a.pow(c,i),p=a.pow(c,e);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let w=1;for(let h=a.sqr(p);w<l&&!a.eql(h,a.ONE);w++)h=a.sqr(h);let g=a.pow(f,J<<BigInt(l-w-1));f=a.sqr(g),u=a.mul(u,g),p=a.mul(p,f),l=w}return u}}function th(r){if(r%_i===Zf){let t=(r+J)/_i;return function(n,s){let i=n.pow(s,t);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%Ta===_a){let t=(r-_a)/Ta;return function(n,s){let i=n.mul(s,Ke),o=n.pow(i,t),a=n.mul(s,o),c=n.mul(n.mul(a,Ke),o),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),s))throw new Error("Cannot find square root");return l}}return r%Jf,Qf(r)}var Ca=(r,t)=>(Y(r,t)&J)===J,eh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ti(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=eh.reduce((n,s)=>(n[s]="function",n),t);return jt(r,e)}function rh(r,t,e){if(e<lt)throw new Error("Expected power > 0");if(e===lt)return r.ONE;if(e===J)return t;let n=r.ONE,s=t;for(;e>lt;)e&J&&(n=r.mul(n,s)),s=r.sqr(s),e>>=J;return n}function nh(r,t){let e=new Array(t.length),n=t.reduce((i,o,a)=>r.is0(o)?i:(e[a]=i,r.mul(i,o)),r.ONE),s=r.inv(n);return t.reduceRight((i,o,a)=>r.is0(o)?i:(e[a]=r.mul(i,e[a]),r.mul(i,o)),s),e}function Ci(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function _n(r,t,e=!1,n={}){if(r<=lt)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=Ci(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=th(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:zr(s),ZERO:lt,ONE:J,create:c=>Y(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return lt<=c&&c<r},is0:c=>c===lt,isOdd:c=>(c&J)===J,neg:c=>Y(-c,r),eql:(c,l)=>c===l,sqr:c=>Y(c*c,r),add:(c,l)=>Y(c+l,r),sub:(c,l)=>Y(c-l,r),mul:(c,l)=>Y(c*l,r),pow:(c,l)=>rh(a,c,l),div:(c,l)=>Y(c*Rn(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Rn(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>nh(a,c),cmov:(c,l,f)=>f?l:c,toBytes:c=>e?He(c,i):Se(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return e?Ae(c):se(c)}});return Object.freeze(a)}function La(r,t){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let e=r.sqrt(t);return r.isOdd(e)?r.neg(e):e}function Ua(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Li(r){let t=Ua(r);return t+Math.ceil(t/2)}function Da(r,t,e=!1){let n=r.length,s=Ua(t),i=Li(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=e?se(r):Ae(r),a=Y(o,t-J)+J;return e?He(a,s):Se(a,s)}var ih=BigInt(0),Ui=BigInt(1);function Tn(r,t){let e=(s,i)=>{let o=i.negate();return s?o:i},n=s=>{let i=Math.ceil(t/s)+1,o=2**(s-1);return{windows:i,windowSize:o}};return{constTimeNegate:e,unsafeLadder(s,i){let o=r.ZERO,a=s;for(;i>ih;)i&Ui&&(o=o.add(a)),a=a.double(),i>>=Ui;return o},precomputeWindow(s,i){let{windows:o,windowSize:a}=n(i),c=[],l=s,f=l;for(let u=0;u<o;u++){f=l,c.push(f);for(let p=1;p<a;p++)f=f.add(l),c.push(f);l=f.double()}return c},wNAF(s,i,o){let{windows:a,windowSize:c}=n(s),l=r.ZERO,f=r.BASE,u=BigInt(2**s-1),p=2**s,w=BigInt(s);for(let g=0;g<a;g++){let h=g*c,d=Number(o&u);o>>=w,d>c&&(d-=p,o+=Ui);let m=h,x=h+Math.abs(d)-1,b=g%2!==0,T=d<0;d===0?f=f.add(e(b,i[m])):l=l.add(e(T,i[x]))}return{p:l,f}},wNAFCached(s,i,o,a){let c=s._WINDOW_SIZE||1,l=i.get(s);return l||(l=this.precomputeWindow(s,c),c!==1&&i.set(s,a(l))),this.wNAF(c,l,o)}}}function Yr(r){return Ti(r.Fp),jt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ci(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Vt=BigInt(0),Tt=BigInt(1),Cn=BigInt(2),oh=BigInt(8),ah={zip215:!0};function ch(r){let t=Yr(r);return jt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Ln(r){let t=ch(r),{Fp:e,n,prehash:s,hash:i,randomBytes:o,nByteLength:a,h:c}=t,l=Cn<<BigInt(a*8)-Tt,f=e.create,u=t.uvRatio||((B,y)=>{try{return{isValid:!0,value:e.sqrt(B*e.inv(y))}}catch{return{isValid:!1,value:Vt}}}),p=t.adjustScalarBytes||(B=>B),w=t.domain||((B,y,I)=>{if(y.length||I)throw new Error("Contexts/pre-hash are not supported");return B}),g=B=>typeof B=="bigint"&&Vt<B,h=(B,y)=>g(B)&&g(y)&&B<y,d=B=>B===Vt||h(B,l);function m(B,y){if(h(B,y))return B;throw new Error(`Expected valid scalar < ${y}, got ${typeof B} ${B}`)}function x(B){return B===Vt?B:m(B,n)}let b=new Map;function T(B){if(!(B instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(y,I,C,L){if(this.ex=y,this.ey=I,this.ez=C,this.et=L,!d(y))throw new Error("x required");if(!d(I))throw new Error("y required");if(!d(C))throw new Error("z required");if(!d(L))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(y){if(y instanceof E)throw new Error("extended point not allowed");let{x:I,y:C}=y||{};if(!d(I)||!d(C))throw new Error("invalid affine point");return new E(I,C,Tt,f(I*C))}static normalizeZ(y){let I=e.invertBatch(y.map(C=>C.ez));return y.map((C,L)=>C.toAffine(I[L])).map(E.fromAffine)}_setWindowSize(y){this._WINDOW_SIZE=y,b.delete(this)}assertValidity(){let{a:y,d:I}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:C,ey:L,ez:O,et:V}=this,G=f(C*C),H=f(L*L),F=f(O*O),st=f(F*F),Q=f(G*y),ht=f(F*f(Q+H)),dt=f(st+f(I*f(G*H)));if(ht!==dt)throw new Error("bad point: equation left != right (1)");let at=f(C*L),gt=f(O*V);if(at!==gt)throw new Error("bad point: equation left != right (2)")}equals(y){T(y);let{ex:I,ey:C,ez:L}=this,{ex:O,ey:V,ez:G}=y,H=f(I*G),F=f(O*L),st=f(C*G),Q=f(V*L);return H===F&&st===Q}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:y}=t,{ex:I,ey:C,ez:L}=this,O=f(I*I),V=f(C*C),G=f(Cn*f(L*L)),H=f(y*O),F=I+C,st=f(f(F*F)-O-V),Q=H+V,ht=Q-G,dt=H-V,at=f(st*ht),gt=f(Q*dt),Qt=f(st*dt),Ue=f(ht*Q);return new E(at,gt,Ue,Qt)}add(y){T(y);let{a:I,d:C}=t,{ex:L,ey:O,ez:V,et:G}=this,{ex:H,ey:F,ez:st,et:Q}=y;if(I===BigInt(-1)){let vo=f((O-L)*(F+H)),Bo=f((O+L)*(F-H)),Os=f(Bo-vo);if(Os===Vt)return this.double();let Ao=f(V*Cn*Q),So=f(G*Cn*st),ko=So+Ao,Io=Bo+vo,No=So-Ao,ku=f(ko*Os),Iu=f(Io*No),Nu=f(ko*No),Ru=f(Os*Io);return new E(ku,Iu,Ru,Nu)}let ht=f(L*H),dt=f(O*F),at=f(G*C*Q),gt=f(V*st),Qt=f((L+O)*(H+F)-ht-dt),Ue=gt-at,Cr=gt+at,Eo=f(dt-I*ht),vu=f(Qt*Ue),Bu=f(Cr*Eo),Au=f(Qt*Eo),Su=f(Ue*Cr);return new E(vu,Bu,Su,Au)}subtract(y){return this.add(y.negate())}wNAF(y){return _.wNAFCached(this,b,y,E.normalizeZ)}multiply(y){let{p:I,f:C}=this.wNAF(m(y,n));return E.normalizeZ([I,C])[0]}multiplyUnsafe(y){let I=x(y);return I===Vt?R:this.equals(R)||I===Tt?this:this.equals(S)?this.wNAF(I).p:_.unsafeLadder(this,I)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return _.unsafeLadder(this,n).is0()}toAffine(y){let{ex:I,ey:C,ez:L}=this,O=this.is0();y==null&&(y=O?oh:e.inv(L));let V=f(I*y),G=f(C*y),H=f(L*y);if(O)return{x:Vt,y:Tt};if(H!==Tt)throw new Error("invZ was invalid");return{x:V,y:G}}clearCofactor(){let{h:y}=t;return y===Tt?this:this.multiplyUnsafe(y)}static fromHex(y,I=!1){let{d:C,a:L}=t,O=e.BYTES;y=et("pointHex",y,O);let V=y.slice(),G=y[O-1];V[O-1]=G&-129;let H=Ae(V);H===Vt||(I?m(H,l):m(H,e.ORDER));let F=f(H*H),st=f(F-Tt),Q=f(C*F-L),{isValid:ht,value:dt}=u(st,Q);if(!ht)throw new Error("Point.fromHex: invalid y coordinate");let at=(dt&Tt)===Tt,gt=(G&128)!==0;if(!I&&dt===Vt&&gt)throw new Error("Point.fromHex: x=0 and x_0=1");return gt!==at&&(dt=f(-dt)),E.fromAffine({x:dt,y:H})}static fromPrivateKey(y){return D(y).point}toRawBytes(){let{x:y,y:I}=this.toAffine(),C=He(I,e.BYTES);return C[C.length-1]|=y&Tt?128:0,C}toHex(){return ne(this.toRawBytes())}}E.BASE=new E(t.Gx,t.Gy,Tt,f(t.Gx*t.Gy)),E.ZERO=new E(Vt,Tt,Tt,Vt);let{BASE:S,ZERO:R}=E,_=Tn(E,a*8);function q(B){return Y(B,n)}function K(B){return q(Ae(B))}function D(B){let y=a;B=et("private key",B,y);let I=et("hashed private key",i(B),2*y),C=p(I.slice(0,y)),L=I.slice(y,2*y),O=K(C),V=S.multiply(O),G=V.toRawBytes();return{head:C,prefix:L,scalar:O,point:V,pointBytes:G}}function nt(B){return D(B).pointBytes}function rt(B=new Uint8Array,...y){let I=ie(...y);return K(i(w(I,et("context",B),!!s)))}function Ct(B,y,I={}){B=et("message",B),s&&(B=s(B));let{prefix:C,scalar:L,pointBytes:O}=D(y),V=rt(I.context,C,B),G=S.multiply(V).toRawBytes(),H=rt(I.context,G,O,B),F=q(V+H*L);x(F);let st=ie(G,He(F,e.BYTES));return et("result",st,a*2)}let v=ah;function N(B,y,I,C=v){let{context:L,zip215:O}=C,V=e.BYTES;B=et("signature",B,2*V),y=et("message",y),s&&(y=s(y));let G=Ae(B.slice(V,2*V)),H,F,st;try{H=E.fromHex(I,O),F=E.fromHex(B.slice(0,V),O),st=S.multiplyUnsafe(G)}catch{return!1}if(!O&&H.isSmallOrder())return!1;let Q=rt(L,F.toRawBytes(),H.toRawBytes(),y);return F.add(H.multiplyUnsafe(Q)).subtract(st).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:nt,sign:Ct,verify:N,ExtendedPoint:E,utils:{getExtendedPublicKey:D,randomPrivateKey:()=>o(e.BYTES),precompute(B=8,y=E.BASE){return y._setWindowSize(B),y.multiply(BigInt(3)),y}}}}var Pi=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Pa=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Tm=BigInt(0),uh=BigInt(1),Di=BigInt(2),lh=BigInt(5),Oa=BigInt(10),fh=BigInt(20),hh=BigInt(40),Va=BigInt(80);function dh(r){let t=Pi,n=r*r%t*r%t,s=X(n,Di,t)*n%t,i=X(s,uh,t)*r%t,o=X(i,lh,t)*i%t,a=X(o,Oa,t)*o%t,c=X(a,fh,t)*a%t,l=X(c,hh,t)*c%t,f=X(l,Va,t)*l%t,u=X(f,Va,t)*l%t,p=X(u,Oa,t)*o%t;return{pow_p_5_8:X(p,Di,t)*r%t,b2:n}}function ph(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function gh(r,t){let e=Pi,n=Y(t*t*t,e),s=Y(n*n*t,e),i=dh(r*s).pow_p_5_8,o=Y(r*n*i,e),a=Y(t*o*o,e),c=o,l=Y(o*Pa,e),f=a===r,u=a===Y(-r,e),p=a===Y(-r*Pa,e);return f&&(o=c),(u||p)&&(o=l),Ca(o,e)&&(o=Y(-o,e)),{isValid:f||u,value:o}}var oe=_n(Pi,void 0,!0),Oi={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:oe,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Er,randomBytes:wr,adjustScalarBytes:ph,uvRatio:gh},vr=Ln(Oi);function Ma(r,t,e){if(t.length>255)throw new Error("Context is too big");return An(Ai("SigEd25519 no Ed25519 collisions"),new Uint8Array([e?1:0,t.length]),t,r)}var Cm=Ln({...Oi,domain:Ma}),Lm=Ln({...Oi,domain:Ma,prehash:Er});var mh=(oe.ORDER+BigInt(3))/BigInt(8),Um=oe.pow(Di,mh),Dm=oe.sqrt(oe.neg(oe.ONE)),Pm=(oe.ORDER-BigInt(5))/BigInt(8),Om=BigInt(486662);var Vm=La(oe,oe.neg(BigInt(486664)));var Mm=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Hm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Km=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Fm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var qm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Br=32,ae=64,Un=32;function Ha(){let r=vr.utils.randomPrivateKey(),t=vr.getPublicKey(r);return{privateKey:$a(r,t),publicKey:t}}function Ka(r){if(r.length!==Un)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=vr.getPublicKey(t);return{privateKey:$a(t,e),publicKey:e}}function Fa(r,t){let e=r.subarray(0,Un);return vr.sign(t instanceof Uint8Array?t:t.subarray(),e)}function qa(r,t,e){return vr.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}function $a(r,t){let e=new Uint8Array(ae);for(let n=0;n<Un;n++)e[n]=r[n],e[Un+n]=t[n];return e}var Vi={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Dn(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,s=r?.digest??"SHA-256",i=r?.saltLength??16,o=r?.iterations??32767,a=W.get();e*=8;async function c(u,p){let w=a.getRandomValues(new Uint8Array(i)),g=a.getRandomValues(new Uint8Array(n)),h={name:t,iv:g};typeof p=="string"&&(p=z(p));let d;if(p.length===0){d=await a.subtle.importKey("jwk",Vi,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);d=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}catch{d=await a.subtle.importKey("jwk",Vi,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);d=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}let m=await a.subtle.encrypt(h,d,u);return At([w,h.iv,new Uint8Array(m)])}async function l(u,p){let w=u.subarray(0,i),g=u.subarray(i,i+n),h=u.subarray(i+n),d={name:t,iv:g};typeof p=="string"&&(p=z(p));let m;if(p.length===0)try{let b={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,T,{name:t,length:e},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",Vi,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,T,{name:t,length:e},!0,["decrypt"])}let x=await a.subtle.decrypt(d,m,h);return new Uint8Array(x)}return{encrypt:c,decrypt:l}}async function Ar(r,t){let n=await Dn().encrypt(r,t);return er.encode(n)}var kr={};it(kr,{KeyType:()=>j,PrivateKey:()=>Kt,PublicKey:()=>Ht});var Mi=new Float32Array([-0]),ke=new Uint8Array(Mi.buffer);function za(r,t,e){Mi[0]=r,t[e]=ke[0],t[e+1]=ke[1],t[e+2]=ke[2],t[e+3]=ke[3]}function Ya(r,t){return ke[0]=r[t],ke[1]=r[t+1],ke[2]=r[t+2],ke[3]=r[t+3],Mi[0]}var Hi=new Float64Array([-0]),xt=new Uint8Array(Hi.buffer);function ja(r,t,e){Hi[0]=r,t[e]=xt[0],t[e+1]=xt[1],t[e+2]=xt[2],t[e+3]=xt[3],t[e+4]=xt[4],t[e+5]=xt[5],t[e+6]=xt[6],t[e+7]=xt[7]}function Za(r,t){return xt[0]=r[t],xt[1]=r[t+1],xt[2]=r[t+2],xt[3]=r[t+3],xt[4]=r[t+4],xt[5]=r[t+5],xt[6]=r[t+6],xt[7]=r[t+7],Hi[0]}var bh=BigInt(Number.MAX_SAFE_INTEGER),wh=BigInt(Number.MIN_SAFE_INTEGER),kt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Fe;if(t<bh&&t>wh)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,s=t-(n<<32n);return e&&(n=~n|0n,s=~s|0n,++s>Wa&&(s=0n,++n>Wa&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return Fe;let e=t<0;e&&(t=-t);let n=t>>>0,s=(t-n)/4294967296>>>0;return e&&(s=~s>>>0,n=~n>>>0,++n>4294967295&&(n=0,++s>4294967295&&(s=0))),new r(n,s)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Fe}},Fe=new kt(0,0);Fe.toBigInt=function(){return 0n};Fe.zzEncode=Fe.zzDecode=function(){return this};Fe.length=function(){return 1};var Wa=4294967296n;function Ja(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Xa(r,t,e){if(e-t<1)return"";let s,i=[],o=0,a;for(;t<e;)a=r[t++],a<128?i[o++]=a:a>191&&a<224?i[o++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((s??(s=[])).push(String.fromCharCode.apply(String,i)),o=0);return s!=null?(o>0&&s.push(String.fromCharCode.apply(String,i.slice(0,o))),s.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function Ki(r,t,e){let n=e,s,i;for(let o=0;o<r.length;++o)s=r.charCodeAt(o),s<128?t[e++]=s:s<2048?(t[e++]=s>>6|192,t[e++]=s&63|128):(s&64512)===55296&&((i=r.charCodeAt(o+1))&64512)===56320?(s=65536+((s&1023)<<10)+(i&1023),++o,t[e++]=s>>18|240,t[e++]=s>>12&63|128,t[e++]=s>>6&63|128,t[e++]=s&63|128):(t[e++]=s>>12|224,t[e++]=s>>6&63|128,t[e++]=s&63|128);return e-n}function Mt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Pn(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Fi=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Mt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Mt(this,4);return Pn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Mt(this,4);return Pn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Mt(this,4);let t=Ya(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Mt(this,4);let t=Za(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Mt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Xa(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Mt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Mt(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new kt(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 Mt(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 Mt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Mt(this,8);let t=Pn(this.buf,this.pos+=4),e=Pn(this.buf,this.pos+=4);return new kt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function qi(r){return new Fi(r instanceof Uint8Array?r:r.subarray())}function It(r,t){let e=qi(r);return t.decode(e)}function $i(r){let t=r??8192,e=t>>>1,n,s=t;return function(o){if(o<1||o>e)return bt(o);s+o>t&&(n=bt(t),s=0);let a=n.subarray(s,s+=o);return s&7&&(s=(s|7)+1),a}}var qe=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Gi(){}var Yi=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},xh=$i();function Eh(r){return globalThis.Buffer!=null?bt(r):xh(r)}var Wr=class{len;head;tail;states;constructor(){this.len=0,this.head=new qe(Gi,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new qe(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new ji((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(jr,10,kt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=kt.fromBigInt(t);return this._push(jr,e.length(),e)}uint64Number(t){let e=kt.fromNumber(t);return this._push(jr,e.length(),e)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=kt.fromBigInt(t).zzEncode();return this._push(jr,e.length(),e)}sint64Number(t){let e=kt.fromNumber(t).zzEncode();return this._push(jr,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(zi,1,t?1:0)}fixed32(t){return this._push(Zr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=kt.fromBigInt(t);return this._push(Zr,4,e.lo)._push(Zr,4,e.hi)}fixed64Number(t){let e=kt.fromNumber(t);return this._push(Zr,4,e.lo)._push(Zr,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(za,4,t)}double(t){return this._push(ja,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(zi,1,0):this.uint32(e)._push(Bh,e,t)}string(t){let e=Ja(t);return e!==0?this.uint32(e)._push(Ki,e,t):this._push(zi,1,0)}fork(){return this.states=new Yi(this),this.head=this.tail=new qe(Gi,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new qe(Gi,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Eh(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function zi(r,t,e){t[e]=r&255}function vh(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var ji=class extends qe{next;constructor(t,e){super(vh,t,e),this.next=void 0}};function jr(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Zr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Bh(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Wr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Ah,t,r),this},Wr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Sh,t,r),this});function Ah(r,t,e){t.set(r,e)}function Sh(r,t,e){r.length<40?Ki(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(z(r),e)}function Zi(){return new Wr}function Nt(r,t){let e=Zi();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Sr;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Sr||(Sr={}));function On(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Wi(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(i,o){let a=t(i);o.int32(a)},n=function(i){let o=i.int32();return t(o)};return On("enum",Sr.VARINT,e,n)}function Rt(r,t){return On("message",Sr.LENGTH_DELIMITED,r,t)}var j;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(j||(j={}));var Ji;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Ji||(Ji={}));(function(r){r.codec=()=>Wi(Ji)})(j||(j={}));var Ht;(function(r){let t;r.codec=()=>(t==null&&(t=Rt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),j.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.Type=j.codec().decode(e);break;case 2:s.Data=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Nt(e,r.codec()),r.decode=e=>It(e,r.codec())})(Ht||(Ht={}));var Kt;(function(r){let t;r.codec=()=>(t==null&&(t=Rt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),j.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.Type=j.codec().decode(e);break;case 2:s.Data=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Nt(e,r.codec()),r.decode=e=>It(e,r.codec())})(Kt||(Kt={}));var $e=class{_key;constructor(t){this._key=Ir(t,Br)}verify(t,e){return qa(this._key,e,t)}marshal(){return this._key}get bytes(){return Ht.encode({Type:j.Ed25519,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return Lt(t)?t.then(({bytes:e})=>e):t.bytes}},ce=class{_key;_publicKey;constructor(t,e){this._key=Ir(t,ae),this._publicKey=Ir(e,Br)}sign(t){return Fa(this._key,t)}get public(){return new $e(this._publicKey)}marshal(){return this._key}get bytes(){return Kt.encode({Type:j.Ed25519,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let t=ct.digest(this.bytes),e;return Lt(t)?{bytes:e}=await t:e=t.bytes,e}async id(){let t=be.digest(this.public.bytes);return vt.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Ar(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function kh(r){if(r.length>ae){r=Ir(r,ae+Br);let n=r.subarray(0,ae),s=r.subarray(ae,r.length);return new ce(n,s)}r=Ir(r,ae);let t=r.subarray(0,ae),e=r.subarray(Br);return new ce(t,e)}function Ih(r){return r=Ir(r,Br),new $e(r)}async function Nh(){let{privateKey:r,publicKey:t}=Ha();return new ce(r,t)}async function Xi(r){let{privateKey:t,publicKey:e}=Ka(r);return new ce(t,e)}function Ir(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new A(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function Z(r,t="utf8"){let e=En[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var tc={"P-256":256,"P-384":384,"P-521":521},Rh=Object.keys(tc),to=Rh.join(" / ");async function ec(r){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new A(`Unknown curve: ${r}. Must be ${to}`,"ERR_INVALID_CURVE");let t=await W.get().subtle.generateKey({name:"ECDH",namedCurve:r},!0,["deriveBits"]),e=async(i,o)=>{let a;o!=null?a=await W.get().subtle.importKey("jwk",Th(r,o),{name:"ECDH",namedCurve:r},!1,["deriveBits"]):a=t.privateKey;let c=await W.get().subtle.importKey("jwk",nc(r,i),{name:"ECDH",namedCurve:r},!1,[]),l=await W.get().subtle.deriveBits({name:"ECDH",namedCurve:r,public:c},a,tc[r]);return new Uint8Array(l,0,l.byteLength)},n=await W.get().subtle.exportKey("jwk",t.publicKey);return{key:_h(n),genSharedKey:e}}var rc={"P-256":32,"P-384":48,"P-521":66};function _h(r){if(r.crv==null||r.x==null||r.y==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");if(r.crv!=="P-256"&&r.crv!=="P-384"&&r.crv!=="P-521")throw new A(`Unknown curve: ${r.crv}. Must be ${to}`,"ERR_INVALID_CURVE");let t=rc[r.crv];return At([Uint8Array.from([4]),vi(r.x,t),vi(r.y,t)],1+t*2)}function nc(r,t){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new A(`Unknown curve: ${r}. Must be ${to}`,"ERR_INVALID_CURVE");let e=rc[r];if(!mt(t.subarray(0,1),Uint8Array.from([4])))throw new A("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:r,x:Z(t.subarray(1,e+1),"base64url"),y:Z(t.subarray(1+e),"base64url"),ext:!0}}var Th=(r,t)=>({...nc(r,t.public),d:Z(t.private,"base64url")});var sc=ec;async function ic(r,t){let e=er.decode(r);return Dn().decrypt(e,t)}var oc={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function ac(r,t,e){let n=oc[r];if(n==null){let x=Object.keys(oc).join(" / ");throw new A(`unknown cipher type '${r}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new A("missing hash type","ERR_MISSING_HASH_TYPE");let s=n.keySize,i=n.ivSize,o=20,a=z("key expansion"),c=2*(i+s+o),l=await ya(t,e),f=await l.digest(a),u=[],p=0;for(;p<c;){let x=await l.digest(At([f,a])),b=x.length;p+b>c&&(b=c-p),u.push(x),p+=b,f=await l.digest(f)}let w=c/2,g=At(u),h=g.subarray(0,w),d=g.subarray(w,c),m=x=>({iv:x.subarray(0,i),cipherKey:x.subarray(i,i+s),macKey:x.subarray(i+s)});return{k1:m(h),k2:m(d)}}var fo={};it(fo,{MAX_RSA_KEY_SIZE:()=>Ye,RsaPrivateKey:()=>Te,RsaPublicKey:()=>ze,fromJwk:()=>nd,generateKeyPair:()=>sd,unmarshalRsaPrivateKey:()=>uo,unmarshalRsaPublicKey:()=>rd});function Zt(r){if(isNaN(r)||r<=0)throw new A("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return wr(r)}var _e={};it(_e,{exportToPem:()=>Xh,importFromPem:()=>co,jwkToPkcs1:()=>jh,jwkToPkix:()=>Wh,pkcs1ToJwk:()=>Yh,pkixToJwk:()=>Zh});var Vn=class extends yr{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,vn(t);let n=Ee(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?t.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=t.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(t){return mr(this),this.iHash.update(t),this}digestInto(t){mr(this),Bi(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Jr=(r,t,e)=>new Vn(r,t).update(e).digest();Jr.create=(r,t)=>new Vn(r,t);function Ch(r,t,e,n){vn(r);let s=Aa({dkLen:32,asyncTick:10},n),{c:i,dkLen:o,asyncTick:a}=s;if(gr(i),gr(o),gr(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=Ee(t),l=Ee(e),f=new Uint8Array(o),u=Jr.create(r,c),p=u._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:f,PRF:u,PRFSalt:p}}function Lh(r,t,e,n,s){return r.destroy(),t.destroy(),n&&n.destroy(),s.fill(0),e}async function eo(r,t,e,n){let{c:s,dkLen:i,asyncTick:o,DK:a,PRF:c,PRFSalt:l}=Ch(r,t,e,n),f,u=new Uint8Array(4),p=br(u),w=new Uint8Array(c.outputLen);for(let g=1,h=0;h<i;g++,h+=c.outputLen){let d=a.subarray(h,h+c.outputLen);p.setInt32(0,g,!1),(f=l._cloneInto(f)).update(u).digestInto(w),d.set(w.subarray(0,d.length)),await Ba(s-1,o,()=>{c._cloneInto(f).update(w).digestInto(w);for(let m=0;m<d.length;m++)d[m]^=w[m]})}return Lh(c,l,a,f,w)}var M=Ms(cc());function Ge(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function Ie(r,t,e=-1){let n=e,s=r,i=0,o=Math.pow(2,t);for(let a=1;a<8;a++){if(r<o){let c;if(n<0)c=new ArrayBuffer(a),i=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),i=n}let l=new Uint8Array(c);for(let f=a-1;f>=0;f--){let u=Math.pow(2,f*t);l[i-f-1]=Math.floor(s/u),s-=l[i-f-1]*u}return c}o*=Math.pow(2,t)}return new ArrayBuffer(0)}function Kn(...r){let t=0,e=0;for(let i of r)t+=i.length;let n=new ArrayBuffer(t),s=new Uint8Array(n);for(let i of r)s.set(i,e),e+=i.length;return s}function no(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Ge(e,8),s=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(s);for(let a=0;a<this.valueHex.byteLength;a++)i[a]=r[a];return i[0]&=127,Ge(i,8)-n}function uc(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let o=e-t,a=Ie(o,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=Ie(t,8,n),i=new Uint8Array(s);if(i[0]&128){let o=s.slice(0),a=new Uint8Array(o);s=new ArrayBuffer(s.byteLength+1),i=new Uint8Array(s);for(let c=0;c<o.byteLength;c++)i[c+1]=a[c];i[0]=0}return s}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function lc(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<e.length;s++)if(e[s]!==n[s])return!1;return!0}function _t(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,s=new Array(n);for(let o=0;o<n;o++)s[o]="0";return s.join("").concat(e)}var cb=Math.log(2);function Fn(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function so(r){let t=0,e=0;for(let s=0;s<r.length;s++){let i=r[s];t+=i.byteLength}let n=new Uint8Array(t);for(let s=0;s<r.length;s++){let i=r[s];n.set(new Uint8Array(i),e),e+=i.byteLength}return n.buffer}function de(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Qr=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return so(this.items)}},Xr=[new Uint8Array([1])],fc="0123456789";var _r="",qt=new ArrayBuffer(0),io=new Uint8Array(0),tn="EndOfContent",dc="OCTET STRING",pc="BIT STRING";function pe(r){var t;return t=class extends r{constructor(...n){var s;super(...n);let i=n[0]||{};this.isHexOnly=(s=i.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=i.valueHex?M.BufferSourceConverter.toUint8Array(i.valueHex):io}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,s,i){let o=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!de(this,o,s,i))return-1;let a=s+i;return this.valueHexView=o.subarray(s,a),this.valueHexView.length?(this.blockLength=i,a):(this.warnings.push("Zero buffer length"),s)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",qt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:M.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var le=class{constructor({blockLength:t=0,error:e=_r,warnings:n=[],valueBeforeDecode:s=io}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=M.BufferSourceConverter.toUint8Array(s)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:M.Convert.ToHex(this.valueBeforeDecodeView)}}};le.NAME="baseBlock";var Et=class extends le{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};Et.NAME="valueBlock";var qn=class extends pe(le){constructor({idBlock:t={}}={}){var e,n,s,i;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?M.BufferSourceConverter.toUint8Array(t.valueHex):io,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(s=t.tagNumber)!==null&&s!==void 0?s:-1,this.isConstructed=(i=t.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",qt}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let s=new Uint8Array(1);if(!t){let i=this.tagNumber;i&=31,e|=i,s[0]=e}return s.buffer}if(!this.isHexOnly){let s=Ie(this.tagNumber,7),i=new Uint8Array(s),o=s.byteLength,a=new Uint8Array(o+1);if(a[0]=e|31,!t){for(let c=0;c<o-1;c++)a[c+1]=i[c]|128;a[o]=i[o-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let s=this.valueHexView;for(let i=0;i<s.length-1;i++)n[i+1]=s[i]|128;n[this.valueHexView.byteLength]=s[s.length-1]}return n.buffer}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!de(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let a=i[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,l=this.valueHexView=new Uint8Array(255),f=255;for(;i[c]&128;){if(l[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let p=new Uint8Array(f);for(let w=0;w<l.length;w++)p[w]=l[w];l=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,l[c-1]=i[c]&127;let u=new Uint8Array(c);for(let p=0;p<c;p++)u[p]=l[p];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=Ge(l,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};qn.NAME="identificationBlock";var $n=class extends le{constructor({lenBlock:t={}}={}){var e,n,s;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(s=t.length)!==null&&s!==void 0?s:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!de(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,e+this.blockLength;let o=i[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=s.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Ge(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let s=Ie(this.length,8);if(s.byteLength>127)return this.error="Too big length",qt;if(e=new ArrayBuffer(s.byteLength+1),t)return e;let i=new Uint8Array(s);n=new Uint8Array(e),n[0]=s.byteLength|128;for(let o=0;o<s.byteLength;o++)n[o+1]=i[o];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};$n.NAME="lengthBlock";var k={},pt=class extends le{constructor({name:t=_r,optional:e=!1,primitiveSchema:n,...s}={},i){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new qn(s),this.lenBlock=new $n(s),this.valueBlock=i?new i(s):new Et(s)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}toBER(t,e){let n=e||new Qr;e||gc(this);let s=this.idBlock.toBER(t);if(n.write(s),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let i=this.valueBlock.toBER(t);this.lenBlock.length=i.byteLength;let o=this.lenBlock.toBER(t);n.write(o),n.write(i)}return e?qt:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():M.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return lc(e,n)}};pt.NAME="BaseBlock";function gc(r){if(r instanceof k.Constructed)for(let t of r.valueBlock.value)gc(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var Gn=class extends pt{constructor({value:t=_r,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};Gn.NAME="BaseStringBlock";var zn=class extends pe(Et){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};zn.NAME="PrimitiveValueBlock";var mc,Yn=class extends pt{constructor(t={}){super(t,zn),this.idBlock.isConstructed=!1}};mc=Yn;k.Primitive=mc;Yn.NAME="PRIMITIVE";function Fh(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function ks(r,t=0,e=r.length){let n=t,s=new pt({},Et),i=new le;if(!de(i,r,t,e))return s.error=i.error,{offset:-1,result:s};if(!r.subarray(t,t+e).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(r,t,e);if(s.idBlock.warnings.length&&s.warnings.concat(s.idBlock.warnings),a===-1)return s.error=s.idBlock.error,{offset:-1,result:s};if(t=a,e-=s.idBlock.blockLength,a=s.lenBlock.fromBER(r,t,e),s.lenBlock.warnings.length&&s.warnings.concat(s.lenBlock.warnings),a===-1)return s.error=s.lenBlock.error,{offset:-1,result:s};if(t=a,e-=s.lenBlock.blockLength,!s.idBlock.isConstructed&&s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=pt;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&s.idBlock.isHexOnly===!1)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=k.EndOfContent;break;case 1:c=k.Boolean;break;case 2:c=k.Integer;break;case 3:c=k.BitString;break;case 4:c=k.OctetString;break;case 5:c=k.Null;break;case 6:c=k.ObjectIdentifier;break;case 10:c=k.Enumerated;break;case 12:c=k.Utf8String;break;case 13:c=k.RelativeObjectIdentifier;break;case 14:c=k.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=k.Sequence;break;case 17:c=k.Set;break;case 18:c=k.NumericString;break;case 19:c=k.PrintableString;break;case 20:c=k.TeletexString;break;case 21:c=k.VideotexString;break;case 22:c=k.IA5String;break;case 23:c=k.UTCTime;break;case 24:c=k.GeneralizedTime;break;case 25:c=k.GraphicString;break;case 26:c=k.VisibleString;break;case 27:c=k.GeneralString;break;case 28:c=k.UniversalString;break;case 29:c=k.CharacterString;break;case 30:c=k.BmpString;break;case 31:c=k.DATE;break;case 32:c=k.TimeOfDay;break;case 33:c=k.DateTime;break;case 34:c=k.Duration;break;default:{let l=s.idBlock.isConstructed?new k.Constructed:new k.Primitive;l.idBlock=s.idBlock,l.lenBlock=s.lenBlock,l.warnings=s.warnings,s=l}}break;case 2:case 3:case 4:default:c=s.idBlock.isConstructed?k.Constructed:k.Primitive}return s=Fh(s,c),a=s.fromBER(r,t,s.lenBlock.isIndefiniteForm?e:s.lenBlock.length),s.valueBeforeDecodeView=r.subarray(n,n+s.blockLength),{offset:a,result:s}}function Tr(r){if(!r.byteLength){let t=new pt({},Et);return t.error="Input buffer has zero length",{offset:-1,result:t}}return ks(M.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function qh(r,t){return r?1:t}var Wt=class extends Et{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);if(!de(this,s,e,n))return-1;if(this.valueBeforeDecodeView=s.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let i=e;for(;qh(this.isIndefiniteForm,n)>0;){let o=ks(s,i,n);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,n-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===tn)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===tn?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new Qr;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?qt:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Wt.NAME="ConstructedValueBlock";var yc,Ne=class extends pt{constructor(t={}){super(t,Wt),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
3
+ `).map(s=>` ${s}`).join(`
4
+ `));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
5
+ ${t.join(`
6
+ `)}`:`${e} :`}};yc=Ne;k.Constructed=yc;Ne.NAME="CONSTRUCTED";var jn=class extends Et{fromBER(t,e,n){return e}toBER(t){return qt}};jn.override="EndOfContentValueBlock";var bc,Zn=class extends pt{constructor(t={}){super(t,jn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};bc=Zn;k.EndOfContent=bc;Zn.NAME=tn;var wc,Re=class extends pt{constructor(t={}){super(t,Et),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};wc=Re;k.Null=wc;Re.NAME="NULL";var Wn=class extends pe(Et){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=M.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=M.BufferSourceConverter.toUint8Array(t);return de(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,no.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Wn.NAME="BooleanValueBlock";var xc,Jn=class extends pt{constructor(t={}){super(t,Wn),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};xc=Jn;k.Boolean=xc;Jn.NAME="BOOLEAN";var Xn=class extends pe(Wt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Wt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let i=0;i<this.value.length;i++){let o=this.value[i].constructor.NAME;if(o===tn){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==dc)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Wt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Xn.NAME="OctetStringValueBlock";var Ec,fe=class r extends pt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Xn),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let o=ks(i,0,i.byteLength);o.offset!==-1&&o.offset===n&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Ne.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${M.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return M.BufferSourceConverter.concat(t)}};Ec=fe;k.OctetString=Ec;fe.NAME=dc;var Qn=class extends pe(Wt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Wt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===tn){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==pc)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let l=a.valueBlock;if(this.unusedBits>0&&l.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=l.unusedBits}return s}let i=M.BufferSourceConverter.toUint8Array(t);if(!de(this,i,e,n))return-1;let o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=ks(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return Wt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return qt;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Qn.NAME="BitStringValueBlock";var vc,Rr=class extends pt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Qn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Ne.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};vc=Rr;k.BitString=vc;Rr.NAME=pc;var Bc;function $h(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,l=0,f=c<o?o:c,u=0;for(let p=f;p>=0;p--,u++){switch(!0){case u<a.length:l=i[o-u]+a[c-u]+e[0];break;default:l=i[o-u]+e[0]}switch(e[0]=l/10,!0){case u>=i.length:i=Kn(new Uint8Array([l%10]),i);break;default:i[o-u]=l%10}}return e[0]>0&&(i=Kn(e,i)),i}function hc(r){if(r>=Xr.length)for(let t=Xr.length;t<=r;t++){let e=new Uint8Array([0]),n=Xr[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let i=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=i[0]/10,n[s]=i[0]%10}e[0]>0&&(n=Kn(e,n)),Xr.push(n)}return Xr[r]}function Gh(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,l,f=0;for(let u=c;u>=0;u--,f++)switch(l=i[o-f]-a[c-f]-e,!0){case l<0:e=1,i[o-f]=l+10;break;default:e=0,i[o-f]=l}if(e>0)for(let u=o-c+1;u>=0;u--,f++)if(l=i[o-f]-e,l<0)e=1,i[o-f]=l+10;else{e=0,i[o-f]=l;break}return i.slice()}var en=class extends pe(Et){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=no.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(uc(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):s!==0&&o.length<s&&(s-o.length>1&&(s=o.length+1),this.valueHexView=o.subarray(s-o.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){s=i[c];for(let l=0;l<8;l++){if((s&1)===1)switch(n){case t:e=Gh(hc(n),e),o="-";break;default:e=$h(e,hc(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=fc.charAt(e[c]));return a===!1&&(o+=fc.charAt(0)),o}};Bc=en;en.NAME="IntegerValueBlock";Object.defineProperty(Bc.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Ac,ot=class r extends pt{constructor(t={}){super(t,en),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Fn(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Fn();let e=BigInt(t),n=new Qr,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(M.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${M.Convert.ToHex(a)}`)+e,f=M.BufferSourceConverter.toUint8Array(M.Convert.FromHex(l.toString(16)));f[0]|=128,n.write(f)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Ac=ot;k.Integer=Ac;ot.NAME="INTEGER";var Sc,ts=class extends ot{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Sc=ts;k.Enumerated=Sc;ts.NAME="ENUMERATED";var rn=class extends pe(Et){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!de(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Ge(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Fn();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=Ie(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",qt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n}toString(){let t="";if(this.isHexOnly)t=M.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};rn.NAME="sidBlock";var es=class extends Et{constructor({value:t=_r,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new rn;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,qt;e.push(s)}return so(e)}fromString(t){this.value=[];let e=0,n=0,s="",i=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,i){let o=this.value[0],a=0;switch(o.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;o.valueDec=c+a,i=!1}else{let o=new rn;if(s>Number.MAX_SAFE_INTEGER){Fn();let a=BigInt(s);o.valueBigInt=a}else if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};es.NAME="ObjectIdentifierValueBlock";var kc,Ft=class extends pt{constructor(t={}){super(t,es),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};kc=Ft;k.ObjectIdentifier=kc;Ft.NAME="OBJECT IDENTIFIER";var nn=class extends pe(le){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=M.BufferSourceConverter.toUint8Array(t);if(!de(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Ge(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=Ie(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",qt;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=M.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};nn.NAME="relativeSidBlock";var rs=class extends Et{constructor({value:t=_r,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new nn;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let i=this.value[s].toBER(t);if(i.byteLength===0)return this.error=this.value[s].error,qt;n.push(i)}return so(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let i=new nn;if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};rs.NAME="RelativeObjectIdentifierValueBlock";var Ic,ns=class extends pt{constructor(t={}){super(t,rs),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Ic=ns;k.RelativeObjectIdentifier=Ic;ns.NAME="RelativeObjectIdentifier";var Nc,ft=class extends Ne{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};Nc=ft;k.Sequence=Nc;ft.NAME="SEQUENCE";var Rc,ss=class extends Ne{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Rc=ss;k.Set=Rc;ss.NAME="SET";var is=class extends pe(Et){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=_r}toJSON(){return{...super.toJSON(),value:this.value}}};is.NAME="StringValueBlock";var os=class extends is{};os.NAME="SimpleStringValueBlock";var St=class extends Gn{constructor({...t}={}){super(t,os)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};St.NAME="SIMPLE STRING";var as=class extends St{fromBuffer(t){this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=M.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=M.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf8String(t)),this.valueBlock.value=t}};as.NAME="Utf8StringValueBlock";var _c,he=class extends as{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};_c=he;k.Utf8String=_c;he.NAME="UTF8String";var cs=class extends St{fromBuffer(t){this.valueBlock.value=M.Convert.ToUtf16String(t),this.valueBlock.valueHexView=M.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(M.Convert.FromUtf16String(t))}};cs.NAME="BmpStringValueBlock";var Tc,us=class extends cs{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Tc=us;k.BmpString=Tc;us.NAME="BMPString";var ls=class extends St{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let i=Ie(t.charCodeAt(s),8),o=new Uint8Array(i);if(o.length>4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)n[s*4+c+a]=o[c]}this.valueBlock.value=t}};ls.NAME="UniversalStringValueBlock";var Cc,fs=class extends ls{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Cc=fs;k.UniversalString=Cc;fs.NAME="UniversalString";var Lc,hs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Lc=hs;k.NumericString=Lc;hs.NAME="NumericString";var Uc,ds=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Uc=ds;k.PrintableString=Uc;ds.NAME="PrintableString";var Dc,ps=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Dc=ps;k.TeletexString=Dc;ps.NAME="TeletexString";var Pc,gs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Pc=gs;k.VideotexString=Pc;gs.NAME="VideotexString";var Oc,ms=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Oc=ms;k.IA5String=Oc;ms.NAME="IA5String";var Vc,ys=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Vc=ys;k.GraphicString=Vc;ys.NAME="GraphicString";var Mc,sn=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Mc=sn;k.VisibleString=Mc;sn.NAME="VisibleString";var Hc,bs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Hc=bs;k.GeneralString=Hc;bs.NAME="GeneralString";var Kc,ws=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Kc=ws;k.CharacterString=Kc;ws.NAME="CharacterString";var Fc,on=class extends sn{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,M.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=_t(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=_t(this.month,2),e[2]=_t(this.day,2),e[3]=_t(this.hour,2),e[4]=_t(this.minute,2),e[5]=_t(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};Fc=on;k.UTCTime=Fc;on.NAME="UTCTime";var qc,xs=class extends on{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",i=0,o,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,p=n.indexOf("+"),w="";if(p===-1&&(p=n.indexOf("-"),u=-1),p!==-1){if(w=n.substring(p+1),n=n.substring(0,p),w.length!==2&&w.length!==4)throw new Error("Wrong input string for conversion");let g=parseInt(w.substring(0,2),10);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*g,w.length===4){if(g=parseInt(w.substring(2,4),10),isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");c=u*g}}}let l=n.indexOf(".");if(l===-1&&(l=n.indexOf(",")),l!==-1){let u=new Number(`0${n.substring(l)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");i=u.valueOf(),s=n.substring(0,l)}else s=n;switch(!0){case s.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,l!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*i;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*i;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=1e3*i;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let f=o.exec(s);if(f===null)throw new Error("Wrong input string for conversion");for(let u=1;u<f.length;u++)switch(u){case 1:this.year=parseInt(f[u],10);break;case 2:this.month=parseInt(f[u],10);break;case 3:this.day=parseInt(f[u],10);break;case 4:this.hour=parseInt(f[u],10)+a;break;case 5:this.minute=parseInt(f[u],10)+c;break;case 6:this.second=parseInt(f[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(_t(this.year,4)),e.push(_t(this.month,2)),e.push(_t(this.day,2)),e.push(_t(this.hour,2)),e.push(_t(this.minute,2)),e.push(_t(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(_t(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};qc=xs;k.GeneralizedTime=qc;xs.NAME="GeneralizedTime";var $c,Es=class extends he{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};$c=Es;k.DATE=$c;Es.NAME="DATE";var Gc,vs=class extends he{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Gc=vs;k.TimeOfDay=Gc;vs.NAME="TimeOfDay";var zc,Bs=class extends he{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};zc=Bs;k.DateTime=zc;Bs.NAME="DateTime";var Yc,As=class extends he{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};Yc=As;k.Duration=Yc;As.NAME="Duration";var jc,Ss=class extends he{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};jc=Ss;k.TIME=jc;Ss.NAME="TIME";function Yh(r){let{result:t}=Tr(r),e=t.valueBlock.value;return{n:Z(Jt(e[1].toBigInt()),"base64url"),e:Z(Jt(e[2].toBigInt()),"base64url"),d:Z(Jt(e[3].toBigInt()),"base64url"),p:Z(Jt(e[4].toBigInt()),"base64url"),q:Z(Jt(e[5].toBigInt()),"base64url"),dp:Z(Jt(e[6].toBigInt()),"base64url"),dq:Z(Jt(e[7].toBigInt()),"base64url"),qi:Z(Jt(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function jh(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new ft({value:[new ot({value:0}),ot.fromBigInt(Xt(z(r.n,"base64url"))),ot.fromBigInt(Xt(z(r.e,"base64url"))),ot.fromBigInt(Xt(z(r.d,"base64url"))),ot.fromBigInt(Xt(z(r.p,"base64url"))),ot.fromBigInt(Xt(z(r.q,"base64url"))),ot.fromBigInt(Xt(z(r.dp,"base64url"))),ot.fromBigInt(Xt(z(r.dq,"base64url"))),ot.fromBigInt(Xt(z(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Zh(r){let{result:t}=Tr(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:Z(Jt(e[0].toBigInt()),"base64url"),e:Z(Jt(e[1].toBigInt()),"base64url")}}function Wh(r){if(r.n==null||r.e==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new ft({value:[new ft({value:[new Ft({value:"1.2.840.113549.1.1.1"}),new Re]}),new Rr({valueHex:new ft({value:[ot.fromBigInt(Xt(z(r.n,"base64url"))),ot.fromBigInt(Xt(z(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Jt(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),s=0,i=0;for(;s<e;)n[s]=parseInt(t.slice(i,i+2),16),s+=1,i+=2;return n}function Xt(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}var Jh=16,oo=32,ao=1e4;async function Xh(r,t){let e=W.get(),s=new ft({value:[new ot({value:0}),new ft({value:[new Ft({value:"1.2.840.113549.1.1.1"}),new Re]}),new fe({valueHex:r.marshal()})]}).toBER(),i=new Uint8Array(s,0,s.byteLength),o=Zt(Jh),a=await eo(Er,t,o,{c:ao,dkLen:oo}),c=Zt(16),l=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),f=await e.subtle.encrypt({name:"AES-CBC",iv:c},l,i),u=new ft({value:[new fe({valueHex:o}),new ot({value:ao}),new ot({value:oo}),new ft({value:[new Ft({value:"1.2.840.113549.2.11"}),new Re]})]}),p=new ft({value:[new Ft({value:"1.2.840.113549.1.5.13"}),new ft({value:[new ft({value:[new Ft({value:"1.2.840.113549.1.5.12"}),u]}),new ft({value:[new Ft({value:"2.16.840.1.101.3.4.1.42"}),new fe({valueHex:c})]})]})]}),g=new ft({value:[p,new fe({valueHex:f})]}).toBER(),h=new Uint8Array(g,0,g.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...Z(h,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
7
+ `)}async function co(r,t){let e=W.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let s=z(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=Tr(s),{iv:o,salt:a,iterations:c,keySize:l,cipherText:f}=Qh(i),u=await eo(Er,t,a,{c,dkLen:l}),p=await e.subtle.importKey("raw",u,"AES-CBC",!1,["decrypt"]),w=an(await e.subtle.decrypt({name:"AES-CBC",iv:o},p,f)),{result:g}=Tr(w);n=Zc(g)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let s=z(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=Tr(s);n=Zc(i)}else throw new A("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return uo(n)}function Qh(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new A("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new A("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let i=n.valueBlock.value[1],o=an(i.valueBlock.value[0].getValue()),a=ao,c=oo;if(i.valueBlock.value.length===3)a=Number(i.valueBlock.value[1].toBigInt()),c=Number(i.valueBlock.value[2].toBigInt());else if(i.valueBlock.value.length===2)throw new A("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let l=t.valueBlock.value[1].valueBlock.value[1],f=l.valueBlock.value[0].toString();if(f!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(f!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new A("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let u=an(l.valueBlock.value[1].getValue());return{cipherText:an(r.valueBlock.value[1].getValue()),salt:o,iterations:a,keySize:c,iv:u}}function Zc(r){return an(r.valueBlock.value[2].getValue())}function an(r){return new Uint8Array(r,0,r.byteLength)}async function Wc(r){let t=await W.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Qc(t);return{privateKey:e[0],publicKey:e[1]}}async function lo(r){let e=[await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await td(r)],n=await Qc({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Jc(r,t){let e=await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await W.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Xc(r,t,e){let n=await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return W.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Qc(r){if(r.privateKey==null||r.publicKey==null)throw new A("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([W.get().subtle.exportKey("jwk",r.privateKey),W.get().subtle.exportKey("jwk",r.publicKey)])}async function td(r){return W.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Is(r){if(r.kty!=="RSA")throw new A("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new A("invalid key modulus","ERR_INVALID_KEY_MODULUS");return z(r.n,"base64url").length*8}var Ye=8192,ze=class{_key;constructor(t){this._key=t}verify(t,e){return Xc(this._key,e,t)}marshal(){return _e.jwkToPkix(this._key)}get bytes(){return Ht.encode({Type:j.RSA,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return Lt(t)?t.then(({bytes:e})=>e):t.bytes}},Te=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return Zt(16)}sign(t){return Jc(this._key,t)}get public(){if(this._publicKey==null)throw new A("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new ze(this._publicKey)}marshal(){return _e.jwkToPkcs1(this._key)}get bytes(){return Kt.encode({Type:j.RSA,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return Lt(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return Z(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8")return _e.exportToPem(this,t);if(e==="libp2p-key")return Ar(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function uo(r){let t=_e.pkcs1ToJwk(r);if(Is(t)>Ye)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await lo(t);return new Te(e.privateKey,e.publicKey)}function rd(r){let t=_e.pkixToJwk(r);if(Is(t)>Ye)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new ze(t)}async function nd(r){if(Is(r)>Ye)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await lo(r);return new Te(t.privateKey,t.publicKey)}async function sd(r){if(r>Ye)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Wc(r);return new Te(t.privateKey,t.publicKey)}var yo={};it(yo,{Secp256k1PrivateKey:()=>We,Secp256k1PublicKey:()=>Ze,generateKeyPair:()=>wd,unmarshalSecp256k1PrivateKey:()=>yd,unmarshalSecp256k1PublicKey:()=>bd});var id=(r,t,e)=>r&t^~r&e,od=(r,t,e)=>r&t^r&e^t&e,ad=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ce=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Le=new Uint32Array(64),ho=class extends xr{constructor(){super(64,32,8,!1),this.A=Ce[0]|0,this.B=Ce[1]|0,this.C=Ce[2]|0,this.D=Ce[3]|0,this.E=Ce[4]|0,this.F=Ce[5]|0,this.G=Ce[6]|0,this.H=Ce[7]|0}get(){let{A:t,B:e,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[t,e,n,s,i,o,a,c]}set(t,e,n,s,i,o,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)Le[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let p=Le[u-15],w=Le[u-2],g=Pt(p,7)^Pt(p,18)^p>>>3,h=Pt(w,17)^Pt(w,19)^w>>>10;Le[u]=h+Le[u-7]+g+Le[u-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:l,H:f}=this;for(let u=0;u<64;u++){let p=Pt(a,6)^Pt(a,11)^Pt(a,25),w=f+p+id(a,c,l)+ad[u]+Le[u]|0,h=(Pt(n,2)^Pt(n,13)^Pt(n,22))+od(n,s,i)|0;f=l,l=c,c=a,a=o+w|0,o=i,i=s,s=n,n=w+h|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,f=f+this.H|0,this.set(n,s,i,o,a,c,l,f)}roundClean(){Le.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var tu=Sn(()=>new ho);function cd(r){let t=Yr(r);jt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:ud,hexToBytes:ld}=Nn,je={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=je;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:ud(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=je,e=typeof r=="string"?ld(r):r;if(!Ot(e))throw new Error("ui8a expected");let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:s,l:i}=je._parseInt(e.subarray(2)),{d:o,l:a}=je._parseInt(i);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(r){let t=l=>Number.parseInt(l[0],16)&8?"00"+l:l,e=l=>{let f=l.toString(16);return f.length&1?`0${f}`:f},n=t(e(r.s)),s=t(e(r.r)),i=n.length/2,o=s.length/2,a=e(i),c=e(o);return`30${e(o+i+4)}02${c}${s}02${a}${n}`}},ge=BigInt(0),Dt=BigInt(1),Ub=BigInt(2),eu=BigInt(3),Db=BigInt(4);function fd(r){let t=cd(r),{Fp:e}=t,n=t.toBytes||((g,h,d)=>{let m=h.toAffine();return ie(Uint8Array.from([4]),e.toBytes(m.x),e.toBytes(m.y))}),s=t.fromBytes||(g=>{let h=g.subarray(1),d=e.fromBytes(h.subarray(0,e.BYTES)),m=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:d,y:m}});function i(g){let{a:h,b:d}=t,m=e.sqr(g),x=e.mul(m,g);return e.add(e.add(x,e.mul(g,h)),d)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function o(g){return typeof g=="bigint"&&ge<g&&g<t.n}function a(g){if(!o(g))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(g){let{allowedPrivateKeyLengths:h,nByteLength:d,wrapPrivateKey:m,n:x}=t;if(h&&typeof g!="bigint"){if(Ot(g)&&(g=ne(g)),typeof g!="string"||!h.includes(g.length))throw new Error("Invalid key");g=g.padStart(d*2,"0")}let b;try{b=typeof g=="bigint"?g:se(et("private key",g,d))}catch{throw new Error(`private key must be ${d} bytes, hex or bigint, not ${typeof g}`)}return m&&(b=Y(b,x)),a(b),b}let l=new Map;function f(g){if(!(g instanceof u))throw new Error("ProjectivePoint expected")}class u{constructor(h,d,m){if(this.px=h,this.py=d,this.pz=m,h==null||!e.isValid(h))throw new Error("x required");if(d==null||!e.isValid(d))throw new Error("y required");if(m==null||!e.isValid(m))throw new Error("z required")}static fromAffine(h){let{x:d,y:m}=h||{};if(!h||!e.isValid(d)||!e.isValid(m))throw new Error("invalid affine point");if(h instanceof u)throw new Error("projective point not allowed");let x=b=>e.eql(b,e.ZERO);return x(d)&&x(m)?u.ZERO:new u(d,m,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let d=e.invertBatch(h.map(m=>m.pz));return h.map((m,x)=>m.toAffine(d[x])).map(u.fromAffine)}static fromHex(h){let d=u.fromAffine(s(et("pointHex",h)));return d.assertValidity(),d}static fromPrivateKey(h){return u.BASE.multiply(c(h))}_setWindowSize(h){this._WINDOW_SIZE=h,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:h,y:d}=this.toAffine();if(!e.isValid(h)||!e.isValid(d))throw new Error("bad point: x or y not FE");let m=e.sqr(d),x=i(h);if(!e.eql(m,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){f(h);let{px:d,py:m,pz:x}=this,{px:b,py:T,pz:E}=h,S=e.eql(e.mul(d,E),e.mul(b,x)),R=e.eql(e.mul(m,E),e.mul(T,x));return S&&R}negate(){return new u(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:d}=t,m=e.mul(d,eu),{px:x,py:b,pz:T}=this,E=e.ZERO,S=e.ZERO,R=e.ZERO,_=e.mul(x,x),q=e.mul(b,b),K=e.mul(T,T),D=e.mul(x,b);return D=e.add(D,D),R=e.mul(x,T),R=e.add(R,R),E=e.mul(h,R),S=e.mul(m,K),S=e.add(E,S),E=e.sub(q,S),S=e.add(q,S),S=e.mul(E,S),E=e.mul(D,E),R=e.mul(m,R),K=e.mul(h,K),D=e.sub(_,K),D=e.mul(h,D),D=e.add(D,R),R=e.add(_,_),_=e.add(R,_),_=e.add(_,K),_=e.mul(_,D),S=e.add(S,_),K=e.mul(b,T),K=e.add(K,K),_=e.mul(K,D),E=e.sub(E,_),R=e.mul(K,q),R=e.add(R,R),R=e.add(R,R),new u(E,S,R)}add(h){f(h);let{px:d,py:m,pz:x}=this,{px:b,py:T,pz:E}=h,S=e.ZERO,R=e.ZERO,_=e.ZERO,q=t.a,K=e.mul(t.b,eu),D=e.mul(d,b),nt=e.mul(m,T),rt=e.mul(x,E),Ct=e.add(d,m),v=e.add(b,T);Ct=e.mul(Ct,v),v=e.add(D,nt),Ct=e.sub(Ct,v),v=e.add(d,x);let N=e.add(b,E);return v=e.mul(v,N),N=e.add(D,rt),v=e.sub(v,N),N=e.add(m,x),S=e.add(T,E),N=e.mul(N,S),S=e.add(nt,rt),N=e.sub(N,S),_=e.mul(q,v),S=e.mul(K,rt),_=e.add(S,_),S=e.sub(nt,_),_=e.add(nt,_),R=e.mul(S,_),nt=e.add(D,D),nt=e.add(nt,D),rt=e.mul(q,rt),v=e.mul(K,v),nt=e.add(nt,rt),rt=e.sub(D,rt),rt=e.mul(q,rt),v=e.add(v,rt),D=e.mul(nt,v),R=e.add(R,D),D=e.mul(N,v),S=e.mul(Ct,S),S=e.sub(S,D),D=e.mul(Ct,nt),_=e.mul(N,_),_=e.add(_,D),new u(S,R,_)}subtract(h){return this.add(h.negate())}is0(){return this.equals(u.ZERO)}wNAF(h){return w.wNAFCached(this,l,h,d=>{let m=e.invertBatch(d.map(x=>x.pz));return d.map((x,b)=>x.toAffine(m[b])).map(u.fromAffine)})}multiplyUnsafe(h){let d=u.ZERO;if(h===ge)return d;if(a(h),h===Dt)return this;let{endo:m}=t;if(!m)return w.unsafeLadder(this,h);let{k1neg:x,k1:b,k2neg:T,k2:E}=m.splitScalar(h),S=d,R=d,_=this;for(;b>ge||E>ge;)b&Dt&&(S=S.add(_)),E&Dt&&(R=R.add(_)),_=_.double(),b>>=Dt,E>>=Dt;return x&&(S=S.negate()),T&&(R=R.negate()),R=new u(e.mul(R.px,m.beta),R.py,R.pz),S.add(R)}multiply(h){a(h);let d=h,m,x,{endo:b}=t;if(b){let{k1neg:T,k1:E,k2neg:S,k2:R}=b.splitScalar(d),{p:_,f:q}=this.wNAF(E),{p:K,f:D}=this.wNAF(R);_=w.constTimeNegate(T,_),K=w.constTimeNegate(S,K),K=new u(e.mul(K.px,b.beta),K.py,K.pz),m=_.add(K),x=q.add(D)}else{let{p:T,f:E}=this.wNAF(d);m=T,x=E}return u.normalizeZ([m,x])[0]}multiplyAndAddUnsafe(h,d,m){let x=u.BASE,b=(E,S)=>S===ge||S===Dt||!E.equals(x)?E.multiplyUnsafe(S):E.multiply(S),T=b(this,d).add(b(h,m));return T.is0()?void 0:T}toAffine(h){let{px:d,py:m,pz:x}=this,b=this.is0();h==null&&(h=b?e.ONE:e.inv(x));let T=e.mul(d,h),E=e.mul(m,h),S=e.mul(x,h);if(b)return{x:e.ZERO,y:e.ZERO};if(!e.eql(S,e.ONE))throw new Error("invZ was invalid");return{x:T,y:E}}isTorsionFree(){let{h,isTorsionFree:d}=t;if(h===Dt)return!0;if(d)return d(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:d}=t;return h===Dt?this:d?d(u,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return this.assertValidity(),n(u,this,h)}toHex(h=!0){return ne(this.toRawBytes(h))}}u.BASE=new u(t.Gx,t.Gy,e.ONE),u.ZERO=new u(e.ZERO,e.ONE,e.ZERO);let p=t.nBitLength,w=Tn(u,t.endo?Math.ceil(p/2):p);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function hd(r){let t=Yr(r);return jt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function ru(r){let t=hd(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(v){return ge<v&&v<e.ORDER}function a(v){return Y(v,n)}function c(v){return Rn(v,n)}let{ProjectivePoint:l,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:p}=fd({...t,toBytes(v,N,P){let B=N.toAffine(),y=e.toBytes(B.x),I=ie;return P?I(Uint8Array.from([N.hasEvenY()?2:3]),y):I(Uint8Array.from([4]),y,e.toBytes(B.y))},fromBytes(v){let N=v.length,P=v[0],B=v.subarray(1);if(N===s&&(P===2||P===3)){let y=se(B);if(!o(y))throw new Error("Point is not on curve");let I=u(y),C=e.sqrt(I),L=(C&Dt)===Dt;return(P&1)===1!==L&&(C=e.neg(C)),{x:y,y:C}}else if(N===i&&P===4){let y=e.fromBytes(B.subarray(0,e.BYTES)),I=e.fromBytes(B.subarray(e.BYTES,2*e.BYTES));return{x:y,y:I}}else throw new Error(`Point of length ${N} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),w=v=>ne(Se(v,t.nByteLength));function g(v){let N=n>>Dt;return v>N}function h(v){return g(v)?a(-v):v}let d=(v,N,P)=>se(v.slice(N,P));class m{constructor(N,P,B){this.r=N,this.s=P,this.recovery=B,this.assertValidity()}static fromCompact(N){let P=t.nByteLength;return N=et("compactSignature",N,P*2),new m(d(N,0,P),d(N,P,2*P))}static fromDER(N){let{r:P,s:B}=je.toSig(et("DER",N));return new m(P,B)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(N){return new m(this.r,this.s,N)}recoverPublicKey(N){let{r:P,s:B,recovery:y}=this,I=R(et("msgHash",N));if(y==null||![0,1,2,3].includes(y))throw new Error("recovery id invalid");let C=y===2||y===3?P+t.n:P;if(C>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let L=y&1?"03":"02",O=l.fromHex(L+w(C)),V=c(C),G=a(-I*V),H=a(B*V),F=l.BASE.multiplyAndAddUnsafe(O,G,H);if(!F)throw new Error("point at infinify");return F.assertValidity(),F}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Me(this.toDERHex())}toDERHex(){return je.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Me(this.toCompactHex())}toCompactHex(){return w(this.r)+w(this.s)}}let x={isValidPrivateKey(v){try{return f(v),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let v=Li(t.n);return Da(t.randomBytes(v),t.n)},precompute(v=8,N=l.BASE){return N._setWindowSize(v),N.multiply(BigInt(3)),N}};function b(v,N=!0){return l.fromPrivateKey(v).toRawBytes(N)}function T(v){let N=Ot(v),P=typeof v=="string",B=(N||P)&&v.length;return N?B===s||B===i:P?B===2*s||B===2*i:v instanceof l}function E(v,N,P=!0){if(T(v))throw new Error("first arg must be private key");if(!T(N))throw new Error("second arg must be public key");return l.fromHex(N).multiply(f(v)).toRawBytes(P)}let S=t.bits2int||function(v){let N=se(v),P=v.length*8-t.nBitLength;return P>0?N>>BigInt(P):N},R=t.bits2int_modN||function(v){return a(S(v))},_=zr(t.nBitLength);function q(v){if(typeof v!="bigint")throw new Error("bigint expected");if(!(ge<=v&&v<_))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Se(v,t.nByteLength)}function K(v,N,P=D){if(["recovered","canonical"].some(Q=>Q in P))throw new Error("sign() legacy options not supported");let{hash:B,randomBytes:y}=t,{lowS:I,prehash:C,extraEntropy:L}=P;I==null&&(I=!0),v=et("msgHash",v),C&&(v=et("prehashed msgHash",B(v)));let O=R(v),V=f(N),G=[q(V),q(O)];if(L!=null){let Q=L===!0?y(e.BYTES):L;G.push(et("extraEntropy",Q))}let H=ie(...G),F=O;function st(Q){let ht=S(Q);if(!p(ht))return;let dt=c(ht),at=l.BASE.multiply(ht).toAffine(),gt=a(at.x);if(gt===ge)return;let Qt=a(dt*a(F+gt*V));if(Qt===ge)return;let Ue=(at.x===gt?0:2)|Number(at.y&Dt),Cr=Qt;return I&&g(Qt)&&(Cr=h(Qt),Ue^=1),new m(gt,Cr,Ue)}return{seed:H,k2sig:st}}let D={lowS:t.lowS,prehash:!1},nt={lowS:t.lowS,prehash:!1};function rt(v,N,P=D){let{seed:B,k2sig:y}=K(v,N,P),I=t;return Ri(I.hash.outputLen,I.nByteLength,I.hmac)(B,y)}l.BASE._setWindowSize(8);function Ct(v,N,P,B=nt){let y=v;if(N=et("msgHash",N),P=et("publicKey",P),"strict"in B)throw new Error("options.strict was renamed to lowS");let{lowS:I,prehash:C}=B,L,O;try{if(typeof y=="string"||Ot(y))try{L=m.fromDER(y)}catch(at){if(!(at instanceof je.Err))throw at;L=m.fromCompact(y)}else if(typeof y=="object"&&typeof y.r=="bigint"&&typeof y.s=="bigint"){let{r:at,s:gt}=y;L=new m(at,gt)}else throw new Error("PARSE");O=l.fromHex(P)}catch(at){if(at.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(I&&L.hasHighS())return!1;C&&(N=t.hash(N));let{r:V,s:G}=L,H=R(N),F=c(G),st=a(H*F),Q=a(V*F),ht=l.BASE.multiplyAndAddUnsafe(O,st,Q)?.toAffine();return ht?a(ht.x)===V:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:E,sign:rt,verify:Ct,ProjectivePoint:l,Signature:m,utils:x}}function dd(r){return{hash:r,hmac:(t,...e)=>Jr(r,t,An(...e)),randomBytes:wr}}function nu(r,t){let e=n=>ru({...r,...dd(n)});return Object.freeze({...e(t),create:e})}var ou=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),su=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),pd=BigInt(1),po=BigInt(2),iu=(r,t)=>(r+t/po)/t;function gd(r){let t=ou,e=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%t,f=l*l*r%t,u=X(f,e,t)*f%t,p=X(u,e,t)*f%t,w=X(p,po,t)*l%t,g=X(w,s,t)*w%t,h=X(g,i,t)*g%t,d=X(h,a,t)*h%t,m=X(d,c,t)*d%t,x=X(m,a,t)*h%t,b=X(x,e,t)*f%t,T=X(b,o,t)*g%t,E=X(T,n,t)*l%t,S=X(E,po,t);if(!go.eql(go.sqr(S),r))throw new Error("Cannot find square root");return S}var go=_n(ou,void 0,void 0,{sqrt:gd}),$t=nu({a:BigInt(0),b:BigInt(7),Fp:go,n:su,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=su,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-pd*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=iu(i*r,t),c=iu(-n*r,t),l=Y(r-a*e-c*s,t),f=Y(-a*n-c*i,t),u=l>o,p=f>o;if(u&&(l=t-l),p&&(f=t-f),l>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:l,k2neg:p,k2:f}}}},tu),$b=BigInt(0);var Gb=$t.ProjectivePoint;function au(){return $t.utils.randomPrivateKey()}function cu(r,t){let e=ct.digest(t instanceof Uint8Array?t:t.subarray());if(Lt(e))return e.then(({digest:n})=>$t.sign(n,r).toDERRawBytes()).catch(n=>{throw new A(String(n),"ERR_INVALID_INPUT")});try{return $t.sign(e.digest,r).toDERRawBytes()}catch(n){throw new A(String(n),"ERR_INVALID_INPUT")}}function uu(r,t,e){let n=ct.digest(e instanceof Uint8Array?e:e.subarray());if(Lt(n))return n.then(({digest:s})=>$t.verify(t,s,r)).catch(s=>{throw new A(String(s),"ERR_INVALID_INPUT")});try{return $t.verify(t,n.digest,r)}catch(s){throw new A(String(s),"ERR_INVALID_INPUT")}}function lu(r){return $t.ProjectivePoint.fromHex(r).toRawBytes(!0)}function fu(r){try{$t.getPublicKey(r,!0)}catch(t){throw new A(String(t),"ERR_INVALID_PRIVATE_KEY")}}function mo(r){try{$t.ProjectivePoint.fromHex(r)}catch(t){throw new A(String(t),"ERR_INVALID_PUBLIC_KEY")}}function hu(r){try{return $t.getPublicKey(r,!0)}catch(t){throw new A(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Ze=class{_key;constructor(t){mo(t),this._key=t}verify(t,e){return uu(this._key,e,t)}marshal(){return lu(this._key)}get bytes(){return Ht.encode({Type:j.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}async hash(){let t=ct.digest(this.bytes),e;return Lt(t)?{bytes:e}=await t:e=t.bytes,e}},We=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e??hu(t),fu(this._key),mo(this._publicKey)}sign(t){return cu(this._key,t)}get public(){return new Ze(this._publicKey)}marshal(){return this._key}get bytes(){return Kt.encode({Type:j.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return mt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return Lt(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return Z(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return Ar(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function yd(r){return new We(r)}function bd(r){return new Ze(r)}async function wd(){let r=au();return new We(r)}var me={rsa:fo,ed25519:Qi,secp256k1:yo};function bo(r){let t=Object.keys(me).join(" / ");return new A(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function wo(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return me[r];throw bo(r)}async function xd(r,t){return wo(r).generateKeyPair(t??2048)}async function Ed(r,t,e){if(r.toLowerCase()!=="ed25519")throw new A("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return Xi(t)}function vd(r){let t=Ht.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case j.RSA:return me.rsa.unmarshalRsaPublicKey(e);case j.Ed25519:return me.ed25519.unmarshalEd25519PublicKey(e);case j.Secp256k1:return me.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw bo(t.Type??"unknown")}}function Bd(r,t){return t=(t??"rsa").toLowerCase(),wo(t),r.bytes}async function du(r){let t=Kt.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case j.RSA:return me.rsa.unmarshalRsaPrivateKey(e);case j.Ed25519:return me.ed25519.unmarshalEd25519PrivateKey(e);case j.Secp256k1:return me.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw bo(t.Type??"RSA")}}function Ad(r,t){return t=(t??"rsa").toLowerCase(),wo(t),r.bytes}async function Sd(r,t){try{let e=await ic(r,t);return await du(e)}catch{}if(!r.includes("BEGIN"))throw new A("Encrypted key was not a libp2p-key or a PEM file","ERR_INVALID_IMPORT_FORMAT");return co(r,t)}function pu(){return BigInt(`0x${Z(Zt(8),"base16")}`)}var gu=(r,t)=>{let e=z(t.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n},mu=r=>ct.encode(r);var yu=function(r){return Array.isArray(r)?r:[r]},kd=async r=>{if(r.sequenceNumber==null||r.from==null||r.signature==null)return!1;let t=Mr(r.from);return t.publicKey!=null?!0:r.key!=null?(await hn(r.key)).equals(t):!1},bu=async r=>{if(r.from==null)throw new A("RPC message was missing from",ut.ERR_MISSING_FROM);if(!await kd(r))return{type:"unsigned",topic:r.topic??"",data:r.data??new Uint8Array(0)};let t=Mr(r.from),e={type:"signed",from:Mr(r.from),topic:r.topic??"",sequenceNumber:Nd(r.sequenceNumber??new Uint8Array(0)),data:r.data??new Uint8Array(0),signature:r.signature??new Uint8Array(0),key:r.key??t.publicKey??new Uint8Array(0)};if(e.key.length===0)throw new A("Signed RPC message was missing key",ut.ERR_MISSING_KEY);return e},un=r=>r.type==="signed"?{from:r.from.multihash.bytes,data:r.data,sequenceNumber:Id(r.sequenceNumber),topic:r.topic,signature:r.signature,key:r.key}:{data:r.data,topic:r.topic},Id=r=>{let t=r.toString(16);return t.length%2!==0&&(t=`0${t}`),z(t,"base16")},Nd=r=>BigInt(`0x${Z(r,"base16")}`);var wu=z("libp2p-pubsub:");async function xu(r,t,e){if(r.privateKey==null)throw new Error("Cannot sign message, no private key present");if(r.publicKey==null)throw new Error("Cannot sign message, no public key present");let n={type:"signed",topic:t.topic,data:t.data,sequenceNumber:t.sequenceNumber,from:r},s=At([wu,e(un(n)).subarray()]),i=await cn.unmarshalPrivateKey(r.privateKey);return n.signature=await i.sign(s),n.key=r.publicKey,n}async function Eu(r,t){if(r.type!=="signed")throw new Error('Message type must be "signed" to be verified');if(r.signature==null)throw new Error("Message must contain a signature to be verified");if(r.from==null)throw new Error("Message must contain a from property to be verified");let e=At([wu,t({...un(r),signature:void 0,key:void 0}).subarray()]),n=await Rd(r);return cn.unmarshalPublicKey(n).verify(e,r.signature)}async function Rd(r){if(r.type!=="signed")throw new Error('Message type must be "signed" to have a public key');if(r.from==null)throw new Error("Could not get the public key from the originator id");if(r.key!=null){let t=await hn(r.key);if(t.publicKey!=null)return t.publicKey}if(r.from.publicKey!=null)return r.from.publicKey;throw new Error("Could not get the public key from the originator id")}var Ns=class extends Xe{log;started;topics;subscriptions;peers;globalSignaturePolicy;canRelayMessage;emitSelf;topicValidators;queue;multicodecs;components;_registrarTopologyIds;enabled;maxInboundStreams;maxOutboundStreams;constructor(t,e){super();let{multicodecs:n=[],globalSignaturePolicy:s="StrictSign",canRelayMessage:i=!1,emitSelf:o=!1,messageProcessingConcurrency:a=10,maxInboundStreams:c=1,maxOutboundStreams:l=1}=e;this.log=t.logger.forComponent("libp2p:pubsub"),this.components=t,this.multicodecs=yu(n),this.enabled=e.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new lr,this.globalSignaturePolicy=s==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=i,this.emitSelf=o,this.topicValidators=new Map,this.queue=new $r({concurrency:a}),this.maxInboundStreams=c,this.maxOutboundStreams=l,this._onIncomingStream=this._onIncomingStream.bind(this),this._onPeerConnected=this._onPeerConnected.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this)}async start(){if(this.started||!this.enabled)return;this.log("starting");let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>{await t.handle(n,this._onIncomingStream,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams})}));let e={onConnect:this._onPeerConnected,onDisconnect:this._onPeerDisconnected};this._registrarTopologyIds=await Promise.all(this.multicodecs.map(async n=>t.register(n,e))),this.log("started"),this.started=!0}async stop(){if(!this.started||!this.enabled)return;let t=this.components.registrar;this._registrarTopologyIds!=null&&this._registrarTopologyIds?.forEach(e=>{t.unregister(e)}),await Promise.all(this.multicodecs.map(async e=>{await t.unhandle(e)})),this.log("stopping");for(let e of this.peers.values())e.close();this.peers.clear(),this.subscriptions=new Set,this.started=!1,this.log("stopped")}isStarted(){return this.started}_onIncomingStream(t){let{stream:e,connection:n}=t,s=n.remotePeer;if(e.protocol==null){e.abort(new Error("Stream was not multiplexed"));return}let i=this.addPeer(s,e.protocol),o=i.attachInboundStream(e);this.processMessages(s,o,i).catch(a=>{this.log(a)})}_onPeerConnected(t,e){if(this.log("connected %p",t),e.streams.find(n=>n.direction==="outbound"&&n.protocol!=null&&this.multicodecs.includes(n.protocol))!=null){this.log("outbound pubsub streams already present on connection from %p",t);return}Promise.resolve().then(async()=>{try{let n=await e.newStream(this.multicodecs);if(n.protocol==null){n.abort(new Error("Stream was not multiplexed"));return}await this.addPeer(t,n.protocol).attachOutboundStream(n)}catch(n){this.log.error(n)}this.send(t,{subscriptions:Array.from(this.subscriptions).map(n=>n.toString()),subscribe:!0})}).catch(n=>{this.log.error(n)})}_onPeerDisconnected(t,e){let n=t.toString();this.log("connection ended",n),this._removePeer(t)}addPeer(t,e){let n=this.peers.get(t);if(n!=null)return n;this.log("new peer %p",t);let s=new xn(this.components,{id:t,protocol:e});return this.peers.set(t,s),s.addEventListener("close",()=>this._removePeer(t),{once:!0}),s}_removePeer(t){let e=this.peers.get(t);if(e!=null){e.close(),this.log("delete peer %p",t),this.peers.delete(t);for(let n of this.topics.values())n.delete(t);return e}}async processMessages(t,e,n){try{await Hr(e,async s=>{for await(let i of s){let o=this.decodeRpc(i),a=[];for(let c of o.messages??[]){if(c.from==null||c.data==null||c.topic==null){this.log("message from %p was missing from, data or topic fields, dropping",t);continue}a.push({from:c.from,data:c.data,topic:c.topic,sequenceNumber:c.sequenceNumber??void 0,signature:c.signature??void 0,key:c.key??void 0})}this.processRpc(t,n,{subscriptions:(o.subscriptions??[]).map(c=>({subscribe:!!c.subscribe,topic:c.topic??""})),messages:a}).catch(c=>{this.log(c)})}})}catch(s){this._onPeerDisconnected(n.id,s)}}async processRpc(t,e,n){if(!this.acceptFrom(t))return this.log("received message from unacceptable peer %p",t),!1;this.log("rpc from %p",t);let{subscriptions:s,messages:i}=n;return s!=null&&s.length>0&&(this.log("subscription update from %p",t),s.forEach(o=>{this.processRpcSubOpt(t,o)}),super.dispatchEvent(new Gt("subscription-change",{detail:{peerId:e.id,subscriptions:s.map(({topic:o,subscribe:a})=>({topic:`${o??""}`,subscribe:!!a}))}}))),i!=null&&i.length>0&&(this.log("messages from %p",t),this.queue.addAll(i.map(o=>async()=>{if(o.topic==null||!this.subscriptions.has(o.topic)&&!this.canRelayMessage)return this.log("received message we didn't subscribe to. Dropping."),!1;try{let a=await bu(o);await this.processMessage(t,a)}catch(a){this.log.error(a)}})).catch(o=>{this.log(o)})),!0}processRpcSubOpt(t,e){let n=e.topic;if(n==null)return;let s=this.topics.get(n);s==null&&(s=new fr,this.topics.set(n,s)),e.subscribe===!0?s.add(t):s.delete(t)}async processMessage(t,e){if(!(this.components.peerId.equals(t)&&!this.emitSelf)){try{await this.validate(t,e)}catch(n){this.log("Message is invalid, dropping it. %O",n);return}this.subscriptions.has(e.topic)&&(!this.components.peerId.equals(t)||this.emitSelf)&&super.dispatchEvent(new Gt("message",{detail:e})),await this.publishMessage(t,e)}}getMsgId(t){switch(this.globalSignaturePolicy){case"StrictSign":if(t.type!=="signed")throw new A('Message type should be "signed" when signature policy is StrictSign but it was not',ut.ERR_MISSING_SIGNATURE);if(t.sequenceNumber==null)throw new A("Need seqno when signature policy is StrictSign but it was missing",ut.ERR_MISSING_SEQNO);if(t.key==null)throw new A("Need key when signature policy is StrictSign but it was missing",ut.ERR_MISSING_KEY);return gu(t.key,t.sequenceNumber);case"StrictNoSign":return mu(t.data);default:throw new A("Cannot get message id: unhandled signature policy",ut.ERR_UNHANDLED_SIGNATURE_POLICY)}}acceptFrom(t){return!0}send(t,e){let{messages:n,subscriptions:s,subscribe:i}=e;this.sendRpc(t,{subscriptions:(s??[]).map(o=>({topic:o,subscribe:!!i})),messages:(n??[]).map(un)})}sendRpc(t,e){let n=this.peers.get(t);if(n==null){this.log.error("Cannot send RPC to %p as there are no streams to it available",t);return}if(!n.isWritable){this.log.error("Cannot send RPC to %p as there is no outbound stream to it available",t);return}n.write(this.encodeRpc(e))}async validate(t,e){switch(this.globalSignaturePolicy){case"StrictNoSign":if(e.type!=="unsigned")throw new A('Message type should be "unsigned" when signature policy is StrictNoSign but it was not',ut.ERR_MISSING_SIGNATURE);if(e.signature!=null)throw new A("StrictNoSigning: signature should not be present",ut.ERR_UNEXPECTED_SIGNATURE);if(e.key!=null)throw new A("StrictNoSigning: key should not be present",ut.ERR_UNEXPECTED_KEY);if(e.sequenceNumber!=null)throw new A("StrictNoSigning: seqno should not be present",ut.ERR_UNEXPECTED_SEQNO);break;case"StrictSign":if(e.type!=="signed")throw new A('Message type should be "signed" when signature policy is StrictSign but it was not',ut.ERR_MISSING_SIGNATURE);if(e.signature==null)throw new A("StrictSigning: Signing required and no signature was present",ut.ERR_MISSING_SIGNATURE);if(e.sequenceNumber==null)throw new A("StrictSigning: Signing required and no sequenceNumber was present",ut.ERR_MISSING_SEQNO);if(!await Eu(e,this.encodeMessage.bind(this)))throw new A("StrictSigning: Invalid message signature",ut.ERR_INVALID_SIGNATURE);break;default:throw new A("Cannot validate message: unhandled signature policy",ut.ERR_UNHANDLED_SIGNATURE_POLICY)}let s=this.topicValidators.get(e.topic);if(s!=null){let i=await s(t,e);if(i===Lr.Reject||i===Lr.Ignore)throw new A("Message validation failed",ut.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(t){switch(this.globalSignaturePolicy){case"StrictSign":return xu(this.components.peerId,t,this.encodeMessage.bind(this));case"StrictNoSign":return Promise.resolve({type:"unsigned",...t});default:throw new A("Cannot build message: unhandled signature policy",ut.ERR_UNHANDLED_SIGNATURE_POLICY)}}getSubscribers(t){if(!this.started)throw new A("not started yet","ERR_NOT_STARTED_YET");if(t==null)throw new A("topic is required","ERR_NOT_VALID_TOPIC");let e=this.topics.get(t.toString());return e==null?[]:Array.from(e.values())}async publish(t,e){if(!this.started)throw new Error("Pubsub has not started");let n={from:this.components.peerId,topic:t,data:e??new Uint8Array(0),sequenceNumber:pu()};this.log("publish topic: %s from: %p data: %m",t,n.from,n.data);let s=await this.buildMessage(n),i=!1;this.emitSelf&&this.subscriptions.has(t)&&(i=!0,super.dispatchEvent(new Gt("message",{detail:s})));let o=await this.publishMessage(this.components.peerId,s);return i&&(o.recipients=[...o.recipients,this.components.peerId]),o}subscribe(t){if(!this.started)throw new Error("Pubsub has not started");if(this.log("subscribe to topic: %s",t),!this.subscriptions.has(t)){this.subscriptions.add(t);for(let e of this.peers.keys())this.send(e,{subscriptions:[t],subscribe:!0})}}unsubscribe(t){if(!this.started)throw new Error("Pubsub is not started");super.removeEventListener(t);let e=this.subscriptions.has(t);if(this.log("unsubscribe from %s - am subscribed %s",t,e),e){this.subscriptions.delete(t);for(let n of this.peers.keys())this.send(n,{subscriptions:[t],subscribe:!1})}}getTopics(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.subscriptions)}getPeers(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.peers.keys())}};var Rs=class{entries;validityMs;lastPruneTime=0;constructor(t){this.entries=new Map,this.validityMs=t.validityMs}put(t,e){this.entries.set(t,{value:e,validUntilMs:Date.now()+this.validityMs}),this.prune()}prune(){let t=Date.now();if(!(t-this.lastPruneTime<200)){this.lastPruneTime=t;for(let[e,n]of this.entries.entries())if(n.validUntilMs<t)this.entries.delete(e);else break}}has(t){return this.entries.has(t)}get(t){let e=this.entries.get(t);return e!=null&&e.validUntilMs>=Date.now()?e.value:void 0}clear(){this.entries=new Map,this.lastPruneTime=0}};var xo="/floodsub/1.0.0";var Je;(function(r){let t;(function(s){let i;s.codec=()=>(i==null&&(i=Rt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.subscribe!=null&&(a.uint32(8),a.bool(o.subscribe)),o.topic!=null&&(a.uint32(18),a.string(o.topic)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={},l=a==null?o.len:o.pos+a;for(;o.pos<l;){let f=o.uint32();switch(f>>>3){case 1:c.subscribe=o.bool();break;case 2:c.topic=o.string();break;default:o.skipType(f&7);break}}return c})),i),s.encode=o=>Nt(o,s.codec()),s.decode=o=>It(o,s.codec())})(t=r.SubOpts||(r.SubOpts={}));let e;(function(s){let i;s.codec=()=>(i==null&&(i=Rt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.from!=null&&(a.uint32(10),a.bytes(o.from)),o.data!=null&&(a.uint32(18),a.bytes(o.data)),o.sequenceNumber!=null&&(a.uint32(26),a.bytes(o.sequenceNumber)),o.topic!=null&&(a.uint32(34),a.string(o.topic)),o.signature!=null&&(a.uint32(42),a.bytes(o.signature)),o.key!=null&&(a.uint32(50),a.bytes(o.key)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={},l=a==null?o.len:o.pos+a;for(;o.pos<l;){let f=o.uint32();switch(f>>>3){case 1:c.from=o.bytes();break;case 2:c.data=o.bytes();break;case 3:c.sequenceNumber=o.bytes();break;case 4:c.topic=o.string();break;case 5:c.signature=o.bytes();break;case 6:c.key=o.bytes();break;default:o.skipType(f&7);break}}return c})),i),s.encode=o=>Nt(o,s.codec()),s.decode=o=>It(o,s.codec())})(e=r.Message||(r.Message={}));let n;r.codec=()=>(n==null&&(n=Rt((s,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),s.subscriptions!=null)for(let a of s.subscriptions)i.uint32(10),r.SubOpts.codec().encode(a,i);if(s.messages!=null)for(let a of s.messages)i.uint32(18),r.Message.codec().encode(a,i);s.control!=null&&(i.uint32(26),_s.codec().encode(s.control,i)),o.lengthDelimited!==!1&&i.ldelim()},(s,i)=>{let o={subscriptions:[],messages:[]},a=i==null?s.len:s.pos+i;for(;s.pos<a;){let c=s.uint32();switch(c>>>3){case 1:o.subscriptions.push(r.SubOpts.codec().decode(s,s.uint32()));break;case 2:o.messages.push(r.Message.codec().decode(s,s.uint32()));break;case 3:o.control=_s.codec().decode(s,s.uint32());break;default:s.skipType(c&7);break}}return o})),n),r.encode=s=>Nt(s,r.codec()),r.decode=s=>It(s,r.codec())})(Je||(Je={}));var _s;(function(r){let t;r.codec=()=>(t==null&&(t=Rt((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.ihave!=null)for(let i of e.ihave)n.uint32(10),Ts.codec().encode(i,n);if(e.iwant!=null)for(let i of e.iwant)n.uint32(18),Cs.codec().encode(i,n);if(e.graft!=null)for(let i of e.graft)n.uint32(26),Ls.codec().encode(i,n);if(e.prune!=null)for(let i of e.prune)n.uint32(34),Us.codec().encode(i,n);s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={ihave:[],iwant:[],graft:[],prune:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.ihave.push(Ts.codec().decode(e,e.uint32()));break;case 2:s.iwant.push(Cs.codec().decode(e,e.uint32()));break;case 3:s.graft.push(Ls.codec().decode(e,e.uint32()));break;case 4:s.prune.push(Us.codec().decode(e,e.uint32()));break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Nt(e,r.codec()),r.decode=e=>It(e,r.codec())})(_s||(_s={}));var Ts;(function(r){let t;r.codec=()=>(t==null&&(t=Rt((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),e.messageIDs!=null)for(let i of e.messageIDs)n.uint32(18),n.bytes(i);s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={messageIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.topic=e.string();break;case 2:s.messageIDs.push(e.bytes());break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Nt(e,r.codec()),r.decode=e=>It(e,r.codec())})(Ts||(Ts={}));var Cs;(function(r){let t;r.codec=()=>(t==null&&(t=Rt((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.messageIDs!=null)for(let i of e.messageIDs)n.uint32(10),n.bytes(i);s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={messageIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.messageIDs.push(e.bytes());break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Nt(e,r.codec()),r.decode=e=>It(e,r.codec())})(Cs||(Cs={}));var Ls;(function(r){let t;r.codec=()=>(t==null&&(t=Rt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.topic=e.string();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Nt(e,r.codec()),r.decode=e=>It(e,r.codec())})(Ls||(Ls={}));var Us;(function(r){let t;r.codec=()=>(t==null&&(t=Rt((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),e.peers!=null)for(let i of e.peers)n.uint32(18),Ds.codec().encode(i,n);e.backoff!=null&&(n.uint32(24),n.uint64(e.backoff)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={peers:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.topic=e.string();break;case 2:s.peers.push(Ds.codec().decode(e,e.uint32()));break;case 3:s.backoff=e.uint64();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Nt(e,r.codec()),r.decode=e=>It(e,r.codec())})(Us||(Us={}));var Ds;(function(r){let t;r.codec=()=>(t==null&&(t=Rt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.peerID!=null&&(n.uint32(10),n.bytes(e.peerID)),e.signedPeerRecord!=null&&(n.uint32(18),n.bytes(e.signedPeerRecord)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.peerID=e.bytes();break;case 2:s.signedPeerRecord=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Nt(e,r.codec()),r.decode=e=>It(e,r.codec())})(Ds||(Ds={}));var Ps=class extends Ns{seenCache;constructor(t,e){super(t,{...e,canRelayMessage:!0,multicodecs:[xo]}),this.log=t.logger.forComponent("libp2p:floodsub"),this.seenCache=new Rs({validityMs:e?.seenTTL??3e4})}decodeRpc(t){return Je.decode(t)}encodeRpc(t){return Je.encode(t)}decodeMessage(t){return Je.Message.decode(t)}encodeMessage(t){return Je.Message.encode(t)}async processMessage(t,e){let n=await super.getMsgId(e),s=Z(n,"base64");this.seenCache.has(s)||(this.seenCache.put(s,!0),await super.processMessage(t,e))}async publishMessage(t,e){let n=this.getSubscribers(e.topic),s=[];return n==null||n.length===0?(this.log("no peers are subscribed to topic %s",e.topic),{recipients:s}):(n.forEach(i=>{if(this.components.peerId.equals(i)){this.log("not sending message on topic %s to myself",e.topic);return}if(i.equals(t)){this.log("not sending message on topic %s to sender %p",e.topic,i);return}this.log("publish msgs on topics %s %p",e.topic,i),s.push(i),this.send(i,{messages:[e]})}),{recipients:s})}};function _d(r={}){return t=>new Ps(t,r)}return Du(Td);})();
16
8
  /*! Bundled license information:
17
9
 
10
+ pvtsutils/build/index.js:
11
+ (*!
12
+ * MIT License
13
+ *
14
+ * Copyright (c) 2017-2022 Peculiar Ventures, LLC
15
+ *
16
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
17
+ * of this software and associated documentation files (the "Software"), to deal
18
+ * in the Software without restriction, including without limitation the rights
19
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
20
+ * copies of the Software, and to permit persons to whom the Software is
21
+ * furnished to do so, subject to the following conditions:
22
+ *
23
+ * The above copyright notice and this permission notice shall be included in all
24
+ * copies or substantial portions of the Software.
25
+ *
26
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32
+ * SOFTWARE.
33
+ *
34
+ *)
35
+
18
36
  @noble/hashes/esm/utils.js:
19
37
  (*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
20
38
 
@@ -33,6 +51,46 @@
33
51
  @noble/curves/esm/ed25519.js:
34
52
  (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
35
53
 
54
+ pvutils/build/utils.es.js:
55
+ (*!
56
+ Copyright (c) Peculiar Ventures, LLC
57
+ *)
58
+
59
+ asn1js/build/index.es.js:
60
+ (*!
61
+ * Copyright (c) 2014, GMO GlobalSign
62
+ * Copyright (c) 2015-2022, Peculiar Ventures
63
+ * All rights reserved.
64
+ *
65
+ * Author 2014-2019, Yury Strozhevsky
66
+ *
67
+ * Redistribution and use in source and binary forms, with or without modification,
68
+ * are permitted provided that the following conditions are met:
69
+ *
70
+ * * Redistributions of source code must retain the above copyright notice, this
71
+ * list of conditions and the following disclaimer.
72
+ *
73
+ * * Redistributions in binary form must reproduce the above copyright notice, this
74
+ * list of conditions and the following disclaimer in the documentation and/or
75
+ * other materials provided with the distribution.
76
+ *
77
+ * * Neither the name of the copyright holder nor the names of its
78
+ * contributors may be used to endorse or promote products derived from
79
+ * this software without specific prior written permission.
80
+ *
81
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
82
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
83
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
84
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
85
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
86
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
87
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
88
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
89
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
90
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
91
+ *
92
+ *)
93
+
36
94
  @noble/curves/esm/abstract/weierstrass.js:
37
95
  (*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) *)
38
96